Three of the handwheels pictured at right are coming in the mail from Germany!
My years-long dream of owning an electronic gearhead is nearing fruition.
Now, I will start to work on the (100% open source) code on my prototyping box (the UDOO) that will take the rotary encoder signal in real-time and translate that to multiple different kinds of control signals.
When the code is complete, I will grab 3x Teensy 3.1’s and write my code to receive and translate the signal, sending it to a master controller. The master controller will translate the input to whatever control signal I need for specific applications.
Current plans for this specific project:
– Bluetooth control of pan/tilt/roll on my/any brushless gimbal
– USB out for practicing with an android app or video game
– porting the rotary encoder code to work with other inputs to use in other applications and fields. Right now, I am doing research on DMX, MIDI, CANOpen, and other control signals. There’s a LOT of info already in the public domain, so I may even have a DMX controller very soon.
– touchscreen and Android OS ON the controller box to allow for rapid deployment of prototype code and tweaks.
The sky is the limit for this project, so I have started a repository called “The Open Controller Project” on github to port 100% open source code for this application and infinite others.
Current contributions to my Open Controller Project are limited to the source code from Lenzhound 1.0. Lenzhound is an open-source wireless follow focus that uses similar (but less powerful) 32-bit Arduino micro-controllers with transmitters and recievers that feature an onboard low-power stepper driver and Bluetooth master and slave units, respectively.
Lenzhound’s charitable contribution to the world of open source controllers lays a better foundation than my own pan/tilt code ever could because it uses Assembly language to handle the Arduino pin interrupts. Interrupts are essential with incremental and absolute high resolution rotary encoders (the main component in the wheels previously pictured is a high res incremental rotary encoder) to ensure that you don’t miss any clock cycles and the quadrature encoder code can start instantly (or imperceptibly fast).