Bench

Hardware

Two embedded projects: Keero Bot, a modular ESP32-S3 device platform, and Moto32, an open-source motorcycle control unit. The focus is on stable firmware and hardware that is easy to maintain.

  • Modular by design

    One compact core, many physical configurations through modules.

  • Local-first processing

    Behaviour that works on the bench with the network unplugged.

  • Firmware and behaviour co-design

    The state machine and the board are drawn together, not bolted on later.

Keero Bot
Flagship build Active prototype

Keero Bot

A modular, voice-first device platform. One ESP32-S3 core board carries audio, sensing, display and camera paths, and modules turn it into a desk companion, a tracked bot or a dock-charged assistant. Sponsored by PCBWay.

Core
ESP32-S3, dual-core 240 MHz, PSRAM
Audio
I2S microphone and amplifier paths, local wake and DSP
Sensing
Sensor header, haptics, OLED and camera interfaces
Power
Battery charging, USB-C, dock contacts
Expansion
Mainboard plus stackable module boards
Firmware
C++ on PlatformIO, MCP tool integration
Keero Bot
Tracked mobility module, exploded view: motors, driver board, shell and dock contacts.

Why it exists

The useful part is the system, not the board: local audio paths, expressive state logic and a firmware architecture that keeps growing without turning into a tangled prototype.

Motorcycle electronics Open source

Moto32

An ESP32-S3 motorcycle control unit built as an open alternative to commercial M-Unit style systems. It grew out of the Canarin Garage CX500: custom wiring should be cleaner, understandable and easier to service than a pile of relays under the seat.

Core
ESP32-S3, 8 MB flash, 2 MB PSRAM
Outputs
8 MOSFET-protected channels for lights, horn, ignition
Protection
Automotive TVS diodes and fusing, 12 V nominal
Programming
USB-C, Arduino IDE or PlatformIO
Wireless
Wi-Fi and Bluetooth 5.0
Licence
MIT: schematics, BOM, pick and place, 3D files
Moto32

Bench notes

Writing from the lab

All bench notes