Skip to the content
4 layers90 × 90 mmSahel pcb, the printed circuit board in 3D

CubeSat for educational purposes. It is based on an STM32H7 MCU for data handling and uses two CC1125 radios for communication. The software is developed using a Zephyr-like RTOS.

Size
90 × 90 mm
Copper layers
4
Thickness
1.6 mm
Parts
172
Nets
185
Pads
735
Tracks, vias
1,043, 334
Pours
24
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 Apr 2026
Updated
19 May 2026

Overview

Sahel pcb is an open-source printed circuit board by Aliou8, from the Aliou8/SAHEL-SPECTRA-RF repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 90 × 90 mm with 172 parts on 185 nets, routed with 1,043 tracks and 334 vias.

It is built around the CC1200RHB, TCAN334GD and FM24CL64B-G, with the ISL3178EIBZ, RV-8803-C7 and TPS2116DRL among its other parts. Its parts include 88 capacitors, 30 resistors, 19 inductors, 11 ICs and 7 connectors. It belongs with the radio and wireless boards and the STM32 boards of this library.

Main components

6

README

README.md

SAHEL-CUBESAT: An Experimental Educational CubeSat

Project work in progress

This project aims to develop a complete experimental CubeSat for educational purposes. It is based on an STM32H7 MCU for data handling and uses two CC1200 radios for communication. The software is developed using a Zephyr-like RTOS.


Mechanical Frame

CubeSat Assembly with PCBs

Complete CubeSat Assembly

Table of Contents


Hardware

Structure

The structure was designed according to the specifications using Onshape. All printable components can be found in this directory.


Mechanical faces X+ X- Y+ Y-

Mechanical faces Z+ Z-

Solar panel

Electronics

KiCad is used for the electronic design. The hardware is divided into three parts. The first part includes the radio communication system and the OBC (On-Board Computer) for the CubeSat. The second part consists of a board integrating several sensors and a solar MPPT controller IC.

Radio and OBC PCB : Available in: hardware/sahel_pcb_main

Architectural Diagram of the Radio and OBC PCB

Radio and OBC PCB

Components
MCU

STM32H7B0VBTx
High-performance Arm Cortex-M7 MCU with DSP and DP-FPU, 128 KB Flash, 1,376 KB SRAM, up to 280 MHz.


FRAM — FM24CL64B
ParameterValue
Memory64-Kbit (8K × 8)
I2C Address0b1010000
SDA (I2C3)PC9
SCL (I2C3)PA8
Write ProtectPC5
Sensors

Accelerometer, Gyroscope, and Magnetometer: LSM9DS1
Barometer: BMP388

ParameterValue
I2C Address (ACC/GYRO)0b1101011
I2C Address (MAG)0b0011110
I2C Address (BARO)0b1110111
SDA (I2C4)PD13
SCL (I2C4)PD12
INT_ACC/GYROPE8
DRDY_MAGPE7
DRDY_BAROPB2

RTC & Temperature Sensor

RTC: RV-8803-C7
TEMP: TMP100

ParameterValue
RTC I2C Address0b0110010
TEMP I2C Address0b1001000
SDA (I2C1)PB7
SCL (I2C1)PB6
RTC_INTPB5
RTC_EVIPB4

CAN Interface: TCAN334G
SignalPin
CAN1_TXPD1
CAN1_RXPD0
CAN_SHDNPA15
CAN_STBYPD2

RS-485 Interface: ISL3170E
SignalPin
UART2_RXPD6
UART2_TXPD5
UART2_ENPD4

Radio Interface: CC1200

The CC1200 device is a fully integrated single-chip radio transceiver designed for high performance at very low-power and low-voltage operation in cost-effective wireless systems frequency bands at 164–192 MHz, 274–320 MHz, 410–480 MHz, and 820–960 MHz.

UHF(TX/RX) 420-470 MHz

SignalPin
UHF_SCK(SPI1)PA5
UHF_MISO(SPI1)P6
UHF_MOSI(SPI1)P7
UHF_CS(SPI1)PA4
UHF_GPIO2PC5
UHF_GPIO3PC4

VHF(TX/RX) 164-192 MHz

SignalPin
UHF_SCK(SPI4)PE12
UHF_MISO(SPI4)PE13
UHF_MOSI(SPI4)PE14
UHF_CS(SPI4)PE11
UHF_GPIO2PB10
UHF_GPIO3PE14
Solar Panel and Battery PCB

