Closed Gamester17 closed 1 year ago
It's a different variant, but support for the NUCLEO-F767ZI was just merged: https://github.com/MarlinFirmware/Marlin/pull/19373
It's a different variant, but support for the NUCLEO-F767ZI was just merged: #19373
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 https://github.com/MarlinFirmware/Marlin/pull/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.
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.
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
The board I have is a STM32H743ZI, which is a single-code 480 MHz MCU.
The board I have is a STM32H743ZI, which is a single-code 480 MHz MCU.
That has same physical format of the board though, rights? So has same physical measurements and pinout/pins layout design?
That has same physical format of the board though, rights? So has same physical measurements and pinout/pins layout design?
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.
That has same physical format of the board though, rights? So has same physical measurements and pinout/pins layout design?
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.
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.
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"
https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html
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/
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.
@thinkyhead missed you had made and closed PR https://github.com/MarlinFirmware/Marlin/pull/16021 last year for Nucleo STM32H7 support based on https://github.com/MarlinFirmware/Marlin/pull/13657 by @dekra54
@dekra54 you mentioned in https://github.com/MarlinFirmware/Marlin/pull/13657 that you are a hardware guy and were then working on something for it, any news on that?
The new BigTreeTech SKR SE-BX V1.0 board inside the upcoming BIQU BX 3D-printer is also based on an STM32H7 series MCU
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"
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.
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.
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.
FYI, MCUDev DevEBox STM32H7XX_M V2.0 STM32H750VBT6 and STM32H743VIT6 dev boards is now available from $12
https://github.com/stm32duino/Arduino_Core_STM32/issues/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
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.
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.
It looks like stm32duino has added variant files for the H7 chips: https://github.com/stm32duino/Arduino_Core_STM32/commit/2f7d6884e57566aa3672ee0049f9a1cbbd1c3d46
It looks like stm32duino has added variant files for the H7 chips: stm32duino/Arduino_Core_STM32@2f7d688
Marlin also supports the Biqu BX under the STM32 HAL which uses an STM32H743IIT6:
a peek at a near future, hope they works well ;) edit: this is merged in the stm32duino core https://github.com/stm32duino/Arduino_Core_STM32/pull/1559 https://github.com/stm32duino/Arduino_Core_STM32/pull/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
Requesting HAL support for STMicroelectronics STM32 Nucleo-144 boards based on newer STMicro STM32H7 Cortex-M7 MCU.
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.ini
for details:
If a developer wants to add a specific Nucleo board, they can submit a PR.
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.
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/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-h743zi.html
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
Board-specific features
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/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-h743zi.html#documentation
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:
The official STM32H735G-DK Discovery Kit with STM32H735IG MCU costs $87 and comes with a 4.3-inch touchscreen display:
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/2020/09/30/new-stm32h7-cortex-m7-mcus-clock-at-550-mhz-feature-octal-spi-flash-and-ethernet-interfaces/
https://www.cnx-software.com/2018/09/07/stmicro-stm32f7x0-h7x0-value-line-cortex-m7-mcu/