spacebridgehabpcb

Public

eigenlucy/spacebridgehabpcb

Download board files

Files for version 1. Choose the source project or an available generated package.

Source package

Original hardware design source archive

Original KiCad project zip30 KB

Fabrication package

Gerbers and drill, pick-and-place, DRC report, and the 3D model

Gerbers and drill zip45 KBPick and place (CSV)367 B3D board only (GLB)456 KB3D model (GLB)477 KB

Review package

Schematics, PCB views, BOM, and extracted files

PCB SVG155 KBBoard render29 KBPCB B.CrtYd745 BPCB B.Cu738 BPCB B.Fab739 B

Share spacebridgehabpcb

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

SpaceBridge HAB PCB

High Altitude Balloon (HAB) PCB Tracker with cutdown mechanism, GPS, environmental monitoring, LoRa telemetry and particle detection capabilities.

Created by Lucy Moglia [email protected]

Table of Contents

Overview

The SpaceBridge HAB PCB is a comprehensive tracking and instrumentation system for high altitude balloon experiments. It integrates multiple subsystems including power management, telemetry, GPS tracking, environmental monitoring, and a particle counter based on CERN open source hardware.

Project Structure

ModuleSource FilePCB LayoutDescription
Mainboardmainboard.atolayouts/default/default.kicad_pcbFinal PCB incorporating all submodules
MicroMPPTmicromppt/elec/src/micromppt.atomicromppt/elec/layout/default/micromppt.kicad_pcb5W MPPT battery charger with embedded set point adjustment algorithm
Particle Counterparticle_counter.atolayouts/particle-counter/particle-counter.kicad_pcbAlpha particle detector based on CERN open source hardware kit
Cutoff Mechanismcutoff.atolayouts/cutoff/cutoff.kicad_pcbBalloon cutoff circuit using lithium hybrid supercapacitor discharging through nichrome wire
BQ24045DSQR BMSbq24045dsqr/elec/src/bq24045dsqr.atobq24045dsqr/elec/layout/default/bq24045dsqr.kicad_pcb5V 1A single cell LiPo/Li-ion charger + BMS
TPS63020DSJR~/.ato/modules/tps63020dsjr/elec/src/tps63020dsjr.ato~/.ato/modules/tps63020dsjr/elec/layout/tps63020dsjr.kicad_pcb1.8V-5.5V In/Out 4A boost-buck converter (5V from Vbat)

Block Diagram

Original Block Diagram

Block Diagram

Mermaid Diagram

graph TD
    %% Power System
    Solar["Solar Panel"] --> MPPT["SPV1040 MicroMPPT"]
    MPPT --> BattProt["UVP/OCP/OVP Battery Protection"]
    BattProt --- Battery["LTO Battery"]
    BattProt --> BoostBuck["TPS63020 Boost-Buck"]
    BoostBuck --> Power5V["5V Power Rail"]

    %% ESP32 Microcontroller (Central)
    ESP32["ESP32-S3"]

    %% 5V Devices
    Power5V --> LoRa["E22-900M30S/SX1262 LoRa Module"]
    Power5V --> ParticleCounter["CERN DIY Particle Counter"]
    Power5V --> CutoffSystem["Cutoff System"]

    %% Cutoff System Components
    CutoffSystem --> Supercap["3.5V Low ESR Supercap"]
    CutoffSystem --> Nichrome["Nichrome Wire ~20Ω"]
    CutoffSystem --> TIP120["TIP120 NPN Darlington"]

    %% I2C Devices (3.3V)
    ESP32 -- I2C/IO6+IO7 --> OLED["SSD1306 128x32 OLED"]
    ESP32 -- I2C/IO6+IO7 --> BME680["BME680 Sensor"]
    ESP32 -- I2C/IO6+IO7 --> GPS["ATGM336H GNSS/GPS"]

    %% SPI Connections
    ESP32 -- SPI/IO10-13 --> LoRa

    %% GPIO Connections
    ESP32 -- GPIO0 --> Supercap["SC_GATE (Supercap Control)"]
    ESP32 -- GPIO1 --> TIP120["CUTOFF_GATE (Nichrome Control)"]

    %% ADC Connections
    ParticleCounter -- ADC/GPIO2 --> ESP32

    %% Antenna
    LoRa --- Antenna["915MHz LoRa Antenna (30dBm TX max)"]

    %% Styling
    classDef power fill:#f96,stroke:#333,stroke-width:2px
    classDef sensor fill:#bbf,stroke:#333,stroke-width:1px
    classDef communication fill:#f9f,stroke:#333,stroke-width:1px
    classDef controller fill:#9f6,stroke:#333,stroke-width:2px

    class Solar,MPPT,BattProt,Battery,BoostBuck,Power5V,Supercap power
    class BME680,ParticleCounter,GPS sensor
    class LoRa,Antenna,OLED communication
    class ESP32 controller

Features

  • Power Management: Solar charging with MPPT, battery protection and 5V regulation
  • Communication: 915MHz LoRa radio for long-range telemetry (30dBm TX max)
  • Positioning: ATGM336H GNSS/GPS module
  • Sensors:
    • BME680 temperature/humidity/pressure/gas sensor
    • CERN DIY particle counter for radiation detection
  • Display: SSD1306 128x32 OLED screen
  • Control: ESP32-S3 microcontroller
  • Recovery: Nichrome wire cutdown mechanism for payload separation

Getting Started

Building the Project

  1. Clone the required submodules

    git submodule update --init --recursive
    
  2. Build the project to select components based on JLCPCB availability

    ato build -t all
    
  3. Complete/review the layout with KiCad Standalone PCB editor

  4. Gerbers/PCBA files are generated through an Actions run on a commit

Installation

Linux Installation

  1. Install uv

  2. Install KiCad with your preferred package manager (apt for Debian, pacman for Arch, etc.)

  3. Install atopile as a tool with uv (Python 3.13.2 recommended):

    uv tool install atopile
    

    Alternative installation method:

    1. Clone the main atopile repo
    2. Remove the uv lock file:
      rm uv.lock
      
    3. Sync repo to dev release:
      uv sync --dev
      
    4. Compile atopile:
      uv build
      
    5. Install the binary:
      uv tool install atopile-0.3.XX-cp313-cp313-linux-_x86_64.whl
      
    6. Add the uv tools binary directory to your PATH (command depends on your shell, e.g., with fish):
      fish_add_path /home/user/.local/share/uv/tools/atopile/
      
  4. Check your version:

    ato --version
    
  5. Configure the atopile plugin:

    ato configure
    

Mac Installation

  1. Install Homebrew
  2. Install KiCad 9:
    brew install --cask kicad
    
  3. Install atopile with Homebrew:
    brew install atopile/tap/atopile
    
  4. Configure the atopile plugin:
    ato configure
    

Visual Studio Code/Cursor Extension Install

Install the atopile extension into Cursor or Visual Studio Code.

Comments

No comments yet. Be the first to ask about this board.

Askabout this board