hrithik18k/air-mouse

This code defines various surface-mount and through-hole electronic components, specifying their physical footprints, pin configurations, and 3D CAD models for hardware visualization.

Version
1.0.3
License
unset
Stars
0

README.md

# BLE Air Mouse PCB

Integrated rechargeable ESP32 air-mouse PCB based on the
`LegendofKARTIS/ble-air-mouse` firmware and `T-vK/ESP32-BLE-Mouse` library.

## Hardware

- ESP32-WROOM-32E-N4 (JLCPCB/LCSC C701341)
- MPU-9250 9-axis IMU, using GPIO21/GPIO22 with INT on GPIO27
- Left/right buttons on GPIO19/GPIO5, matching `airMouse_with_drag.ino`
- USB-C input with correct 5.1 kOhm CC pull-downs
- MCP73831 1-cell charger configured for about 500 mA
- AP2112K 3.3 V / 600 mA regulator
- JST-PH battery connector, switch, and charge LED
- Reset/boot buttons and 6-pin 3.3 V UART programming header
- 48 x 72 mm board with four 2.6 mm mounting holes

Critical available footprints were imported directly from JLCPCB and retain LCSC
supplier metadata and 3D models. The obsolete MPU-9250 is not stocked by JLCPCB;
its datasheet-based 24-QFN 3x3 mm footprint is intended for customer-supplied or
hand assembly. Generic 0603 parts have JLCPCB part numbers in the circuit source.

## Battery safety

Use only a **protected 1-cell Li-ion/LiPo battery** (3.7 V nominal, 4.2 V full)
with the correct JST polarity. Charging is onboard; cell over-current and
undervoltage protection must be in the battery. Confirm polarity before assembly.

## Programming header J3

Pins: `3V3, GND, TX, RX, EN, IO0`. Use a 3.3 V UART adapter, never 5 V logic.
Connect adapter TX to RX and RX to TX. Hold BOOT, tap RESET, release BOOT, upload.

Arduino libraries:

- https://github.com/T-vK/ESP32-BLE-Mouse
- A compatible MPU-9250 library (the old MPU6050_light firmware must be updated)

## Validation

```sh
npm install
npm run typecheck
tsci check netlist
tsci check schematic-placement
tsci check placement
tsci check routing-difficulty
tsci build --pcb-png --schematic-png --3d-png
tsci check shorts
```

The design passes netlist validation, has no placement errors, routes all 28
connections without jumpers, and passes the Gerber-derived copper short test.
Before ordering, inspect in `tsci dev`, export Gerbers/BOM/PnP, confirm current
JLCPCB availability, and obtain an independent electrical/manufacturing review.