Giter Club home page Giter Club logo

mcudev_devebox_h7xx_m's Introduction

MCUDev DevEBox STM32H7XX_M

MicroPython board definition files for the MCUDev STM32H7XX_M mini dev boards.

There are two versions with different STM32H7 chips:

  • STM32H750VBT6 - 128K flash
  • STM32H743VIT6 - 2048K flash

Markings: DevEBox STM32H7XX_M Ver:V2.0 SN:1907

board

You can buy one for around $29 AUD (Feb 2020) on AliExpress.

Build the firmware

Clone the board definitions to your MicroPython ports/stm32/boards folder.

cd micropython/ports/stm32/boards
git clone https://github.com/mcauser/MCUDEV_DEVEBOX_H7XX_M.git

cd ..
make BOARD=MCUDEV_DEVEBOX_H7XX_M

Flashing via DFU

This board can be flashed using DFU. To put the board in DFU mode, disconnect USB, set BOOT0 to ON by connecting pin BT0 to 3V3 and reconnect USB.

Now you can flash the board using USB with the command:

make BOARD=MCUDEV_DEVEBOX_H7XX_M deploy

Once the upload is complete, disconnect USB, set BOOT0 to OFF by connecting pin BT0 to GND and reconnect USB.

Alternatively, you can use the MicroPython command pyb.bootloader() to get into DFU mode without needing to use the switch.

Currently, you need to unplug and replug the board in order to switch from DFU mode back to regular mode.

Accessing the board

Once built and deployed, you can access the MicroPython REPL (the Python prompt) via USB serial.

screen /dev/tty.usbmodem1422 115200
# or
screen /dev/ttyACM0 115200

STM32H750VBT6 Specifications

  • STM32H750VBT6 ARM Cortex M7
  • 128 Kbyte Flash, 1 Mbyte RAM

STM32H743VIT6 Specifications

  • STM32H743VIT6 ARM Cortex M7
  • 2 Mbyte Flash, 1 Mbyte RAM

Common Specifications

  • 400MHz, 1027 DMIPS / 2.14 DMIPS / MHz
  • 25MHz system crystal
  • 32.768KHz RTC crystal
  • SWD header (BOOT0, 3V3, GND, PA13/SWDIO, PA14/SWCLK)
  • 6x SPI, 4x USART, 4x UART, 1x LPUART, 3x I2S, 1x LPI2S, 4x I2C
  • 4x SAI, SPDIFRX, SWPMI, MDIO Slave, 2x SD/SDIO/MMC, 2x CAN
  • 2x USB OTG, 1x FS, 1x HS/FS
  • Micro SD
  • Winbond W25Q64 64Mbit QSPI Flash
  • 1x 10/100 Ethernet MAC with DMA
  • HDMI-CEC
  • 1x 8 to 14-bit Parallel Camera interface
  • 3x ADC (16-bit / 36-channel)
  • 1x temperature sensor
  • 2x DAC (12-bit)
  • 2x ULP comparators
  • 2x Op Amps
  • 1x high res timer, 2x 32-bit timers, 2x advanced timers, 10x general timers,
  • 5x low power timers, 2x watchdogs, 1x systick timer
  • 96-bit unique ID
  • AMS1117-3.3V: 3.3V LDO voltage regulator, max current 800mA
  • Micro USB for power and comms
  • Power LED D1
  • User LED D2 (PA1) active low
  • Reset button, 2x user buttons K1 (PE3), K2 (PC5)
  • 2x22 2.54mm side headers
  • DCMI camera interface (OV2640, OV5640)
  • SPI TFT/OLED header (3V3, GND, SDI, SCL, CS, SDO, D/C, BLK)
  • RTC battery header B1 beside camera interface
  • M3 mounting holes
  • Dimensions: 40.89mm x 68.59mm

Exposed Port Pins

  • PA0-PA15
  • PB0-PB15
  • PC0-PC13 (PC14 OSC32_IN and PC15 OSC32_OUT not broken out)
  • PD0-PD15
  • PE0-PE15

Note: The PB15 next to PE14 is mislabelled. It should be PE15.

Peripherals

TFT/OLED (J4)

  • 1 3V3
  • 2 GND
  • 3 PB15 MOSI
  • 4 PB13 SCK
  • 5 PB12 CS
  • 6 PB14 MISO
  • 7 PB1 RS
  • 8 PB0 BLK

