Toasty: STM32H7-based Development Board

webzoid
Fri Aug 03, 2018 4:51 pm
Hi all,

I want to introduce my project, Toasty.

Image

It’s my first attempt at an STM32-based project so I took the plunge and decided to knock up a prototype circuit board. The idea behind Toasty was to create a development board with one of the most powerful ARM Cortex-M series microcontrollers available to date and take it to the maker market – keeping it affordable and most importantly, Open Source.

Specifications

These are the main specifications for the board. I won’t go into any specific details about the supported peripheral set as, to be honest, its pretty extensive – everything from ethernet to LCD display support, CAN bus, etc.

MCU: STM32H743VIT6
Clock Speed: 400MHz
SRAM: 1MB
FLASH: 2MB
Dimensions: 3″x1″ or 76.2×25.5mm
External IO: 64
Interface: Micro USB
Storage: MicroSD SHDC
Other: JTAG/SWD header

Image

Image

Progress So Far…

So far, one prototype board has been populated and tested without any major issues.

I’ve had a very simple Blinky example running on the board, compiled using the System Workbench IDE although I already know that I’m not going to get along with it. Having said that, its still a million times better than IAR!

There are a few little niggles which will be corrected on the next set of boards:

  • BOOT pin will be hooked up to a push button for convenience
  • Tactile switches are a bit, er, crap and will be replaced with something better
  • WAKEUP signal will have its own dedicated push button

Firmware and Software

I’ve set up a GitHub repo for Toasty and in the coming weeks and months, this will gradually build up with libraries, examples as well as the open source hardware files. Should anyone wish to contribute in the way of libraries, example code, etc, then this would be greatly appreciated.

https://github.com/webzoid/toasty

The current MK1 prototype hardware design files will probably not make it onto the GitHub repo but all future revisions definitely will.

Image

Next Steps

The plan going forwards is as follows:

  • Integrate Toasty into the Arduino IDE together with Arduino compatibility functions and libraries
  • Create some simple examples for the platform (Blinky, microSD card read/write, etc)
  • Test with various shields and provide support packages where necessary

I introduced Toasty previously on Reddit and also into the New Users forum whereby I’ve asked for willing members to come forward and help to develop code, libraries and provide general support with this project in exchange for one of the free first prototypes. If anyone is interested in helping get this project off the ground, I would be extremely grateful for any help.

Likewise, if anyone has any feature suggestions then please do feel free to comment.

Thank you.


BennehBoy
Fri Aug 03, 2018 7:00 pm
Huaweiwx’s fork of STM32GENERIC appears to support the H743ZI, that might be a good starting place to test Arduino IDE integration…

https://github.com/huaweiwx/STM32GENERIC


zoomx
Fri Aug 03, 2018 8:51 pm
It seems to me an STM32 TeensyLike on steroid!

profdc9
Fri Aug 10, 2018 2:15 pm
This seems like a cool little devboard. That’s a lot of pins in a small space. How many layers is the PCB? Is there a GND/VCC layer pair sandwiched in there?

Thanks,

Dan


ChrisMicro
Sun Aug 12, 2018 5:48 am
[webzoid – Fri Aug 03, 2018 4:51 pm] –
Hi all,

I want to introduce my project, Toasty.

That’s a quite impressive board. 400MHz and double precession FPU. Very good for signal processing.
I would like to have one …
There was a similar project. But it seems it is dead:
viewtopic.php?f=19&t=2633&start=690


webzoid
Sun Aug 12, 2018 11:18 am
[profdc9 – Fri Aug 10, 2018 2:15 pm] –
This seems like a cool little devboard. That’s a lot of pins in a small space. How many layers is the PCB? Is there a GND/VCC layer pair sandwiched in there?

Thanks,

Dan

Its a 4-layer board (1.0mm FR4) with internal signal layers. The bottom layer is the ground plane with power signals routed mainly on the top layer.


webzoid
Sun Aug 12, 2018 11:21 am
[ChrisMicro – Sun Aug 12, 2018 5:48 am] –
That’s a quite impressive board. 400MHz and double precession FPU. Very good for signal processing.
I would like to have one …
There was a similar project. But it seems it is dead:
viewtopic.php?f=19&t=2633&start=690

Thanks for the feedback.

As mentioned in the original post, I’m making a few boards available free of charge to any developers willing to lend a hand with library development/bare metal examples, etc.

If you’re interested, I’ll gladly add you to the list.


ChrisMicro
Sun Aug 12, 2018 2:17 pm
If you’re interested, I’ll gladly add you to the list.
Probably I can make some examples as I did for the GENERIC-Framework if you send me a board.
Did you check if the board is basically running with this?:
https://github.com/huaweiwx/STM32GENERIC

What’s your schedule?

BTW: I just found a Nucleo-Board which could probably be used for Pre-Development

https://www.st.com/en/evaluation-tools/ … 743zi.html


