Extracting a rotten Bluetooth

I remove the unreliable Bluetooth module from my cheap ELM327 (clone) OBD-II scan tool and add good-old wired USB.

Posted on

Waking up a 23-year old GPS module

The adventure of bringing an early consumer GPS module (23 years old!) to life and connecting it to a Raspberry Pi to make a stratum-1 NTP server. Bonus: some reflections on tech that was built to last.

Posted on

Adventures in abstraction with Rust's embedded-hal

An experiment with Rust’s embedded-hal abstraction: I have a common implementation of Game Of Life rendering to an OLED display on three different platforms: an SDL simulator on my desktop, and via I2C on Raspberry Pi running Linux, and bare metal on an STM32 ARM Cortex-M.

Posted on

Fixing a reject mains voltage sensor

I tell a story (mostly with photos) about replacing my incorrectly assembled ZMPT101B mains voltage sensor module by replacing an incorrect op-amp after figuring out what the correct part is (through some internet sleuthing).

Posted on

Calibrating a Ruideng RD6006 power supply

I work out how to save RD6006 power supply calibration register values (by sniffing serial port output from the RDTech Windows software) and then write two Python scripts: one to adjust the calibration and another to check it by sweeping through the output voltage range, measure and then plot actual output values.

Posted on