Help needed: Modifying Hoverboard Firmware (GD32F103RCT6) for an RC Electric Kids' Vehicle - EFeru/hoverboard-firmware-hack-FOC GitHub Wiki

Hi everyone, I’m looking for some help with a project I’m working on. I am developing a small electric vehicle for children using an original hoverboard controller. The board uses a GD32F103RCT6 microcontroller (STM32F103 compatible) to drive two BLDC motors. I have replaced the original firmware with a modified version based on the "hoverboard firmware hack" project. The system currently compiles and can be flashed using ST-Link and STM32CubeIDE, but I need to modify the firmware to implement RC remote control. Project Goal The objective is to convert the hoverboard controller into an RC vehicle controller, using one of the motors as a steering servo and the other for propulsion. Required Functions

  1. RC Control: • Input from a 4-channel PWM/PPM RC receiver. • CH1: Steering. • CH2: Throttle / Reverse. • CH3: System Enable (Toggle between RC and Manual mode).
  2. Failsafe (Signal Loss): • If the RC signal is lost for more than 300ms, the firmware must:
  3. Cut the throttle.
  4. Apply electronic braking.
  5. Stop the vehicle immediately. • Automatic Recovery: The system should resume control once the signal returns without needing a reboot.
  6. Manual Mode (via CH3): • CH3 ON: RC Mode. • CH3 OFF: Manual Mode (Vehicle controlled by an external analog throttle, with the steering motor set to 0/neutral to allow free movement).
  7. Speed & Safety Limits: • Since this is for children, the firmware must allow hard limits on maximum speed and acceleration ramps. Technical Specs • MCU: GD32F103RCT6 • Motors: 2 × BLDC hoverboard motors • Programmer: ST-Link • IDE: STM32CubeIDE • Base Firmware: Hoverboard firmware hack (STM32) What I need help with: I need assistance developing the firmware logic to:
  8. Modify the existing firmware to implement the RC logic and failsafe.
  9. Properly enable and sync both motors.
  10. Provide the source code and the STM32CubeIDE project (including .hex or .bin files). If anyone in the community can help me make this project a reality, I would be extremely grateful. Thank you for your time and for any guidance you can provide!!