Black STM32F407VET6 + STM32F407ZET6 dev boards

Discussion and questions about boards that can run MicroPython but don't have a dedicated forum.
Target audience: Everyone interested in running MicroPython on other hardware.
manikanta_raju
Posts: 4
Joined: Sun Oct 22, 2017 5:56 pm

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by manikanta_raju » Thu Nov 02, 2017 6:59 am

I am using https://github.com/mcauser/BLACK_F407VE repo. How much free memory does your board show up?

Code: Select all

>>> gc.collect()
>>> gc.mem_free()
100076

User avatar
mcauser
Posts: 324
Joined: Mon Jun 15, 2015 8:03 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by mcauser » Thu Nov 02, 2017 10:28 pm

VET6

Code: Select all

MicroPython v1.9.1-29-g1686346-dirty on 2017-06-20; BLACK STM32F407VE with STM32F407VE
Type "help()" for more information.
>>> import gc
>>> gc.collect()
>>> gc.mem_free()
102080
>>> 
ZET6

Code: Select all

MicroPython v1.8.7-333-gfb1e7e2-dirty on 2017-02-28; BLACK STM32F407ZE with STM32F407ZE
Type "help()" for more information.
>>> import gc
>>> gc.collect()
>>> gc.mem_free()
102208

manikanta_raju
Posts: 4
Joined: Sun Oct 22, 2017 5:56 pm

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by manikanta_raju » Fri Nov 03, 2017 2:39 pm

Thanks for the info.

I see that floating point operations are very slow on Black STM32F407VET6. Is this due to micropython, since STM32F407VET6 is a cortex M4.

SpotlightKid
Posts: 377
Joined: Wed Apr 08, 2015 5:19 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by SpotlightKid » Sun Nov 26, 2017 11:18 am

There is now also a variant of this board available with the STM32F407ZGT6 MCU. This has 1 MB flash memory instead of only 512 kB. Otherwise it seems identical to the STM32F407ZET6 variant.

Currently around 14 € / 16.50 $ incl. shipping from China, e.g. here on AliExpress:

https://www.aliexpress.com/item/STM32-A ... 02179.html

And here:

https://www.aliexpress.com/item/Arm-dev ... 08064.html

Other boards with the same MCU but different layouts do exist as well, e.g.:

https://www.aliexpress.com/item/STM32F4 ... 42050.html

And a very bare-bones one:

https://www.aliexpress.com/item/STM32F4 ... 97307.html

User avatar
EasyRider
Posts: 94
Joined: Wed Dec 30, 2015 8:17 am
Location: Land Down Under

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by EasyRider » Tue Nov 28, 2017 1:07 am

RTC clock running very fast on 407VET6 Mini Board with most recent firmware build.
Have not checked config file how it uses on board 32KHZ crystal.
At the moment tried couple of boards with same results where clock gains about half an hour in less than 6 hour period.

Board is VCC-GND-407VET6 MINI.

Not sure if mcauser has any advice.

User avatar
mcauser
Posts: 324
Joined: Mon Jun 15, 2015 8:03 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by mcauser » Tue Nov 28, 2017 1:59 am

The VCC-GND F4 VET6 (mini) uses a 25MHz system crystal, and the black F4 VET6 uses an 8MHz system crystal.
Both use a 32.768KHz RTC crystal.

Note the different HSE_VALUE values:
https://github.com/mcauser/VCC_GND_F407 ... onf.h#L102
https://github.com/mcauser/BLACK_F407VE ... onf.h#L102
And the PLLM:
https://github.com/mcauser/VCC_GND_F407 ... oard.h#L20
https://github.com/mcauser/BLACK_F407VE ... oard.h#L20

There's another thread for the VCC-GND board:
viewtopic.php?f=12&t=2889
And the board def:
https://github.com/mcauser/VCC_GND_F407

I added these to the black VET6 def, based on the pyboard def:

Code: Select all

// The board has a 32kHz crystal for the RTC
#define MICROPY_HW_RTC_USE_LSE      (1)
#define MICROPY_HW_RTC_USE_US       (0)
They are missing from the VCC-GND board def. - See mpconfigboard.h
Perhaps that explains the issues you're seeing.

