Includes: - Backend services: ingestion (:8001), weather API (:8002), gateway (:8003), billing (:8004) with BTCPay integration - Shared asyncpg pool, TimescaleDB hypertable, Redis, Mosquitto MQTT - React frontend: Dashboard (MapLibre) and Messaging (chat UI) - Bridge daemon for Pi + Meshtastic (Serial/TCP T-Deck support) - Production Docker Compose, Nginx reverse proxy, ops scripts - DEPLOY.md with step-by-step deployment guide
Hardware
This directory contains all hardware designs, schematics, BOMs, and mechanical files for the KosmoConnect project.
Directory Structure
hardware/
├── enviro-node/ # Solar-powered environmental station
│ ├── pcb/ # KiCad / EasyEDA project files
│ ├── enclosure/ # 3D models, STL files, mounting hardware
│ ├── sensors/ # Sensor datasheets, integration notes
│ ├── power/ # Solar panel, battery, charge controller specs
│ └── bom/ # Bill of materials, sourcing guides
├── infrastructure-node/ # Bridge node hardware (may be off-the-shelf)
│ ├── off-the-shelf/ # Recommended COTS devices (T-Beam, RAK, etc.)
│ └── custom/ # Optional custom bridge PCB designs
└── common/ # Shared libraries, footprints, symbols
├── kicad-libs/
└── 3d-models/
Enviro-Node Hardware Overview
Brain
- Option A: ESP32-S3-WROOM-1 (dual-core, WiFi/BT if needed, good dev ecosystem)
- Option B: nRF52840 (lower power, native Meshtastic support, harder dev)
Decision: Start with ESP32-S3 for rapid development; evaluate nRF52840 for v2 power optimization.
Radio
- Semtech SX1262 (915 MHz NA / 868 MHz EU / 433 MHz regions)
- TCXO for stability across temperatures
- External antenna (SMA or u.FL)
Sensors (v1)
- BME680: Temperature, humidity, pressure, VOC/gas
- SPS30: Particulate matter (PM1.0, PM2.5, PM4.0, PM10)
- Anemometer: Davis 6410 or custom 3-cup + wind vane
- Rain gauge: Optional tipping bucket (WH-SP-RG)
Power System
- Solar Panel: 10W monocrystalline
- Battery: 3.2V 32700 LiFePO4 6000mAh (safer than LiPo for outdoor unattended)
- Charge Controller: Custom MPPT or CN3791-based board
- Power Management: TPS63001 buck-boost, load switches for sensors
Enclosure
- Polycarbonate or ABS outdoor enclosure
- Solar panel mounted on lid or external pole
- Glands for antenna and sensor cables
- Passive ventilation for accurate T/H readings
Power Budget (v1 Estimate)
| Component | Active Current | Sleep Current | Duty Cycle | Daily mAh |
|---|---|---|---|---|
| ESP32-S3 | 80mA | 15µA | 1% | ~22 |
| SX1262 | 10mA TX | 0.5µA | 0.1% | ~1 |
| BME680 | 3mA | 0.15µA | 1% | ~1 |
| SPS30 | 60mA | 0mA | 1% | ~15 |
| Anemometer | 0mA (passive) | 0mA | 100% | 0 |
| Quiescent | - | 0.5mA | 99% | ~12 |
| Total | ~51 mAh/day |
A 10W panel in winter (2h effective sun) produces ~400mAh/day. A 6000mAh battery provides ~80 days of autonomy. This is viable but tight; v2 will aggressively optimize sleep current.
Recommended Infrastructure Node Hardware
For rapid deployment, use off-the-shelf Meshtastic devices:
- LILYGO T-Beam 868/915MHz + ESP32 (good for WiFi/LTE backhaul)
- RAKwireless WisGate Edge Lite 2 (if building a dedicated gateway)
- Raspberry Pi 4 + RAK2287 HAT (for a more powerful Linux-based bridge)
Design Files
- Enviro-Node v1 BOM (placeholder)
- Power Budget Spreadsheet (placeholder)
- Enclosure Assembly Guide (placeholder)