Hardware · Embedded Systems · ECE299 Design Capstone
The Radio Rhino: a complete FM radio alarm clock, taken from requirements to a working prototype over one term. A custom two-layer PCB designed in KiCad, a Raspberry Pi Pico W running MicroPython, an RDA5807M tuner driving an LM386 amplifier, and a 3D-printed rhinoceros enclosure. The final firmware also hosts its own WiFi access point and serves a phone-friendly web control panel.
Overview
The Radio Rhino combines a digital clock, a settable alarm, and an FM broadcast receiver in a single 3D-printed enclosure. It was designed and built as the ECE299 Engineering Design capstone at the University of Victoria, with a partner, under the course constraint that a single Raspberry Pi Pico W programmed in MicroPython handle all information processing.
The circuit was validated on a breadboard, transferred to a custom two-layer PCB designed in KiCad, fabricated commercially, and assembled by hand. I owned the schematic capture, PCB layout, and embedded firmware.
At a Glance
Circuit & PCB Design
Firmware
WiFi Control Panel
The Pico W's CYW43439 radio hosts its own access point, and the device serves a phone-friendly web panel at radiorhino.clock through a catch-all DNS responder. Frequency, volume, mute, alarm time, and display format are all settable from a phone, and a one-tap control syncs the device clock from the phone's own time.
The original design joined an existing network instead. That approach was abandoned after the failure was traced to WPA3-transition security on phone hotspots, which the CYW43 driver can see in a scan but cannot join. Access-point mode removed the dependency entirely.
Enclosure
Debugging Highlights
Testing & Results
Gallery
Project Complete
Built, demonstrated, and documented for ECE299 Engineering Design at the University of Victoria. The prototype meets every mandatory requirement and adds a WiFi web control panel, selectable alarm tones, adjustable display brightness, and an idle screensaver with playable mini-games on top of the required scope.