

Bms smps testbench
Musings from my ECE undergraduate research project
- Size
- 50.8 × 32 mm
- Copper layers
- 2
- Thickness
- 1.65 mm
- Parts
- 32
- Nets
- 28
- Pads
- 121
- Tracks, vias
- 579, 32
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 22 Aug 2024
- Updated
- 21 Dec 2025
Overview
Bms smps testbench is an open-source printed circuit board by ericmutton, from the ericmutton/spur-project repository on GitHub. It is a 2-layer board of 50.8 × 32 mm with 32 parts on 28 nets, routed with 579 tracks and 32 vias.
It is built around the ISL91127IRNZ-T7A and 103AT-2. Its parts include 12 capacitors, 9 resistors, 6 connectors, 2 ICs and 2 inductors. It belongs with the radio and wireless and power boards of this library.
Main components
2README
README.mdspur-project
Musings in preparation for the 2025 Summer Platform for Undergraduate Research.
Getting Started
This repository contains the project files created during my Fall 2024 and Spring 2025 semesters.
Hardware
The EDA schematic captures and prototype PC boards are maintained in separate KiCAD projects in the Hardware directory.
- Single-Cell PMIC and Switch-Mode PSU testbench
- NiceRF SA868 walkie-talkie module breakout board
Software
The source code utilizing either the Espressif Systems ESP-IDF Arduino Core (using FreeRTOS) for experimentation or the Zephyr Standalone Application (using ZephyrRTOS) constituting the base radio platform firmware are both maintained in the Software directory.
Scope
The scope of this research project is to build a two-way radio communications platform that remains extensible in arbitrary 'all-mode' FM modulation in both firmware and hardware.
This means adopting modern real-time operating system ecosystems, particularly the two RTOS under consideration are:
- Zephyr Project ZephyrRTOS (a Linux Foundation Project)
- FreeRTOS (under Amazon AWS stewardship as of 2017)
For the hardware, the platform is to allow off-the-shelf (and few bespoke) integration of:
- Wireless communications modules
- GNSS/GPS receivers
- Sub-Ghz transceivers
- LoRa transceivers
- Peripheral Human-Machine Interface Devices (HIDs)
- Potentiometers (Volume, Frequency), Keypad (DTMF, Navigation), Display
- Mono CW Keyer, Keyboard, and USB devices
- External audio source/sink, external modem/vocoder
Groundwork
- Develop a working 'two-way' radio prototype.
- Phase out SA868 Demo Board by building a minimal breakout board
- Make prototype mobile through a rechargable cell and JEITA charger
- Amplify audio output of SA868 with anything other than an LM386 reference design
- Allow end-user to enter new RX and TX frequencies
- All settings available to the end-user
- Persistence of settings between power cycles
Phase 1
For the purposes of this project, the SA868 is limited to arbitrary FM modes:
- Analog FM Voice
- Amateur Packet Reporting System (APRS)
- Premodulated FM Waveforms
In Analog FM Voice, a parrot test or signal strength report (Readability-Strength-Tone) would be satisfactory.
Approach
A first-principles approach in designing this platform is to be taken on:
- inter-device communications interfacing
- sensor device register-level configuration
- factory firmware flashing (see DMO module)
- microcontroller (a)synchronous peripheral utilization
- utilizing vendor hardware abstractions
- device abstraction and tooling
- TI SimpleLink SDK >= v3.3
- SmartRF Studio == v7 (see TI CC1200)
- subsystem abstraction
- device abstraction and tooling
- utilizing operating system abstractions
- target hardware-application decoupling (see ZephyrRTOS)
- communications stack normalization (see USB, IEEE 802.15.4, Bluetooth SIG)
- tracing & debugging meta-tooling (see openocd)
Outcomes
After discovering a lack of ZephyrRTOS Charge API charge enable in the Cirrus Logic implementation of the ti,bq24190, this research project migrated to FreeRTOS. This migration allowed for the creation of bespoke 'device drivers' for the chips utilized in the radio platform. Print debugging was satisfactory in the making of the platform firmware and so the use of OpenOCD with ESP-Prog board was only researched. Zephyr abstractions listed in part 3 of approach were considered and not implemented after the migration to FreeRTOS.
The scope of this project during the one full academic semester resulted in a functional prototype of the radio platform on two breadboards capable of UHF operation of local Richardson city amateur radio infrastructure and two-way communications with a comparable handheld radio. Afterwards in the Spring 2025 semester a handheld radio form-factor two-layer PCB was designed under the Hardware/KiCAD/spur-demo directory.
This project now contains demonstrable embedded radio firmware and human-machine interface design efforts for handheld radio operation.
Parts
32| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 10u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C6, C7, C8, C10, C11 |
| 4 | Screw_Terminal_01x02 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-2-2.54_1x02_P2.54mm_Horizontal | J1, J2, J3, J4 |
| 3 | 10k | Resistor_SMD:R_0603_1608Metric | R5, R25, R34 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2, C3 |
| 2 | 22u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C12, C13 |
| 1 | 0R | Resistor_SMD:R_0603_1608Metric | R9 |
| 1 | 103AT-2 | bms-smps-testbench:103AT2 | TH1 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 1u | Inductor_SMD:L_Coilcraft_XxL4020 | L2 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C4 |
| 1 | 2.27k | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 2.2M | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | 2.2u | Inductor_SMD:L_Coilcraft_XxL4020 | L1 |
| 1 | 265R | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 47n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C5 |
| 1 | 56p | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C14 |
| 1 | 6.86k | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | BQ24193RGER | bms-smps-testbench:QFN50P400X400X100-25N-D_BQ24193RGER | IC1 |
| 1 | ISL91127IRNZ-T7A | bms-smps-testbench:QFN50P400X400X100-21N_ISL91127IRNZ-T7A | IC3 |
| 1 | Screw_Terminal_01x05 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-5-2.54_1x05_P2.54mm_Horizontal | J5 |
| 1 | USB_A | Connector_USB:USB_A_Molex_67643_Horizontal | J6 |
More from ericmutton/spur-project
4- 2 layers158.2 × 89.4 mm