ChrisMicro
Sat Aug 18, 2018 3:36 am
The official core development branch seems to basically support the MCU:
https://github.com/fpistm/Arduino_Core_ … LEO_H743ZI

fpiSTM
Sat Aug 18, 2018 5:24 am
[ChrisMicro – Sat Aug 18, 2018 3:36 am] –
The official core development branch seems to basically support the MCU:
https://github.com/fpistm/Arduino_Core_ … LEO_H743ZI

Currently, I’ve not release it because I’m waiting some LL drivers which should be in the next Cube H7.
Moreover, this branch was not up 2 date. I’ve updated it locally but not push it. I will push them after my vacation.


webzoid
Sat Aug 25, 2018 10:48 am
Sorry for the lack of updates over the past few weeks, I’ve been busy completing another project.

I’ve now successfully managed to get some simple examples up and running on the board: Blinky, CDC and currently I’m working on a MicroSD example with FatFS.

There is a GitHub repo here:

https://github.com/webzoid/toasty

The first two examples mention have been committed. The projects are for the System Workbench IDE – these examples were generated by STM32CubeMX – but I have also provided the project file so other compilers can be targeted.

Toasty uses the built-in USB DFU mechanism for firmware updates, combined with the DFU File Manager and DfuSe applications to upload the code.

Hardware-wise, I have completed 10 Toasty prototype boards with just a hardware modification to make regarding the push button switch and the BOOT pin.

Once I have made the above mod to the boards, I can then look to begin shipping to those who have shown an interest in the board.

I’m looking to expand upon the 10 prototypes (I have 250 bare boards) but at the moment, the MCU costs are prohibiting me from doing so.


Ollie
Sat Aug 25, 2018 6:19 pm
Webzoid,

This looks really interesting. I have some Nucleo F7 and H7 boards, but I don’t like the form factor and legal usage restrictions. I got a RK3399 board with a lot of I/O and computing power, but I have not yet getting used to the naked iron development in Linux world. For that reason, I am hoping that the Teensy 4.x would be released quite soon. This Toasty seems a very viable alternative for Teensy.

The Teensy boards have been good for my projects due to the high quality libraries. With Toasty, the obvious way is with CubeMX and FreeRTOS.

Good luck with your quest to get Toasty available for the masses.


webzoid
Fri Sep 21, 2018 8:04 am
Apologies, I haven’t posted an update for a while – things have been a bit crazy at work and my Toasty-time has been limited.

Prototype Boards

I have 10 fully complete prototype boards including hardware modification. This hardware mod allows the user to enter DFU mode by holding down one of the push buttons while pushing the RESET button. The boards have been programmed up with the Toasty Blinky example code and are now ready for shipping out to those who have shown an interest.

Ideally, I want to build another 10 more prototypes (mainly due to the interest in this first batch) but I’m not quite in a position to do that yet.

Arduino Investigations

In the limited time over the past few weeks, I’ve started to investigate adding Toasty to the “stm32duino” (and STM32GENERIC for H7 support) Arduino package however, having followed all the instructions to the letter, I’m actually struggling to get an existing board to compile without any “missing file” errors. I don’t have the exact error messages to hand but I probably need to spend a bit more time with this.

Qt DFU Application

I’ve also developed an application in Qt (WIndows only, at the moment) which handles the DFU re-programming either from the Arduino IDE or just from the command line. This works really well.

Shipping Prototypes

Those of you who have shown an interest in helping me get this board up and running, I will be looking to ship these ASAP now that I have completed the hardware mod and verified that the boards all work. I will send a private message to the interested parties to obtain shipping information.

If anyone has any questions or suggestions regarding this board, even based on its current prototype state (with little information I’ve provided so far) then I’d love to hear your comments.


Lannakin
Sun Nov 04, 2018 2:24 am
There’s a Micropython port for the Nucleo-H743ZI; I don’t know if that interests you or not.

I’ll be watching this project, but with my complete lack of experience I don’t think I can help much. Unless, like, you need a drawing of a cat, or to have a car engine rebuilt.


AloyseTech
Wed Nov 14, 2018 11:32 am
Hi webzoid,

This is a really nice board.
I would be happy to develop bare metal example as well as eventually port the arduino core. I’m particularly interested in the graphics capability of the board!


Squonk42
Wed Nov 14, 2018 2:32 pm
[ChrisMicro – Sun Aug 12, 2018 5:48 am] – There was a similar project. But it seems it is dead:
viewtopic.php?f=19&t=2633&start=690

No, still moving forward slowly,testers welcome :mrgreen: :
viewtopic.php?f=19&t=2633&start=890#p50851

But the BluePill F4 is for smaller LQFP64 STM32 packages, with microSD Card too, but also includes USB OTG and a LiPo charger and is BluePill pin-to-pin compatible.


Leave a Reply

Your email address will not be published. Required fields are marked *