Documentation

ShillehTek PRE-SOLDERED STM32H723ZGT6 Core Development Board | ShillehTek Product Manual
Documentation / ShillehTek PRE-SOLDERED STM32H723ZGT6 Core Development Board | ShillehTek Product Manual

ShillehTek PRE-SOLDERED STM32H723ZGT6 Core Development Board | ShillehTek Product Manual

Overview

The STM32H723ZGT6 is a high-performance ARM Cortex-M7 microcontroller running up to 550 MHz, packaged in a 144-pin LQFP. This pre-soldered core development board breaks every GPIO out to 0.1" headers so you can prototype directly on a breadboard without doing any fine-pitch soldering yourself.

With 1 MB of flash, 564 KB of SRAM, hardware double-precision FPU, and a generous mix of peripherals (USB, multiple SPI/I2C/UART/CAN, ADC, DAC, timers), the H723 is suitable for motor control, real-time DSP, audio processing, advanced robotics, and any project where the F4-series isn't fast enough. The board can be programmed via ST-LINK V2/V3 over the SWD header.

At a Glance

Core
Cortex-M7 @ 550 MHz
Flash
1 MB
SRAM
564 KB
Package
LQFP144
Operating Voltage
1.62 - 3.6V
Programming
SWD / ST-LINK

Specifications

Parameter Value
MCU STM32H723ZGT6
Core ARM Cortex-M7 with FPU (DP) and MPU
Max Clock 550 MHz
Flash Memory 1 MB
SRAM 564 KB total (DTCM, ITCM, AXI SRAM, SRAM1-4)
Package LQFP144 (144-pin)
Operating Voltage 1.62V - 3.6V (3.3V typical)
GPIO Logic Level 3.3V (5V tolerant on FT pins)
Communication 4× SPI, 4× I2C, 5× USART, 2× UART, 2× FDCAN, USB OTG HS/FS
ADC 3× 16-bit ADC (up to 36 channels)
DAC 2× 12-bit DAC
Timers Up to 22 timers (advanced, general-purpose, low-power, basic)
Programming Interface SWD via ST-LINK V2 / V3

Pinout Diagram

STM32H723ZGT6 LQFP144 pinout diagram showing all 144 pins with function labels

Wiring Guide

Power Connections

The board accepts a regulated 3.3V supply (or 5V via onboard LDO if your variant has one). Always tie all VSS pins to ground and decouple every VDD pin with a 100 nF ceramic capacitor close to the chip.

Board Pin Connect To
3V3 3.3V regulated supply
GND Common ground
VBAT 3V coin cell or 3.3V (RTC backup)
NRST Pull high through 10k; tie to button to reset
BOOT0 GND for normal boot, 3.3V for system bootloader
Warning: The H723 is a 3.3V-only chip. Do not feed 5V into any GPIO unless the pin is explicitly marked FT (5V-tolerant) in the datasheet. Most digital and analog pins are 3.3V-only.

SWD Programming with ST-LINK V2

Use a 4-wire SWD connection to flash and debug. ST-LINK V2 (or V3) is the standard tool, supported by STM32CubeIDE, OpenOCD, PlatformIO, and Arduino IDE via STM32duino.

Board Pin ST-LINK V2 Pin
3V3 3.3V (target VCC)
SWCLK (PA14) SWCLK
SWDIO (PA13) SWDIO
NRST RST (optional)
GND GND

I2C (Example: Sensor on I2C1)

Each I2C peripheral needs external pull-up resistors (4.7kΩ typical) on both SDA and SCL — they are not built into the chip.

Function Default Pin Notes
I2C1_SCL PB6 4.7k pull-up to 3.3V
I2C1_SDA PB7 4.7k pull-up to 3.3V

SPI (Example: SPI1)

SPI1 default pins map to a common header layout. Use any free GPIO for CS / NSS — software-controlled chip select is generally easier for multiple devices.

Function Default Pin
SPI1_SCK PA5
SPI1_MISO PA6
SPI1_MOSI PA7
NSS / CS PA4 (or any GPIO)

UART (Example: USART1)

USART1 is the typical "console" UART, mapped to PA9 / PA10. Use a USB-to-TTL converter to bridge to a PC serial monitor.

Function Default Pin USB-TTL
USART1_TX PA9 RX
USART1_RX PA10 TX
GND GND GND

Code Examples

Arduino IDE (STM32duino) — Blink

blink.ino
// STM32H723ZGT6 - Blink built-in or external LED
// Board: "Generic STM32H7 Series", Variant: STM32H723ZGTx
// Upload Method: STM32CubeProgrammer (SWD)

#define LED_PIN PB0   // change to your wired LED pin

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

STM32CubeIDE (HAL) — UART Hello World

main.c (snippet)
// Generated with STM32CubeMX. After init code:

#include "main.h"
#include <string.h>

UART_HandleTypeDef huart1;

int main(void) {
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_USART1_UART_Init();

  const char *msg = "Hello from STM32H723!\r\n";

  while (1) {
    HAL_UART_Transmit(&huart1, (uint8_t*)msg, strlen(msg), 100);
    HAL_Delay(1000);
  }
}

PlatformIO — Project Config

platformio.ini
; PlatformIO config for STM32H723ZGT6
[env:stm32h723zg]
platform = ststm32
board = genericSTM32H723ZG
framework = arduino
upload_protocol = stlink
debug_tool = stlink
monitor_speed = 115200

Frequently Asked Questions

How do I program this board the first time?
Connect ST-LINK V2 to the SWD pins (3V3, SWCLK, SWDIO, GND, optional NRST), then use STM32CubeIDE, STM32CubeProgrammer, or Arduino IDE with the STM32 core to flash. The first upload should erase factory firmware and replace it with your code.
Is this board 5V tolerant?
Only specific GPIO pins marked FT (5V-tolerant) in the STM32H723 datasheet can accept 5V signals. Power supply and most analog/special pins are 3.3V only. When in doubt, use a level shifter or voltage divider for 5V devices.
Can I run this from a USB cable?
Some board variants include a USB-C port and onboard 3.3V LDO. If yours has only a header for 3V3 and GND, you'll need an external 3.3V supply (or use the ST-LINK to provide target VCC during development).
What's the difference between the H723 and H743?
The H743 has more flash (up to 2 MB) and SRAM (1 MB) and runs at 480 MHz. The H723 is the "value" variant — 1 MB flash, 564 KB SRAM, but actually clocks higher at 550 MHz. For most projects either works; the H723 is cheaper if you don't need the extra memory.
Why are my readings unstable on the ADC?
Add a 100 nF cap close to VDDA, route VREF+ cleanly, and oversample. The 16-bit ADC is sensitive to noise — keep analog and digital grounds separated where possible and use shielded cabling for sensors.
Does this work with FreeRTOS / ThreadX / Zephyr?
Yes. STM32CubeMX includes built-in FreeRTOS integration, and ST has official ThreadX (Azure RTOS) support. Zephyr also supports the H7 family. Memory is generous enough for any of these on this MCU.

Related Tutorials