MCUDev 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.
Post Reply
KevinA
Posts: 11
Joined: Mon Nov 09, 2015 11:17 pm

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by KevinA » Sat Jun 09, 2018 11:58 pm

http://jaga.us/KeilConv-code.zip
http://jaga.us/code.zip
These are 100mb each and I believe the graphics are there.
The other site had phpBBS .htaccess killing everything.

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

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by KevinA » Sun Jun 10, 2018 7:07 pm

mcauser wrote:
Mon Jun 04, 2018 12:46 am
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.
I can blink LED(1) and LED(2) but that is it. I found a SDtest.py script but it bombs on:
sd = sdcard.SDCard(pyb.SPI(1), pyb.Pin.board.X21) # Compatible with PCB
Where do I find the 'Pin' name?
Is there a means to dump all pin names from 'board'?
I just need access to I2C, SD card

User avatar
pythoncoder
Posts: 3599
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by pythoncoder » Mon Jun 11, 2018 5:54 am

KevinA wrote:
Sun Jun 10, 2018 7:07 pm
...Is there a means to dump all pin names from 'board'?...
Try:

Code: Select all

>>> for x in sorted(dir(pyb.Pin.board)):
...     print(x)
... 
LED_BLUE
LED_GREEN
LED_RED
LED_YELLOW
MMA_AVDD
MMA_INT
SD
SD_CK
SD_CMD
SD_D0
SD_D1
SD_D2
SD_D3
SD_SW
SW
USB_DM
USB_DP
USB_ID
USB_VBUS
X1
X10
X11
X12
X17
X18
X19
X2
X20
X21
X22
X3
X4
X5
X6
X7
X8
X9
Y1
Y10
Y11
Y12
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
__class__
__name__
>>> 
(This is the outcome on a Pyboard.)
Peter Hinch

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

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by KevinA » Mon Jun 11, 2018 10:43 pm

It took me awhile to figure out how to get the function to run:
DAC1
DAC2
LED_D1
LED_D2
OSC32_IN
OSC32_OUT
PA0
PA1
PA10
PA11
PA12
PA13
PA14
PA15
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PB0
PB1
PB10
PB11
PB12
PB13
PB14
PB15
PB2
PB3
PB4
PB5
PB6
PB7
PB8
PB9
PC0
PC1
PC10
PC11
PC12
PC13
PC14
PC15
PC2
PC3
PC4
PC5
PC6
PC7
PC8
PC9
PD0
PD1
PD10
PD11
PD12
PD13
PD14
PD15
PD2
PD3
PD4
PD5
PD6
PD7
PD8
PD9
PE0
PE1
PE10
PE11
PE12
PE13
PE14
PE15
PE2
PE3
PE4
PE5
PE6
PE7
PE8
PE9
PF0
PF1
PF10
PF11
PF12
PF13
PF14
PF15
PF2
PF3
PF4
PF5
PF6
PF7
PF8
PF9
PG0
PG1
PG10
PG11
PG12
PG13
PG14
PG15
PG2
PG3
PG4
PG5
PG6
PG7
PG8
PG9
SD_CK
SD_CMD
SD_D0
SD_D1
SD_D2
SD_D3
USB_DM
USB_DP
USB_ID
USB_VBUS
YELLOW_LED
__class__
__name__


I had a free minute Sunday and mapped all the F407ZG PINS:
I2C1_SLC PB6
I2C1_SDA PB7

I2C2_SLC PB10
I2C2_SDA PB11

THE LED
LED0 PF9
LED1 PF10

SD CARD
SDIO_D2 PC10
SDIO_D3 PC11
SDIO_CMD PD2
SDIO_SCK PC12
SDIO_D0 PC8
SDIO_D1 PC9

But looking at Class I2C:
from pyb import I2C

i2c = I2C(1, I2C.MASTER, baudrate=100000)
Nothing about 'Pins' or 'board'

Thanks for the script!


User avatar
JacquesC
Posts: 4
Joined: Sun Feb 17, 2019 5:04 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by JacquesC » Sun Feb 17, 2019 8:25 am

Thank you very much mcauser
I spent two days finding the right files and installing the various tools (arm, st-util, ...) but I learned a lot of things ;-)

The first tests I had compilation errors with the message "impossible to select the USB port" (something like that) when compiling usb.c, same message with a development chain under Windows.
Finally, the compilation is well done with your files github BLACK_F407VE and version micropython 1.10.

