- Thu Jun 21, 2018 8:04 pm
#26572
Hi All,
I find the speeduino project very interesting! I did an EFI project with a microsquirt (megasquirt efi system) before (still not running perfect but it works). I have one speeduino working on my bench with a little help of the ardustim. Very nice.
For now i am trying to get the speeduino code working on the STM32F407VET6 as a side project (https://www.ebay.com/itm/253073739790) What is the status on the STM32 versions?
The first hurdle is the missing EEPROM of course. Has someone already tried to get the spimemory library and the onboard SPIflash chips working? (W25Q16 for my example board)? What else is missing in the code for the STM32 versions so far? I see a lot of code already tailored for the STM32 boards but it does not work completely as i understand form various forum posts. I want to help implementing and debugging the missing stuff, but i don't want to do the work twice of course. .
------------------------------------------- below this line info will be updated from time to time with the latest and greatest -------------------------------------------
This is the updated manual to compile/test the code on a Black stm32F407VET6 board from eBay.
Install tool chain
1. Install the arduino IDE (1.8.12)
2. Install the stm32duino core from: https://github.com/stm32duino/Arduino_Core_STM32 (version 2.0.0)
3. install https://www.st.com/content/st_com/en/pr ... eprog.html
Build code
1.a For bleeding edge Download the speeduino master code from noisy master (https://github.com/noisymime/speeduino) or alternatively from (https://github.com/Tjeerdie/speeduino). I try to keep an STM32 working version in my Master branch at all times.
1.b Release 202108 can be downloaded and that works fine on STM32F407 and not on STM32F4x1.
2. Open the code in de arduino IDE.
3. In arduino IDE select Tools->Board: GENERIC STM32F4 series
4. In Arduino IDE select Tools->Board part number: "BLACK F407VE" (or one of the other supported MCUs)
5. In Arduino IDE select Tools->USART support: Enabled (generic serial)
6. In Arduino IDE select Tools->USB support: CDC (generic serial)
7. If internal flash as emulated EEPROM is ok, skip step 8 and 9:
8. Open the globals.h file located in project folder
9. Look at line 84..87 and select your storage solution. When there is no selection the internal flash is used.
10. Build the speeduino project.
Hardware modifications STM32F407VE black boards
1. Remove the R21 resistor from the board (close to USB port)
Upload
1. Put the jumper close to the CPU (BT0) to connect to the 3.3 volt instead of GND (one step up)
2. Reset the board.
3. In Arduino IDE select Programmer: "STM32CubeProgrammer DFU"
4. Upload the code
5. Put the Jumper back in its original position.
4. Reset the board
After these steps you should be able to connect to the board using the USB cable and use tuner studio. Tested the compilation in Linux Ubuntu 18.04.3 LTS. When there is no SPI flash available but this is selected as EEPROM emulation or the incorrect chip select pin (CSpin) is selected for the flash chip, the board will lockup during boot.
To select the CSpin for SPI flash change the #define USE_SPI_EEPROM PB0 in globals.h to the pin number where to find the correct pin.
--- Compatible hardware designs ----
https://github.com/Tjeerdie/SPECTRE maintainer Tjeerd
https://stm32-base.org/boards/STM32F407 ... -V1.0.html maintainer iLeeeZi
https://easyeda.com/pazi88/Arduino_Mega_2560-z92kCUO6o maintainer pazi88
--- Compatible STM32 MCU ----
STM32F407VE Fully functional
STM32F407ZET Connects to Tuner Studio (In Arduino IDE Choose "black F407ZE")
For 202108 stm32F4x1 are broken. Master is working at the moment (12/09/2021)
STM32F411CE @vitor_boss has a car running on these . (In Arduino IDE Choose "blackPill F411CE")
STM32F401CC (In Arduino IDE Choose "blackPill F401CC")
I find the speeduino project very interesting! I did an EFI project with a microsquirt (megasquirt efi system) before (still not running perfect but it works). I have one speeduino working on my bench with a little help of the ardustim. Very nice.
For now i am trying to get the speeduino code working on the STM32F407VET6 as a side project (https://www.ebay.com/itm/253073739790) What is the status on the STM32 versions?
The first hurdle is the missing EEPROM of course. Has someone already tried to get the spimemory library and the onboard SPIflash chips working? (W25Q16 for my example board)? What else is missing in the code for the STM32 versions so far? I see a lot of code already tailored for the STM32 boards but it does not work completely as i understand form various forum posts. I want to help implementing and debugging the missing stuff, but i don't want to do the work twice of course. .
------------------------------------------- below this line info will be updated from time to time with the latest and greatest -------------------------------------------
This is the updated manual to compile/test the code on a Black stm32F407VET6 board from eBay.
Install tool chain
1. Install the arduino IDE (1.8.12)
2. Install the stm32duino core from: https://github.com/stm32duino/Arduino_Core_STM32 (version 2.0.0)
3. install https://www.st.com/content/st_com/en/pr ... eprog.html
Build code
1.a For bleeding edge Download the speeduino master code from noisy master (https://github.com/noisymime/speeduino) or alternatively from (https://github.com/Tjeerdie/speeduino). I try to keep an STM32 working version in my Master branch at all times.
1.b Release 202108 can be downloaded and that works fine on STM32F407 and not on STM32F4x1.
2. Open the code in de arduino IDE.
3. In arduino IDE select Tools->Board: GENERIC STM32F4 series
4. In Arduino IDE select Tools->Board part number: "BLACK F407VE" (or one of the other supported MCUs)
5. In Arduino IDE select Tools->USART support: Enabled (generic serial)
6. In Arduino IDE select Tools->USB support: CDC (generic serial)
7. If internal flash as emulated EEPROM is ok, skip step 8 and 9:
8. Open the globals.h file located in project folder
9. Look at line 84..87 and select your storage solution. When there is no selection the internal flash is used.
10. Build the speeduino project.
Hardware modifications STM32F407VE black boards
1. Remove the R21 resistor from the board (close to USB port)
Upload
1. Put the jumper close to the CPU (BT0) to connect to the 3.3 volt instead of GND (one step up)
2. Reset the board.
3. In Arduino IDE select Programmer: "STM32CubeProgrammer DFU"
4. Upload the code
5. Put the Jumper back in its original position.
4. Reset the board
After these steps you should be able to connect to the board using the USB cable and use tuner studio. Tested the compilation in Linux Ubuntu 18.04.3 LTS. When there is no SPI flash available but this is selected as EEPROM emulation or the incorrect chip select pin (CSpin) is selected for the flash chip, the board will lockup during boot.
To select the CSpin for SPI flash change the #define USE_SPI_EEPROM PB0 in globals.h to the pin number where to find the correct pin.
--- Compatible hardware designs ----
https://github.com/Tjeerdie/SPECTRE maintainer Tjeerd
https://stm32-base.org/boards/STM32F407 ... -V1.0.html maintainer iLeeeZi
https://easyeda.com/pazi88/Arduino_Mega_2560-z92kCUO6o maintainer pazi88
--- Compatible STM32 MCU ----
STM32F407VE Fully functional
STM32F407ZET Connects to Tuner Studio (In Arduino IDE Choose "black F407ZE")
For 202108 stm32F4x1 are broken. Master is working at the moment (12/09/2021)
STM32F411CE @vitor_boss has a car running on these . (In Arduino IDE Choose "blackPill F411CE")
STM32F401CC (In Arduino IDE Choose "blackPill F401CC")
Last edited by Tjeerd on Sun Sep 12, 2021 1:40 pm, edited 14 times in total.