ART-Pi

Overview

The ART-Pi is an open-source hardware platform designed by the RT-Thread team specifically for embedded software engineers and open-source makers, offering extensive expandability for DIY projects.

Key Features

  • STM32H750XBH6 microcontroller featuring 128 Kbytes of Flash and 1024 Kbytes of SRAM in an TFBGA225 package

  • On-board ST-LINK/V2.1 debugger/programmer

  • SDIO TF Card slot

  • SDIO WIFI:AP6212

  • HDC UART BuleTooth:AP6212

  • 32-MB SDRAM

  • 16-Mbytes SPI FLASH

  • 8-Mbytes QSPI FLASH

  • One Power LED (blue) for 3.3 V power-on

  • Two user LEDs blue and red

  • Two ST-LINK LEDs: blue and red

  • Two push-buttons (user and reset)

  • Board connectors:

    • USB OTG with Type-C connector

    • RGB888 FPC connector

More information about the board can be found at the ART-Pi website [1].

Hardware

ART-Pi provides the following hardware components:

The STM32H750xx devices are a high-performance microcontrollers family (STM32H7 Series) based on the high-performance Arm® Cortex®-M7 32-bit RISC core. They operate at a frequency of up to 480 MHz.

More information about STM32H750xx can be found here:

Supported Features

The art_pi board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

art_pi/stm32h750xx target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M7 CPU1

arm,cortex-m7

ADC

on-chip

STM32 ADC4

st,stm32-adc

CAN

on-chip

STM32H7 series FDCAN CAN FD controller2

st,stm32h7-fdcan

Clock control

on-chip

STM32H7 RCC (Reset and Clock controller)1

st,stm32h7-rcc

on-chip

STM32 HSE Clock1

st,stm32-hse-clock

on-chip

STM32 HSI Clock1

st,stm32h7-hsi-clock

on-chip

Generic fixed-rate clock provider1 2

fixed-clock

on-chip

STM32 LSE Clock1

st,stm32-lse-clock

on-chip

STM32H7 main PLL3

st,stm32h7-pll-clock

on-chip

STM32 Clock multiplexer1

st,stm32-clock-mux

on-chip

STM32 Microcontroller Clock Output (MCO)2

st,stm32-clock-mco

Comparator

on-chip

STM32H7 series Comparator2

st,stm32h7-comp

Counter

on-chip

STM32 counters12

st,stm32-counter

DAC

on-chip

STM32 family DAC1

st,stm32-dac

Display

on-chip

STM32 LCD-TFT display controller1

st,stm32-ltdc

DMA

on-chip

STM32 DMA controller (V1)2

st,stm32-dma-v1

on-chip

STM32 BDMA controller1

st,stm32-bdma

on-chip

STM32 DMAMUX controller2

st,stm32-dmamux

Ethernet

on-chip

STM32 Ethernet Controller1

st,stm32-ethernet-controller

on-chip

STM32H7 Ethernet1

st,stm32h7-ethernet

on-board

Generic MII PHY1

ethernet-phy

Flash controller

on-chip

STM32 Family flash controller1

st,stm32-flash-controller

on-board

STM32 QSPI Flash controller supporting the JEDEC CFI interface1

st,stm32-qspi-nor

GPIO & Headers

on-chip

STM32 GPIO Controller11

st,stm32-gpio

I2C

on-chip

STM32 I2C V2 controller1 3

st,stm32-i2c-v2

I2S

on-chip

STM32H7 I2S controller3

st,stm32h7-i2s

on-chip

STM32 SAI controller2

st,stm32-sai

Input

on-board

GT9xx / GT9xxx capacitive touch panels1

goodix,gt911

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

on-chip

STM32 External Interrupt Controller1

st,stm32-exti

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

MDIO

on-chip

STM32 MDIO Controller1

st,stm32-mdio

Memory controller

on-chip

STM32 Battery Backed RAM1

st,stm32-bbram

on-chip

STM32H7 Flexible Memory Controller (FMC)1

