Recent Posts

More Posts

Here’s the CAD files and stabilised video for a camera mount for a Traxxas 1⁄16 scale Revo. This fits a “Turnigy 2K HD Cam” (a re-branded SJCAM) which mounts onto the front shell mounts. Also included is a roll bar that goes on the back shell mounts and, with the camera mount, protects the rest of the car. The video was stabilised using vid.stab as part of the ffmpeg pre-built binary.


I wanted to build ROS Kinetic for the Pi Zero W for an upcoming project. The Zero itself is too slow, but it turns out you can use a chroot on an Amazon a1 instance and build there instead. The a1 instances go up to 16 vCPUs and 32 GiB of memory with good storage and networking so it’s much faster than a Pi with a SD card. The rough steps are:


My son wanted to get an alarm clock for his room which preferably plays MP3s. MP3 players are surprisingly expensive at 40 CHF for a 4 GiB model so I picked up a used Moto E 2nd gen phone for 35 GBP, loaded a stripped down version of Lineage OS on it, and designed a 3D printed a stand: I’m quite happy with how it turned out. The phone is just an alarm clock and MP3 player as the other apps are either not installed or (like the Play Store) behind Lineage’s protected app feature.


I got distracted and had a hack on using a STL Link v2 clone as a development board. There’s a lot to like: A Cortex-M3 STM32F103C8T processor with 64 KiB of flash and 20 KiB of RAM 4 I/O lines and a LED to blink Decent support in STM32duino with a DFU bootloader Comes in a case and plugs directly into a USB port ~$2/each The I/O is strange and limited but it’s enough to drive a RGB LED via PWM, drive a 40 RGB LED pHAT over SPI, and drive a 320x240 LCD over fast bitbanged SPI.


I’m hacking on adding SDHC over SPI block device support to the Zephyr Project RTOS. I’m currently getting 224 KiB/s on an Arduino Zero with a 4 MHz bus and 1 KiB read size, which is an OK-ish 46 % of the top bus capacity. Here’s where the time goes: 4550 us - total time to read 2x 512 byte blocks from the card 80 us - time spent in ELM FS (impressive!



C++ in 2017

Seeing how C++17 compares to Go


A fast indoor mousebot


A rover tracking camera


A balancing robot written in Go and running on ARM Linux.


Ideas for future projects.


Some things I’ve hacked on.

PL/0 implementation

A toy compiler for the PL/0 educational language.


Markdown templates for project plans, etc.


The Never complete; often never started autopilot.


ser2neo makes it easier to drive a NeoPixel ring