Skip to the content
2 layers56 × 75 mmSurvivornode, the printed circuit board in 3D

reverie hacks submission

Size
56 × 75 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
40
Pads
105
Tracks, vias
264, 16
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Aug 2026
Updated
7 Aug 2026

Overview

Survivornode is an open-source printed circuit board by aneeshlingala, from the aneeshlingala/FirstResponderSystem repository on GitHub. It is a 2-layer board of 56 × 75 mm with 16 parts on 40 nets, routed with 264 tracks and 16 vias.

It is built around the MLX90640ESF-BAA-000-TU, ADXL345BCCZ-RL7 and AP2112K-3.3TRG1, with the HLK-LD2410C, RFM95W-915S2 and S2B-PH-K-S(LF)(SN) among its other parts. Its parts include 9 ICs, 1 capacitor and 1 inductor. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

12

README

readme.md

Tech Report Link: https://github.com/aneeshlingala/FirstResponderSystem/blob/main/tech_report_reverie_hacks_final.pdf

PROBLEM

During major disasters, first responders (police, fire, medical) do not have a reliable way to track their environment, find survivors, and receive information in real time. Existing systems can be expensive, hard to deploy, or require additional personnel to operate, wasting manpower that can be used from more urgent tasks.

SOLUTION

The FirstResponderSystem uses cheap to manufacture, durable, and easy-to-deploy custom-made PCBs that create a centralized long-range radio network suited for emergencies instead of relying on broken or buggy connection systems (WiFi, Mobile Data, etc). By providing real-time sensor data and survivor detection, FirstResponderSystem allows emergency personnel to analyze dangerous conditions, locate any survivors, and make safe decisions while allowing responders to work on more urgent things. The data can also be sent to other organizations to relay information to people in the area, declare evacuations/emergencies, and more. The survivor node can be put in rubble to detect survivors, while the environmental node can be put in various parts of the disaster area. Multiple survivor and environmental nodes can be used at once.

CONTENTS OF GITHUB REPO

  1. Survivor PCB

    • This PCB utilizes the cheap ATTINY16-14 MCU and utilizes Doppler Radars, Distance Sensors, and Infrared cameras to detect survivors trapped under rubble or other items. It broadcasts its data using an RFM95W LoRa transceiver (receiver and transmitter) on 915mHz. It is battery powered and uses a u.FL port for the antenna.
  2. Environmental PCB

    • This PCB utilizes the cost-friendly ESP32 MCU and uses Bosch BME280 and BME680 Sensors to capture data about the environment. It also uses AQI, VOC, and other environmental sensors. It broadcasts its data using an RFM95W LoRa module on 915mHz, with a u.FL antenna port. It is battery powered.
  3. Broadcast PCB

    • This PCB uses the cheap ATTINY16-14 MCU and receives data from the other two PCBS using the RFM95W LoRa transceiver. It takes the information received and sends it over Serial on Micro-USB to a computer to read. It is powered by the Micro-USB port.
  4. Computer Software

    • The computer software includes a .py file for universal execution, as well as a .exe file generated by py2exe for quick use. The software is able to detect packets sent by the Broadcast PCB over serial and has an interface to select the COM port to read from. Once detected, it lists all the PCBS and shows info if you click on the names of the PCBS. It classifies the PCB as either ENV (environmental) or SRV (survivor detection). It shows all the info recorded by both PCBS. There is also a DEMO mode, which populates the user interface with "fake" broadcasting PCBS for showing at events or getting used to the interface.

INFO

The PCBS were made in KiCAD 10 with footprints and symbols from LCSC, bundled KiCAD files, and SnapEDA.

All of the PCBS come with images:

  • Image of the schematic
  • Image of the PCB top-down
  • Image of the PCB in 3D view

All of the PCBS come with code made in PlatformIO in VSCode. The programming language used to make the code is C++. The code successfully compiles with the firmware file in the .pio/build/[MCU NAME]/ and uses a good amount of 3rd-party libraries to interface with various components.

The folders inside the survivornode, broadcastnode, or environmental node are structured as follows:

  • The pcb_code folder includes the PCB Code written in C++.
  • The pcb_images folder includes images of the schematic, PCB top-down, and the PCB in 3D.
  • The pcb_data folder includes KiCAD files for opening the PCB in KiCAD. It also includes the Bill of Materials (BOM) and component positions CSV as well as the Gerber files in a zip.

The computer_code folder has a reciever.exe file for running on Windows without any dependencies being required to be installed. The reciever.py file can be run universally and requires Tkinter (already installed on most Python distributions), pyserial, and Python 3.13+ to run.

WHAT I LEARNED

I learned how to make PCBs in KiCad 10 with proper symbols and footprints. I also learned how to use the design and electrical rules checker to make sure my project met all of the rules.

CHALLENGES I FACED

Some challenges I faced included having issues with footprint/symbol quality, finding proper footprints for some of my component choices, and exporting gerbers. I solved these issues by searching up solutions online and using external plugins to export gerbers properly since it was bugged out with LCSC symbols.

DIAGRAM

DiagramFirstResponderSystem

Parts

