Robocar TX
DIY modification of a stock 2.4 GHZ radio to function instead with Bluetooth Low Energy. Removes the need for a separate receiver module, interacting directly with Linux through the Human Interface Device (HID) protocol.
Overview
I decided to gut the stock RC transmitter that came with my crawler bot’s chassis kit replace its 2.4GHz radio module with a Nordic nRF5832.
Previously, I interfaced the RC radio with my robocar by first reading the output of the stock RC receiver with a Teensy microcontroller, then passing it via serial to my Jetson Nano. With the custom BLE method, I could skip the receiver and microcontroller by connecting directly to the Jetson and using Linux’s Human Interface Device protocol.
HID allows me to interface with the device any way I want, whether with Python or C++ or whatever, and the kernel handles all of the pairing/trusting/connecting required by Bluetooth for me.
Components
- Transmitter Module / PCB: 51C00-9082 2.4G Transmitter
- BLE Transmitter: Adafruit Feather nRF52 Bluefruit LE - nRF52832
- Transmitter Display/Input: Adafruit Mini Color TFT with Joystick FeatherWing
- Power Converter: MPM3610 5V Buck Converter Breakout - 21V In 5V Out at 1.2A
- Data Connector: USB DIY Connector Shell - Type Micro-B Plug
- Added switches/hardware: Stuff I found lying around CRASH Space
Status
Very much in progress. Currently stymied by a hardware issue: the ground wire for the throttle input potentiometer has somehow failed and needs to be re-soldered.
Software-wise, I am now working on a TFT Menu display and hammering out the details of what info needs to be sent to the robocar for full functionality.