krishnax12/watchy-eink-smartwatch
This code defines a hardware schematic and PCB layout for a smartwatch using components like ESP32 microcontroller, sensors, Bluetooth module, power regulation, and connectors, with detailed component footprints and PCB outlines.
- Version
- 1.2.1
- License
- unset
- Stars
- 2
README.md
# Watchy v3 E-Ink Smartwatch
A declarative tscircuit board implementation of the open-source [SQFMI Watchy](https://github.com/sqfmi/watchy) v3 smartwatch hardware, modeled following the structure of [`rushabhcodes/Attiny85-Arcade-Keychain`](https://tscircuit.com/rushabhcodes/Attiny85-Arcade-Keychain#files).
All components feature accurate footprints and 3D STEP models bundled locally in `assets/`.
## Hardware represented
- **MCU**: ESP32-PICO-D4 (QFN-56) Wi-Fi and Bluetooth controller
- **Display**: 1.54-inch 200 × 200 E-Ink display via 24-pin 0.5mm FPC connector (`J3`)
- **Sensor**: BMA423 3-axis accelerometer (`U6`, LGA-12)
- **Buttons**: 4x low-profile tactile edge switches (`SW1`–`SW4`, EVQ-PU)
- **Haptics**: 10mm coin vibration pager motor (`M1`)
- **Power**: TP4054 LiPo charger (`U3`), RT9080-33 3.3V LDO regulator (`U2`), SR2HARU power switch (`U1`)
- **USB**: Micro USB connector (`J2`) with USBLC6-2SC6 ESD protection (`U5`)
- **Crystals**: 40 MHz high-speed oscillator (`Y2`) and 32.768 kHz RTC crystal (`Y1`)
- **Antenna**: 2.4 GHz chip antenna (`AE1`)
## Project structure
```text
├── index.circuit.tsx # Main board definition and component layout
├── board-outline.ts # Watchy outer contour and strap cutout coordinates
├── assets.d.ts # Ambient type declarations for STEP assets
├── assets/ # Local 3D STEP models for all components
├── imports/ # Modular component definitions with footprints and 3D models
│ ├── AO3400A.tsx
│ ├── BatteryConnector.tsx
│ ├── BMA423.tsx
│ ├── CJ2301.tsx
│ ├── Crystal_32Khz.tsx
│ ├── Crystal_40Mhz.tsx
│ ├── Display.tsx
│ ├── D_1N4001.tsx
│ ├── ESP32_PICO_D4.tsx
│ ├── EVQPU_LC_02K.tsx
│ ├── FPC24.tsx
│ ├── MBR0530.tsx
│ ├── MicroUSB.tsx
│ ├── PagerMotor.tsx
│ ├── RT9080_33.tsx
│ ├── S8050.tsx
│ ├── SR2HARU.tsx
│ ├── SRN4018_47uH.tsx
│ ├── SWRA117D.tsx
│ ├── TP4054.tsx
│ └── USBLC6_2SC6.tsx
├── package.json
├── tscircuit.config.json
├── tsconfig.json
└── __snapshots__/
├── index.circuit-3d.snap.png
├── index.circuit-pcb.snap.svg
└── index.circuit-schematic.snap.svg
```
## Development
```sh
# Start the tscircuit dev server
bun run dev
# Typecheck TypeScript files
bun run typecheck
# Generate PCB, schematic, and 3D snapshots
bun run snapshot:update
# Build circuit JSON and static distribution
bun run build
```
## License
MIT