Daedalean wants to be a software company, but that doesn’t mean we don’t enjoy drawing our own circuits, routing our own pcbs, and testing the resulting systems. This is a fresh batch of “Bminators”, hw-rev 1.5 already. Here’s the story:
Like many teams that deal with computer vision we use off the shelf FLIR cameras, in particular the BFS-xxx models,
which have nice sensors with lots of pixels. They’re not airworthy, and the bandwidth is a bit of a limiting factor, but for experiments they’re great. Unfortunately, their functionality is not as programmable as we’d like: even though you can synchronize their internal clock with that of your computer to the nanosecond, that allows you to tell exactly at what time the shutter opened, but it doesn’t allow you to tell them at what nanosecond they should do that. While our algorithms do not need synchronized shutters, for recording large test data sets it is nice if you do open them all as simultaneous as possible.
The camera’s GPIO connector on the back provides a solution: you can program the cameras to trigger exactly on an external signal, so we came up with a cheap solution to distribute a trigger signal over a wider setup using a 1.75$ microcontroller board called the ‘blue pill’
That $1.75 board features an STM32F103CB, a great little microcontroller that costs less than a dollar if you order in bulk, and it is a joy to program. It has built in capability for a CAN bus, if you add another couple of dollars worth of components, so we prototyped on a breadboard a nice custom solution, and then for good measure we added the Bosch BMI085 MEMS-imu, so we can easily diagnose vibrations, have another motion signal to experiment with and to give the thing its name.
So enter the 3d printed enclosure dubbed ‘toilet block’, which served its purpose well:
but lacked, shall we say, an aerodynamical and aesthetical quality.
So a few months back we decided to put the whole circuit on a custom designed PCB, just because we could, we added a barometer from the same family, and we put 3 holes in the right place.
The end result is this:
We now have 6-dof motion at 2+1.6KHz, pressure accurate to the Pascal, up to 8 cameras reliably synced to below a microsecond, for a unit price of about 10$.