This repo tracks my progress in reverse engineering the Yardforce GForce mainbord as used in the Yardforce 500 (and others) Mower Robots.
In the end in would like to use it with OpenMower but without having to use that projects mainboard, instead recycling as much hardware as possible from the original GForce mainboard. There should be no irreversible modifications to the GForce board required.
- Basic overview of the mainboard, Datasheets for ICs
- Motor Drivers for both Drive Motors and Blade Motor can be controlled
- Firmware dump and restore via an ST Link or other (e.g. JLink Segger) tools
- Demo Python code to control the Mower via a Joystick (needs STM32 code for Blade Motor control)
Custom software for the STM32 main cpu, thats acts as a UART proxy to the components on the board
- Drive Motor proxing working
- Blade Motor proxing working
- Serial protocol for the Control Panel, and why it needs to be plugged in for the drive motors to work
- Accelerometer (I2C), Flash (SPI) support in the proxy software
- Various ADCs and PWM signals available - Board voltage, charging states ..
Check the Kicad drawings - note they contain hierachical subsheets (right click sheet, enter sheet). Any missing pins or functions - please let me know or better a pull request.
Highly experimental - and not stable, will change when new features are discovered on the mainboard. Some custom protocol (as simple as possible) that can then be used by 3rd party software such as ROS to control the mower is the end goal