Currently, I use a macbook for video and photo but it's obvious to me that my next machine will be a Linux again.

There is a reform in France where teachers must teach the use of microcontrollers programmed with python for scientific experimentation (for pupils how are 16-18 years old). I will be able now to prepare my classes for teacher training.
Another big thank you !!!

OutoftheBOTS_
Posts: 653
Joined: Mon Nov 20, 2017 10:18 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by OutoftheBOTS_ » Fri May 31, 2019 9:53 pm

mcauser wrote:
Mon Feb 27, 2017 2:59 pm
I've created stmhal board definitions for these two generic unbranded dev boards from China, labelled STM32F407XX.

For lack of a better name, I've simply called them BLACK STM32F407xx.

Originally located at: https://github.com/mcauser/micropython/ ... -stm32f407

Now, moved to their own repos:
https://github.com/mcauser/BLACK_F407VE
https://github.com/mcauser/BLACK_F407ZE
https://github.com/mcauser/VCC_GND_F407

They are very similar boards with the main differences being cpu size (more io pins), led colour and rearranged components.

STM32F407VET6
Image

https://www.aliexpress.com/item/Free-sh ... 22721.html
$11.50 USD

Brand: Unbranded/Generic
Markings: STM32F4XX STM32_F4VE V2.0 1509

Specs:
STM32F407VET6 ARM Cortex M4
168MHz, 210 DMIPS / 1.25 DMIPS / MHz
1.8V - 3.6V operating voltage
8MHz system crystal
32.768KHz RTC crystal
2.54mm pitch pins
JTAG/SWD header
512KByte Flash, 192 + 4 KByte SRAM
3x SPI, 3x USART, 2x UART, 2x I2S, 3x I2C
1x FSMC, 1x SDIO, 2x CAN
1x USB 2.0 FS / HS controller (with dedicated DMA)
1x USB HS ULPI (for external USB HS PHY)
Micro SD
Winbond W25Q16 16Mbit SPI Flash
RTC battery CR1220
1x 10/100 Ethernet MAC
1x 8 to 12-bit Parallel Camera interface
3x ADC (12-bit / 16-channel)
2x DAC (12-bit)
12x general timers, 2x advanced timers
AMS1117-3.3V: 3.3V LDO voltage regulator, max current 800mA
Micro USB for power and comms
Red power LED D1
Red user LED D2 (PA6) active low
Red user LED D3 (PA7) active low
2x jumpers for bootloader selection
Reset button, Wakeup button, 2x user buttons K0 (PE4) and K1 (PE3)
2x24 side pins + 2x16 bottom pins + 1x4 ISP pins
2x16 FMSC LCD Interface
NRF24L01 socket
M3 mounting holes
Dimensions: 85.1mm x 72.45mm

STM32F407ZET6
Image

https://www.aliexpress.com/item/Free-sh ... 62341.html
$14 USD

Brand: Unbranded/Generic
Markings: STM32F4XX STM32_F4XX V3.0 1606

Specs:
STM32F407ZET6 ARM Cortex M4
168MHz, 210 DMIPS / 1.25 DMIPS / MHz
1.8V - 3.6V operating voltage
8MHz system crystal
32.768KHz RTC crystal
2.54mm pitch pins
JTAG/SWD header
512KByte Flash, 192 + 4 KByte SRAM
3x SPI, 3x USART, 2x UART, 2x I2S, 3x I2C
1x FSMC, 1x SDIO, 2x CAN
1x USB 2.0 FS / HS controller (with dedicated DMA)
1x USB HS ULPI (for external USB HS PHY)
Micro SD
Winbond W25Q16 16Mbit SPI Flash
RTC battery CR1220
1MB SRAM footprint, unpopulated (IS62WV51216-1M)
1x 10/100 Ethernet MAC
1x 8 to 12-bit Parallel Camera interface
3x ADC (12-bit / 16-channel)
2x DAC (12-bit)
12x general timers, 2x advanced timers
AMS1117-3.3V: 3.3V LDO voltage regulator, max current 800mA
Micro USB for power and comms
Yellow user LED D1 (PF9) active low
Yellow user LED D2 (PF10) active low
Yellow power LED D3
2x jumpers for bootloader selection
Reset button, Wakeup button, 2x user buttons K0 (PE4) and K1 (PE3)
2x30 side pins + 2x16 bottom pins + 1x4 ISP pins
2x16 FMSC LCD Interface
NRF24L01 socket
M3 mounting holes
Dimensions: 95.1mm x 74.6mm

