Skip to main content

Custom STM32H750 embedded development board

·1074 words
Author
Julia Desmazes

Introduction #

When doing embedded systems development, it can sometimes be hard to find a development board with the desired features at an affordable price. A solution to this is to learn how to design and manufacture your own custom development boards.

dev board
Development board.

This project is my first custom development board. It features :

  • the STM32H750VBT6TR MCU containing an ARM cortex-m7 core;
  • an SWD debug interface with a pinout compatible with the 20 pin J-Link probe;
  • an USB-B mini connector;
  • a Micro SD card connector.
Essenceia/stm32h750-dev-board

Small embedded dev board with an STM32H7 and a full J-link connector

null
1
1
The USB’s data transfer functionality and the SD card reader have not been tested as of writing. I suggest double checking the PCB schematics for these if you intend to use them in your own project.

An anniversary present #

I met my wonderful husband over 10 years ago, we were high school love birds. Today he is a talented low level C developer that writes kernels for fun.

He likes targeting microcontrollers but was often disappointed by the lack of proper JTAG or SWD debugging interface on all the development boards he owned.

As such, this board was made as my 10 year anniversary present to him.

Debug interface #

One of the goals on this design is to be able to directly plug the debug probe onto the board without the need for any additional adapter.

schematics
Board connected to our J-Link

J-Link connector pinout #

We are using a J-Link as our debug probe. It has a 20 pin connector and supports SWD using the following connector pinout:

J-Link connector pinout for SWD

The following table lists the J-Link / J-Trace SWD pinout.

PinSignalTypeDescription
1VTrefInputThis is the target reference voltage. It is used to check if the target has power, to create the logic-level reference for the input comparators and to control the output logic levels to the target. It is normally fed from Vdd of the target board and must not have series resistors.
2VsupplyNCThis pin is not connected in the J-Link. It is reserved for compatibility with other equipment. Connect to Vdd or leave it open in target system.
3Not usedNCThis pin is not used by the J-Link. If the device may also be accessed via JTAG, this pin may be connected to nTRST, otherwise leave it open.
5Not usedNCThis pin is not used by the J-Link. If the device may also be accessed via JTAG, this pin may be connected to TDI, otherwise leave it open.
7SWDIOI/OSingle bi-directional data pin.
9SWCLKOutputClock signal to target CPU. It is recommended that this pin is pulled to a defined state of the target board. Typically connected to TCK of target CPU.
11Not usedNCThis pin is not used by the J-Link. This pin is not used by J-Link when operating in SWD mode. If the device may also be accessed via JTAG, this pin may be connected to RTCK, otherwise leave it open.
13SWOInputSerial Wire Output trace port. (Optional, not required for SWD communication.)
15nRESETI/OTarget CPU reset signal. Typically connected to the RESET pin of the target CPU, which is typically called “nRST”, “nRESET” or “RESET”. This signal is an active low signal.
17Not usedNCThis pin is not connected in the J-Link.
195V-SupplyOutputThis pin is used to supply power to some eval boards.

Pins 4, 6, 8, 10, 12, 14, 16, 18, 20 are GND pins connected to GND in J-Link. They should also be connected to GND on the board.

jlink pcb bir
J-Link connections to the board.

All SWD J-Link pins are connected with the exception of the 5V-Supply, as even when the debug probe is connected power is still gotten from the USB.

Mounting the connector to the PCB #

The connector should be mounted with the slot facing up, away from the MCU as shown below.

jlink pcb bir
Male 20 pin J-Link connector mounting direction on PCB front face.

CAD #

This board was designed using Kicad 7.0.8 and all project files are available for download in the following github repository.

Schematic #

Full schematics of the board :

schematics
Schematics of the development board.

PCB #

Computer rending of the PCB :

pcb
Front view of the PCB.
pcb
Back view of the PCB.

Final result :

pcb
Unmounted spare PCB’s, will be used for version 2.

Bill of Materials #

Item #DesignatorQtyManufacturerMfg Part #Description / ValuePackage/FootprintTypeYour Instructions / Notes
1DC6,DC3,DC5,DC4,DC8,DC9,DC7,DC11,DC1,DC210KEMETC0402C104K4RAC100nF0402SMD
2U31Texas InstrumentsTLV1117-33CDCYRG3TLV1117-33SOT-223SMD
3R4,R5,R33SEI StackpoleRMCF0603JJ1K001k0603SMD
4Y21ECS Inc.ECS-250-9-37B2-CKM-TR25MHz 9uF2.0x1.6mmSMD
5R15,R14,R13,R7,R16,R12,R10,R118YAGEORC0402FR-0710KL10k0402SMD
6U11STMicroelectronicsSTM32H750VBT6TR / STM32H742VIT6STM32H750VBTx / STM32H742VILQFP-100QFPMCU for v1 and v2, pin compatible
7J21On Shore Technology Inc.302-S201Conn_ARM_JTAG_SWD_20THDThrough Hole
8C8,C5,C6,C7,C1,C26Samsung Electro-MechanicsCL31A476MQHNNNE47uF/35281206SMD
9D2,D12EVERLIGHT19-213SYGC/S530-E2/5TLED0603SMD
10R1,R22YAGEORC0402FR-0722RL220402SMD
11R6,R82SEI StackpoleRMCA0603JT510R5100603SMD
12C4,C32Murata ElectronicsGJM1555C1H8R0DB01D8pF0402SMD
13J31Molex1040310811Micro_SD_Card_Det1SMD
14D31ToshibaCRS30I40A(TE85L,QMSS34SOD-123FSMD
15L1,L22TAI-TECHFCM1608KF-102T021KB0603SMD
16SW11C&KPTS636 SM43 SMTR LFSSW_RESET6.0x3.5mmSMD
17U21STMicroelectronicsUSBLC6-2P6USBLC6-2P6SOT-666SMD
18J11Adam TechMUSB-B5-S-RA-SMT-PP-T/RUSB_B_MiniSMD
19J4,J52Sullins Connector SolutionsPPTC252LFBN-RCConn_02x25_Odd_EvenThrough Hole

For reference, I recently ordered components for 3 version 2 boards in Canada and spent 107 CAD at Mouser.

Version 2 #

Now that the first version is up and running it is time to start thinking of improvements for the second version.

The first revision of the board uses the STM32H750VBT6TR MCU, which only has 128kB of flash. Now that I have confirmed that the board is working it is time to upgrade to something with more flash.

This new revision will keep the existing PCB and components but drop in the STM32H742VIT6 as the MCU. This MCU features 2 MB of flash, 1 MB of RAM and is otherwise the same chip with regards to the features that matter to us.