QSPI Flash W25Q64 (U3)

  • 1 PB6 QSPI_BK1_NCS
  • 2 PD12 QSPI_BK1_IO1
  • 3 PE2 QSPI_BK1_IO2
  • 4 GND
  • 5 PD11 QSPI_BK1_IO0
  • 6 PB2 QSPI_CLK
  • 7 PD13 QSPI_BK1_IO3
  • 8 VCC 3V3

SWD debug (J1)

  • 1 Boot0
  • 2 3V3
  • 3 GND
  • 4 PA13 SWDIO
  • 5 PA14 SWCLK

USB (J5)

  • 1 VCC 5V
  • 2 PA11 USB_DM
  • 3 PA12 USB_DP
  • 4 NC ID
  • 5 GND

Micro SD (U5)

  • 1 PC10 SDIO_D2
  • 2 PC11 SDIO_D3
  • 3 PD2 SDIO_CMD
  • 4 3V3
  • 5 PC12 SDIO_SCK
  • 6 GND
  • 7 PC8 SDIO_D0
  • 8 PC9 SDIO_D1
  • 9 NC SD_NC

User Button (K1)

  • PE3

User Button (K2)

  • PC5

User LED (D2)

  • PA1

Battery (B1)

  • 1 BAT54C
  • 2 GND

Links

Related boards

License

Licensed under the MIT License.

mcudev_devebox_h7xx_m's People

Contributors

mcauser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcudev_devebox_h7xx_m's Issues

can't find aes.c

Hello Mike, I tried building this version, but get a compile-time error:

