
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.

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.
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.
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 |
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 |
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.
![]() Architectural Diagram of the Radio and OBC PCB |
![]() Radio and OBC PCB |
STM32H7B0VBTx
High-performance Arm Cortex-M7 MCU with DSP and DP-FPU, 128 KB Flash, 1,376 KB SRAM, up to 280 MHz.
| Parameter | Value |
|---|---|
| Memory | 64-Kbit (8K × 8) |
| I2C Address | 0b1010000 |
| SDA (I2C3) | PC9 |
| SCL (I2C3) | PA8 |
| Write Protect | PC5 |
Accelerometer, Gyroscope, and Magnetometer: LSM9DS1
Barometer: BMP388
| Parameter | Value |
|---|---|
| I2C Address (ACC/GYRO) | 0b1101011 |
| I2C Address (MAG) | 0b0011110 |
| I2C Address (BARO) | 0b1110111 |
| SDA (I2C4) | PD13 |
| SCL (I2C4) | PD12 |
| INT_ACC/GYRO | PE8 |
| DRDY_MAG | PE7 |
| DRDY_BARO | PB2 |
RTC: RV-8803-C7
TEMP: TMP100
| Parameter | Value |
|---|---|
| RTC I2C Address | 0b0110010 |
| TEMP I2C Address | 0b1001000 |
| SDA (I2C1) | PB7 |
| SCL (I2C1) | PB6 |
| RTC_INT | PB5 |
| RTC_EVI | PB4 |
| Signal | Pin |
|---|---|
| CAN1_TX | PD1 |
| CAN1_RX | PD0 |
| CAN_SHDN | PA15 |
| CAN_STBY | PD2 |
| Signal | Pin |
|---|---|
| UART2_RX | PD6 |
| UART2_TX | PD5 |
| UART2_EN | PD4 |
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
| Signal | Pin |
|---|---|
| UHF_SCK(SPI1) | PA5 |
| UHF_MISO(SPI1) | P6 |
| UHF_MOSI(SPI1) | P7 |
| UHF_CS(SPI1) | PA4 |
| UHF_GPIO2 | PC5 |
| UHF_GPIO3 | PC4 |
VHF(TX/RX) 164-192 MHz
| Signal | Pin |
|---|---|
| UHF_SCK(SPI4) | PE12 |
| UHF_MISO(SPI4) | PE13 |
| UHF_MOSI(SPI4) | PE14 |
| UHF_CS(SPI4) | PE11 |
| UHF_GPIO2 | PB10 |
| UHF_GPIO3 | PE14 |
![]() 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.
| Parameter | Value |
|---|---|
| Input Voltage (Vin) | 9V – 24V |
| MPPT Voltage (VMPPT) | 9V |
| Charge Voltage | 8.2V |
| Charge Current | 1.2A |
| Precharge Current | 125mA |
| Termination Current | 125mA |
| INA219A I2C Address | 0b1000010 |
| SDA (I2C4) | PD13 |
| SCL (I2C4) | PD12 |
The system uses four RS PRO Li-Ion batteries configured in a 2S2P arrangement with the following specifications:
| Parameter | Value |
|---|---|
| Nominal Voltage | 3.60V |
| Capacity | 3500mAh |
| Maximum Charge Voltage | 4.20V |
| Energy | 12.60Wh |
| Operating Voltage | 4.20V – 2.50V |
| Cut-Off Voltage | 2.50V |
| Standard Charge Method | CC-CV |
| Standard Charge Current | 0.2C (0.7A) |
| Standard Charge Cut-Off Current | 0.02C (0.07A) |
| Maximum Continuous Charge Current | 1.0C (3.5A) |
| Temperature Range | Discharge Current |
|---|---|
| 0°C – 10°C | 0.1C (0.35A) |
| 10°C – 20°C | 0.2C (0.7A) |
| 20°C – 45°C | 0.5C (1.75A) |
The battery protection and monitoring system is based on the BQ76907 battery monitor IC and an INA219A current sensor.
| Parameter | Value |
|---|---|
| I2C Address (BQ76907) | 0b0001000 (default) |
| I2C Address (INA219A) | 0b1000000 |
| SDA (I2C1) | PB7 |
| SCL (I2C1) | PB6 |
| Battery Alert | PE2 |
The software is developed using Zephyr RTOS.
The middleware architecture is described in the Software Documentation.
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.
The ground station software is not yet implemented.
The current plan is to develop it using either:
The communication between the system and the ground station is designed around a structured and layered protocol stack.
The system uses the AX.25 protocol as the primary data link layer.
AX.25 provides:
All exchanged data is encapsulated in AX.25 frames containing:
The ground station can send commands to the embedded system.
Commands are structured as:
Examples of command types:
Incoming and outgoing messages are bridged into the internal zbus architecture.
Flow:
The system responds using structured messages:
All responses follow the same pipeline: zbus → encoder → AX.25 → ground station
This architecture is designed to ensure:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 47n | Capacitor_SMD:C_0402_1005Metric | C401, C402, C403, C404, C405, C407, C408, C409, C411, C413, C414, C415, C416, C501, C502, C503 +10 |
| 17 | 0.1u | Capacitor_SMD:C_0402_1005Metric | C205, C301, C302, C305, C308, C309, C310, C311, C312, C313, C314, C601, C603, C604, C605, C606 +1 |
| 9 | 2.5k | Resistor_SMD:R_0402_1005Metric | R302, R303, R304, R307, R308, R605, R606, R607, R610 |
| 4 | 10n | Capacitor_SMD:C_0402_1005Metric | C410, C423, C510, C523 |
| 4 | 12p | Capacitor_SMD:C_0402_1005Metric | C519, C520, C522, C524 |
| 4 | 49 | Resistor_SMD:R_0402_1005Metric | R601, R602, R608, R609 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_Pad | H301, H302, H303, H304 |
| 4 | TBT | Capacitor_SMD:C_0402_1005Metric | C427, C428, C528, C529 |
| 3 | 100k | Resistor_SMD:R_0402_1005Metric | R301, R612, R613 |
| 3 | 100p | Capacitor_SMD:C_0402_1005Metric | C425, C521, C525 |
| 3 | 10u | Capacitor_SMD:C_0402_1005Metric | C203, C204, C208 |
| 3 | 4.7u | Capacitor_SMD:C_0603_1608Metric | C201, C202, C207 |
| 3 | 5.1k | Resistor_SMD:R_0402_1005Metric | R309, R310, R402 |
| 3 | LED | LED_SMD:LED_0402_1005Metric | D201, D202, D401 |
| 2 | 15n | Inductor_SMD:L_0402_1005Metric | L405, L406 |
| 2 | 18p | Capacitor_SMD:C_0402_1005Metric | C304, C306 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R203, R204 |
| 2 | 1n8 | Capacitor_SMD:C_0402_1005Metric | C417, C517 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric | C206, C209 |
| 2 | 220n | Capacitor_SMD:C_0402_1005Metric | C406, C506 |
| 2 | 22p | Capacitor_SMD:C_0402_1005Metric | C412, C512 |
| 2 | 27n | Inductor_SMD:L_0402_1005Metric | L403, L404 |
| 2 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C307, C602 |
| 2 | 56k | Resistor_SMD:R_0402_1005Metric | R401, R501 |
| 2 | 56n | Inductor_SMD:L_0402_1005Metric | L401, L402 |
| 2 | 5p1 | Capacitor_SMD:C_0402_1005Metric | C419, C420 |
| 2 | 60 | Resistor_SMD:R_0402_1005Metric | R603, R604 |
| 2 | 82n | Inductor_SMD:L_0402_1005Metric | L503, L504 |
| 2 | ANT | Connector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_Vertical | J401, J501 |
| 2 | CC1200 | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.45x3.45mm | U401, U501 |
| 2 | Conn_02x26_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x26_P2.54mm_Vertical | J101, J102 |
| 2 | TBT | Inductor_SMD:L_0402_1005Metric | L409, L509 |
| 2 | TG2520SMN-40MHz | Crystal:Crystal_SMD_WE_CFPX-218-4Pin_2.5x2.0mm | Y401, Y501 |
| 1 | 100n | Inductor_SMD:L_0402_1005Metric | L507 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R201 |
| 1 | 120 | Resistor_SMD:R_0402_1005Metric | R611 |
| 1 | 150n | Inductor_SMD:L_0402_1005Metric | L502 |
| 1 | 15p | Capacitor_SMD:C_0402_1005Metric | C526 |
| 1 | 18 | Resistor_SMD:R_0402_1005Metric | R403 |
| 1 | 18n | Inductor_SMD:L_0402_1005Metric | L505 |
| 1 | 1p2 | Capacitor_SMD:C_0402_1005Metric | C527 |
| 1 | 2.2u | Capacitor_SMD:C_0402_1005Metric | C303 |
| 1 | 22 | Resistor_SMD:R_0402_1005Metric | R503 |
| 1 | 220n | Inductor_SMD:L_0402_1005Metric | L501 |
| 1 | 22n | Inductor_SMD:L_0402_1005Metric | L408 |
| 1 | 2p2 | Capacitor_SMD:C_0402_1005Metric | C422 |
| 1 | 3.34k | Resistor_SMD:R_0402_1005Metric | R202 |
| 1 | 39n | Inductor_SMD:L_0402_1005Metric | L506 |
| 1 | 39p | Capacitor_SMD:C_0402_1005Metric | C418 |
| 1 | 43n | Inductor_SMD:L_0402_1005Metric | L407 |
| 1 | 47u | Capacitor_SMD:C_0402_1005Metric | C210 |
| 1 | 56p | Capacitor_SMD:C_0402_1005Metric | C421 |
| 1 | 5P1 | Capacitor_SMD:C_0402_1005Metric | C424 |
| 1 | 68n | Inductor_SMD:L_0402_1005Metric | L508 |
| 1 | 6p2 | Capacitor_SMD:C_0402_1005Metric | C426 |
| 1 | 8.2u | Inductor_SMD_Wurth:L_Wurth_WE-LQSH-2010 | L201 |
| 1 | 82p | Capacitor_SMD:C_0402_1005Metric | C518 |
| 1 | 8MHz | Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm | X301 |
| 1 | BOOT | Button_Switch_SMD:SW_SPST_CK_KMS2xxGP | SW301 |
| 1 | Back up | Connector_JST:JST_XH_S2B-XH-A_1x02_P2.50mm_Horizontal | BT201 |
| 1 | Batt | Connector_JST:JST_ZH_B4B-ZR_1x04_P1.50mm_Vertical | J103 |
| 1 | FM24CL64B | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U602 |
| 1 | ISL3178E | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U604 |
| 1 | JTAG_SWD | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical | J301 |
| 1 | LED1 | LED_SMD:LED_0402_1005Metric | D301 |
| 1 | LED2 | LED_SMD:LED_0402_1005Metric | D302 |
| 1 | LED3 | LED_SMD:LED_0402_1005Metric | D303 |
| 1 | LMR51430 | Package_TO_SOT_SMD:SOT-23-6 | U201 |
| 1 | LOGO | logo:PollelTech | G*** |
| 1 | RESET | Button_Switch_SMD:SW_SPST_CK_KMS2xxGP | SW302 |
| 1 | RV-8803-C7 | Package_SON:MicroCrystal_C7_SON-8_1.5x3.2mm_P0.9mm | U606 |
| 1 | STM32H7B0VBTx | Package_QFP:LQFP-100_14x14mm_P0.5mm | U301 |
| 1 | TCAN334G | Package_TO_SOT_SMD:TSOT-23-8 | U601 |
| 1 | TMP112xxDRL | Package_TO_SOT_SMD:SOT-563 | U605 |
| 1 | TPS2116DRL | Package_TO_SOT_SMD:SOT-583-8 | U202 |
| 1 | TPS7A4701xRGW | Package_DFN_QFN:Texas_RGW0020A_VQFN-20-1EP_5x5mm_P0.65mm_EP3.15x3.15mm_ThermalVias | U203 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J302 |

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.

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.




ST-Oldie/Lokkarten-Emulator
Emulator für eine Märklin MS2 Lokkarte, Firmware und Kopie der Hardware von GBert



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

It measures 90 × 90 mm and has 4 copper layers, 1.6 mm thick.
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.
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.
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).