Solar charger PCB

Battery charger PCB

In this project, the BQ24650 solar charger is used together with an INA219A current sensor for photovoltaic (IPV) monitoring.

ParameterValue
Input Voltage (Vin)9V – 24V
MPPT Voltage (VMPPT)9V
Charge Voltage8.2V
Charge Current1.2A
Precharge Current125mA
Termination Current125mA
INA219A I2C Address0b1000010
SDA (I2C4)PD13
SCL (I2C4)PD12

Battery Pack & Protection

The system uses four RS PRO Li-Ion batteries configured in a 2S2P arrangement with the following specifications:

ParameterValue
Nominal Voltage3.60V
Capacity3500mAh
Maximum Charge Voltage4.20V
Energy12.60Wh
Operating Voltage4.20V – 2.50V
Cut-Off Voltage2.50V
Standard Charge MethodCC-CV
Standard Charge Current0.2C (0.7A)
Standard Charge Cut-Off Current0.02C (0.07A)
Maximum Continuous Charge Current1.0C (3.5A)
Standard Discharge Conditions
Temperature RangeDischarge Current
0°C – 10°C0.1C (0.35A)
10°C – 20°C0.2C (0.7A)
20°C – 45°C0.5C (1.75A)

The battery protection and monitoring system is based on the BQ76907 battery monitor IC and an INA219A current sensor.

ParameterValue
I2C Address (BQ76907)0b0001000 (default)
I2C Address (INA219A)0b1000000
SDA (I2C1)PB7
SCL (I2C1)PB6
Battery AlertPE2

Software

The software is developed using Zephyr RTOS.
The middleware architecture is described in the Software Documentation.


System Logic

We are developing the system based on Zephyr RTOS, using a multi-threaded architecture combined with Zephyr zbus for internal communication.

The application is structured around multiple independent threads that communicate through the zbus message bus system.

Key concepts:

  • Each module acts as a zbus publisher and/or subscriber
  • Data is exchanged through well-defined channels
  • This avoids tight coupling between components
  • Improves scalability and modularity of the system

Benefits of using zbus:

  • Decoupled architecture between threads
  • Clean publish/subscribe communication model
  • Easier debugging and tracing of data flow
  • Better maintainability for complex systems

Ground Station Communication

The ground station software is not yet implemented.
The current plan is to develop it using either:

  • Qt-based applications (for a custom GUI control station)
  • or existing SDR software tools for signal reception and analysis

Communication Mechanism

The communication between the system and the ground station is designed around a structured and layered protocol stack.

1. Physical & Link Layer

The system uses the AX.25 protocol as the primary data link layer.

AX.25 provides:

  • reliable packet framing
  • addressing capability (callsigns)
  • error detection (CRC)
  • compatibility with amateur radio / SDR systems

2. Packet Structure

All exchanged data is encapsulated in AX.25 frames containing:

  • payload data
  • message type identifier
  • optional sequence number
  • checksum (handled by AX.25 layer)

3. Command System

The ground station can send commands to the embedded system.

Commands are structured as:

  • command ID
  • optional parameters
  • target module (if applicable)

Examples of command types:

  • system control (start / stop / reset)
  • configuration update
  • request sensor data
  • debug / diagnostics requests

4. Internal Routing (zbus integration)

Incoming and outgoing messages are bridged into the internal zbus architecture.

Flow:

  • AX.25 frame received → decoded → converted to internal message
  • message published on zbus channel
  • relevant modules subscribe and react

5. Response System

The system responds using structured messages:

  • ACK / NACK for command validation
  • telemetry data packets
  • event notifications
  • status reports

All responses follow the same pipeline: zbus → encoder → AX.25 → ground station


6. Design Goals

This architecture is designed to ensure:

  • robustness over noisy RF links
  • modular separation between communication and logic
  • easy integration with SDR tools
  • future compatibility with different ground station implementations

Parts

