
Esphome xiao base
0rax/esphome-xiao-base
XIAO base board PCB & configuration for ESPHome based sensors.

An ESP32-based anti-cant level for rifle scopes. Uses an ADXL345 accelerometer to detect tilt and provides real-time LED feedback so you know when your rifle is level before taking a shot.
NirlabsScopeLevel is an open-source printed circuit board by nirinium, from the nirinium/nirlabsScopeLevel repository on GitHub. It is a 2-layer board of 50 × 30 mm with 21 parts on 17 nets.
It is built around the XIAO ESP32C3. Its parts include 7 resistors, 5 diodes, 2 ICs, 1 capacitor and 1 connector. It belongs with the ESP32 and RISC-V boards of this library.
An ESP32-based anti-cant level for rifle scopes. Uses an ADXL345 accelerometer to detect tilt and provides real-time LED feedback so you know when your rifle is level before taking a shot.
| Component | Pin |
|---|---|
| Green LED | GPIO 25 |
| Red LED (Left) | GPIO 26 |
| Red LED (Right) | GPIO 27 |
| Battery voltage divider | GPIO 34 (ADC) |
| ADXL345 SDA | GPIO 21 |
| ADXL345 SCL | GPIO 22 |
Board: NodeMCU-32S (ESP32)
| Zone | Range |
|---|---|
| Level (green solid) | < 0.5° |
| Near level (green fade + red pulse) | 0.5° – 1.5° |
| Cant (red heartbeat) | > 1.5° |
This project uses PlatformIO.
# Build
pio run
# Upload
pio run --target upload
# Serial monitor
pio device monitorAdafruit Unified Sensor ^1.1.15Adafruit ADXL345 ^1.3.4Key constants in src/main.cpp:
| Constant | Default | Description |
|---|---|---|
THRESHOLD | 0.5° | Dead-level zone boundary |
NEAR_ZONE | 1.5° | Near-level to cant boundary |
MAX_CANT | 5.0° | Maximum urgency angle |
HYSTERESIS | 0.15° | Zone boundary flicker prevention |
EMA_ALPHA | 0.4 | Filter smoothing (lower = smoother) |
SLEEP_TIMEOUT | 60000 ms | Idle time before light sleep |
BATT_LOW | 3.3 V | Low battery warning threshold |
DEBUG_MODE | true | Serial debug output (set false for production) |
NIRINIUM|LABS
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R3, R4, R5 |
| 4 | MH_3.2mm | MountingHole:MountingHole_3.2mm_M3 | MH1, MH2, MH3, MH4 |
| 2 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R6, R7 |
| 1 | 100nF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C1 |
| 1 | ADXL345_Breakout | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | U2 |
| 1 | LED_GREEN | LED_THT:LED_D3.0mm | D1 |
| 1 | LED_RED_L | LED_THT:LED_D3.0mm | D3 |
| 1 | LED_RED_R | LED_THT:LED_D3.0mm | D5 |
| 1 | LED_YEL_L | LED_THT:LED_D3.0mm | D2 |
| 1 | LED_YEL_R | LED_THT:LED_D3.0mm | D4 |
| 1 | LiPo_JST_PH | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J1 |
| 1 | Power_Slide_SW | Button_Switch_THT:SW_Slide_1P2T_CK_OS102011MA1QN1 | SW1 |
| 1 | XIAO_ESP32C3 | Seeed_XIAO:XIAO_ESP32C3 | U1 |
It measures 50 × 30 mm and has 2 copper layers, 1.6 mm thick.
21 parts, built around the XIAO ESP32C3. 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 nirinium/nirlabsScopeLevel repository on GitHub, at the commit this page was made from: the board is kicad/nirlabs_scope_level.kicad_pcb and its schematic kicad/nirlabs_scope_level.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 nirinium before reusing the design.

0rax/esphome-xiao-base
XIAO base board PCB & configuration for ESPHome based sensors.





aayu0-0/SEEED-RS485-Extension-Board-reverse-engineering-project
SEEED RS485 Extension Board reverse-engineering project

AID-IOT/IOT-Memento-Design
A keepsake PCB built at the AICTE IDEA Lab, Poornima College of Engineering. It is a working board as well as a memento: a Seeed XIAO ESP32C3 drives four WS2812B LEDs and reads a BMP280 pressure/temperature sensor, and…
