L1 · Top Overlay
Hi, I'm Daniel.
I design useful hardware and firmware.
Electrical Engineering at UBC. I lay out mixed-signal boards and write the
bare-metal C and FreeRTOS firmware that runs on them.
L2 · Top Copper
Formula UBC: Laser Timing Gates
A pair of laser gates for the FSAE test track. They sync their clocks over the air, so a lap time holds up to under a millisecond.
- ESP32-C3 gates synchronised over ESP-NOW, no access point required.
- Photodiode transimpedance front end with comparator threshold and ambient rejection.
- LiPo PowerPath + charge management for all-day paddock use.
ESP32-C3ESP-NOWTIALiPo PowerPath
Open project→
L3 · Signal 1
PoE Dev Board
A powered-device board that takes its supply and its 10/100 Ethernet off the same RJ45 cable.
- Isolated 802.3af powered-device front end with flyback conversion.
- W5500 hardwired TCP/IP MAC+PHY driven over SPI from an ESP32.
- Isolation barrier, magnetics and creepage handled at layout time.
ESP32W5500802.3afIsolated PD
Open project→
L4 · Bottom Copper
Line Follower Wireless Remote
A hand-built IR controller for a line-following robot, from carrier generation up to the protocol.
- EFM8 8-bit core bit-banging a 38 kHz NEC carrier out of a timer.
- Mixed-signal board: keypad matrix, driver stage, regulation on one 2-layer PCB.
- Full schematic capture and layout in Altium Designer.
EFM8NEC IRAltiumMixed-signal
Open project→
L5 · Bottom Overlay
Bare-Metal Digital Multimeter
A multimeter whose firmware is written straight against the STM32L051 reference manual, without a HAL.
- STM32L051 firmware at register level: ADC, timers, clock tree, all by hand.
- Resistance, capacitance and inductance modes from one analog front end.
- Written to the BARR-C:2018 embedded coding standard.
STM32L051Register-level CBARR-CR/C/L
Open project→