-
Samuel Tardieu authoredSamuel Tardieu authored
Alternate Free Software Firmware and Tools for DFRobot's DFR0592 DC Motor Driver Hat
Overview
This project provides an alternate, open-source firmware for the DFRobot DFR0592 DC motor driver hat. It has been developed for use in a Télécom Paris mandatory project for all first year students. The alternate firmware enables students to pilot custom-designed robots using a Raspberry Pi (RPi) and the DFR0592 hat, managing the motors and the encoders through an integrated PID controller.
Features
1. Alternate Software for DFR0592
- Replaces the original firmware on the DFR0592 DC motor driver hat.
- Compatible with Raspberry Pi to control robot motors with encoder feedback.
2. I²C Bootloader
- Includes an I²C bootloader as the hat's STM32F103C8/APM32F103C8 microcontroller lacks a built-in bootloader.
- Facilitates easy firmware updates directly from a Raspberry Pi.
3. Firmware Updater
- Allows the firmware to be updated from the RPi without needing to reconnect a SWD probe.
- Ensures seamless integration and ease of maintenance in student projects.
4. Python Module and Rust Crate
- Python Module: Enables interaction with the firmware using Python scripts on a Raspberry Pi.
- Rust Crate (tele0592): Available on crates.io, allows interaction with the firmware from Rust programs.
Authors
The firmware has been developed by Samuel Tardieu and Tarik Graba. Karim Ben Kalaia and Tarik Graba have designed the probe interface allowing to connect a SWD probe to the hat test pins for the initial bootloader programming.
License
This software is released under the terms of the GNU General Public License version 3 or (at your option) any later version. See the COPYING file for the full license text.
Initial Setup
Programming the Bootloader
- The initial bootloader programming must be performed using the SWD interface.
- Any SWD probe like JLink can be used.
- The test points available on the DFR0592 hat should be used for this purpose.