Skip to the content
PCBKitNew board
2 layers65 × 58 mmQuake sensor, the printed circuit board in 3D

ADXL355 + ESP32-S3 home seismograph — KiCad 10, 2-layer, script-generated schematic and PCB

Size
65 × 58 mm
Copper layers
2
Thickness
1.6 mm
Parts
58
Nets
59
Pads
235
Tracks, vias
514, 311
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
7 Sep 2026
Updated
7 Sep 2026

Overview

Quake sensor is an open-source printed circuit board by ismailcelik-tr, from the ismailcelik-tr/quake-sensor repository on GitHub. It is a 2-layer board of 65 × 58 mm with 58 parts on 59 nets, routed with 514 tracks and 311 vias.

It is built around the ESP32-S3-WROOM-1-N8, ADXL355BEZ and AP2112K-3.3, with the USBLC6-2SC6, B5819W and DMG2301L among its other parts. Its parts include 21 capacitors, 16 resistors, 5 ICs, 4 connectors and 3 diodes. It belongs with the sensors and measurement boards and the ESP32 boards of this library.

Main components

6

README

README.md

Deprem Sensörü — ADXL355 / ESP32-S3

Düşük gürültülü MEMS ivmeölçer tabanlı ev tipi sismograf. USB-C beslemeli, LiPo yedekli, WiFi'li; şebeke kesildiğinde microSD'ye kayıt yapar. 65 × 58 mm, 2 katman.

