Repository navigation
[FR] STM32 Nucleo-144 boards based on STMicro STM32H7 (STM32 H7) SoC with 480MHz Cortex-M7 MCU #19751
Description
Description
Requesting HAL support for STMicroelectronics STM32 Nucleo-144 boards based on newer STMicro STM32H7 Cortex-M7 MCU.
STMicroelectronics now has relatively inexpensive development boards and evaluation board with very fast STM32 H7 series SoCs.
STM32H7 is a low-cost 32-Bit MCU series based on single-core ARM Cortex-M7 or dual-core combining Cortex-M7 and Cortex-M4.
There are many variants though most are clocked at 480MHz or 550MHz for the Cortex-M7 MCU core, with some dual-core models also feature a 240MHz Cortex-M4 MCU core as well, plus practically all variants also include embedded flash storage on-chip as well as featuring Ethernet PHY interfaces for wired networking (meaning integrated 10/100Mbps Ethernet with RJ-45 port). All MCUs in the STM32H7 series also features an integrated JPEG codec accelerator (JPEG image decoder and encoder).
All "Nucleo-144" (a.k.a. Nucleo144) boards get the "144" their name from its header ("ST Zio connector") having 144-pins.
Most of the STM32 Nucleo-144 development boards with a powerful STM32H7 MCU only goes for around $27 to $29 US-dollars.
There are many STM32 Nucleo-144 development boards and evaluation boards model variants available from STMicroelectronics today, however, for this STM32H7 (STM32 H7) series I read that it is suggested to first look at either NUCLEO-H745ZI-Q or NUCLEO-H755ZI-Q development board as the reference model of STM32 Nucleo-144 model with STM32H7 MCU (SoC).
https://www.st.com/resource/en/data_brief/nucleo-h743zi.pdf
NUCLEO-H745ZI-Q or NUCLEO-H755ZI-Q development boards have STMicro STM32H745ZI and STM32H755ZI MCU respectively which both are dual-core variants which feature one ARM Cortex-M7 core running at 480MHz and one ARM Cortex-M4 core running at 240MHz, 1MB RAM, 2MB flash memory, as well as Ethernet PHY interface so that model covers most variations. The only difference between those two is that NUCLEO-H755ZI-Q includes an including a
Cryptographic Accelerator (Crypto/Hash processor).
https://www.st.com/en/microcontrollers-microprocessors/stm32h745zi.html
Features and board specifications copied from https://www.st.com/resource/en/data_brief/nucleo-h743zi.pdf
-
Common features
- STM32 microcontroller in LQFP144 package
- 3 user LEDs
- 2 user and reset push-buttons
- 32.768 kHz crystal oscillator
- Board connectors:
- SWD
- ST Zio expansion connector including ARDUINO Uno V3
- ST morpho expansion connector
- Flexible power-supply options: ST-LINK, USB VBUS or external sources
- On-board ST-LINK debugger/programmer with USB re-enumeration capability: mass storage, Virtual COM port, and debug port
- Comprehensive free software libraries and examples available with the STM32Cube MCU Package
- Support of a wide choice of Integrated Development Environments (IDEs) including IAR, Keil, and STM32CubeIDE
-
Board-specific features
- External or internal SMPS to generate Vcore logic supply
- Ethernet compliant with IEEE-802.3-2002
- USB OTG full speed or device only
- Board connectors:
- USB with Micro-AB or USB Type-C
- Ethernet RJ45
- Arm Mbed Enabled compliant
stm32duino has Arduino core STM32 support STM32H743ZI and NUCLEO-H743ZI2 plus generic STM32H7 with STM32H750IB
https://github.com/stm32duino/Arduino_Core_STM32
Documentation, CAD resources, and software tools on their product page.
https://www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html
https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html
Additional Information
Alternative STM32 Nucleo-144 board models also with STM32H7 (STM32 H7) SoCs are:
- NUCLEO-H743ZI (STM32H743ZI/STM32H743ZIT6U) https://www.st.com/en/evaluation-tools/nucleo-h743zi.html cost $27
- NUCLEO-H745ZI-Q (STM32H745ZI/STM32H745ZIT6U) https://www.st.com/en/evaluation-tools/nucleo-h745zi-q.html cost $29
- NUCLEO-H755ZI-Q (STM32H755ZI/STM32H755ZIT6U) https://www.st.com/en/evaluation-tools/nucleo-h755zi-q.html cost $29
- NUCLEO-H753ZI (STM32H753ZI/STM32H753ZIT6U) https://www.st.com/en/evaluation-tools/nucleo-h753zi.html cost $27
- NUCLEO-H723ZG (STM32H723ZG/STM32H723ZGT6U) https://www.st.com/en/evaluation-tools/nucleo-h723zg.html cost $29
- NUCLEO-H7A3ZI-Q (STM32H7A3ZI/STM32H7A3ZIT6QU) https://www.st.com/en/evaluation-tools/nucleo-h7a3zi-q.html cost $29
The official STM32H735G-DK Discovery Kit with STM32H735IG MCU costs $87 and comes with a 4.3-inch touchscreen display:
- https://www.st.com/en/evaluation-tools/stm32h735g-dk.html
- https://www.st.com/en/evaluation-tools/stm32h735g-dk.html?ecmp=tt17662_gl_link_sep2020#sample-buy
Interestingly all feature embedded Ethernet PHY interfaces for integrated wired networking.
More information about the specifications in this article CNXSoft website:
https://www.cnx-software.com/2018/09/07/stmicro-stm32f7x0-h7x0-value-line-cortex-m7-mcu/


