-
Notifications
You must be signed in to change notification settings - Fork 39
Bill of Materials
The canonical BOM lives in the repo at hardware/BOM.csv. This page is a human-friendly summary plus sourcing notes.
One hub serves up to 6 transmitters. If you're building for two tanks, you need 1× hub BOM + 2× transmitter BOM.
| Qty | Part | Where to source | Approx. cost (INR) |
|---|---|---|---|
| 1 | ESP32-C3 SuperMini module | AliExpress, Robu.in | ₹250 |
| 1 | REYAX RYLR998 LoRa module | Robu.in, official REYAX | ₹1,200 |
| 1 | INA219 breakout (or chip + 0.1 Ω shunt) | Robu.in | ₹200 |
| 1 | CN3791 MPPT solar charger module | AliExpress | ₹200 |
| 1 | MT3608 boost converter | AliExpress | ₹50 |
| 1 | JSN-SR04T / AJ-SR04M waterproof ultrasonic sensor | Robu.in, AliExpress | ₹400 |
| 1 | 18650 holder (single-cell) | Robu.in | ₹50 |
| 1 | 18650 Li-ion cell (good brand — Samsung 30Q / LG MJ1 / equivalent) | Local battery shop, protected against fakes | ₹600 |
| 1 | Solar panel, 6 V 1–2 W | AliExpress, generic | ₹200 |
| 1 | SS14 / 1N5819 Schottky diode | Robu.in | ₹5 |
| 4 | 0805 SMD passives (1k, 2k, 100k×2 for divider) | Robu.in | ₹20 |
| ~8 | 0603 100 nF decoupling caps | Robu.in | ₹20 |
| 2 | Tactile buttons w/ rubber boots (BOOT + RESET) | Robu.in | ₹40 |
| 1 | Phoenix MKDS 1.5 screw terminal (sensor + panel) | Robu.in | ₹50 |
| 1 | Custom circular PCB (50×50 mm; see hardware/pcb/tx-schematic.svg) |
JLCPCB / PCBWay (10× ~₹600) | ₹60 amortised |
| 1 | M12 cable gland, IP65 | Robu.in | ₹40 |
| 1 | EPDM gasket (1–2 mm × 60 mm OD) | Local rubber shop | ₹20 |
| 4 | M3 stainless screws + nuts | Local | ₹20 |
| 1 | PETG enclosure print (hardware/cases/circular-v1/) |
Your printer | ~₹100 filament |
Per-tank rough total: ₹3,500–4,000 (varies with PCB run size, panel quality, and printer ownership).
| Qty | Part | Where to source | Approx. cost (INR) |
|---|---|---|---|
| 1 | ESP32-S3 module (current hub) | Robu.in, AliExpress | ₹350 |
| 1 | REYAX RYLR998 LoRa module | Robu.in | ₹1,200 |
| 1 | SH1106 1.3" OLED display, white, I²C | Robu.in, AliExpress | ₹300 |
| 1 | WS2812B strip — pick one: 2 / 8 / 24 LEDs | Robu.in | ₹50–₹300 |
| 1 | 1000 µF / 16 V electrolytic cap (WS2812 inrush) | Robu.in | ₹10 |
| 1 | Active 3-pin piezo buzzer (5 V) | Robu.in | ₹30 |
| 1 | USB-C 5 V / 1 A wall adapter | Any | ₹300 |
| 1 | Custom PCB (carrier; see hardware/pcb/rx-schematic.svg) |
JLCPCB / PCBWay | ₹60 amortised |
| ~8 | 0603 decoupling caps + 10 µF | Robu.in | ₹20 |
| 2 | Tactile buttons | Robu.in | ₹20 |
| 1 | 3D-printed enclosure (your design; we don't ship a hub STL yet) | Your printer | ~₹150 filament |
Hub rough total: ₹2,500–3,000.
Legacy hub board. The ESP32 DevKit v1 (CP2102, 38-pin, USB-C) was the earlier development board and is no longer the shipping hub, but its firmware build is still published — if you already have a DevKit-based hub it keeps working and updating. New builds should use the ESP32-S3 module above.
18650 cells. Don't buy "5000 mAh" cells from AliExpress — they're virtually always re-wrapped salvage with real capacity around 1500 mAh. Buy genuine Samsung / LG / Sony / Molicel from a known re-seller (Nkon, IMR Batteries, or in India: Vskart, Robu's authentic batch). Counterfeit cells fail closed-circuit at high temperatures and have been the source of every reliability complaint we've debugged.
RYLR998. Buy from REYAX directly or an authorised distributor (Robu.in in India, DigiKey internationally). Counterfeits exist that don't honor the full AT command set — they pair OK but fail at advanced features like AT+CRFOP (power adjust).
JSN-SR04T variants. Modes are pre-set at the factory via the R19 / R27 solder pads. If your sensor doesn't respond to TRIG/ECHO even with the timing fix, suspect UART mode (rare but exists) — reflow the mode-select pads to the TRIG/ECHO setting.
ESP32-C3 SuperMini. The "SuperMini" variant is what we test against. Other ESP32-C3 dev boards work in principle but the pinout differs — adapt the BOM accordingly.
OLED. The SH1106 1.3" white display is what's tested. The 0.96" SSD1306 also works (different I²C controller, same address) — set OLED_DRIVER=ssd1306 in firmware config if you go this route.
- Battery monitor IC — handled by the INA219, no separate fuel-gauge IC needed.
- External LDO — the ESP32-S3 hub module has an onboard 3.3 V regulator (as did the legacy DevKit's AMS1117). On the TX we use the boost-converter output directly.
- Watchdog IC — ESP32 has an internal task watchdog. Firmware uses it.
-
Bluetooth — disabled in
sdkconfigfor both targets to save power. Wi-Fi only.
If you want to add any of these, send a PR with the rationale.
Start here
Build it
Flash it
Use it
Reference