After a couple of months of work, lots of poking at jekyll and github, and very little work on the actual projects themselves, I've finally gotten the webpages for all of my software projects together. They come with nice new spiffy icons from Counter Productive Productions.


From right to left: libnifalcon - Cross platform driver for Novint Falcon haptics controller libambx - Cross platform driver for amBX ambient environment system liblightstone - Cross platform driver for lightstone biometrics system libomron - Cross platform driver for Omron USB Blood Pressure Monitor and Pedometer * libtrancevibe - Cross platform driver for the Rez Trancevibrator

All drivers, no applications. Maybe I should actually write something to use this stuff someday...

Workin on new toys

Well, another 6 months have come and gone, and I've got a few new projects on the radar here.


This is a framework for accessing the USB capabilities of Omron medical equipment, specifically the Omron 790IT Blood Pressure Monitor at the moment. There has been some talk online about accessing their pedometers in a cross platform manner (reference:, and I'm hoping the protocol for that and their other blood pressure monitors are basically the same, so I can extend the protocol parsing to the whole family of products.


libambx is an open source, cross platform library for the Ambx ambient environment feedback system that I'm working on in conjunction with the people at Electrosthetics. I'm currently working on reversing the ambx communications protocol (document available here). It's nice to work with someone else on this stuff for once.

libnifalcon updates

libnifalcon is still coming along nicely, if a bit slow at the moment since I'm stuck on some rather difficult problems with firmware loading and kinematics. It's been used in a couple of papers (including this one on teleoperation of an insectbot), and there's also been some work on porting it to Chai3d for use in the Dimple environment for physical interaction with sound.

Wow. Almost 5 months between posts. I've been so busy on my projects that I have no time to write about them anymore. :)

First off, libnifalcon, the open source driver for the Novint Falcon, is currently in alpha stage for the v1 release, soon to move to beta after a few more bugs are fixed. It's already seeing some usage, too!

The video above is a demo of a couple of patches for PureData written by Edgar Berdahl for use in Physical Interaction Design for Music class at the Center for Computer Research in Music and Acoustics at Stanford University. The video shows a haptic simulation of a bowed instrument, as well as a training patch for drum rolls. Moving toward the line in the middle of the window causes the falcon to kick back slightly, and the user must hold the end effector steady to keep the sound steady and constant. All of this is running on a beta version of the np_nifalcon external for max and pd, which is available on the libnifalcon site.

Next up is another project that I decided to throw together today to check out the OpenSoundControl protocol.

This is the Kitelight system controlled using the mrmr OSC interface builder for the iPhone. It's connecting to laptop running python using liblo and pyliblo for OSC controls. This goes through a xbee dev kit board to an arduino with xbee shield which is controlling a panel of RGB LEDs attached to the kite.

Usable range on the zigbee is ~100m, more than enough room for flyer to kite communications. Now that this works, I can also run lighting commands from PureData to do music synchonization or whatever else I might think of.

For all the URLs listed above, this project came together rather quick, about 90 minutes from start to finish, though obviously all the boards were already built, so it was just a matter of coding it all and learning OSC and mrmr.

Now, back to working on getting libnifalcon released...

Tiger Direct now has the Novint Falcon for $99. Only took a little over a year from release for the price to finally drop to the <$100 level they promised 2 years before launch. :D

So, if you had interest in helping out with the LibNIFalcon project but didn't want to throw the cash down, well, now it's less cash to throw down. LibNIF is cranking right along, the C++ version is nearing the first milestone, and we've now got what will hopefully be a much more stable kinematics model in the works.