User avatar
EasyRider
Posts: 94
Joined: Wed Dec 30, 2015 8:17 am
Location: Land Down Under

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by EasyRider » Tue Nov 28, 2017 2:54 am

Thanks

I had the correct board with correct 25MHZ main clock defs, but as you say it didn't have 32KHz crystal RTC clock defs.

Have now added RTC defs and compiled, will see how it runs after a while.

Code: Select all

  The board has a 32kHz crystal for the RTC
#define MICROPY_HW_RTC_USE_LSE      (1)
#define MICROPY_HW_RTC_USE_US       (0)     

SpotlightKid
Posts: 377
Joined: Wed Apr 08, 2015 5:19 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by SpotlightKid » Fri Dec 15, 2017 6:06 pm

SpotlightKid wrote:
Sun Nov 26, 2017 11:18 am
There is now also a variant of this board available with the STM32F407ZGT6 MCU.
I have created a repository with a board definition, description and documentation for this board:

https://github.com/SpotlightKid/BLACK_F407ZG

I have also updated the list of board on the Wiki:

https://github.com/micropython/micropyt ... ds-Summary

KevinA
Posts: 11
Joined: Mon Nov 09, 2015 11:17 pm

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by KevinA » Sun Jun 03, 2018 7:44 pm

After finding the STM32F407XXX boards I started looking for the software they used and came across "core.zip" that has all the Keil source. I don't have the Keil compiler but found Keil2GCC.exe. I converted all the core.zip (40 or more subdirectories of code) to GCC projects.
(1) Template
(10) Input
(11) TFT LCD
(12) USMART
(13) RTC
(14) RandomGen
(15) ADC
(16) Temprature
(17) DAC
(18) PWM DAC
(19) DMA
(2) WaterLED
(20) SPI
(21) TouchPanel
(22) NRF24L01
(23) FLASH2EEPROM
(24) SRAM
(25) Memory
(26) SD
(27) FATFS
(29) IMAGE
(3) KEY
(30) AVPlay
(31) FPU(Julia)
(32) DSP
(33) HandWriter
(35) USBCardReader(Slave)
(37) UCOSII1-1-EventCall
(38) UCOSII-1-2-EventOther
(39) UCOSII-2-SemaphoreMailbox
(4) UART
(5) INT
(6) Watchdog
(7) WinWatchdog
(8) Timer
(9) PWM

and within each directory:
After conversion:
flash.jlink
keilkilll.bat
gcc_linkerfile_stm32f407zg.ld
gcc_startupfile_stm32f407zg.s
makefile

Directories:
CORE
FWLIB
HARDWARE
MALLOC
OBJ
SYSTEM
USER

Some directories have multiple sub-directories of code.
It appears the original source was from STM Discovery series boards.
You can convert the sources from Chinese to English with Google.
http://osdr.us/STM/code.zip original source
http://osdr.us/STM/KeilConv-code.zip

It would be a good thing for someone with the know how to make the $16 STM32F407ZGT6 board with SD card, LCD, Touchscreen, SRAM, NRF24 socket, RTC with Battery and 25Q16 Flash memory working with MicroPython.....

User avatar
mcauser
Posts: 324
Joined: Mon Jun 15, 2015 8:03 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by mcauser » Mon Jun 04, 2018 12:46 am

@KevinA those zips you referenced are 404ing.

I downloaded a similar .rar file for the "black" VET6 and ZET6 boards and the vcc-gnd VET6 board. Decompressed they are around 4gb each. They each have lots of different examples. Mostly in Chinese, but you can get a rough idea of what is going on and Google Translate the comments if needed.

On my mac, I needed to decompress them with The Unarchiver.app to get the encoding correct. Native decompressor garbles the filenames + contents.

Inside each of the examples the interesting stuff is in USER/main.c and HARDWARE/*
Theres around 1gb of examples in each dir, but with 90% identical between each example, they can be heavily compressed.

MicroPython is already able to be run on the boards, however, to take advantage of the on board hardware, existing C drivers will need to be ported across, or python drivers created. Features that are already working SD card, NRF24, RTC, Flash, EEPROM, Buttons, LEDs, I2C, SPI, ADC, DAC, etc.
I'm keen to get the ILI9341 TFT working (in parallel mode) with touch and SRAM.

Post Reply