fossasia/pslab-mini-hardware

PSLab Mini Hardware https://pslab.io

1,225

50 commits

updated Aug 24, 2026

See the code

README

pslab-mini-hardware

This repository contains the PSLab-Mini hardware design files. PSLab-Mini is a scaled-down version of the PSLab board, aiming to provide instruments for doing signal measurements. It consists of an Oscilloscope, a Logic analyzer, and a Multimeter.

It also integrates an ESP chip in conjunction with the main MCU(STM32), for enabling wireless connectivity via the board.

PCB Layout

Front SideBack Side

Prototype Pictures

PSLab Mini V1PSLab Mini V1

Prototype Case

The PSLab Mini is designed to use Raspberry Pi 3/4 Cases, which are already widely available, without any modification.

All the ports remain accessible in the casing (USB, BNC Connectors, and battery connector).

PSLab Mini V1 Case 1PSLab Mini V1 Case 2

Communication

Platform

  • Main Microcontroller : STM32H563RIT6
  • Secondary Microcontroller : ESP32C3
  • Compiler: gcc-arm-none-eabi
  • Programming Tool:
    • For uploading the bootloader onto the board: STLink/Any other ARM programmer
    • For uploading the firmware onto the board: Directly using USB (OpenBLT bootloader is already present on the board)

Parts list

  • STM32H563RIT6 - Main Microcontroller
  • ESP32C3 - Secondary Microcontroller(for internet connectivity)
  • W25Q32JV - 32 Mega bit(4 Mega Byte) flash for ESP32
  • OPA356AIDBVR - 1 channel High-Speed CMOS Op-Amp
  • TLV9001IDCK - 1 channel Low-Speed CMOS Op-Amp
  • IP5189T - Battery management chip
  • AMS1117-3.3 - 5 V to 3.3 V buck converter
  • MT2496 - 5 V to -2 V, inverting buck converter
  • SP0503BAHT - ESD Protector
  • Assorted resistors & capacitors

Details of the project

Design Goals

  • Compact and manufacturable: All components placed on one PCB side

Core functionalities

  • Oscilloscope

    • 2 channels, 12-bit ADC (at 5MSPS)
    • Uses BNC connectors to connect probes to the board
    • Higher sampling rate than the current PSLab Board
  • Logic Analyser

    • 2 Channels
  • Multimeter

    • AC/DC voltage, resistance, capacitance, frequency

Technical Requirements

  • Interfaces
    • Open Toolchain : compiles with gcc(gcc-arm-none-eabi)
    • ADC : ≥ 2 channels, 12-bit
    • 2 x UART, 2 x SPI, 1 x I2C exposed from the chip pinout(STM32) Out of which, it has the following segregation:
      • 1 x UART, 1 x SPI - Used to interface between the ESP32 and STM32
      • 1 x UART, 1 x SPI, 1 x I2C - exposed to external headers to connect various peripherals to the board.

Pinout Used on the board.

STM32

GPIO

Pin NamePin (on Microcontroller)Type
GPIO 0PA5Analog Pin
GPIO 1PA6Analog Pin
GPIO 2PA7Analog Pin
GPIO 3PC4Analog Pin
GPIO 4PC5Analog Pin
GPIO 5PB0Analog Pin
GPIO 6PC8Digital Pin
GPIO 7PC9Digital Pin
GPIO 8PA8Digital Pin

Instruments

Pin NamePin (on Microcontroller)Type
LA1PA3Logic Analyser Channel-1
LA2PA2Logic Analyser Channel-2
FQYPA4Frequency Measurement
VOLPC0Voltage Measurement
RESPC1Resistance Measurement
CAPPC3Capacitance Measurement

BNC Connectors

Connector NumberPin (on Microcontroller)Type
CH1PA0Oscilloscope Channel-1
CH2PA1Oscilloscope Channel-2

Buses

UART_1Connected to ESP32
SPI_2Connected to ESP32
UART_6Connected to External header pins
SPI_3Connected to External header pins
I2C_1Connected to External header pins

ESP32

Buses

SPI_1Connected to External NOR flash
UART_1Connected to STM32
SPI_2Connected to STM32

Reset functionality of the board

The reset button on the board resets both the STM32 and the ESP32 simultaneously.

In addition, the STM32 can reset ESP32 through an output pin:

PB5 (STM32) → CHIP_EN (ESP32)

STM32

ESP

fossasia/pslab-mini-hardware

