Following up to the Spacebrew workshop that we held at MAD on June 1st, here is the presentation that we used to guide our session. It walks through the process of setting up your own local instance of a Spacebrew server. In related news, checkout the new features that are baked into the latest version of Spacebrew.
Archive for the ‘LAB @ Rockwel’ Category
I am excited to announce that I will be leading a Spacebrew workshop at the Museum of Art and Design (MAD) on this coming Saturday, June 1st. This session is the third and last installment of the LAB’s workshop series, which is part of the After the Museum exhibit.
This time around, we’ll take you through how to set-up a local Spacebrew sever on your computer. Anyone is welcome to join – familiarity with Spacebrew and attendance to previous workshops from this series is not required. That said, some experience with coding and using a computer terminal or console application will be helpful.
Just like our previous sessions, everyone who signs up will get complimentary entrance to the museum. We’re looking forward to seeing you there. Spots are limited so sign-up today. To learn more about Spacebrew, check out the Spacebrew website and blog.
I am excited to announce that I’ll be leading another Spacebrew workshop at the Museum of Art and Design (MAD) on May 11th. This is the second installment of a workshop series that is part of the After the Museum exhibit.
Join me if you are interested in learning how to use Spacebrew to connect interactive stuff. Space is limited so make sure to sign-up for the event on meet-up as soon as possible. The workshop will take place on the 6th floor, in a room with beautiful views of central park. You will also get free access to the entire museum.
Here is a quick overview of the day’s activities:
- We will begin with a 30-minute overview of Spacebrew, which will cover why it was created and how it works, followed by a few live demos.
- Then we’ll dive into an hour long hands-on workshop where we will take participants through our a tutorial for connecting an LED strip to Spacebrew using Arduino and Processing.
- After the workshop we will hang out for a few hours to help people who are interested in learning about more advanced uses of Spacebrew, and who want to integrate Spacebrew into their personal projects.
You don’t need to have any previous experience with Processing or Arduino to take part in the workshop. The workshop will be a little challenging for you, if you’ve never written any code before. However, if you are up for the challenge we’ll help you through it.
About MAD: The Museum of Art and Design explores the blur zone between art, design, and craft today. Accredited by the American Association of Museums since 1991, MAD focuses on contemporary creativity and the ways in which artists and designers from around the world transform materials through processes ranging from the artisanal to the digital.
Earlier today I finished creating the example sketches and initial documentation for the pySpacebrew library. This library, which was contributed by Adam Mayer, makes it easy to connect pythons scripts and applications to Spacebrew. You can download the library and example scripts from github. Check-out the readme file and the examples to get up and running quickly.
Similar to the Spacebrew.js and ofxSpacebrew libraries, we’ve included four example sketches in the pySpacebrew repo. One for each of the three standard data types and the fourth one featuring a custom data type. These core examples will be actively maintained along with the library itself. Here is a brief overview of each one.
- The string example is a simple stripped down chat app
- The range sketch functions like a console-based slider/potentiometer
- The boolean script turns the enter/return key into a toggles switch
- The custom data example functions like a virtual dice
We’ve been using this library for a few months now, especially when working with Raspberry Pis. Here are links to a few other projects and explorations where we’ve used this library. The Raspberry Pi Experiments repo contains sketches that show how to drive LEDs and Servos using a Spacebrew-connect Pi. The Open CV Motion Sensor repo features an advanced client/sensor application that uses cameras to detect motion – this app can be run on a full-fledge computer or a Pi.
Please note that these apps are not maintained actively along with the pySpacebrew library. This means that they may not be using the very latest version of the pySpacebrew library. With that in mind, when creating your own apps make sure to refer to the example sketches and documentation in the library’s own repository.
Try out the pySpacebrew library and send us your feedback.
Ok, so here we go again. This is the second night in a row that I am writing a post about a new python library developed at the LAB for the Rapsberry Pi. As you can tell we are going a bit RPi crazy over here. This time around we created a library to drive the 16-channel Adafruit PWM Driver breakout board that features a PCA9685 chip.
We ordered a few of these boards three weeks ago and we’ve been having a great time playing around with them. They work well with both Arduinos and Pis, and they can drive LEDs and servo motors. The video above shows the RPi running the spacebrew_servos.py sketch that is included in examples folder.
A lot of credit goes to the Adafruit team, who did most of the heavy lifting. Their i2c and PWM libraries serve as the foundation for our Servo Driver library.
Earlier today I published the first beta release of the LED Strip python library that we created at the LAB for the Raspberry Pi. This library was developed to be used with the Digital RGB LED strips from Adafruit - our favorite LED strip.
We have been playing with these for quite a while using Arduinos, and Adafruit’s Arduino library. With that in mind, we structured out library similar to the Arduino library from Adafruit. To help you get up and running quickly, we put together two examples scripts and a readme file featuring an initial draft of the documentation.
One of the reasons that we are so excited about using the LED strips with Raspberry Pis is that they play really nicely with Spacebrew - the LAB’s dynamic routing tookit/service. This is especially true since Adam Mayer developed an awesome python Spacebrew library at our meet-up in January.
Here is a link to the Spacebrew python library repo. Make sure to go through the readme file because you’ll need to install several dependencies to get the Spacebrew library up and running on your device. I’ll post more information about this library sometime in the coming week or two.
Another short post about our new drawing machine. Today we created our second vector image drawing. This drawing is much more complex than our first one. The good news is that the calibration is much better now. The bad news is that complex drawings really don’t look so good without the servo motor that lifts the pen as it travels over whitespace; that is why it looks like we drew a bunch of cute characters only slash them apart. Alas, we will address this issue in the next day or two, and we’ll start playing around with multi-colored drawings.
I want to give a shout out to Thomas Boucherie from 1001head, the designer who created the cute kawaii characters that we used for this drawing. Below is the original image that we used to create the drawing. Check out his website at 1001head.com for more of his stuff.
I’ll keep this post very short. Just want to share a time lapse video of the first drawing that we created with the LAB’s new drawing robot. We still have to work on the calibration of the machine, and get it working to print rasterized images. More updates to come.
On Monday I finally received the Polargraph Drawing Robot Vitamin Kit for the LAB. There was a lot of excitement since Josh, James, Adi, Meghna, and I had been waiting, impatiently, for over a month to receive this device from Sandy Noble, the creator of the amazing Polargraph project. I am very grateful to Sandy for keeping this project alive and making this kit.
Earlier today we finished assembling the physical and electronic components of the drawing robots. All-in-all this process took about 15 hours – this is a cumulative figure taking into account all of the time that James, Josh, Adi and I devoted to this project to date. A lot of this time was spent trying to resolve small issues that arose because the online tutorials all feature older versions of the Polargraph SD Drawing Robot.
The best place to start is the tutorial on instructables. It features really good overview of how to set-up the drawing surface and how to use the software. The software is more complex than you might expect since it has a lot of cool features and configuration options.
There are a few things about the physical assembly of the laser cut components and the workings of the Polarshield that are not covered in this tutorials. I jotted down some tips for anyone who is planning to assemble their own kit (and for myself, since I got another kit for living room that will be arriving in the next week or two).
Assembling the Motor Bracket
The bracket design has been updated so that they can be mounted upside down and to help with cable management. This blog post features a several additional pictures of an assembled bracket that will help you understand how all the pieces fit together (picture and blog post from Sandy Noble). I know it is not rocket science, but it is always good to make sure you know what you are doing before you start glueing parts together.
Getting to Know the Polarshield Board
The Polarshield board provides the interface between the Arduino Mega and the motors, SD card reader, touchscreen and optional Xbee. This blog post provides an overview of the features of the Polarshield. Below is an annotated picture of the Polarshield that is taken from this blog post (both from Sandy Noble). For the most part this board is plug and play, with one very important exception that I will discuss next.
Connecting the Polarshield Board
When you mount the board to an Arduino the leads from motor port A will come into contact with the metal casing of the Arduino’s USB port. Therefore, you need to add a piece of electrical tape to the underside of the board to isolate the leads from motor port A from the metal casing of the Arduino’s USB port.
Uploading the Firmware (using a Mac)
Quick correction: I previously had stated that you could not upload the Arduino Mega firmware using the Arduino IDE. I was wrong. This means that you can either upload the firmware using the standard approach, via the IDE, or by using the hex file as described below.
Here is how to upload the firmware to your Arduino using the hex file provided by Sandy:
Make sure that you have Arduino installed because you will need to use a few files that are saved inside of your Arduino application package. To explore your Arduino application package just control-click the app icon and select “Show Package Contents” from the drop-down menu.
Copy the avrdude.conf file from your Arduino application directory to the ‘/usr/local/etc’ directory on your Mac. This file is located inside your Arduino app in’Contents/Resources/Java/hardware/tools/avr/etc/’. This step is not required for everyone but it was necessary on my computer, so I advise that you do it just in case.
Open the Terminal application and run the command outlined below, replacing path_to_file, file_name, and port_name with the appropriate paths, names and ports for your computer. As an example, I’ve included the actual command that I ran on my computer.
If you are using a PC just follow Sandy’s direction on how to upload the firmware to your Mega.