Custom ARM-Based Embedded Vehicle Remote Control System (Ongoing)
Image is AI-generated.
Summary
A remote control car steered by head movement tilt your head and the car follows. The system uses two custom PCBs: one mounted on the car and one worn on a hat that detects head orientation and transmits commands wirelessly. Both are built around ARM Cortex-M4 microcontrollers with motor control, radio communication (NRF24L01+), power regulation, and sensing. The car also carries a Nano Cam 2 with a 5.8 GHz VTX module (salvaged from a Tiny Hawk drone), transmitting a live FPV feed so the driver can wear goggles and see exactly what the car sees.
More Information
The system is built around the Microchip SAM4S (ARM Cortex-M4, 120 MHz), selected to provide sufficient computational headroom for real-time control, wireless communication, and sensor integration. Motor control is implemented using a DRV8833 dual H-bridge, driven via hardware PWM channels to enable forward, reverse, braking, and controlled decay modes.
Wireless communication is achieved using an NRF24L01+ 2.4 GHz transceiver over SPI. Careful attention was paid to PCB layout around the antenna region and power filtering to minimise noise coupling and improve communication reliability. Power architecture includes a battery input stage, buck conversion for 5 V regulation, and local 3.3 V regulation for digital subsystems, with decoupling and ground strategy designed to reduce switching noise.
Firmware is written in C using a bare-metal toolchain with OpenOCD and GDB for debugging. Development includes peripheral configuration (SPI, PWM, ADC, TWI), interrupt handling, and structured driver abstraction. Oscilloscope and logic analyser validation is used to confirm PWM timing, SPI integrity, and power rail stability during dynamic load conditions.
The project emphasises full-stack embedded development — from reading datasheets and selecting components, through schematic capture and PCB layout, to firmware implementation and hardware debugging.
Key Skills & Tools
Embedded Systems
- ARM Cortex-M4 (SAM4S) peripheral configuration
- PWM motor control and H-bridge driving (DRV8833)
- SPI communication (NRF24L01+)
- I2C (TWI), ADC, UART integration
- Interrupt-driven firmware design
Hardware & PCB
- Schematic capture and PCB layout (Altium / KiCad)
- Power supply architecture (buck conversion + LDO regulation)
- Grounding, decoupling, and signal integrity
- Hardware bring-up and oscilloscope-based validation
Tools & Development
- Embedded C (bare-metal)
- OpenOCD and GDB debugging
- Visual Studio Code toolchain
- Git version control