PSLab Mini Hardware https://pslab.io

1,225

50 commits

updated Aug 24, 2026

See the code

README

pslab-mini-hardware

This repository contains the PSLab-Mini hardware design files. PSLab-Mini is a scaled-down version of the PSLab board, aiming to provide instruments for doing signal measurements. It consists of an Oscilloscope, a Logic analyzer, and a Multimeter.

It also integrates an ESP chip in conjunction with the main MCU(STM32), for enabling wireless connectivity via the board.

PCB Layout

Front SideBack Side

Prototype Pictures

PSLab Mini V1PSLab Mini V1

Prototype Case

The PSLab Mini is designed to use Raspberry Pi 3/4 Cases, which are already widely available, without any modification.

All the ports remain accessible in the casing (USB, BNC Connectors, and battery connector).

PSLab Mini V1 Case 1PSLab Mini V1 Case 2

Communication

Platform

  • Main Microcontroller : STM32H563RIT6
  • Secondary Microcontroller : ESP32C3
  • Compiler: gcc-arm-none-eabi
  • Programming Tool:
    • For uploading the bootloader onto the board: STLink/Any other ARM programmer
    • For uploading the firmware onto the board: Directly using USB (OpenBLT bootloader is already present on the board)

Parts list

  • STM32H563RIT6 - Main Microcontroller
  • ESP32C3 - Secondary Microcontroller(for internet connectivity)
  • W25Q32JV - 32 Mega bit(4 Mega Byte) flash for ESP32
  • OPA356AIDBVR - 1 channel High-Speed CMOS Op-Amp
  • TLV9001IDCK - 1 channel Low-Speed CMOS Op-Amp
  • IP5189T - Battery management chip
  • AMS1117-3.3 - 5 V to 3.3 V buck converter
  • MT2496 - 5 V to -2 V, inverting buck converter
  • SP0503BAHT - ESD Protector
  • Assorted resistors & capacitors

Details of the project

Design Goals

  • Compact and manufacturable: All components placed on one PCB side

Core functionalities

  • Oscilloscope

    • 2 channels, 12-bit ADC (at 5MSPS)
    • Uses BNC connectors to connect probes to the board
    • Higher sampling rate than the current PSLab Board
  • Logic Analyser

    • 2 Channels
  • Multimeter

    • AC/DC voltage, resistance, capacitance, frequency

Technical Requirements

  • Interfaces
    • Open Toolchain : compiles with gcc(gcc-arm-none-eabi)
    • ADC : ≥ 2 channels, 12-bit
    • 2 x UART, 2 x SPI, 1 x I2C exposed from the chip pinout(STM32) Out of which, it has the following segregation:
      • 1 x UART, 1 x SPI - Used to interface between the ESP32 and STM32
      • 1 x UART, 1 x SPI, 1 x I2C - exposed to external headers to connect various peripherals to the board.

Pinout Used on the board.

STM32

GPIO

Pin NamePin (on Microcontroller)Type
GPIO 0PA5Analog Pin
GPIO 1PA6Analog Pin
GPIO 2PA7Analog Pin
GPIO 3PC4Analog Pin
GPIO 4PC5Analog Pin
GPIO 5PB0Analog Pin
GPIO 6PC8Digital Pin
GPIO 7PC9Digital Pin
GPIO 8PA8Digital Pin

Instruments

Pin NamePin (on Microcontroller)Type
LA1PA3Logic Analyser Channel-1
LA2PA2Logic Analyser Channel-2
FQYPA4Frequency Measurement
VOLPC0Voltage Measurement
RESPC1Resistance Measurement
CAPPC3Capacitance Measurement

BNC Connectors

Connector NumberPin (on Microcontroller)Type
CH1PA0Oscilloscope Channel-1
CH2PA1Oscilloscope Channel-2

Buses

UART_1Connected to ESP32
SPI_2Connected to ESP32
UART_6Connected to External header pins
SPI_3Connected to External header pins
I2C_1Connected to External header pins

ESP32

Buses

SPI_1Connected to External NOR flash
UART_1Connected to STM32
SPI_2Connected to STM32

Reset functionality of the board

The reset button on the board resets both the STM32 and the ESP32 simultaneously.

In addition, the STM32 can reset ESP32 through an output pin:

PB5 (STM32) → CHIP_EN (ESP32)

STM32

ESP

Significant stargazers

Prateek Jain

62 followers · starred Sep 2019

Devansh Batra

107 followers · starred Sep 2018