172
QtyValueFootprintReferences
2647nCapacitor_SMD:C_0402_1005MetricC401, C402, C403, C404, C405, C407, C408, C409, C411, C413, C414, C415, C416, C501, C502, C503 +10
170.1uCapacitor_SMD:C_0402_1005MetricC205, C301, C302, C305, C308, C309, C310, C311, C312, C313, C314, C601, C603, C604, C605, C606 +1
92.5kResistor_SMD:R_0402_1005MetricR302, R303, R304, R307, R308, R605, R606, R607, R610
410nCapacitor_SMD:C_0402_1005MetricC410, C423, C510, C523
412pCapacitor_SMD:C_0402_1005MetricC519, C520, C522, C524
449Resistor_SMD:R_0402_1005MetricR601, R602, R608, R609
4MountingHole_PadMountingHole:MountingHole_2.2mm_M2_PadH301, H302, H303, H304
4TBTCapacitor_SMD:C_0402_1005MetricC427, C428, C528, C529
3100kResistor_SMD:R_0402_1005MetricR301, R612, R613
3100pCapacitor_SMD:C_0402_1005MetricC425, C521, C525
310uCapacitor_SMD:C_0402_1005MetricC203, C204, C208
34.7uCapacitor_SMD:C_0603_1608MetricC201, C202, C207
35.1kResistor_SMD:R_0402_1005MetricR309, R310, R402
3LEDLED_SMD:LED_0402_1005MetricD201, D202, D401
215nInductor_SMD:L_0402_1005MetricL405, L406
218pCapacitor_SMD:C_0402_1005MetricC304, C306
21kResistor_SMD:R_0402_1005MetricR203, R204
21n8Capacitor_SMD:C_0402_1005MetricC417, C517
21uCapacitor_SMD:C_0402_1005MetricC206, C209
2220nCapacitor_SMD:C_0402_1005MetricC406, C506
222pCapacitor_SMD:C_0402_1005MetricC412, C512
227nInductor_SMD:L_0402_1005MetricL403, L404
24.7uCapacitor_SMD:C_0402_1005MetricC307, C602
256kResistor_SMD:R_0402_1005MetricR401, R501
256nInductor_SMD:L_0402_1005MetricL401, L402
25p1Capacitor_SMD:C_0402_1005MetricC419, C420
260Resistor_SMD:R_0402_1005MetricR603, R604
282nInductor_SMD:L_0402_1005MetricL503, L504
2ANTConnector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_VerticalJ401, J501
2CC1200Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mmU401, U501
2Conn_02x26_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x26_P2.54mm_VerticalJ101, J102
2TBTInductor_SMD:L_0402_1005MetricL409, L509
2TG2520SMN-40MHzCrystal:Crystal_SMD_WE_CFPX-218-4Pin_2.5x2.0mmY401, Y501
1100nInductor_SMD:L_0402_1005MetricL507
110kResistor_SMD:R_0402_1005MetricR201
1120Resistor_SMD:R_0402_1005MetricR611
1150nInductor_SMD:L_0402_1005MetricL502
115pCapacitor_SMD:C_0402_1005MetricC526
118Resistor_SMD:R_0402_1005MetricR403
118nInductor_SMD:L_0402_1005MetricL505
11p2Capacitor_SMD:C_0402_1005MetricC527
12.2uCapacitor_SMD:C_0402_1005MetricC303
122Resistor_SMD:R_0402_1005MetricR503
1220nInductor_SMD:L_0402_1005MetricL501
122nInductor_SMD:L_0402_1005MetricL408
12p2Capacitor_SMD:C_0402_1005MetricC422
13.34kResistor_SMD:R_0402_1005MetricR202
139nInductor_SMD:L_0402_1005MetricL506
139pCapacitor_SMD:C_0402_1005MetricC418
143nInductor_SMD:L_0402_1005MetricL407
147uCapacitor_SMD:C_0402_1005MetricC210
156pCapacitor_SMD:C_0402_1005MetricC421
15P1Capacitor_SMD:C_0402_1005MetricC424
168nInductor_SMD:L_0402_1005MetricL508
16p2Capacitor_SMD:C_0402_1005MetricC426
18.2uInductor_SMD_Wurth:L_Wurth_WE-LQSH-2010L201
182pCapacitor_SMD:C_0402_1005MetricC518
18MHzCrystal:Crystal_SMD_2520-4Pin_2.5x2.0mmX301
1BOOTButton_Switch_SMD:SW_SPST_CK_KMS2xxGPSW301
1Back upConnector_JST:JST_XH_S2B-XH-A_1x02_P2.50mm_HorizontalBT201
1BattConnector_JST:JST_ZH_B4B-ZR_1x04_P1.50mm_VerticalJ103
1FM24CL64BPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU602
1ISL3178EPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU604
1JTAG_SWDConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_VerticalJ301
1LED1LED_SMD:LED_0402_1005MetricD301
1LED2LED_SMD:LED_0402_1005MetricD302
1LED3LED_SMD:LED_0402_1005MetricD303
1LMR51430Package_TO_SOT_SMD:SOT-23-6U201
1LOGOlogo:PollelTechG***
1RESETButton_Switch_SMD:SW_SPST_CK_KMS2xxGPSW302
1RV-8803-C7Package_SON:MicroCrystal_C7_SON-8_1.5x3.2mm_P0.9mmU606
1STM32H7B0VBTxPackage_QFP:LQFP-100_14x14mm_P0.5mmU301
1TCAN334GPackage_TO_SOT_SMD:TSOT-23-8U601
1TMP112xxDRLPackage_TO_SOT_SMD:SOT-563U605
1TPS2116DRLPackage_TO_SOT_SMD:SOT-583-8U202
1TPS7A4701xRGWPackage_DFN_QFN:Texas_RGW0020A_VQFN-20-1EP_5x5mm_P0.65mm_EP3.15x3.15mm_ThermalViasU203
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ302

