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.
DJShadow1966
Posts: 51
Joined: Sun Jun 23, 2019 4:55 am
Location: Gateshead, Tyne and Wear

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by DJShadow1966 » Wed Jul 24, 2019 2:49 pm

Hello

All working now make ran through with no issue and board boots so I am more than happy.
Going to take a break as my computer room is currently running at over 30C and so sticky.

Thank you for all who help.

Mike

cmechmann
Posts: 5
Joined: Tue Jun 18, 2019 2:16 am

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by cmechmann » Mon Aug 05, 2019 3:37 am

This may not be relevant posting this here.
However, I have been searching a lot for Black stm32f407vet firmware.
And I have been able to get the Mcauser firmware to load and work some of the examples.
Thank You.
That has not stopped me from searching further.
I ran into this site and this topic.
https://www.mikrocontroller.net/topic/462939. and https://www.mikrocontroller.net/articles/MINOS
Seems that they have a running firmware for the Black stm32f407vet under MinOS.
It was written using C under the NIC "stm32" language. According to the topic they have many of the options running on it that we want to have up here. There a few code examples, including FSMC interface for connecting SSD1963 TFT displays and SPI - for example touch on a connected SSD1963 display
I have downloaded the hex file, but still to upload it to the spare Black stm32f407vet that I have.
The part that has me hesitating is that it uses the uart1 as the comm to program. I have been becoming happy with using the USB in micropython.
I may try, if time permits, to try to get the hex file loaded into CubeMX ide to see how it is structured.
This of course is a bit over my head. I may be just pi$$ing into the fan, but this might prove to be worth checking out.

cmechmann
Posts: 5
Joined: Tue Jun 18, 2019 2:16 am

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by cmechmann » Wed Aug 07, 2019 3:34 am

OK
I uploaded the MinOS hex file to the spare blackboard I have.
First issue. I could only connect in Putty using the uart2 on the blackboard. PA2,PA3 and it did boot.
It kind of works like early DOS. It uses basic commands like ls (list files) cd (change directory) mount, umount and so on
But it expects a file/directory set on the SD card. If there is a boot file on the SD card. It states that it will autoboot to it and display a welcome screen and date/time. Some commands are external and they would need to be on the SD card to execute.
I was only on it for about an hour including flashing. I haven't had time to search for native files.
I was able to command led on, led off. That is an internal command.
Yes it boots, recognizing the SD card.
I was also able to run commands. It uses the SD card as a root directory. I have not been able to cd into the rom.
If the SD card is not in the slot it will echo that there is no physical drive. Yep, it even uses the old echo command. Man that brings back memories.

cmechmann
Posts: 5
Joined: Tue Jun 18, 2019 2:16 am

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by cmechmann » Sat Aug 17, 2019 12:29 am

Another avenue.
I might get kicked off for this but I'll post it anyway.
It's not micropython.
Yet another firmware for the Black STM32F407vet6.
This time with MMBasic. http://www.thebackshed.com/forum/ViewTo ... =11334&P=1
I had it uploaded to the other black board. Could not find enough support for MINOS.
This firmware has a bit larger following and is more familiar.
Windows picked the USB port right up. Used Putty again as a terminal.
I was able to try commands and they work. Including changing from A:(flash) to B:(sd card)
Tried running a few of the MMbasic programs. However I'm either running out of memory.
Don't have the right hardware set up. Or there is a few bugs in the firmware.
They are still updating it as more are using it.

Agidas
Posts: 1
Joined: Sun Aug 25, 2019 4:49 pm

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by Agidas » Sun Aug 25, 2019 5:07 pm

Hello Mcauser,

i bought STM32_F4VE board and now for awhile i am struggling to run it at least to check is it still alive (bought in 2017). I got Keil and coIDE for composing, using ST-LINK V2 (now just uploaded your .dfu to run on USB). And still, i cant run blinky on it, i believe that my skills is even less than newbie, but with proper start i could gain some skills. So could you help me out and explain what i am doing wrong ?

Jumpers - BT0-3.3V ; BT1-GND.
Code:

Code: Select all

#include "stm32f4xx.h"
#include "stdint.h"

