My latest attempts at remote control stuff.
Take a perfectly fine remote control device and over complicate it with things like ESP32s, STM32s and Raspberry Pis; use as much Rust as possible because I'm trying to learn it.
- Run a client on a PC w/ a PS4 controller
- It sends UDP messages to a vehicle
- Vehicle converts the UDP messages into movement
rc-messaging
rc-vehicle
- Code to compose the above together with a tiny bit of safety to avoid runaway vehicles
rc-client
- Code for a workstation with a UI that reads from a PS4 controller and sends messages to a vehicle
- Uses Bevy for the I/O
esp32-rc-car
- Code for an ESP32 microcontroller that runs a WiFi AP, receives UDP remote control messages and turns them into PWM signals
- Based on esp-idf-template
- Uses as much Rust standard library as possible
- Uses
rc-messaging
andrc-vehicle
pi-rc-tank
- Code for a Raspberry Pi that receives UDP remote control messages and turns them into serial remote control messages
- Uses Rust standard library and Tokio
- Uses
rc-messaging
andrc-vehicle
stm32-rc-tank
- Code for an STM32 microcontroller that is packaged as a Husarion Core2, receives serial remote control messages and turns them into PWM signals
- Uses hFramework C++ library (deprecated, but Core2 is coupled to it)
- Hosim 9155
- I already had this
- Hobbywing Quicrun WP brushed ESC
- I had to buy this because it turns out the factory ESC can't be decoupled from the receiver
- Hobbyking HK 3-wire servo
- I already had this and needed to use it because the factory steering servo is 5-wire
- I guess this means the factory ESC also had the potentiometer handling circuitry in it?
- I already had this and needed to use it because the factory steering servo is 5-wire
- Traxxas Titan 12T 550 motor
- I didn't need this initially but the factory motor ate some rocks and stopped working
- Husarion CORE2 (integrated STM32 and Raspberry Pi, seems to be Lego-compatible)
- I already had this and used it as a Linux computer with WiFi (the Pi) and a microcontroller (the STM32)
- So the responsibility of driving the tank is split between the two
- I already had this and used it as a Linux computer with WiFi (the Pi) and a microcontroller (the STM32)
- Altronics 2WD robot base
- I already had this and only used the 2 motors from it
- Lego-compatible tracked robot
- I already had this and used the tracks off it