16
QtyValueFootprintReferences
1ADXL345BCCZ-RL7easyeda2kicad:LGA-14_L5.0-W3.0-P0.80-BLU4
1AP2112K-3.3TRG1easyeda2kicad:SOT-25-5_L2.9-W1.6-P0.95-LS2.8-BLU9
1ATTINY1614-SSNReasyeda2kicad:SOIC-14_L8.7-W3.9-P1.27-LS6.0-BLU1
1CL10A105KB8NNNCeasyeda2kicad:C0603C1
1FNR3015S2R2MTeasyeda2kicad:IND-SMD_L3.0-W3.0_FNR30XXSL1
1HLK-LD2410CHLK-LD2410C:MODULE_HLK-LD2410CU3
1Header-Male-2.54_1x3easyeda2kicad:HDR-TH_3P-P2.54-V-M-1H1
1MICRO5.9MMUSBeasyeda2kicad:MICRO-USB-SMD_5P-P0.65-H-F_MICRO5.9MMUSBUSB1
1MLX90640ESF-BAA-000-TUMLX90640ESF-BAA-000-TU:TO292P930H600-4A1
1RCWL-0516RCWL-0516:RCWL-0516SNS1
1RFM95W-915S2easyeda2kicad:WIRELM-SMD_16P-L16.0-W16.0-P2.00_LORA-CC68-915MHZ-TCXOU5
1S2B-PH-K-Seasyeda2kicad:CONN-TH_S2B-PH-K-S-LF-SNU7
1TP4056easyeda2kicad:ESOP-8_L4.9-W3.9-P1.27-LS6.0-BL-EPU8
1TPS61023DRLReasyeda2kicad:SOT-563_L1.6-W1.2-P0.50-LS1.6-BRU2
1U.FL-R-SMT-1easyeda2kicad:ANT-SMD_UFL-R-SMT-1-10JP1
1YZA-032-5.0Weasyeda2kicad:SW-SMD_L6.0-W3.5-LS8.0U6

More from aneeshlingala/FirstResponderSystem

2
  • 2 layers0.5 × 31.1 mmEnvinode, the printed circuit board in 3D

    Envinode

    aneeshlingala/FirstResponderSystem

    reverie hacks submission

    14 parts
  • 2 layers36 × 34.8 mmBroadcastnode, the printed circuit board in 3D

    Broadcastnode

    aneeshlingala/FirstResponderSystem

    reverie hacks submission

    8 parts

Similar boards

  • 4 layers63.5 × 44.5 mmLTC3556 v2.4, the printed circuit board in 3D

    LTC3556 v2.4

    blakep7/HANDS-EMG

    57 parts1
  • 2 layersEphemerkey, the printed circuit board in 3D

    Ephemerkey

    ephemerkey/ephemerkey

    The consumer half of the ephemerkey system, and the second PCB in this repo (alongside hardware/ephemerkey/, sharing the same scripts/kschgen.py engine, Makefile, and lib tables — the multi-project layout used by…

    70 parts
  • 2 layers50 × 145 mmSmartRemote, the printed circuit board in 3D

    SmartRemote

    Circuit-Digest/Smart-Universal-Remote-with-Learning-function-and-Google-Assistant-Support

    Smart Universal Remote with Learning function and Google Assistant Support

    75 parts3
  • 2 layers58.9 × 34.4 mmCrowdAware Node v1.0, the printed circuit board in 3D

    CrowdAware Node v1.0

    crowdaware-inno-wing-iot/crowdaware-node

    Scalable, privacy-aware crowd flow monitoring

    10 parts3GPL-3.0
  • 2 layers72.4 × 42.4 mmWork, the printed circuit board in 3D

    Work

    Heartland-Data/esp32-mintia-sensor-kit

    本リポジトリは、MINTIAケースにESP32と各種センサを組み込む試作用ファームウェアの参考実装です。

    71 parts1Apache-2.0
  • 2 layersThermal Camera, the printed circuit board in 3D

    Thermal Camera

    Cameronrlewis/Thermal-Camera-Project

    Repository for a new PCB Project

    56 parts
  • 2 layers80 × 40 mmHKU Thermal Node Rev1.1, the printed circuit board in 3D

    HKU Thermal Node Rev1.1

    jhbryan0817-del/IoT_Beyond_Lab_Thermal_ML

    Privacy-oriented thermal occupancy estimation with edge ML for HKU learning spaces.

    14 parts
  • 2 layers37 × 37 mmF7FC, the printed circuit board in 3D

    F7FC

    Momozavur/F7FC-V0.1

    Open the appropriate .kicadpro file in KiCad; .pro entries are legacy projects. Keep schematics, boards, local libraries, library tables, and supporting files together.

    69 parts

Questions

How big is the Survivornode PCB?

It measures 56 × 75 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Survivornode use?

16 parts, built around the MLX90640ESF-BAA-000-TU, ADXL345BCCZ-RL7, AP2112K-3.3TRG1 and HLK-LD2410C. 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 Survivornode KiCad files?

From the aneeshlingala/FirstResponderSystem repository on GitHub, at the commit this page was made from: the board is survivornode/pcb_data/survivornode.kicad_pcb and its schematic broadcastnode/pcb_data/broadcastnode.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Survivornode design in my own project?

Its repository states no licence, so its author keeps all rights: ask aneeshlingala before reusing the design.