Skip to content

stm32/boards: Add NUCLEO_H7A3ZI_Q board support. #17617

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

yn386
Copy link
Contributor

@yn386 yn386 commented Jul 5, 2025

Summary

This change adds NUCLEO_H7A3ZI_Q Core Board support to the STM32 port.

NUCLEO_H7A3ZI_Q:
https://www.st.com/en/evaluation-tools/nucleo-h7a3zi-q.html

This board uses STM32H7A3ZI:
https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3zi.html

Testing

Tested:

  • REPL via:
    • ST-LINK/V3 VCP
    • Built-in USB port VCP
  • USB Storage is available.
  • Built-in LEDs and switch.
  • run-tests.py passed except uart.py:
    Due to clock settings, specified baudrate is difference with actual baudrate
    (For example, specified: 2400, actual: 2399). There is no impact for uart communication.

Some peripherals (GPIO, I2C, ADC) works but not all peripherals are not tested.

run-tests.py with this board is available here:
https://github.com/yn386/micropython/tree/test-case-for-nucleo-h7a3zi-q

Trade-offs and Alternatives

There is no negative impact because this change is for adding board definition.

Remarks

This PR contains following commit because these are needed for adding NUCLEO-H7A3ZI-Q board support.
f0651b8
0d20ad6
36f172f

Copy link

github-actions bot commented Jul 5, 2025

Code size report:

   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 
   unix x64:    +0 +0.000% standard
      stm32:    +0 +0.000% PYBV10
     mimxrt:    +0 +0.000% TEENSY40
        rp2:    +0 +0.000% RPI_PICO_W
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
  qemu rv32:    +0 +0.000% VIRT_RV32

yn386 added 4 commits August 19, 2025 20:18
STM32H7A3 has 2MB internal flash and each sector size is 8KB.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
For STM32H7, the following macro's value are different by
ADC's version.
* ADC_CAL_ADDRESS
* ADC_CAL1
* TEMPSENSOR_CAL2_ADDR

Using macros defined by HAL become less dependent on
ADC's version.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
STM32H7A3 uses PA11, PA12 to enable USB function
via built-in USB OTG port on NUCLEO board.

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
This change adds NUCLEO_H7A3ZI_Q Core Board support
to the STM32 port.

NUCLEO_H7A3ZI_Q:
https://www.st.com/en/evaluation-tools/nucleo-h7a3zi-q.html

This board uses STM32H7A3ZI:
https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3zi.html

Signed-off-by: Yuuki NAGAO <wf.yn386@gmail.com>
@yn386
Copy link
Contributor Author

yn386 commented Aug 19, 2025

Updated adc.c: According to the commit 841439d, ADC calibration settings can be simplified for STM32H7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants