JZ-F407VET6 Industrial Control Board

Overview

The JZ-F407VET6 is an industrial control board featuring an Arm® Cortex®‑M4 based STM32F407VE MCU with a wide range of connectivity support targeting industrial automation applications. Here are some highlights of the JZ-F407VET6 board:

  • STM32 microcontroller in LQFP100 package

  • 25 MHz high-speed external crystal

  • 32.768 kHz RTC crystal

  • Flexible board power supply:

    • 5V DC barrel jack

    • USB Mini connector

  • Three user LEDs

  • Three user push-buttons

  • RS232 interface with DB9 connector

  • RS485 interface with Modbus support

  • Dual CAN bus interfaces with TJA1050 transceivers

  • 10/100 Ethernet with RMII PHY

  • MicroSD card slot

  • W25Q64JV 8MB SPI NOR flash

  • AT24C02 256-byte I2C EEPROM

  • USB Host (USB-A connector)

  • USB Device (USB Mini connector)

  • Two 16-pin extension headers

  • 8-pin NRF24L01 header

  • 3-pin DS18B20 header

  • Coin cell battery holder for VBAT

  • SWD/JTAG debug interface

Hardware

The JZ-F407VET6 board provides the following hardware components:

  • STM32F407VET6 in LQFP100 package

  • ARM 32-bit Cortex-M4 CPU with FPU

  • 168 MHz max CPU frequency

  • VDD from 1.8 V to 3.6 V

  • 512 KB Flash

  • 192 KB SRAM including 64 KB of core coupled memory

  • 4 KB backup SRAM

  • GPIO with external interrupt capability

  • 12-bit ADC with 24 channels

  • 12-bit DAC

  • RTC

  • Advanced-control Timers

  • General Purpose Timers

  • Watchdog Timers

  • USART/UART

  • I2C

  • SPI

  • SDIO

  • CAN

  • USB 2.0 OTG FS

  • USB 2.0 OTG HS/FS

  • 10/100 Ethernet MAC

  • CRC calculation unit

  • True random number generator

  • DMA Controller

More information about STM32F407VE can be found here:

Supported Features

The jz_f407vet6 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.

jz_f407vet6/stm32f407xx target

On-target memory for this board target: 128 KiB of RAM, 512 KiB of Flash.

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4F CPU1

arm,cortex-m4f

ADC

on-chip

STM32F4 ADC3

st,stm32f4-adc

CAN

on-chip

STM32 CAN controller2

st,stm32-bxcan

Clock control

on-chip

STM32 RCC (Reset and Clock controller)1

st,stm32-rcc

on-chip

STM32 HSE Clock1

st,stm32-hse-clock

on-chip

Generic fixed-rate clock provider21

fixed-clock

on-chip

PLL node binding for STM32F2, STM32F4 and STM32F7 device11

st,stm32fx-pll-clock

on-chip

STM32 Microcontroller Clock Output (MCO)2

st,stm32-clock-mco

Counter

on-chip

STM32 counters14

st,stm32-counter

DAC

on-chip

STM32 family DAC1

st,stm32-dac

DMA

on-chip

STM32 DMA controller (V1)2

st,stm32-dma-v1

Ethernet

on-chip

ST STM32 Ethernet MAC, a child node of the Ethernet controller1

st,stm32-ethernet

on-chip

STM32 MDIO Controller1

st,stm32-mdio

on-board

Generic MII PHY1

ethernet-phy

Flash controller

on-chip

STM32 Family flash controller1

st,stm32-flash-controller

GPIO & Headers

on-chip

STM32 GPIO Controller9

st,stm32-gpio

I2C

on-chip

STM32 I2C V1 controller12

st,stm32-i2c-v1

I2S

on-chip

STM32 I2S controller2

st,stm32-i2s

Input

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

Memory controller

on-chip

STM32 Battery Backed RAM1

st,stm32-bbram

MMC

on-chip

STM32 SDMMC Host Controller1

st,stm32-sdmmc

MTD

on-chip

STM32F4 flash memory1

st,stm32f4-nv-flash

on-board

I2C EEPROMs compatible with Atmel’s AT24 family1

atmel,at24

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

NVMEM

on-chip

Fixed layout for Non-Volatile memory1

fixed-layout

OTP memory

on-chip

STM32 embedded NVM OTP11

st,stm32-nvm-otp

PHY

on-chip

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

usb-nop-xceiv

Pin control

on-chip

STM32 Pin controller1

st,stm32-pinctrl

Power management

on-chip

STM32 power controller1

st,stm32-pwr

PWM

on-chip

STM32 PWM12

st,stm32-pwm

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 VREF+1

st,stm32-vref

on-chip

STM32 VBAT1

st,stm32-vbat

Serial controller

on-chip

STM32 USART22

st,stm32-usart

on-chip

STM32 UART2

st,stm32-uart

SMbus

on-chip

STM32 SMBus controller3

st,stm32-smbus

SPI

on-chip

STM32 SPI controller13

st,stm32-spi

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

on-chip

STM32 timers14

st,stm32-timers

USB

on-chip

STM32 OTGFS controller1

st,stm32-otgfs

on-chip

STM32 OTGHS controller1

st,stm32-otghs

Watchdog

on-chip

STM32 watchdog1

st,stm32-watchdog

on-chip

STM32 system window watchdog1

st,stm32-window-watchdog

Connections and IOs

The JZ-F407VET6 board has 5 GPIO controllers. These controllers are responsible for pin muxing, input/output, pull-up, etc.

Default Zephyr Peripheral Mapping:

  • USART_1 TX/RX : PA9/PA10 (RS232)

  • USART_2 TX/RX/DE : PD5/PD6/PD7 (RS485)

  • I2C1 SCL/SDA : PB8/PB9

  • SPI2 SCK/MISO/MOSI : PB10/PC2/PC3

  • SPI2 CS (Flash) : PE3

  • CAN1 RX/TX : PD0/PD1

  • CAN2 RX/TX : PB5/PB6

  • ETH : PA1, PA2, PA7, PB11, PB12, PB13, PC1, PC4, PC5

  • SDIO D0-D3/CK/CMD : PC8-PC11/PC12/PD2

  • SDIO CD : PD3

  • USB OTG FS DM/DP : PA11/PA12

  • USB OTG HS DM/DP : PB14/PB15

  • LED1 : PE13

  • LED2 : PE14

  • LED3 : PE15

  • SW1 : PE10

  • SW2 : PE11

  • SW3 : PE12

System Clock

The JZ-F407VET6 system clock could be driven by an internal or external oscillator, as well as by the main PLL clock. By default, the system clock is driven by the PLL clock at 168 MHz, driven by a 25 MHz high-speed external clock.

Serial Port

The JZ-F407VET6 board has 6 UARTs. The Zephyr console output is assigned to USART1. Default settings are 115200 8N1.

USART1 is accessible via an RS232 transceiver connected to a DB9 connector.

USART2 is configured for RS485 with Modbus support, using PD7 as the driver-enable pin.

Programming and Debugging

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

flash debug attach debugserver rtt reset
jlink
openocd ✅ (default) ✅ (default)
stlink_gdbserver

Applications for the jz_f407vet6 board configuration can be built and flashed in the usual way (see Building an Application and Run an Application for more details).

Flashing

The JZ-F407VET6 board can be flashed using an external ST-LINK/V2 or compatible JTAG programmer connected to the JTAG header.

Alternatively, OpenOCD or JLink can also be used to flash the board using the --runner (or -r) option:

$ west flash --runner openocd
$ west flash --runner jlink

Flashing an application to JZ-F407VET6

Here is an example for the Hello World application.

Run a serial host program to connect with your board via the DB9 RS232 port:

$ minicom -D /dev/ttyUSB0

Build and flash the application:

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

You should see the following message on the console:

$ Hello World! jz_f407vet6/stm32f407xx

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 jz_f407vet6 samples/hello_world
west debug