Activity
thisiskeithb commentedon Oct 15, 2020
It's a different variant, but support for the NUCLEO-F767ZI was just merged: #19373
Gamester17 commentedon Oct 15, 2020
Cool! Though that is not one of the newer STM32 Nucleo-144 boards which are all based on STMicro's new STM32H7 SoC series.
NUCLEO-F767ZI has a STM32F767ZIT6U SoC which has a STM32F767 (STM32F7x7 series) MCU with Cortex-M7 @ 216MHz.
https://www.st.com/en/microcontrollers-microprocessors/stm32f7x7.html
thinkyhead commented in that mentioned #19373 saying it is not bad adding support for development boards like these as they might become the basis for real boards in the future, as it will give Marlin a chance to exercise the HAL and platforms for that MCU.
IMHO, it can even economical sense for end-users as well when looking at the price and performance of these newer STM32H7 based Nucleo-144 evaluation boards from STmicro as they cost less than a third the price of an Arduino Portenta H7 with similar MCU.
Arduino Portenta H7 it has a STM32H747 (STM32H747XI) which also contains a dual-core MCU, with ARM Cortex-M7 core running at 480 MHz and one ARM-Cortex-M4 core running at 240 MHz, but Arduino Portenta H7 'only' feature 80-pins in total.
https://www.arduino.cc/pro/hardware/product/portenta-h7
[-][FR] STM32 Nucleo-144 boards support based on STMicro STM32H7 Cortex-M7 MCU[/-][+][FR] STM32 Nucleo-144 boards based on STMicro STM32H7 (STM32 H7) SoC with dual-core 480MHz + 240MHz Cortex-M7 MCUs[/+]sjasonsmith commentedon Oct 15, 2020
I have a NUCLEO with an H7, but haven’t tried to add it yet. I was waiting for the F7 board to merge first to make sure I wasn’t wasting my time.
Gamester17 commentedon Oct 16, 2020
Hopefully people in the community will make Nucleo adapter designs for RAMPS shields converting to Arduino Mega 2560 pinout.
As I understand it, STMicro made these Nucleo boards have same pinout layout design the Arduino Uno Rev3?
If and when such Nucleo adapters for RAMPS are available normal users could, in theory, be able to get started fairly quickly with it.
Example @kursatu is building a Mega2560 converter adapter for Teensy 4.1 -> https://github.com/kursatu/Teensy4.1-ramps-shield
sjasonsmith commentedon Oct 16, 2020
The board I have is a STM32H743ZI, which is a single-code 480 MHz MCU.
Gamester17 commentedon Oct 16, 2020
That has same physical format of the board though, rights? So has same physical measurements and pinout/pins layout design?
[-][FR] STM32 Nucleo-144 boards based on STMicro STM32H7 (STM32 H7) SoC with dual-core 480MHz + 240MHz Cortex-M7 MCUs[/-][+][FR] STM32 Nucleo-144 boards based on STMicro STM32H7 (STM32 H7) SoC with 480MHz Cortex-M7 MCU[/+]sjasonsmith commentedon Oct 16, 2020
Yes, although I haven't looked at them to see how closesly they resemble one another. I don't know whether all pins will be compatible between boards, or only the portions designed to receive official ST Nucleo shields.
Gamester17 commentedon Oct 16, 2020
I understand it as all "Nucleo-144" board headers should be fully pin-compatible with each other, "Nucleo-64" board headers should be fully pin-compatible with each other, however "Nucleo-144" and "Nucleo-64" headers are not fully pin-compatible with each other, instead they are only partially compatible.
https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-mb1137-stmicroelectronics.pdf
https://www.st.com/resource/en/user_manual/dm00105823-stm32-nucleo-64-boards-mb1136-stmicroelectronics.pdf
That should mean that all shields made for "Nucleo-64" boards should be fully compatible with "Nucleo-144" board, but boards that are made for "Nucleo-144" and utilize all its extra pins will obviously not be fully compatible with "Nucleo-64" boards.
But note that while all "Nucleo-32" board headers should be fully pin-compatible with each other, shields for "Nucleo-32" boards are not forward compatible with "Nucleo-64" or "Nucleo-144", this is as "Nucleo-32" follow the Arduino Nano standard.
Here is an ST community discussion clarifying making shields for Nucleo boards and portability of shields between boards:
https://community.st.com/s/question/0D50X00009XkX2V/migration-from-nucleo64-board-to-nucleo144
The "ST Zio connector" on Nucleo-64 as well as Nucleo-144 boards both include Arduino Uno Rev3 and ST Morpho extensions:
Arduino Uno Rev3 / Arduino Uno V3 connectivity.
ST Morpho extension pin headers for full access to all STM32 I/Os (and only here is where Nucleo-144 differ from Nucleo-64).
Nucleo-144 with STM32F7 (STM32 F7) and STM32H7 (STM32 H7) also looks to be fully pin-compatible with each other.
https://www.st.com/en/evaluation-tools/nucleo-h745zi-q.html
https://www.st.com/en/evaluation-tools/nucleo-f767zi.html
"Sharing the same connectors, STM32 Nucleo boards can easily be extended with a large number of specialized application hardware add-ons (Nucleo-64 include Arduino Uno rev3 & ST morpho connectors, Nucleo-32 include Arduino Nano connectors)."
"The ST Zio connector, which extends the ARDUINO Uno V3 connectivity, and the ST morpho headers provide an easy means of expanding the functionality of the Nucleo open development platform with a wide choice of specialized shields."
"ST Zio connector including Arduino Uno V3, ST morpho (board connectors)"
"Nucleo-64 include Arduino Uno rev3 & ST morpho connectors"
"Nucleo-32 include Arduino Nano connectors"
STM32 Nucleo Board matrix:
https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html
Gamester17 commentedon Oct 16, 2020
Anyone know of more Nucleo-144 (or Nucleo-64) shields, RAMPS, breakout-boards, or expansion boards made for 3D-printers?
https://easyeda.com/component/f126c14dfc254dc3ac45cf7f3654c534
https://easyeda.com/component/1669b809c25e4c15bd0a1a1042d2a0df
https://easyeda.com/component/24277d33f67b4c1d99191e935f343468
AnttiNykanen has designed this Nucleo-144 Prototyping Shield 5-years ago which I believe should still be valid here too?
https://github.com/AnttiNykanen/stm32_nucleo-144_proto_shield
According to @ghent360 it sounds as if Nucleo-64 boards with their 64-pins does not have enough pins for advanced 3D-printers:
https://www.youtube.com/watch?v=WxM7jmwh20s
@ghent360 has this 3D-printer controller board open-source hardware design for Nucleo-64 and a modified board with 100-pins:
https://github.com/ghent360/PrntrBoard
https://blog.pcbxprt.com/index.php/2018/05/11/prntr-board-v1/
Gamester17 commentedon Oct 16, 2020
FYI, apparently, @hasenbanck looks to have developed an STM32H7 based 3D printer controller board he calls "Heteromycin":
https://github.com/hasenbanck/heteromycin
Though it seems like he has abandoned that project or at least not touched it since end of April 2020?
Same with his STM32F7 based 3D-printer controller board called "RemRam"?
https://github.com/hasenbanck/remram
Both projects are however open source hardware (CERN OHL) licensed.
Gamester17 commentedon Oct 16, 2020
@thinkyhead missed you had made and closed PR #16021 last year for Nucleo STM32H7 support based on #13657 by @dekra54
@dekra54 you mentioned in #13657 that you are a hardware guy and were then working on something for it, any news on that?
Hedda commentedon Oct 22, 2020
The new BigTreeTech SKR SE-BX V1.0 board inside the upcoming BIQU BX 3D-printer is also based on an STM32H7 series MCU
https://www.kickstarter.com/projects/1440007055/biqu-bx-worlds-lightest-direct-extruder-fdm-3d-printer
BIQU specifically state STM32H743IIT6 as the chip used in their video running the 32-bit ARM Cortex-M7 core at 400MHz
https://www.youtube.com/watch?v=YuYOQ6SHBAU (same video as https://www.youtube.com/watch?v=Yu3xfzXXBYA )
The "400 MHz" was maybe confusing people since STMicro list the Cortex-M7 32-bit RISC core operating at "up to 480 MHz"
https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32h7-series/stm32h743-753/stm32h743ii.html
Presumably that BTT SKR SE-BX V1.0 board or a newer variant of it will also be sold as stand-alone upgrade boards from BIQU.
ghent360 commentedon Oct 25, 2020
There is STM32H750VB, chip which is relatively affordable. I made a version of my PrntrBoardV2 with that chip - it is very similar pinout to F407. However it has a downside - flash is only 128K, compared with 512k on the F407VE. One can use SPI flash to store the firmware and load it to ram or use sd-card, but it is more hustle.
It is also not clear what benefit the high clock rate does offer for Marlin, it runs quite happily on sub 100MHz MCUs.
ghent360 commentedon Oct 25, 2020
After I finished my Nucleo-64 based board, I briefly considered using Nucleo-144. I decided against it because these nucleo boards are gigantic. You will loose quite a bit of board real estate, just in the huge headers needed to connect the two boards.
Hedda commentedon Jan 19, 2021
FYI, MCUDev DevEBox STM32H7XX_M V2.0 STM32H750VBT6 and STM32H743VIT6 dev boards is now available from $12
stm32duino/Arduino_Core_STM32#1266
https://stm32-base.org/boards/STM32H750VBT6-STM32H7XX-M.html
https://stm32-base.org/boards/STM32H743VIT6-STM32H7XX-M.html
https://github.com/mcauser/MCUDEV_DEVEBOX_H7XX_M
https://github.com/elzoughby/STM32H7xx-Startup
https://www.aliexpress.com/item/4000300005466.html
https://www.aliexpress.com/item/1005001543610862.html
https://www.banggood.com/STM32H750VBT6-or-STM32H743VIT6-STM32H7-Development-Board-STM32-System-Board-M7-Core-Board-TFT-Interface-with-USB-Cable-p-1661383.html
Simple 3D model of STM32H7 DevEBox board
https://grabcad.com/library/stm32f7-devebox-board-prototype-1
It appears to use the same board design as the older STM32F407VGT6 based STM32F7XX M development board by DevEBox
https://github.com/mcauser/MCUDEV_DEVEBOX_F407VGT6
Thus I would assume that the DevEBox STM32H7XX M devboard is probably pin-compatible with DevEBox STM32F7XX M.
This is just an FYI as I have no affiliation what so ever with any manufacturers or any resellers of this of any other boards.
dreamcat4 commentedon Jan 19, 2021
Thanks for the information. Currently speaking for a more proven solution we are stopped at the f4 over on the klipper firmware. (not marlin). The open source team at annex engineering have released klipper configurations for the fysetc s6 controller. Which is the current best. I asked the author of klipper software if he thought there would be any meaningful improvement in performance going from the f4 to the h7 and the response was no, not really.
Still... I would suggest it would not hurt to email somebody at fsetc to ask them if they are already working to make a new controller board based on the h7. Since given the very low cost of this MCU it would not impact the bom cost very much. And maybe if their existing s6 has already been out for a long enough time to become 'old'. Or because if fsetc want to make a new product to compete with the new flagship from BTT which is their (still f4 based) 'GTR'.
The reason Fsetc are being recommended as having good silk screen and a well thought out design. And the existing annex users feel their boards are overall better than the equivalents from BIQU / BTT.
slowbro commentedon Jun 20, 2021
It looks like stm32duino has added variant files for the H7 chips: stm32duino/Arduino_Core_STM32@2f7d688
thisiskeithb commentedon Jun 20, 2021
Marlin also supports the Biqu BX under the STM32 HAL which uses an STM32H743IIT6:
Marlin/ini/stm32f7.ini
Lines 42 to 65 in a006752
ag88 commentedon Nov 25, 2021
a peek at a near future, hope they works well ;)
edit: this is merged in the stm32duino core
stm32duino/Arduino_Core_STM32#1559
stm32duino/Arduino_Core_STM32#1552
note that the
MCUDev DevEBox STM32H7XX_M mentioned prior has somewhat different pin assignments from the WeAct boards though both boards uses a 25 Mhz HSE crystal.
A different thought though, we need a 'different' kind of 'ramps' board which is not a 'shield'.
i.e. the motor controllers and other stuff that drives the motors, mosfets, temperature sensors and all are probably connected say using 'dupont' cables etc. to the 'controller' board. That way different boards say stm32f4xx, stm32f103, stm32f7xx etc can be hooked up to a same 'ramps' board. It'd seem like '3d printers controllers' eventually would have 'form factors' just like old 'ATX' PC cases.
https://reprap.org/forum/read.php?219,887227
there are various sorts of funky stuff for h7 hanging around these days e.g.
https://github.com/koendv/micropython-psram
thisiskeithb commentedon Jul 19, 2023
As far as HAL support goes, Marlin supports many STM32H7-based boards now, including the 144-pin H7 variant in the Octopus Max EZ. Take a look at
stm32h7.inifor details:If a developer wants to add a specific Nucleo board, they can submit a PR.
github-actions commentedon Sep 18, 2023
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.