int main (void)
{
	uint32_t i;

	RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
	GPIOA->MODER = 0x000050000;
	GPIOA->OTYPER = 0;
	GPIOA->OSPEEDR = 0;

	while(1)
	{
		GPIOA->ODR = 0x0040;
		for (i = 0; i < 2000000; i++) {}
		GPIOA->ODR = 0x0080;
		for (i = 0; i < 2000000; i++) {}
	}
}

Sniper
Posts: 21
Joined: Mon Jan 06, 2020 2:32 pm

Re: Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by Sniper » Thu Feb 13, 2020 8:36 pm

mcauser wrote:
Mon Feb 27, 2017 3:52 pm
Mine took 33 days to get delivered to Australia. Chinese new year celebrations have caused a few of my orders to get delayed.
Hi,
can you please tell me how this board pin works? can you make example code for how and what this pin are for?
i have difficulty to get my relay board working, if i just can get that spark to ignite all those chemicals in my brain, it would be like a big bang there my light bulb would go on.
So please tell which of this pin are for Analog and which are for digital, PWM, Serial communication, SPI etc.
Do this board and micropython use specific brand and types of sensor and modules kits, or can i just get any?
As you have noticed, i am new to this, and i am dying to know more about how this pins and programming works.
Thank you for your time

Code: Select all

# Relay Board

# Relay Nr.1

from machine import Pin
import time
p = machine.Pin.cpu.PE0
p.init(...)
relay.value(0) # to switch it off
time.sleep(2)
relay.value(1) # to switch it on

Sniper
Posts: 21
Joined: Mon Jan 06, 2020 2:32 pm

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by Sniper » Thu Feb 13, 2020 8:50 pm

cmechmann wrote:
Sat Aug 17, 2019 12:29 am
Another avenue.
I might get kicked off for this but I'll post it anyway.
It's not micropython.
Yet another firmware for the Black STM32F407vet6.
This time with MMBasic. http://www.thebackshed.com/forum/ViewTo ... =11334&P=1
I had it uploaded to the other black board. Could not find enough support for MINOS.
This firmware has a bit larger following and is more familiar.
Windows picked the USB port right up. Used Putty again as a terminal.
I was able to try commands and they work. Including changing from A:(flash) to B:(sd card)
Tried running a few of the MMbasic programs. However I'm either running out of memory.
Don't have the right hardware set up. Or there is a few bugs in the firmware.
They are still updating it as more are using it.
Hello friend,
I faced the same issue, i have another PC with linux Manjaro installed, and this is how i got it fixed.

Run in the linux Manjaro command terminal

sudo pacman -S manjaro-keyring archlinux-keyring

sudo pacman-mirrors --fasttrack && sudo pacman -Syyu

install the following:
sudo pacman -S base-devel
sudo pacman -S git
sudo pacman yaourt
sudo pacman -S gcc-arm-none-eabi
typ python -V
you should see that the output from the terminal says:
Python 3.8.1

sudo pip install pyusb

Here's the exact sequence of commands to compile the firnware. Run them in a directory that doesn't contain a checkout of the micropython repo yet:

git clone https://github.com/micropython/micropython.git
cd micropython
git submodule update --init
pushd ports/stm32/boards
git clone https://github.com/mcauser/BLACK_F407VE.git
popd
make -C mpy-cross
pushd ports/stm32
make BOARD=BLACK_F407VE clean
make BOARD=BLACK_F407VE
sudo make BOARD=BLACK_F407VE deploy

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

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by mcauser » Thu Feb 13, 2020 10:40 pm

Hi @Sniper
There are many different dev boards which use the STM32F4xx series cpus.
They each share the same pins for analog, digital, PWM, UART, I2C, SPI etc.
If you can find similar boards with better documentation, some of the info may still be relevant.

All of the pins support digital IO, and some have alternate functions (which may overlap), to provide you with PWM, SPI etc.
Each of the "ports" have 16 IOs. eg. PA0 = Port A, Pin 0. PB15 = Port B, Pin 15.
On the VET6 board, ports A-E are exposed.
On the ZGT6 board, ports A-G are exposed. Physically larger CPU, lots more IOs.

The schematics in the /docs folder on Github, shows which peripheral are specific to this board and which pins they are on.
Also see /mpconfigboard.h for more pin numbers.
It would be nice if there was a pin diagram/infographic which alternate functions were available on which pins.

There are no brand specific sensors for these boards. They are generic STM32 development boards which work with all kinds of sensors.
Some more expensive and brand name boards have a lot more onboard peripherals and support things like sensor shields.
These boards are more bare and expose all of the pins so you can use them as you please.

