Index
- Eclipse IDE and JTAG
- Unlock STM32F103 with JTAG
- Flash firmware using Bluetooth
- Serial Port Bluetooth
- Serial Port Plot
- SM32F103C8T6 use 128kbytes flash
- Observer
- Shane Colton documentation and firmware
- Firmware
- Part 1: Field-Oriented
- Part 2: Field-Oriented
- Sensorless Pneu Scooter - part 1
- Sensorless Pneu Scooter - part 2
- Sensorless Pneu Scooter - part 3
- Texas Instruments videos
- Chinese controllers code
- Chinese balance group reference design
- Kerry D. Wong -- A Self-Balancing Robot
- Self balance bicycle
- PID
- LQR
- PID and LQR, MATLAB
- Steve Brunton videos
Flash firmware using Bluetooth
Using the native built in bootloader of STM32, the firmware can be programmed using Bluetooth. Please see this important information.
Hardware
To use the native bootloader of STM32, B0 pin of STM32F103 need to be connected to 3.3V at reset time. The B0 pin is connected to GND on the board by a resistor but is also available on J15 header (Bluetooth header).
To force entering the bootloader, wire the B0 pin to 3.3V pin on the J15 header (the adjacent pins). After reset the board, the bootloader will always start while that pins are wired and will be ready to flash the firmware.
NOTE: the STATE pin of the Bluetooth module don't seem to work/be wired - the pin never changes to 3.3V when module is connected/LED always ON).
Software
On Linux Ubuntu you can install from repositories:
You can also get stm32flash from the project page: https://sourceforge.net/p/stm32flash/code/ci/master/tree/
• Prepare the /def/rfcomm0 device
Get device information:
sudo stm32flash /dev/rfcomm0 -b 115200
Write with verify and then start execution:
sudo stm32flash -w filename -v -g 0x0 /dev/rfcomm0
NOTE
As of 2017.04.27, the flashing didn't work and I got this output:
sudo ./stm32flash /dev/rfcomm1 -b 115200
stm32flash 0.5
http://stm32flash.sourceforge.net/
Interface serial_posix: 115200 8E1
Failed to init device.