- 2 layers63.7 × 105.5 mm

Spur demo without display
ericmutton/spur-project
Musings from my ECE undergraduate research project
104 parts4 - 2 layers63.8 × 105.5 mm

- 2 layers49.6 × 35.6 mm

Similar boards
- 2 layers59 × 42 mm

- 2 layers120 × 100 mm

Enose PCB
Tobias66662/Bachelor-Project-PCB-Designs
PCB to be used in the Enose (for Bachelor Project)
157 parts1 - 2 layers75.8 × 19.2 mm

3S coinCellChargeController
PocketConcepts/Pocket_PSU
A variable current & voltage PSU with 3S lipo charging, balancing, and protection circuit using PPS.
78 parts36 - 2 layers89.3 × 52.1 mm

Divergence Meter Project v2
waicool20/Divergence-Meter-Project-v2
This is the second iteration of the Divergence Meter Project and another personal learning project, this time learning how to integrate Li-Ion batteries into a project, new electrical converter topologies, Rust…
149 parts28 - 2 layers82 × 55 mm

- 4 layers160 × 90 mm

- 4 layers65 × 100 mm

PGR
Projeto-Guarda-Rios/PCB
O repositório para a PCB do Projeto Guarda Rios! Inclui todos os ficheiros relacionados com a PCB!
188 parts2MIT - 4 layers60 × 40 mm

B BQ24650-BRK R1.0
Boardoza/SenseTech-Competition-2026
Bu repo, Boardoza SenseTech 2026 yarışmasında kullanılacak kartların kaynak repolarını bir arada tutmak için oluşturulmuştur.
65 parts1
Questions
How big is the Bms smps testbench PCB?
It measures 50.8 × 32 mm and has 2 copper layers, 1.65 mm thick.
What parts does the Bms smps testbench use?
32 parts, built around the ISL91127IRNZ-T7A and 103AT-2. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Bms smps testbench KiCad files?
From the ericmutton/spur-project repository on GitHub, at the commit this page was made from: the board is Hardware/KiCAD/bms-smps-testbench/bms-smps-testbench.kicad_pcb and its schematic Hardware/KiCAD/bms-smps-testbench/bms-smps-testbench.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Bms smps testbench design in my own project?
Its repository states no licence, so its author keeps all rights: ask ericmutton before reusing the design.