You can control the pins like this:

Code: Select all

import machine
p = machine.Pin.cpu.PE0
p.init(mode=Pin.OUT)
p.value(0)
p.value(1)
And also like this:

Code: Select all

from machine import Pin
p = Pin('E0', mode=Pin.OUT)
p(0)
p(1)

Sniper
Posts: 21
Joined: Mon Jan 06, 2020 2:32 pm

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by Sniper » Fri Feb 14, 2020 2:38 am

mcauser wrote:
Thu Feb 13, 2020 10:40 pm
Hi @Sniper
There are many different dev boards which use the STM32F4xx series cpus.
They each share the same pins for analog, digital, PWM, UART, I2C, SPI etc.
If you can find similar boards with better documentation, some of the info may still be relevant.

All of the pins support digital IO, and some have alternate functions (which may overlap), to provide you with PWM, SPI etc.
Each of the "ports" have 16 IOs. eg. PA0 = Port A, Pin 0. PB15 = Port B, Pin 15.
On the VET6 board, ports A-E are exposed.
On the ZGT6 board, ports A-G are exposed. Physically larger CPU, lots more IOs.

The schematics in the /docs folder on Github, shows which peripheral are specific to this board and which pins they are on.
Also see /mpconfigboard.h for more pin numbers.
It would be nice if there was a pin diagram/infographic which alternate functions were available on which pins.

There are no brand specific sensors for these boards. They are generic STM32 development boards which work with all kinds of sensors.
Some more expensive and brand name boards have a lot more onboard peripherals and support things like sensor shields.
These boards are more bare and expose all of the pins so you can use them as you please.

You can control the pins like this:

Code: Select all

import machine
p = machine.Pin.cpu.PE0
p.init(mode=Pin.OUT)
p.value(0)
p.value(1)
And also like this:

Code: Select all

from machine import Pin
p = Pin('E0', mode=Pin.OUT)
p(0)
p(1)
I have all the pin layout labled which are Analog and digital etc etc etc, i am ashamed to say that i could now upload them here cu the img's ware to large to be uploaded.
i would be happy to help by share them, please let me know how i can upload them here.
By the way, which board exact hade more IO's, can you share the link to the store?

Sniper
Posts: 21
Joined: Mon Jan 06, 2020 2:32 pm

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

Post by Sniper » Fri Feb 14, 2020 2:50 am

mcauser wrote:
Thu Feb 13, 2020 10:40 pm
Hi @Sniper
There are many different dev boards which use the STM32F4xx series cpus.
They each share the same pins for analog, digital, PWM, UART, I2C, SPI etc.
If you can find similar boards with better documentation, some of the info may still be relevant.

All of the pins support digital IO, and some have alternate functions (which may overlap), to provide you with PWM, SPI etc.
Each of the "ports" have 16 IOs. eg. PA0 = Port A, Pin 0. PB15 = Port B, Pin 15.
On the VET6 board, ports A-E are exposed.
On the ZGT6 board, ports A-G are exposed. Physically larger CPU, lots more IOs.

The schematics in the /docs folder on Github, shows which peripheral are specific to this board and which pins they are on.
Also see /mpconfigboard.h for more pin numbers.
It would be nice if there was a pin diagram/infographic which alternate functions were available on which pins.

There are no brand specific sensors for these boards. They are generic STM32 development boards which work with all kinds of sensors.
Some more expensive and brand name boards have a lot more onboard peripherals and support things like sensor shields.
These boards are more bare and expose all of the pins so you can use them as you please.

You can control the pins like this:

Code: Select all

import machine
p = machine.Pin.cpu.PE0
p.init(mode=Pin.OUT)
p.value(0)
p.value(1)
And also like this:

Code: Select all

from machine import Pin
p = Pin('E0', mode=Pin.OUT)
p(0)
p(1)
Is this necessary in the code? import machine and import time, import Pin?

Code: Select all

#Relay Module

import machine
import time
import Pin

#Relay Nr.1

p = machine.Pin.cpu.PE0
p.init(mode=Pin.OUT)
p.value(0)
time.sleep(2)
p.value(1)

#Relay Nr.2

p = machine.Pin.cpu.PE1
p.init(mode=Pin.OUT)
p.value(0)
time.sleep(2)
p.value(1)

Post Reply