A latest video of state of the project (mid-august):

BLE-RC

The firmware is ready to be tested in the field, as can be seen in the video above. All the features seem to be working, including, but not limited to:

  • Motor driving with smooth acceleration, deceleration and connection to brake lights and reverse lights

  • Smooth steering with connection to turning lights

  • Separate function for headlights

  • Light indication when no device is connected over BLE (5 seconds of emergency lights blinking, then short flashes every 10 seconds).

I have been looking into ability to do OTA updates, so currently I am trying to switch from Arduino+FreeRTOS+NimBLE stack to Nordic’s native SoftDevice. Doing this will allow to use Nordic’s DFU protocol and bootloader that can update the firmware via BLE.

It’s a complex task as this toolchain is not supported by PlatformIO, so a dedicated PlatformIO platform and framework need to be developed.

Android control app

The video also shows a very rudimentary Android application for controlling the truck. It’s created in MIT App Inventor service, which allows to make mobile apps in browser, using block-based programming language.

MIT App Inventor "program" and design

While it does the job, I plan to make a physical gamepad-like remote. Probably based on ESP32 chip, because a remote can have larger battery, so power consumption is less of a problem, with display and inspired by alpakka controller. LILYGO T-Display is one candidate.

RC truck mechanics

The electronics is slowly being installed into the truck, with a lot of questions still not answered. I’ve primed the cabin with spray can primer, now it needs a paint.