They are also similar to the VCC-GND STM32F407VET6 board I previously added:
http://forum.micropython.org/viewtopic.php?f=12&t=2889

Installed MicroPython v1.8.7-333 on both using ST-Link V2 (clone).
https://www.aliexpress.com/item/ST-Link ... 77845.html
$2 USD

Installation steps:

ST-Link V2 - JTAG connector:

Code: Select all

SWDIO --- Pin 7, PA13/TMS/JTMS_SWDIO
GND ----- Pin 4, GND
SWCLK --- Pin9, PA14/TCK/JTMS_SWCLK
3.3V ---- Pin 1, 3V3
JTAG connector pinout:

Code: Select all

  +-----+
  | 1  2|  Pin 1 = 3v3
  | 3  4|  Pin 4 = GND
  | 5  6|
 _| 7  8|  Pin 7 = SWDIO
|   9 10|  Pin 9 = SWCLK
|_ 11 12|
  |13 14|
  |15 16|
  |17 18|
  |19 20|
  +-----+
Connect ST-Link to usb port, making sure there are no other power sources connected to your board.

Terminal 1

Code: Select all

st-util
Terminal 2
(replace F407VE with F407ZE for the larger board)

Code: Select all

cd stmhal
make BOARD=BLACK_F407VE
arm-none-eabi-gdb build-BLACK_F407VE/firmware.elf
(gdb) target extended localhost:4242
(gdb) load
(gdb) exit
Terminal 1
Look for "Flash written and verified! jolly good!"
Control+c to exit st-util

Disconnect ST-Link, connect Mini-USB to computer and connect to the board.

Code: Select all

screen /dev/tty.usbmodem1422

MicroPython v1.8.7-333-gfb1e7e2-dirty on 2017-02-27; BLACK STM32F407VE with STM32F407VE
Type "help()" for more information.
>>>
>>> print('it works!')
it works!
Progress:
[x] Toggling LEDs
[x] Blinking LEDs with timers
[x] Toggling IO pins
[x] Reading ADC values
[\] Switches (only one works - K0)
[ ] I2C is timing out on scans on all buses()
[x] All 5 or 6 UARTs seem to be working
[x] Setting RTC
[x] Random number generator
[ ] DAC
[ ] SPI
[ ] W25Q16 SPI Flash
[ ] Servo
[ ] NRF24L01
[ ] Add SRAM to back of ZET6 board
I have ordered 1 of these https://www.aliexpress.com/item/STM32F4 ... st=ae803_5 with the VG 1mb flash. I was wondering how far the development of your VE 512kb RAM version has come since you posted this and also what mods will be needed to port it to the board that I just brought?

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

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by mcauser » Sat Jun 01, 2019 11:50 am

@OutoftheBOTS_ it looks very similar to the other black boards, only slimmer.
I’d start with this one:
https://github.com/SpotlightKid/BLACK_F407ZG

OutoftheBOTS_
Posts: 653
Joined: Mon Nov 20, 2017 10:18 am

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by OutoftheBOTS_ » Sat Jun 01, 2019 10:33 pm

mcauser wrote:
Sat Jun 01, 2019 11:50 am
@OutoftheBOTS_ it looks very similar to the other black boards, only slimmer.
I’d start with this one:
https://github.com/SpotlightKid/BLACK_F407ZG
Thanks that looks like it is very similar setup to my new board.

Do you know if the the external Winbond W25Q16 16Mbit SPI Flash is implemented in MP?

Also I have never built MP for STM32 myself only Lobo ESP32. I have been using system workbench IDE for writing C code and deploying it on my STM32 projects. System workbench is eclipse setup for STM32 and uses SW4STM32 toolchain. Can I use this IDE for modifying MP and compiling it??

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

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by SpotlightKid » Sun Jun 02, 2019 3:25 am

OutoftheBOTS_ wrote:
Sat Jun 01, 2019 10:33 pm
Do you know if the the external Winbond W25Q16 16Mbit SPI Flash is implemented in MP?
https://github.com/SpotlightKid/micropy ... r/spiflash

Post Reply