ŞematikERC 0, PCB↔şematik pariteti 0
PCB514 yol / 1168 mm, 311 via — açık bağlantı 0
Kritik DRC0 · unconnected items 0
Silkscreen2 (ikisi de U1'in taşan anten ipeği — doğru)
ÜretimGerber + drill + PnP + BOM üretildi → fab/
DurumKüçük düzeltmeler gerekli — hepsi stackup ve fiziksel doğrulama

Ölçümle doğrulanmış tam rapor: docs/VALIDATION.md Claude Code ile çalışacaksan: CLAUDE.md Denenip işe yaramayanlar: docs/DECISIONS.md

Başlarken

bash
git clone https://github.com/ismailcelik-tr/quake-sensor.git
cd quake-sensor

Kartı açmak için tek gereken KiCad 10.x — quake-sensor.kicad_pro'ya çift tıkla. Kütüphane yolları ${KIPRJMOD} göreli, lib/ kendiliğinden çözülür.

tools/ altındaki scriptleri çalıştıracaksan ayrıca python3 >= 3.9 ve pip install numpy (yalnızca modal.py için). kicad-cli PATH'te ya da standart kurulum konumunda olmalı; değilse KICAD_CLI ile göster:

bash
cd tools && python3 -c "import paths; print(paths.ROOT); print(paths.kicad_cli())"

Ayrıntı ve tuzaklar: CLAUDE.md.

Blok yapısı

text
USB-C ──F1──┬─ USBLC6 (ESD) ── ESP32-S3 dahili USB
            │
            ├─ D1 (Schottky) ──┬── VSYS ── AP2112K ── +3V3 ──┬── ESP32-S3-WROOM-1
            │                  │                             ├── microSD
            │                  │                             └── FB1 ── +3V3A ── ADXL355
            └─ MCP73831 ── +BATT ── Q1 (P-MOS) ─┘
                                   yük paylaşımı

USB varken sistem USB'den beslenir ve pil şarj olur; USB gidince Q1 iletime geçip pile döner. Q1'in source'u VSYS tarafında — gövde diyodu USB'den pile kontrolsüz akım kaçmasını engelliyor.

Neden bu parçalar

  • ADXL355BEZ — 22 µg/√Hz gürültü tabanı. MPU-6050 sınıfı sensörler (~400 µg/√Hz) yalnızca yakın ve şiddetli sarsıntıyı görür.
  • FB1 ferrit — ADXL355 kendi +3V3A rayında. Ölçüldü: bu rayda sensör ve kendi dekuplajı dışında hiçbir yük yok, izolasyon gerçek.
  • microSD — pil tek başına anlamsız olurdu: elektrik kesilince modem de gider, WiFi'ye gönderecek yer kalmaz. Pilin işi kesinti boyunca örneklemeye devam edip karta yazmak, şebeke gelince yüklemek.
  • AP2112K-3.3 — 600 mA. ESP32-S3 WiFi tepe akımı ~500 mA, sınıra yakın. Pil 3.6 V altına inince dropout'a girer; kritik uygulamada buck-boost gerekir.

Pin ataması

ESP32-S3İşlevESP32-S3İşlev
IO10ADXL CSIO5SD CS
IO12ADXL SCLKIO6SD SCLK
IO11ADXL MOSIIO7SD MOSI
IO13ADXL MISOIO15SD MISO
IO14ADXL DRDYIO16SD kart algılama
IO21ADXL INT1IO4Pil voltajı (ADC1)
IO9ADXL INT2IO48Durum LEDi

İki ayrı SPI: SD kart yazarken veriyolunu uzun süre tutar, sensör örneklemesini bloklamasın diye ayrıldı.

Durum LEDi IO8'den IO48'e alındı: IO8 (modül pin 12) USB pinlerinin hemen yanında ve modülün 0.37 mm ped aralığından yanal kaçış fiziksel olarak imkânsız; tek kanalını USB çifti kullanıyor.

Üretim öncesi yapılacaklar

Elektriksel iş bitti. Kalanların hiçbiri routing değil — ayrıntı docs/VALIDATION.md:

  1. 12 adet 0.20 mm delik. ESP32-S3-WROOM-1 footprint'inin kendi termal viaları. Ucuz 2 katman servislerinin minimumu genelde 0.3 mm — üreticiye sorulacak ilk şey.
  2. Üretici stackup'ı. KiCad'de tanımlanıp DRC onun kurallarıyla çalıştırılmalı. USB empedans kararı buna bağlı: mevcut kartta Zdiff ≈ 170 Ω, ve 1.6 mm çift katmanda 90 Ω pratikte ulaşılamaz (1.5 mm iz gerekir). Full-Speed için tolere edilir.
  3. ADXL355 footprint'inin 1:1 basılı çıktıyla doğrulanması. Elle üretildi (datasheet Rev.A Şekil 76).
  4. Gerber viewer görsel kontrolü — ADXL355, USB-C, montaj delikleri, ipek, paste/mask.
  5. Elle lehimlenecekse J1.SH ve J4.SH termal rölyesi (9 starved_thermal uyarısı, hepsi GND pedi, elektriksel etkisi yok).
  6. Anten. U1'in anten ucu kartın üst kenarından ~6 mm taşıyor. Kartı kesip anteni içeri alma; anten altında bakır olmamalı.

Mekanik yerleşim yeniden değerlendirildi ve kabul edildi. Modal analiz (tools/modal.py) 1. modu 648 Hz veriyor — deprem bandının (0.1–50 Hz) 8 katından fazla üstünde. Ayrıca kart merkezi temel modda en kötü yer; önceki "sensörü merkeze taşı" tavsiyem yanlıştı.

Dosyalar

text
quake-sensor.kicad_sch          şematik
quake-sensor.kicad_pcb          kart — yönlendirilmiş
quake-sensor.kicad_pro          tasarım kuralları ve net class'lar
lib/quake.kicad_sym             ADXL355 sembolü (KiCad kütüphanesinde yok)
lib/quake.pretty/               ADXL355 LCC-14 footprint'i
docs/VALIDATION.md              ölçümle doğrulanmış final rapor
docs/sematik.pdf                şematik çıktısı
docs/pcb-bakir.pdf              F.Cu + B.Cu + kart hattı
docs/pcb-montaj.pdf             F.Cu + ipek baskı
docs/bom.csv  netlist.net  erc.rpt  drc.rpt
docs/DECISIONS.md               karar ve çıkmaz sokak günlüğü
docs/*-ham.txt                  ham ölçüm çıktıları (validation, modal, impedans)
fab/                            Gerber + Excellon drill + PnP + BOM
tools/                          üretim ve ölçüm scriptleri (bkz. CLAUDE.md)
.history/                       KiCad otomatik yedeği — KULLANMA, eski

Şematik ve kart elle değil tools/ altındaki scriptlerle üretildi. Pcbnew/Eeschema'da elle düzenlemeye başladıktan sonra bu scriptleri çalıştırma — üzerine yazarlar. Ayrıntı ve tuzaklar: CLAUDE.md.

Parts

58
QtyValueFootprintReferences
9100nCapacitor_SMD:C_0603_1608MetricC3, C6, C8, C9, C12, C14, C16, C18, C21
810kResistor_SMD:R_0603_1608MetricR8, R9, R11, R12, R13, R14, R15, R16
71uCapacitor_SMD:C_0603_1608MetricC4, C5, C10, C13, C15, C17, C19
510uCapacitor_SMD:C_0805_2012MetricC1, C2, C7, C11, C20
4M2MountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
3100kResistor_SMD:R_0603_1608MetricR5, R6, R7
21kResistor_SMD:R_0603_1608MetricR4, R10
25.1kResistor_SMD:R_0603_1608MetricR1, R2
12kResistor_SMD:R_0603_1608MetricR3
1500mAFuse:Fuse_1812_4532MetricF1
1600R@100MHzInductor_SMD:L_0603_1608MetricFB1
1ADXL355BEZquake:ADXL355_LCC-14_6x6mmU2
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U3
1B5819WDiode_SMD:D_SOD-123D1
1BOOTButton_Switch_SMD:SW_SPST_TL3342SW1
1CHGLED_SMD:LED_0603_1608MetricD4
1DMG2301LPackage_TO_SOT_SMD:SOT-23Q1
1ESP32-S3-WROOM-1-N8RF_Module:ESP32-S3-WROOM-1U1
1LiPo 3.7VConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ2
1MCP73831-2-OTPackage_TO_SOT_SMD:SOT-23-5U4
1RESETButton_Switch_SMD:SW_SPST_TL3342SW2
1STATLED_SMD:LED_0603_1608MetricD3
1UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U5
1USB_C_ReceptacleConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1microSDConnector_Card:microSD_HC_Hirose_DM3AT-SF-PEJM5J4

Questions

How big is the Quake sensor PCB?

It measures 65 × 58 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Quake sensor use?

58 parts, built around the ESP32-S3-WROOM-1-N8, ADXL355BEZ, AP2112K-3.3 and USBLC6-2SC6. 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 Quake sensor KiCad files?

From the ismailcelik-tr/quake-sensor repository on GitHub, at the commit this page was made from: the board is quake-sensor.kicad_pcb and its schematic quake-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Quake sensor design in my own project?

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

Similar boards

  • 4 layers80 × 54 mmPoket, the printed circuit board in 3D

    Poket

    kaorii-ako/Poket

    ESP32-S3 Bluetooth MP3 player - custom PCB + 3D-printed case, built from scratch

    104 parts
  • 4 layers70.9 × 75 mmFlagshep Audio Player V1, the printed circuit board in 3D

    Flagshep Audio Player V1

    HYLDAIC/Flagshep-V1_Audio-Player

    A high fidelity semi-portable audio player student project with provided PCB files, 3D files and Code

    77 parts1CERN-OHL-P-2.0
  • 4 layers86 × 50 mmPrint hub, the printed circuit board in 3D

    Print hub

    offgridevices/offgrid-hardware

    Open hardware from OffGrid Devices. One folder per board. CERN-OHL-S.

    137 partsCERN-OHL-S-2.0
  • 4 layers60 × 100 mmMIDAS MK1, the printed circuit board in 3D

    MIDAS MK1

    ISSUIUC/ISS-PCB

    Building custom flight computers

    221 parts33
  • 4 layers34.5 × 18 mmOpenAXES, the printed circuit board in 3D

    OpenAXES

    OpenAXES-IMU/OpenAXES

    Hardware design files and source code for an open-access wireless IMU

    99 parts9
  • 6 layers160 × 100 mmHet68-core, the printed circuit board in 3D

    Het68-core

    fedurca/het68_pcb

    pcb design description

    134 parts
  • 2 layers75 × 50 mmOpeneew openeew sensor pcb, the printed circuit board in 3D

    Openeew openeew sensor pcb

    punkfab/pcb-corpus

    235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark

    104 parts1
  • 4 layers60 × 60 mmUNSW Rocketry Senior Flight Computer, the printed circuit board in 3D

    UNSW Rocketry Senior Flight Computer

    DashiellRussell/UNSW_Rocketry_Senior_Flight_Computer

    KiCad project for the senior flight computer used by UNSW Rocketry.

    132 parts