Skip to content

STM32 Ebike controller for the Silicon Valley Clean Energy "Bike to the Future" Ebike Competition

Notifications You must be signed in to change notification settings

profisir/SVCE-Ebike-Controller

 
 

Repository files navigation

SVCE Ebike Controller

Travis-CI Build Status

Description

STM32 Blue Pill (STM32 F103C8) powered Ebike controller made for the Silicon Valley Clean Energy Ebike Competition. This program is developed in conunction with the PlatformIO system, a substantial upgrade from the oxymoron Arduino IDE.

Relevant Peripherals:

Libraries

Necessary Modifications

MPU6050_tockn

Unfortunately, at the time of writing, the stock MPU6050_tockn library has an issue when built for the STM32 F103C8. To fix this, the calls to wire->requestFrom in the library's code must be changed by removing the last (int)true parameter wherever it appears.

i.e.: wire->requestFrom((int)MPU6050_ADDR, 14, (int) true); --> wire->requestFrom((int)MPU6050_ADDR, 14);

NOTE: This is currently fixed in the local version of the MPU6050_tockn library. No need to make any changes.

These changes are addressed as of MOU6050_tockn@>1.5.1.

PlatformIO STM32 linker scripts

For some reason, the default STSTM32 linker scripts for the generic STM32F103C8, the chip on the Blue Pill, assume that the the MCU has 64K of program flash memory, which is just not the case, as most boards around have 128K of flash. This shouldn't be an issue, but for the extra headroom, this is a good mod. Original post on PlatformIO Community forum.

File Original Post-mod
[USER_DIR]\.platformio\platforms\ststm32\boards\genericSTM32F103C8.json "maximum_size": 65536, "maximum_size": 131072,
[USER_DIR]\.platformio\platforms\ststm32\ldscripts\stm32f103x8.ld FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K

About

STM32 Ebike controller for the Silicon Valley Clean Energy "Bike to the Future" Ebike Competition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 60.6%
  • C 39.4%