Like many of us, I always have a few projects on the go. Over the last year, I’ve mostly put them aside so that I can focus on Pneumatica.bio, but here I want to give a little overview on the goals, and where I got up to.
#1 Electronic Ducted Fan Quadcopter


I think ducted fans are cool, so I wanted to build a quadcopter based around them. I was thinking more of a drone for lifting stuff in complex environments. Fans mean no exposed spinning blades to chop my fingers on, and from what I read, fans do well in static thrust mode (i.e. mostly hover).
The frame is custom designed, and the flight control stack is based on the navio2 raspberry pi stack running ArduPilot. The drone has lifted off under it’s own power, but I hit a few challenges before I ran out of time to actually tune it.
In particular:
- ArduPilot off the shelf is not at all friendly to the EDF configuration – in particular the PID loop needs a whole lot of tuning before it’s stable.
- I am a very bad drone pilot. I’ve since been practicing in flight simulators.
- I didn’t appreciate just how loud the fans are; way too loud to test inside my small townhouse.
So i have a few things left to do before I can really start to give this guy a spin, including building an outdoors test setup. One day I’d also love to put the decawave position system i have lying around on it.
I expect that once I actually fly it, I’ll realise the frame is not rigid enough, and the black PLA will struggle in the Australian sun. I’ve got some poly-carbonate that i think might work better (and am much more comfortable printing it than I was a year ago), but I also have some white PLA-AERO that i’m looking for an excuse to crack out.
#2 Hexapod
The hexapod project (which follows on from the previous darkpaw project), was/is quite an ambitious undertaking, and it’s now been going on for a few years. I had a number of goals with this project; to get good enough at CAD (specifically Fusion360), to teach myself the differential geometry approach to rigid body mechanics by reading and implementing A Mathematical Introduction to Robotic Manipulation by Murray, Li and Sastry, and to work out how to design software for rapid iteration of whole-body controller design. One of my goals was to use a whole-body feedback controller instead of the usual pre-programmed tripod gait that people implement.
Here is a video of it doing a test sequence.
Where I got to:
- CAD is mostly done. I’m happy with the general design though the body needs a few more iterations that will be driven by the electronics housing needs.
- Electronics. First pass is done. Robot moves off 12V 5A wall socket, which “should” be well within tolerance for the battery-base power supply, but I haven’t tested. On the plus side, i’ve more experience with power electronics via Pneumatica than I did initially so I’m less worried here.
- ‘Firmware‘ is right now a rust application running on a Raspberry Pi, with a proof-of-concept serial interface to the Dynamixl servo motors. It’s mostly scratch code for testing right now, but also the cheapest to iterate on once I’m happy.
- Software-in-the-loop simulator. I have custom built simulator, written in rust and based on
bevyandphysx, that I’ll be using to test the whole body controller - Modelling & Controller design. Kinematic modelling is done, and uses the rigid body modelling toolkit i wrote as part of
coker(more on this later). I’m still working through the whole-body controller and footstep planner and might release a technical note about the design later on.
#3 Bela Bass Synth
So not too long after I submitted my Ph.D. i treated myself to a new bass guitar from https://industrialradio.com.au/, which has a special fretboard design to output midi.
I’ve always been interested in digital signal processing so when I found out about Bela (which is a programmable real-time audio hat for the BeagleBoneBlack), i decided to buy one and try to build a bass synth for my midi bass. I was inspired by an old VST instrument called iBlit by ERS, which uses a synthesis approach called ‘Band Limited Impulse Trains’ (hence blit) originally from this paper.
This project has been through a few iterations. Currently:
- The synthesis engine is working, but missing a few features
- We have a web-app through which i can edit some patches.
- We have 3D printed rackmount housing
- I’m currently working on adding a touchscreen for patch editing, but having issues with the SPI interface.
Source code for this project is here. The current friction comes from the need to set up SPI signal diagnostics, but my electronics workbench is busy with Pneumatica robot stuff, so that’s parked for the foreseeable future.
The future
With Pneumatica in full swing, I probably won’t be spending too much time on these projects, and unfortunately they’re not really blocked by things a bunch of AI agents can fix.