Skip to the content
PCBKitNew board
2 layers41 × 23 mmBonsai pcb, the printed circuit board in 3D

Bonsai is a small, snap-on device that can be attached to almost any pair of glasses. Powered by a Seeed Studio XIAO ESP32S3 Sense, it captures images and video from the user's perspective and uses AI to analyze the surrounding environment.

Size
41 × 23 mm
Copper layers
2
Thickness
1.6 mm
Parts
11
Nets
19
Pads
58
Tracks, vias
93, 29
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Jun 2026
Updated
7 Nov 2026

Overview

Bonsai pcb is an open-source printed circuit board by devvazquez, from the devvazquez/bonsai repository on GitHub, published under the MIT licence. It is a 2-layer board of 41 × 23 mm with 11 parts on 19 nets, routed with 93 tracks and 29 vias.

It is built around the MAX98357AETE+T, S2B-PH-SM4-TB(LF)(SN) and TS-1102N-5516. Its parts include 2 capacitors, 2 ICs, 2 connectors and 1 switch. It belongs with the ESP32 boards of this library.

Main components

3

README

README.md
image

The main repository containing all the files involved in the creation of this smart device, such as cad files, code, designs...

Motivation for the project

I've always wanted to do a hardware project like this, involving a camera. And I love the idea of being able to connect AI with real-world data, so this project is perfect!

Repository Structure

text
Bonsai-Glasses/
├── bom.csv             # The bill of materials with links.
├── src/
│   ├── firmware/       # Embedded / microcontroller source code
├── hardware/
│   ├── cad/            # 3D CAD models and mechanical designs
│   └── bonsai_pcb/     # PCB schematics and board layouts
└── assets/             # Images, logos, and other design assets

How it works (WIP)

Thanks to the backend, Bonsai is able to interact easily with free and fast AI providers, such as Groq (for the STT and vision LLM). For TTS, it uses Piper (locally), which is esential for Catalan support. Thanks to the board, a XIAO ESP32 Sense, we can use the provided camera to give the model visual context, which is then used to describe the current enviroment. Using the built-in web server in the firmware, you can configre all the Wifi networks, and default user button actions. You can also change parameters such as default language. Some of these parameters can also be configured using the wake word (ex. "Hey Bonsai, change the language to Spanish").

Flashing a board

The web flasher writes a firmware release to a board over USB from the browser, with no toolchain to install. Plug the board in, pick a version and press write. It needs Chrome, Edge or Opera on a computer, since it runs on the Web Serial API.

Releases are cut by hand: run the Build and publish firmware workflow from the Actions tab, give it a version like v1.0.0, and it builds the firmware, tags the commit and publishes the release the page reads (.github/workflows/release.yml). The page itself lives in docs/ and is described in docs/README.md.

Your settings are safe across a flash: /config.json, the saved networks and the voice clips are on the SD card, and only the firmware images get replaced.

Bill of Materials

NamePurposeQuantityTotal Cost (USD)LinkDistributor
3.7V Lipo BatteryPowering the device.$10.50BuyAliexpress
JST PH 2.0 ConnectorConnect battery to PCB (Bent pin socket, 2P)$1.95BuyAliexpress
Seeed Studio XIAO ESP32S3 SenseTiny devboard with camera support (ESP32S3 Sense Module)$20.00BuyAliexpress
MAX98357A I2S Audio AmplifierDrives the speakers since ESP32 lacks enough power directly$1.68BuyAliexpress
75MM OV3660 120° CameraCaptures image for ESP32 to process (120 Degrees GOOD)$6.89BuyAliexpress
Push ButtonTaking the photo2.95$BuyAliexpress
Small SpeakerPlaying the TTS sound4.53$BuyAliexpress
PCBHolding all the components together23$BuyJLPCB

Parts

11
QtyValueFootprintReferences
2Conn_01x01_SocketConnector_Wire:SolderWirePad_1x01_SMD_2x4mm-, +
1100nFJLCPCB_Capacitors:C0402C2
110uFJLCPCB_Capacitors:C0402C1
1B+ Solder PadConnector_Wire:SolderWirePad_1x01_SMD_2x4mmJ1
1LOGOLOGOG***
1MAX98357AETE+TJLCPCB_Amplifiers:TQFN-16_L3.0-W3.0-P0.50-BL-EP1.5U2
1MountingHole_2.2mm_M2MountingHole:MountingHole_2.2mm_M2M2
1S2B-PH-SM4-TBJLCPCB_Connectors:CONN-SMD_P2.00_S2B-PH-SM4-TB-LF-SNCN1
1TS-1102N-5516JLCPCB_Switches:SW-TH_TS-1102N-5516SW1
1XIAO-ESP32-S3-SMDNew_XIAO_Series_Footprints:XIAO-ESP32-S3-SMDU1

Questions

How big is the Bonsai pcb PCB?

It measures 41 × 23 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bonsai pcb use?

11 parts, built around the MAX98357AETE+T, S2B-PH-SM4-TB(LF)(SN) and TS-1102N-5516. 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 Bonsai pcb KiCad files?

From the devvazquez/bonsai repository on GitHub, at the commit this page was made from: the board is hardware/bonsai_pcb/bonsai_pcb.kicad_pcb and its schematic hardware/bonsai_pcb/bonsai_pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bonsai pcb design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers35 × 100 mmWalkieTalkie, the printed circuit board in 3D

    WalkieTalkie

    GuzziFlipFlops/ESP32-Walkie-Talkie

    An open source ESPNOW based walkie talkie with a 600 meter tested distance, with an OLED and multiple buttons to interact with

    66 parts7MIT
  • 4 layers60 × 50 mmReceiver effects, the printed circuit board in 3D

    Receiver effects

    JMET04/aicad-agent

    Deterministic CAD/EDA agent plugin for 2D drawings, AutoCAD, SolidWorks, KiCad, review gates and auditable delivery.

    46 parts1MIT
  • 4 layers46 × 86.4 mmOpenCycle, the printed circuit board in 3D

    OpenCycle

    Vishvak365/OpenCycle

    Everything is generated from design.py — do not hand-edit the board and then regenerate, you will lose the edit. If you do route by hand in KiCad, stop using the pipeline for that board and say so in docs/DECISIONS.md.

    79 parts
  • 2 layers116 × 75.5 mmTemperaturePCB PANEL, the printed circuit board in 3D

    TemperaturePCB PANEL

    stuartpittaway/diyBMSv4

    Version 4 of the diyBMS

    212 parts1.1k
  • 4 layers38.4 × 128.5 mmPlantpal, the printed circuit board in 3D

    Plantpal

    teapotlaboratories/plantpal

    Your pal in plant care

    121 parts98MIT
  • 4 layers83 × 109 mmD4 small pcb panel, the printed circuit board in 3D

    D4 small pcb panel

    unsurv/unsurv-offline

    Offline portable GNSS device based on the ESP32

    522 parts72
  • 2 layers82 × 42 mmOpen authenticator, the printed circuit board in 3D

    Open authenticator

    Open-Authenticator/hardware-design

    Hardware design files for open authenticator

    86 parts42MIT
  • 4 layers39 × 92 mmChaac ng, the printed circuit board in 3D

    Chaac ng

    alvarop/chaac

    This is a work in progress for a wireless weather station project.

    82 parts21MIT