libnifalcon is an open source, cross platform driver for the Novint Falcon Haptic Device. It provides communications and a kinematics model for the controller for all major operating systems.
Not a whole lot to say, mostly just letting people know that no, I’m not dead, and yes, the project is still alive.
I’ve added a new paper to the documentation section, Characterisation of the Novint Falcon Haptic Device for Application as a Robot Manipulator.
In terms of projects using libnifalcon, there was recently a performance by Edgar Berdahl at CCRMA @ Stanford, using 5 novint falcons in a telepresence percussion piece:
There are also pictures of the construction at my flickr site
Plans for the near future:
- Finally releasing binary libraries, because apparently building libnifalcon is kinda hard (not disputing that, I need some work on the build system)
- Possibly start looking at grip circuits
- Optimization of communications - We’ve found that on OS X, at least, the falcon takes around 20% cpu per device running due to the polling calls. This seems kind of high, and means you can’t run 4+ on one machine.
Busy weekend for the libnifalcon team (all one of me)!
First off, libnifalcon v1.0.1 is out. This is mostly bugfixes for using multiple falcons on top of the libusb core.
- Fixed bug with connecting to/using multiple falcons using libusb communications
- Added adjusted geometry measurements by Niall Begley
- Fixed bug with reloading firmware through reused FalconDevice object
- Added ability to test multiple falcons to findfalcons
- Added findfalcons_multi example to test multiple falcons with simultanious access
Files are available at
Next up, np_nifalcon, the external for Max/MSP and PureData, has been updated to version 1.5. I basically rewrote the external, it’s much more stable now, as well as providing more management options for users.
Source and some binary packages are available at
After 2 years of work, libnifalcon v1.0 has been released! Here’s the changelog since our last release:
- Upgraded build system support to work with new Compily Buildd system
- Integrated Alastair Barrow’s new kinematics core based on the RL Stamper paper (replacing Kevin Ouellet’s implementation)
- Added SWIG support with python and java builds and examples
- Removed libftdi support since libusb 1.0 works on all platforms and libftdi is the only library using non-polling updates
- Defaulted comm libraries in FalconDevice (ftd2xx on windows, libusb-1.0 everywhere else).
- Restored falcon_mouse example, since building is more stable
- Documented a whole bunch. Doxygen now puts out something resembling a manual.
The new version is available at
The documentation for v1.0 can be accessed at
I’m hoping to have new versions of the Pd/Max externals built using v1 of the library out ASAP, and will post here once that’s done. I’m also planning on platform specific releases of python and java libraries, as well as any other language bindings anyone might be interested in.
Not really sure what’s in store for the next version yet, as v1 covered quite a bit of things I was planning for post-v1 development. Definitely planning on starting grip hacking soon.
As of commit 473 to the HAPI repository (which actually happened almost two months ago), libnifalcon support is officially in the H3D Haptics Engine! This means you can now use the falcon in H3D on OS X or Linux. I’ve tested it on OS X, and it seems to work great so far.
You can find out more info or pick up the source yourself (you’ll need to do a checkout of the svn repo) at
- The development team at polydimensions.de has been working on a libnifalcon patch for H3D, along with their efforts to integrate the Bullet Physics Engine into the H3D framework. This should be integrating with the H3D development branch soon.
- The developer of the Volume Haptics Toolkit has submitted a patch to HAPI that allows for libnifalcon support (note: you will need an account on the H3D website to access this page).
So, hopefully libnifalcon will be supported in H3D soon, one way or another.