Index

MicroWorks 30B4 board

  1. Datasheets 30B4
    1. STM32F103
      1. ADC
      2. STM32 EEPROM
    2. MPU6050
      1. DMA
      2. Issue communications
        1. 01
    3. MPU6050 freq
  2. firmware motor control
  3. Implementations with MicroWorks 30B4 board
  4. Links to sellers

MicroWorks 500W 30km/h motor

  1. BEMF measurements

Flash and Debug STM32

  1. Eclipse IDE and JTAG
  2. Unlock STM32F103 with JTAG
  3. Flash firmware using Bluetooth
    1. STM32F103C6T8 bootloader
    2. ZS-040 Bluetooth module
      1. HC-06 hc01.comV2.0
  4. Serial Port Bluetooth
  5. Serial Port Plot
  6. SM32F103C8T6 use 128kbytes flash

FOC

  1. Observer
  2. Shane Colton documentation and firmware
    1. Firmware
    2. Part 1: Field-Oriented
    3. Part 2: Field-Oriented
    4. Sensorless Pneu Scooter - part 1
    5. Sensorless Pneu Scooter - part 2
    6. Sensorless Pneu Scooter - part 3
  3. Texas Instruments videos
  4. Chinese controllers code

Balance controller

  1. Chinese balance group reference design
  2. Kerry D. Wong -- A Self-Balancing Robot
    1. A Self-Balancing Robot – I
    2. A Self-Balancing Robot – II
    3. A Self-Balancing Robot – III
  3. Self balance bicycle
  4. PID
  5. LQR
    1. Stages of development of the robot-balancer
  6. PID and LQR, MATLAB
  7. Steve Brunton videos

Mechanical parts

  1. Pedals

Various

  1. C language for critical systems
  2. Hall effect sensor placement
  3. The brilliant idea of slow rotating motors
    1. Why does the Torquemax rotate so slowly and so forcefully
  4. Finding Motor Phase-Sensor Combinations

Clipping

  1. Hackaday - 2017.05.07 - opensource firmware for hoverboards

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:
images/2-1.png

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.