Skip to main content
Mini Crew Ventures Forth Into Communication Issues

Mini Crew Ventures Forth Into Communication Issues

Author
Conor Haines
American Aerospace Engineer Larping as a German

Changing our target vehicle platform


Attempts to use SNT Y60 With a Multi-Module Adapter
#

As written in the original post, our plan was to use a set of Sniclo Y60 mini RC trucks, with custom firmware from the Multi-Module Project running on an IRX4 Plus. This proved far more difficult than anticipated, due to our inability to smooth serial control from my mac converted to the standard 2.4 GHz R/C control protocols required. Though, for those interested, it is possible (as outlined here) but not suited to our purpose.

Y60 with standard RC Controller

Arriving at the Cyber Brick System
#

Searching for a communication solution that would also free us from having a strictly defined platform, we cam across Bambu Labs CyberBrick system. In brief, it is a platform built around 3D printing models pulled from community submitted projects. At its core are ESP-32 micro controllers fitted with daughter boards to adapt them for tasks such as transmitter and receiver. Communication is handled via the ESP-NOW protocol. This protocol, along with projects like this allow us to control multiple vehicles from a desktop.

Assembling the first two vehicles
#

We decided to start with this Mini Tank project and move on to the other CREW platforms next. The purpose here is to have fun building and testing with a standard remote setup. Next we will make use of the ESP-NOW communication protocol and control the vehicles via an app running on Linux.

Here are a few images of us on the way to assembly of the first two tanks.

Early Assembly
Blue Tank Coming Together
Remote Internals
Complete pair of Tanks

Recording the ESP-NOW messages from the transmitters and replaying them
#

Following assembly of the controllers and tanks, we were able to control them properly and have a bit of fun target shooting. Next, our goal was to record a set of control inputs and replay them. That is, have the tanks controlled via the recording the ESP-NOW command packets, via Wireshark.

We were able to record the packets on my mac, via the use of monitor mode on my WiFi interface. However, it is not possible (as far as I can tell) to broadcast messages in monitor mode from macOS. It is possible on a Raspberry Pi 5 running Kali Linux. We set it up, read in the .pcap file and replayed them (via a Python script) and were successful. We can now play prerecorded commands and have the tanks react as if we were using the original controllers!

Next Steps
#

Now that we have verified that we can control multiple vehicles from a single desktop machine via the ESP-NOW protocol, our next step is to move from replaying recorded commands to generating them via a control application. The next update will present an overview of that process: building a QT Widgets based GUI application to run on Kali Linux which will provide the same controls as the standard controller.

Just as importantly, all code involved in this project will start being posted to my GitHub account in the coming weeks. So far, this includes Python scripts used to facilitate communication and some QT Widgets applications used for object tracking. There will also be some step by step guides to recreate our setup and tests.