Summary of "09102021 Lawn Tractor Meeting"
Key technical topics and concepts
STM32 programming modes and bootloaders
- Discussion of using the built‑in DFU/bootloader versus using an ST‑Link hardware programmer.
- A common tip: jumper BOOT0 (or a similar pin) to 3.3 V to force the chip into the system boot/program mode.
On‑board vs external programmer
- Some STM32 boards include a built‑in ST‑Link debugger/programmer; other boards require an external ST‑Link module.
- Without a bootloader the USB port won’t enumerate; you must either flash firmware that enables USB or use an ST‑Link to program the chip.
Linux device detection
- Use dmesg (or similar) to check whether the board is recognized when plugged into a Linux host.
Documentation sources
- STMicroelectronics documentation is recommended for programming mode details, chip-specific bootloader behavior, and IDE/setup instructions.
- Verify board-specific documentation — seller-provided links may point to the wrong revision.
Blue Pill (STM32F1) workflow
- Follow online tutorials for flashing bootloaders/firmware (serial or USB bootloader approaches are commonly used).
- Many community guides describe flashing via ST‑Link or using the built‑in system bootloader.
CAN bus debugging and ROS integration
- Use a USB‑to‑CAN adapter to log CAN frames and publish them as ROS topics.
- Record CAN traffic with rosbag for offline analysis to compare sender vs receiver behavior.
- Options: remap topics or append fields (speed/steering) to other messages to create consolidated logs.
Motor current monitoring
- A custom current‑sense board produces a voltage proportional to motor current.
- Publish that voltage as a ROS topic so current can be logged and analyzed (useful after blown motor fuses).
Peripheral microcontrollers
- Teensy used to pack joystick/switch inputs into CAN messages.
- Arduino Nano reads a steering potentiometer and publishes a separate topic over USB.
- Consider whether to consolidate these microcontroller topics or keep them separate.
Product / parts mentioned
- STM32 development board (Amazon listing; compared to “Blue Pill” style boards)
- ST‑Link programmer (on‑board or external module)
- Blue Pill (STM32F103 style board)
- BNO055 IMU (SparkFun / Adafruit breakout)
- USB‑to‑CAN adapter (for logging bus traffic into ROS)
- Teensy microcontroller (remote receiver interface)
- Arduino Nano (steering pot reader)
- Small custom current‑sense board (voltage output proportional to motor current)
Reviews, comments and documentation notes
- Amazon listing included two important comments:
- A buyer couldn’t get DFU mode to work and requested DFU info from the seller.
- A user noted you must jumper certain pins (BOOT0 to 3.3 V‑like) to use with ST‑Link.
- The seller reportedly provides documentation if contacted through Amazon, but they may not send docs to people who didn’t buy from them.
- One posted documentation link pointed to the wrong board/revision (a China link). Verify documentation matches your exact board.
Guides, tutorials and actionable debugging steps
-
If the board isn’t recognized over USB:
- Try programming the chip with an external ST‑Link.
- Jumper BOOT0 to 3.3 V (or follow seller/comment instructions) to enter the built‑in bootloader/DFU.
- Use dmesg (Linux) to observe device enumeration when plugging/unplugging.
- Check STMicroelectronics docs for chip programming modes and bootloader instructions.
-
For Blue Pill / STM32F1:
- Follow online tutorials for flashing a USB bootloader or flashing via serial/USB or ST‑Link.
-
CAN debugging with ROS:
- Add a USB‑to‑CAN adapter to feed bus traffic into a ROS node.
- Publish CAN frames as ROS topics and record them in rosbag to compare what the remote is sending vs what the main controller receives.
- Optionally strip speed/steering fields and append them to other messages for consolidated logging.
-
Motor current monitoring:
- Insert a current sensor (or the custom board) in series with the motor and publish its voltage (proportional to current) as a ROS topic for diagnostics after fuse failures.
-
Documentation and community help:
- Contact the Amazon seller for board documentation.
- Reach out to local embedded systems groups or robotics community members for help tracing pinouts and flash chip connections.
Project status and next steps
- Immediate next step: contact the seller for documentation and/or try an external ST‑Link to program the board.
- Use STMicroelectronics documentation and online Blue Pill tutorials to attempt loading a bootloader or firmware.
- Continue CAN logging to ROS to determine whether messages from the remote are transmitted and received correctly.
- Add current sensing and log the data to ROS to track motor current and diagnose blown fuses.
- Later decision: consolidate multiple microcontroller topics (steering, motor, etc.) or keep them separate depending on system design and logging needs.
Main speakers / sources referenced
- Juan — described board issues, contacting seller, and ROS/robot work.
- “Chef” / Shay — provided guidance on ST‑Link, DFU, Linux dmesg, and ROS logging/debugging.
- Amazon seller and Amazon commenter — sources for board documentation and tips.
- STMicroelectronics — chip programming modes and documentation.
- SparkFun / Adafruit — BNO055 IMU product sources.
- Local embedded systems coalition and other robotics community members — potential helpers for pinouts and hardware tracing.
Category
Technology
Share this summary
Is the summary off?
If you think the summary is inaccurate, you can reprocess it with the latest model.
Preparing reprocess...