
QuakeGuard PCB
GiZano/QuakeGuard
Distributed Earthquake Early Warning (EEW) system built on low-cost ESP32-C3 IoT sensors with Zero-Trust security, multi-node epicenter triangulation, and on-premise AI emergency reports.

MosKill - Smart Mosquito Swatter with BLE, Kill Counting & Statistics | ESP32-C3 + KiCad PCB + UniApp
Moskill is an open-source printed circuit board by telagod, from the telagod/moskill repository on GitHub. It is a 2-layer board of 30 × 100 mm with 95 parts on 63 nets, routed with 810 tracks and 85 vias.
It is built around the ESP32-C3-LYRA, AHT20 and DW01A, with the ME6211C33R5G, NE555 and TP4056 among its other parts. Its parts include 36 resistors, 24 capacitors, 13 diodes, 8 ICs and 5 transistors. It belongs with the radio and wireless boards and the ESP32 and RISC-V boards of this library.
Smart Mosquito Swatter with BLE, Kill Counting & Statistics
ESP32-C3 Firmware + KiCad PCB + UniApp Cross-Platform Client
30 x 100 mm narrow strip designed to fit inside a mosquito swatter handle. 91 components, dual-layer with full GND pour.
Left to right: 3D Top, 3D Bottom, Flat Top, Flat Bottom
| Component | Part | Function |
|---|---|---|
| MCU | ESP32-C3-MINI-1 | RISC-V 160MHz, BLE 5.0, 4MB Flash |
| HV Boost | NE555 + AO3400 + EE13 Transformer (10:200) | 3.7V -> ~2000V DC |
| HV Multiplier | 3-stage Cockcroft-Walton (UF4007 + 1nF/2kV) | Voltage tripler |
| Current Sense | 0.1ohm + LMV358 (Gain=20) + BAT43 Peak Det | Kill waveform capture |
| Env Sensor | AHT20 (I2C) | Temp +/-0.3C / Humidity +/-2%RH |
| Power | 18650 + TP4056 + ME6211 LDO | USB-C charging, 3.3V regulated |
| Battery Protect | DW01A + FS8205A | Over-charge/discharge/current protection |
| LED | WS2812B | RGB status + kill effects |
| Buzzer | KCG0601 Passive Piezo | Kill sound FX + streak rising tone |
Full schematic:
hardware/kicad/moskill.kicad_sch| BOM:hardware/bom/BOM.csv| Gerber:hardware/kicad/moskill-gerbers.zip
moskill/
├── firmware/ # ESP-IDF v5.4 firmware (938KB binary)
│ ├── main/ # Entry point, 6 FreeRTOS tasks
│ └── components/
│ ├── kill_detector/ # 4-state kill detection FSM
│ ├── stats_engine/ # Statistics + NVS sharded storage
│ ├── ble_service/ # BLE GATT server + OTA handler
│ ├── env_sensor/ # AHT20 I2C driver (thread-safe)
│ ├── power_mgmt/ # Battery curve, HV control, deep sleep
│ └── hv_driver/ # WS2812B RMT driver
├── hardware/
│ ├── kicad/ # KiCad 9 schematic + PCB (30x100mm)
│ ├── bom/BOM.csv # 48 line items, ~¥24.48
│ └── renders/ # 3D and flat PCB renders
├── app/ # UniApp cross-platform client
│ └── src/
│ ├── pages/ # 7 pages (dashboard, stats, rank, control, ota, ...)
│ ├── components/MkIcon.vue # SVG icon component (38 icons)
│ ├── utils/
│ │ ├── ble.js # BLE communication layer (128-bit UUIDs)
│ │ ├── icons.js # SVG icon definitions
│ │ ├── i18n.js # Chinese/English auto-switch
│ │ └── mock.js # Dev mode mock data generator
│ └── store/index.js # Vuex state management# Install ESP-IDF v5.4+
# https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/get-started/
cd firmware
idf.py set-target esp32c3
idf.py build # -> build/moskill.bin (938KB)
idf.py -p /dev/ttyUSB0 flash monitorcd app
npm install
npx uni build # H5 build
npx uni build -p mp-weixin # WeChat Mini Program
npx uni dev:h5 # H5 dev server
# Dev mode: no device needed, uses mock data for UI developmentADC 1kHz sampling -> Threshold trigger -> Sustain check (>=5ms)
-> Peak capture -> Envelope match -> Classification -> Stats update
-> BLE notify -> LED + Buzzer feedback
Classification by peak ADC:
S (< 800) Fruit Fly
M (800-2000) Mosquito
L (2000-3200) House Fly
XL (> 3200) Moth / Beetle128-bit custom UUIDs (base e3a1XXXX-f5e8-4c8a-9b3d-2c1f7b8a6d50), packed wire format for efficiency.
| Service | UUID Short | Description |
|---|---|---|
| MosKill Main | 0x1B00 | Kill count (notify), session/lifetime stats, kill log, environment |
| Config | 0x1B11 | Sensitivity, LED, buzzer, streak effects + time sync |
| OTA | 0x1B21 | Firmware update (start/write/verify/abort with CRC32) |
| Battery | 0x180F | Standard Battery Service |
Full protocol spec:
protocol/ble_protocol.md
cd tools/ble_debug
pip install -r requirements.txt
python moskill_ble.py scan # Scan devices
python moskill_ble.py stats <ADDR> # Read statistics
python moskill_ble.py monitor <ADDR> # Real-time kill monitor
python moskill_ble.py config <ADDR> -s 2 -b 3 # Set sensitivity/buzzer
python moskill_ble.py ota <ADDR> firmware.bin # BLE OTA updateMIT
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 1M | R_0805_2012Metric | R16, R17, R18, R19, R20, R21, R22, R23, R24, R25 |
| 8 | 10K | R_0402_1005Metric | R2, R3, R13, R15, R26, R30, R31, R34 |
| 7 | 100nF | C_0402_1005Metric | C8, C9, C11, C14, C18, C19, C20 |
| 6 | 1nF/2kV | C_0805_2012Metric | C1, C2, C3, C4, C5, C6 |
| 6 | UF4007 | D_SMA | D1, D2, D3, D4, D5, D6 |
| 4 | 100R | R_0402_1005Metric | R10, R11, R29, R36 |
| 4 | 10uF | C_0805_2012Metric | C7, C10, C16, C17 |
| 3 | 10nF | C_0402_1005Metric | C21, C22, C23 |
| 3 | 1K | R_0402_1005Metric | R7, R9, R35 |
| 3 | 2N7002 | SOT-23 | Q3, Q4, Q5 |
| 3 | 4.7K | R_0402_1005Metric | R14, R27, R28 |
| 3 | Fiducial | Fiducial_1mm_Mask2mm | FID1, FID2, FID3 |
| 2 | 100K | R_0402_1005Metric | R6, R12 |
| 2 | 5.1K | R_0402_1005Metric | R32, R33 |
| 2 | M2 | MountingHole_2.2mm_M2_Pad | H1, H2 |
| 1 | 0R1_2W | R_2512_6332Metric | R1 |
| 1 | 1.5K | R_0402_1005Metric | R5 |
| 1 | 100pF | C_0402_1005Metric | C24 |
| 1 | 19K | R_0402_1005Metric | R8 |
| 1 | 1nF | C_0402_1005Metric | C15 |
| 1 | 1uF | C_0402_1005Metric | C13 |
| 1 | 2K | R_0402_1005Metric | R4 |
| 1 | 4.7uF | C_0805_2012Metric | C12 |
| 1 | AHT20 | Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad | U2 |
| 1 | AO3400A | SOT-23 | Q1 |
| 1 | BAT43 | D_SOD-323 | D8 |
| 1 | BAT54S | SOT-23 | D7 |
| 1 | BZX84C3V3 | SOT-23 | D9 |
| 1 | Button | SW_SPST_PTS645 | SW1 |
| 1 | Buzzer | MagneticBuzzer_Kingstate_KCG0601 | BZ1 |
| 1 | DW01A | SOT-23-6 | U5 |
| 1 | EE13 1:20 | L_Bourns_SRR1208_12.7x12.7mm | T1 |
| 1 | ESP32-C3-L | ESP32-C3-MINI-1 | U1A |
| 1 | FS8205A | TSSOP-8_4.4x3mm_P0.65mm | Q2 |
| 1 | LED_STDBY | LED_0402_1005Metric | D13 |
| 1 | LMV321/LMV358 | SOT-23-5 | U6 |
| 1 | ME6211C33 | SOT-23-5 | U3 |
| 1 | NE555 | SOIC-8_3.9x4.9mm_P1.27mm | U7 |
| 1 | SMBJ24A | D_SMB | D10 |
| 1 | SS34 | D_SMA | D11 |
| 1 | TP4056 | SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | USB-C | USB_C_Receptacle_XKB_U262-16XN-4BVC11 | J1 |
| 1 | USBLC6-2SC6 | SOT-23-6 | U8 |
| 1 | WS2812B | LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D12 |
It measures 30 × 100 mm and has 2 copper layers, 1.6 mm thick.
95 parts, built around the ESP32-C3-LYRA, AHT20, DW01A and ME6211C33R5G. 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.
From the telagod/moskill repository on GitHub, at the commit this page was made from: the board is hardware/kicad/moskill.kicad_pcb and its schematic hardware/kicad/moskill.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask telagod before reusing the design.

GiZano/QuakeGuard
Distributed Earthquake Early Warning (EEW) system built on low-cost ESP32-C3 IoT sensors with Zero-Trust security, multi-node epicenter triangulation, and on-premise AI emergency reports.

P-r-i-t-h-v-i/PRAHARI
Prototype carrier PCB for PRAHARI, The Countdown Band (Point Break, SIH 2026, PS 26181).


profdc9/ParanoiaBox
A standalone elliptic curve/AES file encryption and decryption device

profdc9/NixieClock
A Nixie clock that uses IN-14 tubes and very generic components that can be easily sourced.

Iver-Iscariot/TideWatchEink
E-ink display version of my tidal water wrist watch

bvarner/pi485
An open-source TTL UART <-> RS485 converter, intended for a Raspberry Pi or Arduino

KiCad/kicad-source-mirror
This is an active mirror of the KiCad development branch, which is hosted at GitLab (updated every time something is pushed). Pull requests on GitHub are not accepted or watched.