More from Aliou8/SAHEL-SPECTRA-RF

2
  • 2 layers90 × 90 mmSahel solar, the printed circuit board in 3D

    Sahel solar

    Aliou8/SAHEL-SPECTRA-RF

    CubeSat for educational purposes. It is based on an STM32H7 MCU for data handling and uses two CC1125 radios for communication. The software is developed using a Zephyr-like RTOS.

    59 parts2GPL-3.0
  • 2 layers90 × 90 mmSahel battery, the printed circuit board in 3D

    Sahel battery

    Aliou8/SAHEL-SPECTRA-RF

    CubeSat for educational purposes. It is based on an STM32H7 MCU for data handling and uses two CC1125 radios for communication. The software is developed using a Zephyr-like RTOS.

    41 parts2GPL-3.0

Similar boards

  • 2 layers136 × 58 mmImxrt1020-board, the printed circuit board in 3D

    Imxrt1020-board

    martinribelotta/imxrt1020-module

    iMX RT 1020 CPU module

    141 parts37BSD-3-Clause
  • 2 layers75 × 110 mmNeoPLC, the printed circuit board in 3D

    NeoPLC

    ukaratas/NeoPLC

    Moduler PLC

    39 parts
  • 2 layers60 × 68.7 mmPlayer, the printed circuit board in 3D

    Player

    kholia/mShuffle

    https://rfcorner.in/posts/rethinking-tangara-music-player/

    35 parts2
  • 2 layers100 × 54 mmMs2-card, the printed circuit board in 3D

    Ms2-card

    ST-Oldie/Lokkarten-Emulator

    Emulator für eine Märklin MS2 Lokkarte, Firmware und Kopie der Hardware von GBert

    63 parts1GPL-3.0
  • 4 layers320 × 80 mmRelay Unit, the printed circuit board in 3D

    Relay Unit

    Tuskar-Marine/hardware

    All tools for the Mermaid's Rest open sailing tools

    142 parts6
  • 2 layers46 × 84 mmVocore breakout, the printed circuit board in 3D

    Vocore breakout

    electroniceel/vocore2-breakout

    Breakout-board for the VoCore2

    88 parts11CC-BY-4.0
  • 2 layers83.5 × 45 mmArducon, the printed circuit board in 3D

    Arducon

    OpenARDF/Arducon

    A transmitter controller for Amateur Radio Direction Finding (ARDF). Based on the Arduino Pro Mini.

    114 parts7MIT
  • 2 layers65 × 25 mmWcc, the printed circuit board in 3D

    Wcc

    meerstern/Usb_Camera_Converter

    usb web camera converter with PIC32MZ

    63 parts2

Questions

How big is the Sahel pcb PCB?

It measures 90 × 90 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Sahel pcb use?

172 parts, built around the CC1200RHB, TCAN334GD, FM24CL64B-G and ISL3178EIBZ. 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 Sahel pcb KiCad files?

From the Aliou8/SAHEL-SPECTRA-RF repository on GitHub, at the commit this page was made from: the board is hardware/sahel_pcb_main/sahel_pcb.kicad_pcb and its schematic hardware/sahel_pcb_battery/sahel_battery.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Sahel pcb design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).