st,stm32h7-fmc

on-chip

STM32 Flexible Memory Controller (SDRAM controller)1

st,stm32-fmc-sdram

MMC

on-chip

STM32 SDMMC Disk Access1 1

st,stm32-sdmmc

MMU / MPU

on-chip

ARMv7-M Memory Protection Unit (MPU)1

arm,armv7m-mpu

MTD

on-chip

STM32 flash memory1

st,stm32-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory3

fixed-partitions

on-board

Properties supporting Zephyr spi-nor flash driver (over the Zephyr SPI API) control of serial flash memories using the standard M25P80-based command set1

jedec,spi-nor

PHY

on-chip

This binding is to be used by all the usb transceivers which are built-in with USB IP1

usb-nop-xceiv

Pin control

on-chip

STM32 Pin controller1

st,stm32-pinctrl

PWM

on-chip

STM32 PWM12

st,stm32-pwm

QSPI

on-chip

STM32 QSPI Controller1

st,stm32-qspi

Reset controller

on-chip

STM32 Reset and Clock Control (RCC) Controller1

st,stm32-rcc-rctl

RNG

on-chip

STM32 Random Number Generator1

st,stm32-rng

RTC

on-chip

STM32 RTC1

st,stm32-rtc

Sensors

on-chip

STM32 quadrature decoder6

st,stm32-qdec

on-chip

STM32 family TEMP node for production calibrated sensors with two calibration temperatures1

st,stm32-temp-cal

on-chip

STM32 VBAT1

st,stm32-vbat

on-chip

STM32 VREF+1

st,stm32-vref

Serial controller

on-chip

STM32 USART1 3

st,stm32-usart

on-chip

STM32 UART2 2

st,stm32-uart

on-chip

STM32 LPUART1

st,stm32-lpuart

SMbus

on-chip

STM32 SMBus controller4

st,stm32-smbus

SPI

on-chip

STM32H7 SPI controller1 5

st,stm32h7-spi

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

STM32 timers14

st,stm32-timers

on-chip

STM32 low-power timer (LPTIM)1

st,stm32-lptim

USB

on-chip

STM32 OTGFS controller1

st,stm32-otgfs

Video

on-chip

STM32 Digital Camera Memory Interface (DCMI)1

st,stm32-dcmi

Watchdog

on-chip

STM32 watchdog1

st,stm32-watchdog

on-chip

STM32 system window watchdog1

st,stm32-window-watchdog

Default Zephyr Peripheral Mapping:

The ART-Pi board features a On-board ST-LINK/V2.1 debugger/programmer. Board is configured as follows:

  • UART4 TX/RX : PA0/PI9 (ST-Link Virtual Port Com)

  • LED1 (red) : PC15

  • LED2 (blue) : PI8

  • USER PUSH-BUTTON : PH4

Programming and Debugging

The art_pi board supports the runners and associated west commands listed below.

flash debug rtt debugserver attach
openocd ✅ (default)
stm32cubeprogrammer ✅ (default)

Note

Check if your ST-LINK V2.1 has newest FW version. It can be done with STM32CubeProgrammer [3]

Flashing

First, connect the art_pi to your host computer using the USB port to prepare it for flashing. Then build and flash your application.

Here is an example for the Hello World application.

Run a serial host program to connect with your art_pi board.

$ minicom -b 115200 -D /dev/ttyACM0

or use screen:

$ screen /dev/ttyACM0 115200

Build and flash the application:

# From the root of the zephyr repository
west build -b art_pi samples/hello_world
west flash

You should see the following message on the console:

*** Booting Zephyr OS build v4.2.0-3809-g1d6b6759aa1a ***
Hello World! art_pi/stm32h750xx

Blinky example can also be used:

# From the root of the zephyr repository
west build -b art_pi samples/basic/blinky
west flash

To flash an application that requires loading firmware on external flash, see ART_PI Externloader [4]

Debugging

You can debug an application in the usual way. Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b art_pi samples/hello_world
west debug

References