Skip to the content.

Thunderball H7 OEM – Industrial & Marine Rugged IP67 Calculator / IoT Gateway – STM32H7 Ecosystem

www.austral-elec.com - Intelligent Technologies for Marine, Industrial IoT and Unmanned Vehicles

ThunderballH7

Applications

The Thunderball H7 OEM is designed for SWaP-sensitive, robust and real-time applications using remote HMI.
It will be embedded into a third-party system in a harsh environment, like wearable edge computing, boats, vehicles, drones, machines, outdoor and underground platforms… and for a wide range of use cases:

Sectors : Marine, Industry 4.0, Drones, Robotics, Off-Highway Vehicles, Smart Farming …

Product Web Page

Table of contents

  1. DATASHEETS
  2. ST AND VSCODE LINKS AND DOCUMENTATIONS
  3. INSTALL A VSCODE BASED SDK FOR STM32H7
    3.1. Note and requirement
    3.2. Clone this template with Git
    3.3. Install Visual Studio Code
    3.4. Install STM32 Tools
    3.5. Install the compilation toolchain
    3.6. Install the OpenOCD debugger tool
    3.7. Setup VsCode for the debugger
    3.8. Install debug tools
  4. EVALUATE THE AUTOTEST TEMPLATE
    4.1. Note and requirement
    4.2. Change the IP Address
    4.3. Modify and Compile the Web pages
    4.4. Compile the application
    4.5. Debug the application using the ST-LINK/V2
    4.6. Deploy an image using the USB Bootloader
    4.7. How to test Ethernet & Web UI Demos
    4.8. How to test a product with this Autotest
  5. MODIFY THE DEVICE CONFIGURATION WITH STM32CUBEMX
  6. FAQ & TROUBLESHOOTING
    6.1. Forum
    6.2. Ethernet does not work properly
    6.3. RS485 does not work properly
    6.4. USB Bootloader does not work properly
  7. TUTORIALS
    7.1. Ethernet & Web UI
    7.2. FreeRTOS
    7.3. CANbus
  8. DISCLAIMERS

1. DATASHEETS

ThunderballH7 Hardware specifications and installation guide
STM32H743VIT6 Datasheet

3. INSTALL A VSCODE BASED SDK FOR STM32H7

3.1. Note and requirement

3.2. Clone this template with Git

3.3. Install Visual Studio Code

3.4. Install ST STM32 Tools

3.5. Install the compilation toolchain

3.7. Setup VSCode for the OpenOCD debugger and test the cross-compilation

3.8. Install debug tools

Install PuTTY

4. EVALUATE THE AUTOTEST TEMPLATE

4.1. Note and requirement

4.2. Change the IP Address

The default IP Adress is static at 192.168.100.222.
To change this address rapidly edit the file “LWIP/App/lwip.c” line 63 and recompile.
Note : This setting will be erased by CubeMX’s automatic code generation, and you will have to change the settings in CubeMX->LWIP->General Settings (See Chapter 5).

4.3. Modify and Compile the Web pages

If you modify the web pages, you must first compile the web pages with makefsdata.exe before compiling the application.
Put the file makefsdata.exe in the folder middleware/third_party/lwip/scr/apps/httpd and run the executable.
It will create the file fsdata.c, which must be excluded from the buid right-click on it in the project and resource configuration/exclude.

Run in the VS Code terminal :

cd .\Middlewares\Third_Party\LwIP\src\apps\http\
.\makefsdata.exe
cd ../../../../../..

4.4. Compile the application

In a VSCode Terminal :

ThunderballH7_web_page

How to place breakpoints and watch variables, stack and memory
VSCode Cortex-Debug Launch Configurations

4.6. Deploy an image using the USB Bootloader

This procedure enables on-site software updates for prototypes and small series to be carried out by the customer or a technician, using a simple PC and USB cable.

ThunderballH7_STM32CubeProgrammer

4.7. How to test Ethernet & Web UI Demos

Connect the ThunderballH7 to an ethernet switch an power on Open a windows/VSCode terminal and test the ping : PING 192.168.100.222
Then open a very simple web pages at 192.168.100.222 with any browser, you will see a web page with:
- A static page and a “Burger” Menu demo ThunderballH7_web_page
- A .AVIF Image demo ThunderballH7_web_page
- A very simple CGI demo ThunderballH7_web_page
- A very simple SSI dynamic page demo ThunderballH7_web_page
- A CGI + SSI Page with a “navbar” Menu demo ThunderballH7_web_page
- A animated SVG+GASP SCADA Demo ThunderballH7_web_page
- A simple JointJS SCADA Demo (Try also the Joint JS Plus link) ThunderballH7_web_page

4.8. How to test a product with this Autotest

ThunderballH7_web_page

5. MODIFY THE DEVICE CONFIGURATION WITH STM32CUBEMX

🔴 This template was created in early 2022 using “STM32CubeMX” 6.4.0 and “STM32Cube MCU Package for STM32H7” 1.9.1 🔴

These versions contain known bugs (Ethernet driver, HTTPD_USE_CUSTOM_FSDATA…) and have been upgraded since.
Some modifications applied after the cubeMX code generation are probably no longer applicable with a newer package version.

Warning : New problems appear with more recent versions of CubeMx using old package or in recent CubeMx and H7 Package.
And ST doesn’t provide example for Nucleo using cubeMX and LwIP and doesn’t update Nucleo-H743 demos when drivers change. Changing package versions can be a laborious task.

With Windows Explorer, click “C:\git\ThunderballH7\ThunderballH7.ioc” to open CubeMX with the template configuration.
You’ll certainly need to change IP, DMAs, Baudrates, Interrupts, FATFS, FREERTOS… in your application if you use this simple template as a basis.
The default STM32H743VIT6 Pinout is described in the datasheet and the CPU clock is adjust to the max (480Mhz).

ThunderballH7_web_page

6. FAQ & TROUBLESHOOTING

6.1. Forum

6.2. Ethernet does not work properly

🔴 There are 2 Ethernet driver bugs (H743 too fast & auto-negociation) in the “STM32Cube MCU Package for STM32H7” version 1.9.1 : 🔴

Waiting for an official Fix from ST :

To configure cubeMX, read the ST tutorials :

6.3. RS485 does not work properly

See Termination and biasing resistors problem on the datasheet

6.4. USB Bootloader does not work properly

There is a new problem which appeared with STM32CubeProgrammer, this error has been reported on the forums in October 2023.
The USB bootload stops during flashing when the bootload launch was done with a software jump.
We have found that performing a “Verify” before “Download” significantly improves the probability of success.
🟢 It works properly with an hardware launch when powering using USB-C (when BOOT0 is maintained at 1 the entire flashing procedure) 🟢

7. TUTORIALS

7.1. Ethernet & Web UI

7.2. FreeRTOS

UM1722
FreeRTOS emcraft

7.3. CANbus

FDCAN in Normal mode

8. DISCLAIMERS

Copyright (C) 2022 Austral Electronics SARL. Changes to the specifications and features in this manual may be made by Austral without prior notice. Specifications and information provided in this manual are for informational use only. Austral assumes no responsibility or liability for any errors or inaccuracies that may appear in this manual including the product & / or software. All trademarks mentioned in this manual are property of their respective owners. This product contains copyrighted software which are released under multiple open source licenses including but not limited to the GNU GPL, LGPL, and MIT BSD licenses. Such software is provided without warranty. Copies of these licenses are included in the software itself in further detail. For the latest up to date information, please visit our Github Repository at https://github.com/austral-electronics/ThunderballH7