Sonntag, 11. März 2012

More Fun with DUL Radio

Using Beads, the DUL processing library, and my own little signal processing class:
(you may want to turn up your speakers a tad when watching this...)


 There is something really beautiful about this. Cant wait to create more complex systems :-)

edit: follow this link for setup instructions -->

Samstag, 10. März 2012


Somewhat over a year ago, I set out to build my "ShadowCoat".

Since then I have learned more than I ever thought I would learn about technology, art, innovation, media, AI and human computer interaction. Its been a really wild ride.

So anyway, my "ShadowCoat" never got finished as planned. However, In a downgraded version, I did end up completing my project.

The whole thing turned into WristFlicker. A motioncapture system which measures the movements of the wrist.

With great support of Audrey Girouard I managed to get it published at TEI :-)

So, here, take a look at the final version:

You can download our paper here:

DUL Radio

(scroll all the way to the bottom for a link to the code)

At TEI2012 met a group of people from Aarhus University, demoing their new little wireless board.

Its called a DUL Radio and, well... its pretty cool. They where kind enough to give me a sample, and I have been playing around with the processing library they provided. I am also writing a small signal processing library, since I have noticed that there are certain functions I tend to re-use a lot.

Both libraries are used in following video:


So what can these things do?
- Up to 4 green sensorBoards can connect to on receiver.

Each sensorBoard has:
- a slot for a coin battery
- One 3 axis accelerometer built in
- Two analog inputs
- One of these inputs can in future be used as a PWM output.

This gives you a total of 4 Accelerometers, 8 Analog Inputs and 4 PWM outputs for your project!


Below you can see the receiver board on the left, one sensor board in the middle and an xBee pro module on the right. Note that the xBee pro does not have an accelerometer built in, nor does it come with its own powersource. Oh, and the DUL radio is much easyer to use :-)

 Just comparing their size with an arduino
And a closer look...

(thanks to Johanna Rannula for taking the pictures)

So how do you get these to work?

To clarify how simple this is: My biggest problem with getting this set up was, that I did not realize how easy it is. Becouse of this, I tried solving problems which did not exist.

So, for windows 7, 32bit, this is what you do:

a) Install driver

  • - Download it:
  • - Plug in the receiver
  • - go to Device Manager
  • - find Bootloader & Gateway USB Stick
  • - click Update Driver Software
  • - click Browse My Computer For Driver Software

Its not completely obvious where in that zip it actually is. This is the correct path:

I also had a wierd issue with my file encryption. When I tried to install the driver, I was told that "Access is Denied". I figured out that it was some wierd encryption issue. If you have that problem as well, you can solve it by:
RightClick on folder / General / Advanced / uncheck "encrypted" and apply to all folders

b) Do something with it

It appears, that the software of choice for interfacing with the DUL radio is Cycling74s Max/MSP/Jitter. If you are like me and graphical programming frustrates you, then you might want to check out their processing library:

How to install the library:

  • - Find your Processing Sketchbook
  • - Find or create a folder "libraries" in your sketchbook
  • - Create a folder called DULRadio and copy the content of the zip file there.

The library is still under development, so its sort of bumpy. The most important thing to realize is that dul.getDULData() returns an array of the datatype Object. You need to "cast" it into integers in order to work with it.

The way it is done in the example did not work for me. What I had to do is this:

int[] values = new int [4]; //create an int array for storing your data

// request data from the DUL radio
objData = dul.getDULData();
//use this to see the values which are coming in, prior to any manipulation:

//parsing objData
if (objData != null) { //only do this if there is data to work with
for (int i = 0; i < values.length; i++){
values[i] = (Integer) objData[i]; //cast the Objects as Integers

all the sensor data is now in the values array and should be easy to work with.


If you have any questions e-mail me. You can download the code here:


Donnerstag, 1. März 2012

ProjectionArt @ TEI2012

Tuesday was the day of meal and gathering at TEI. And apparently there was plans to project 'something' on the ceiling. Just nobody knew what.

So about 30 minutes before the banquet opened I was asked if I had something to project. I had been playing with the ESS library for processing and through something together in ~10 minutes.

Its simply two rows of white stripes which react to sound recorded through the microphone. But it looked fairly decent (sadly the pictures only show about two thirds of it) and people started interacting with it while waiting for their meal.

Thanks to Marty for the images :-)