

Survivornode
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
12MLX90640ESF-BAA-000-TU
TO-39-40℃~+85℃ 32Hx24V On-chip defect repair、On-chip temperature sensor TO-39 Temperature Sensors ROHSMelexisImage SensorsADXL345BCCZ-RL7
LGA-14(3x5)-40℃~+85℃ 100nA 16bit 2V~3.6V Accelerometer SPI、I2C X,Y,Z ±16g 运动事件检测 LGA-14(3x5) Accelerometers ROHSAnalog DevicesAccelerometersAP2112K-3.3TRG1
SOT-25-5-40℃~+85℃@(Ta) 1 250mV@(600mA) 3.3V 50uVrms 55uA 600mA 65dB@(1kHz) 6V Fixed Over Current Protection、Thermal Shutdown、Enable control Positive SOT-25-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSDiodes IncorporatedVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsHLK-LD2410C
插件,16X22mm插件,16x22mm New Arrivals ROHSHI-LINKUncategorisedRFM95W-915S2
LCC-16_16X16mmLCC-16_16X16mm New Arrivals ROHSHopeRF Micro-electronicsUncategorisedS2B-PH-K-S(LF)(SN)
弯插,P=2mm-25℃~+85℃ 1 100V 1x2P 2 2A 2P 2mm 4.8mm 5.9mm 7.6mm Brass K Pin PA66 PH Right Angle Tin UL94V-0 White 弯插,P=2mm Wire To Board Connector ROHSJSTWire To Board ConnectorTP4056-42-ESOP8
ESOP-8-40℃~+85℃ 1 1A 2uA 4.2V 4V~8V Charging IC Lithium Battery Support ESOP-8 Battery Management ROHSTOPPOWERBattery ManagementYZA-032-5.0W
-- Tactile Switch/Push Button SwitchYIZHITactile Switch/Push Button SwitchFNR3015S2R2MT
SMD,3x3mm2.2uH 2A 2A 78mΩ Magnetic Shielded Inductor ±20% SMD,3x3mm Power Inductors ROHScjiangPower Inductors2.54-1*3P针
插件,P=2.54mm-40℃~+105℃ 1 1x3P 2.54mm 2.5mm 3A 3P 3mm 6mm Black Brass Gold Pin Header Through Hole 插件,P=2.54mm Pin Headers ROHSBOOMELEPin HeadersMICRO5.9MMUSB
SMD-30℃~+80℃ 1 1.8A 3,000 Cycles 30V 5.63mm 5P Black Female Micro-B Surface Mount, Right Angle USB 2.0 SMD USB Connectors ROHSSHOU HANUSB ConnectorsU.FL-R-SMT-1(10)
SMD-40℃~+90℃ 1 1.25mm 2mm 50Ω 6GHz Board Side IPEX Male Pin SMD Coaxial Connectors (RF) ROHSHirose ElectricCoaxial Connectors (RF)
README
readme.mdTech 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
-
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.
-
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.
-
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.
-
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
Parts
16| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | ADXL345BCCZ-RL7 | easyeda2kicad:LGA-14_L5.0-W3.0-P0.80-BL | U4 |
| 1 | AP2112K-3.3TRG1 | easyeda2kicad:SOT-25-5_L2.9-W1.6-P0.95-LS2.8-BL | U9 |
| 1 | ATTINY1614-SSNR | easyeda2kicad:SOIC-14_L8.7-W3.9-P1.27-LS6.0-BL | U1 |
| 1 | CL10A105KB8NNNC | easyeda2kicad:C0603 | C1 |
| 1 | FNR3015S2R2MT | easyeda2kicad:IND-SMD_L3.0-W3.0_FNR30XXS | L1 |
| 1 | HLK-LD2410C | HLK-LD2410C:MODULE_HLK-LD2410C | U3 |
| 1 | Header-Male-2.54_1x3 | easyeda2kicad:HDR-TH_3P-P2.54-V-M-1 | H1 |
| 1 | MICRO5.9MMUSB | easyeda2kicad:MICRO-USB-SMD_5P-P0.65-H-F_MICRO5.9MMUSB | USB1 |
| 1 | MLX90640ESF-BAA-000-TU | MLX90640ESF-BAA-000-TU:TO292P930H600-4 | A1 |
| 1 | RCWL-0516 | RCWL-0516:RCWL-0516 | SNS1 |
| 1 | RFM95W-915S2 | easyeda2kicad:WIRELM-SMD_16P-L16.0-W16.0-P2.00_LORA-CC68-915MHZ-TCXO | U5 |
| 1 | S2B-PH-K-S | easyeda2kicad:CONN-TH_S2B-PH-K-S-LF-SN | U7 |
| 1 | TP4056 | easyeda2kicad:ESOP-8_L4.9-W3.9-P1.27-LS6.0-BL-EP | U8 |
| 1 | TPS61023DRLR | easyeda2kicad:SOT-563_L1.6-W1.2-P0.50-LS1.6-BR | U2 |
| 1 | U.FL-R-SMT-1 | easyeda2kicad:ANT-SMD_UFL-R-SMT-1-10 | JP1 |
| 1 | YZA-032-5.0W | easyeda2kicad:SW-SMD_L6.0-W3.5-LS8.0 | U6 |
More from aneeshlingala/FirstResponderSystem
2- 2 layers0.5 × 31.1 mm

- 2 layers36 × 34.8 mm

Similar boards
- 4 layers63.5 × 44.5 mm

- 2 layers

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 mm

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 mm

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 mm

Work
Heartland-Data/esp32-mintia-sensor-kit
本リポジトリは、MINTIAケースにESP32と各種センサを組み込む試作用ファームウェアの参考実装です。
71 parts1Apache-2.0 - 2 layers

- 2 layers80 × 40 mm

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 mm

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.