$ make BOARD=MCUDEV_DEVEBOX_H7XX_M
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
stm32lib submodule not found, fetching it now...
(cd ../.. && git submodule update --init lib/stm32lib)
Submodule 'lib/stm32lib' (https://github.com/micropython/stm32lib) registered for path 'lib/stm32lib'
Cloning into '/Users/jcw/code/git/micropython/lib/stm32lib'...
Submodule path 'lib/stm32lib': checked out '668d7a9e54aea98f8fe8a858eac1d3daa80fa824'
mkdir -p build-MCUDEV_DEVEBOX_H7XX_M/genhdr
GEN build-MCUDEV_DEVEBOX_H7XX_M/genhdr/pins.h
GEN stmconst build-MCUDEV_DEVEBOX_H7XX_M/modstm_qstr.h
make: *** No rule to make target `lib/mbedtls/library/aes.c', needed by `build-MCUDEV_DEVEBOX_H7XX_M/genhdr/qstr.i.last'.  Stop.

I'm doing this with freshly checked out µPy and this repo, running on latest macOS with arm-none-eabi-gcc toolchain provided by latest PlatformIO. Please let me know if you need more precise information, or if there's something further I can adjust or try. The only aes.c I can see is "../ports/cc3200/hal/aes.c".

-jcw

STM32H750 - 2 Bins created - How to flash them?

Found that when compiling STM32H750 the size of the data is too big - so the compiler will split into two parts.

image

Do you know how to flash both of them so the STM32H750 will support micropython?

Q: How to contact a MCUDev_DevEBox_H743_M?

Hi,

few days ago I got 2 boards for my DIY project.
I don't get any communication with the boards, although they seem to be alive:

  • via USB is not possible because there is no USB<->Serial converter on the board
  • via SWD doesn't work! I don't know why and I don't want to waste my time (hours for hours...) to investigate this problem.

What kind of communication with this boards is possible?

Thanks in advance,
Michael

Turn on light but No work

I have buy this board for create a project but no communication when I connect usb at pc. But the two k1 k2 led working, the k2 led, the light flashes

Error while compiling

Hi !
Thanks a lot for your job !

I get this error with your files :

sudo make BOARD=MCUDEV_DEVEBOX_H7XX_M

CC system_stm32.c
In file included from ./mpconfigport.h:31:0,
from ../../py/mpconfig.h:62,
from ../../py/mphal.h:29,
from system_stm32.c:78:
system_stm32.c: In function 'SystemClock_Config':
boards/MCUDEV_DEVEBOX_H7XX_M/mpconfigboard.h:16:30: error: 'RCC_PLLP_DIV2' undeclared (first use in this function)
#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2) // divide PLL clock by this to get core clock
^
system_stm32.c:295:34: note: in expansion of macro 'MICROPY_HW_CLK_PLLP'
RCC_OscInitStruct.PLL.PLLP = MICROPY_HW_CLK_PLLP;
^~~~~~~~~~~~~~~~~~~
boards/MCUDEV_DEVEBOX_H7XX_M/mpconfigboard.h:16:30: note: each undeclared identifier is reported only once for each function it appears in
#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2) // divide PLL clock by this to get core clock
^
system_stm32.c:295:34: note: in expansion of macro 'MICROPY_HW_CLK_PLLP'
RCC_OscInitStruct.PLL.PLLP = MICROPY_HW_CLK_PLLP;
^~~~~~~~~~~~~~~~~~~
system_stm32.c:298:34: error: 'MICROPY_HW_CLK_PLLR' undeclared (first use in this function)
RCC_OscInitStruct.PLL.PLLR = MICROPY_HW_CLK_PLLR;
^~~~~~~~~~~~~~~~~~~
system_stm32.c:333:38: error: 'MICROPY_HW_CLK_PLL3M' undeclared (first use in this function)
PeriphClkInitStruct.PLL3.PLL3M = MICROPY_HW_CLK_PLL3M;
^~~~~~~~~~~~~~~~~~~~
system_stm32.c:334:38: error: 'MICROPY_HW_CLK_PLL3N' undeclared (first use in this function)
PeriphClkInitStruct.PLL3.PLL3N = MICROPY_HW_CLK_PLL3N;
^~~~~~~~~~~~~~~~~~~~
system_stm32.c:335:38: error: 'MICROPY_HW_CLK_PLL3P' undeclared (first use in this function)
PeriphClkInitStruct.PLL3.PLL3P = MICROPY_HW_CLK_PLL3P;
^~~~~~~~~~~~~~~~~~~~
system_stm32.c:336:38: error: 'MICROPY_HW_CLK_PLL3Q' undeclared (first use in this function)
PeriphClkInitStruct.PLL3.PLL3Q = MICROPY_HW_CLK_PLL3Q;
^~~~~~~~~~~~~~~~~~~~
system_stm32.c:337:38: error: 'MICROPY_HW_CLK_PLL3R' undeclared (first use in this function)
PeriphClkInitStruct.PLL3.PLL3R = MICROPY_HW_CLK_PLL3R;
^~~~~~~~~~~~~~~~~~~~
../../py/mkrules.mk:47: recipe for target 'build-MCUDEV_DEVEBOX_H7XX_M/system_stm32.o' failed
make: *** [build-MCUDEV_DEVEBOX_H7XX_M/system_stm32.o] Error 1

This seems to be linked to the mcuboard definition file, but I don't understand anything :)

Do you have any idea to solve this ?

Best regards !

Hardware issue - nonstandard camera connector pinout

Hi Mike! First of all thank you for you great work on this new board.
This post is not for an issue with the code, but rather a warning about the hardware.
Micropyton connection works like a charm.

I tried to connect an OV2640 camera (like this) to the 24pin connector on the back, but the camera started getting hot and finally burnt...
After reviewing the schematic I noticed that the camera connector pinout is not standard.
I tried to contact the vendor with little results.

Just be careful when you connect!
Any guess about what camera to connect?

OV2640 flex cable pinout:
image

MCUDEV camera pinout:
image

RST pin is not connected to any header pin

I just received the H750 board.
ST-LINK V2 requires to connect RST (reset pin) in order to do reset and start programming automatically.
However the board does not extend RST pin to any header pin.

As this can not be solved with current board, We recommend that developer extends RST to a header pin.
I recommend also to make RST available on SWD header as this is the mostly used scenario.
Second, we can not solve this issue now with soldering a pin because developer did not leave any spare pin on headers!

Stm32H7 USB-CDC on Stm32cubeIDE or Vscode

Hi,
I have board H7 blue,
I need test whith CDC usb, my teste with Stm32cubeIDE problem clock setinng for USB.
ENABLE USB DEVICE = error clock set

GPIO test ok

see code:

MX_GPIO_Init();
MX_USB_DEVICE_Init();

while (1)
{
CDC_Transmit_HS( buf, sizeof(buf));
HAL_GPIO_TogglePin(GPIOA , LED_A10_Pin);
HAL_GPIO_TogglePin(GPIOA , LED_A15_Pin);
HAL_Delay(2000);
}

thanks,
Carlos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.