Skip to the content
PCBKitNew board
2 layers40 × 44 mmEye, the printed circuit board in 3D

Personal assistant characterized by Bender from Futurama

Size
40 × 44 mm
Copper layers
2
Thickness
1.6 mm
Parts
54
Nets
57
Pads
195
Tracks, vias
622, 49
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
3 Apr 2026
Updated
4 Aug 2026

Overview

Eye is an open-source printed circuit board by Pegoku, from the Pegoku/SarcasmOS repository on GitHub. It is a 2-layer board of 40 × 44 mm with 54 parts on 57 nets, routed with 622 tracks and 49 vias.

It is built around the RP2040, W25Q32JVSSIQ and AP2112K-3.3, with the AO3400A among its other parts. Its parts include 18 capacitors, 11 resistors, 4 connectors, 3 ICs and 3 diodes. It belongs with the RP2040 boards of this library.

Main components

4

README

README.md

SarcasmOS

SarcasmOS is a personality-first voice assistant. The core idea is simple: take a smart assistant like Alexa or Google Home, then give it a face, a voice, and most importantly, a personality. Instead of answering like a neutral corporate box, SarcasmOS replies in Spanish with dry humor, sarcasm, and animated expressions inspired by Bender.

This project focusses on the software and AI side of the assistant, but it also includes various hardware elements, like multiple PCBs, sensors, motors, and quite a bit of 3D printing. The goal is to have a memorable, sarcastic, and show-like assistant that can be used both for fun and real tasks like controlling smart home devices, playing music reviewing your agenda, or answering questions.

Demo Video

Watch the SarcasmOS demo

Do not click here SarcasmOS striking a funny Bender pose

Why did we Build This?

Futurama is a classic tv show we love (and you should too). Bender is the most memorable character, and his sarcastic personality is a perfect fit for a voice assistant. We wanted to build a voice assistant that is not just a plain, neutral box, but one that has a personality and you won't just use it to get things done, but also to have fun and be entertained

Images

SarcasmOS Poster

CAD - click to expand

CAD

Brain PCB

3d brain pcb

Brain PCB schematic - click to expand

Brain PCB schematic

Brain PCB layout - click to expand

Brain PCB layout

Eye PCB

3d eye pcb

Eye PCB schematic - click to expand

Eye PCB schematic

Eye PCB layout - click to expand

Eye PCB layout

Mouth PCB

3d mouth pcb

Mouth PCB schematic - click to expand

Mouth PCB schematic

Mouth PCB layout - click to expand

Mouth PCB layout

Language Scope

SarcasmOS is designed to work in Spanish first.

The language model prompt, personality, expected user input, and generated responses are all tuned for Spanish. Other languages may work accidentally depending on the upstream model, but they are outside the intended behavior of this project.

Features

  • Listens to speech input.
  • Transcribes speech to text.
  • Generates Spanish answers with a sarcastic character voice.
  • Converts the answer back to speech.
  • Syncs audio playback with an animated face.
  • Stores memory of past interactions.
  • Has a web interface for chat, audio, history and configuration.
  • Has integrated speaker and microphone.
  • Custom animations for the eyes and mouth.
  • 8k mouth display (128x64 pixels = 8192 pixels).

BOM

It is recommended to use the online google spreadsheet for the most up to date BOM with links and prices.

Click to expand the BOM table
ItemDescQtty neededQtty / PackPack QttyPrice / packSourceExtraCategoryAlready ownedIn CartPurchasedItem TotalFinal TotalFinal Total ($)
Round DisplayEyes2216.55€https://es.aliexpress.com/item/1005006928550245.html?spm=a2g0o.detail.0.0.3380vPbLvPbLqx&mp=1&pdp_npi=6%40dis%21EUR%21EUR+6.99%21EUR+6.99%21%21EUR+6.85%21%21%21%400b88a95617788756053276236e0e02%2112000045970082989%21ct%21NL%213560368449%21%211%210%21&gatewayAdapt=nld2espEyesFALSETRUEFALSE6.55€269.90€$309.64
Display LensMake Eyes Bigger21219.69€https://es.aliexpress.com/item/1005008724449296.html?spm=a2g0o.detail.0.0.6a0760d1eKUq5E&mp=1&pdp_npi=6%40dis%21EUR%21EUR%2020.73%21EUR%2019.69%21%21EUR%2019.69%21%21%21%4021038a8017819666708386757e11aa%2112000046404933342%21ct%21ES%213560368449%21%211%210%21&gatewayAdapt=glo2espEyesFALSEFALSEFALSE39.38€
Flexible LED MatrixMouth12139.56€https://es.aliexpress.com/item/1005006068032826.html?spm=a2g0o.productlist.main.21.139eA4CxA4Cx4e&algo_pvid=5b077f7f-89aa-40ed-b4d1-d402daa6e2e7&pdp_ext_f=%7B%22order%22%3A%225%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005006068032826%7C_p_origin_prod%3A&gatewayAdapt=nld2espMouthFALSEFALSEFALSE39.56€
Microphone moduleFallback PCB1116.30€https://es.aliexpress.com/item/1005009698505728.html?spm=a2g0o.cart.0.0.6c4d38daLbAysv&mp=1&pdp_npi=6%40dis%21EUR%21EUR+14.93%21EUR+6.24%21%21EUR+6.24%21%21%21%400b8848e317816378509391522e0e93%2112000049889234983%21ct%21ES%213560368449%21%211%210%21&gatewayAdapt=glo2espBrainFALSEFALSEFALSE6.30€
Ethernet moduleFallback PCB1114.35€https://es.aliexpress.com/item/1005009204216561.html?spm=a2g0o.detail.pcDetailBottomMoreOtherSeller.3.6e6eUfXQUfXQ5C&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.40050.354490.0&scm_id=1007.40050.354490.0&scm-url=1007.40050.354490.0&pvid=3570e6de-c66e-4314-adfb-729cb482450e&_t=gps-id%3ApcDetailBottomMoreOtherSeller%2Cscm-url%3A1007.40050.354490.0%2Cpvid%3A3570e6de-c66e-4314-adfb-729cb482450e%2Ctpp_buckets%3A668%232846%238114%231999&pdp_ext_f=%7B%22order%22%3A%22295%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22sceneId%22%3A%2230050%22%2C%22fromPage%22%3A%22recommend%22%7D&pdp_npi=6%40dis%21EUR%214.69%214.69%21%21%215.33%215.33%21%402103973d17801598614361290e0f38%2112000048290449884%21rec%21NL%213560368449%21X%211%210%21n_tag%3A-29919%3Bd%3Adc2a0b43%3Bm03_new_user%3A-29895&utparam-url=scene%3ApcDetailBottomMoreOtherSeller%7Cquery_from%3A%7Cx_object_id%3A1005009204216561%7C_p_origin_prod%3A&gatewayAdapt=nld2esp#nav-specificationBrainFALSEFALSEFALSE4.35€
18650 cells141140.00€Already ownedBrainTRUEFALSEFALSE0
cable1110.00€Already ownedBrainFALSEFALSEFALSE0.00€
mmWave sensor1114.79€https://es.aliexpress.com/item/1005006121923099.html?spm=a2g0o.detail.0.0.791e7F4F7F4Fcg&mp=1&pdp_npi=6%40dis%21EUR%21EUR%204.92%21EUR%204.89%21%21EUR%204.89%21%21%21%402103842a17788752854925679e1108%2112000035851121206%21ct%21NL%213560368449%21%211%210%21&gatewayAdapt=nld2espBrainTRUEFALSEFALSE0
Stepper MotorNema17 17HS4023 42BGYH1115.19€https://es.aliexpress.com/item/1005003874936862.html?spm=a2g0o.productlist.main.2.45ac6b6d4Ty51H&algo_pvid=24c1815d-4fc5-48d3-8530-a3506b98d7ee&pdp_ext_f=%7B%22order%22%3A%227968%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005003874936862%7C_p_origin_prod%3ABrainFALSEFALSEFALSE5.19€
AntennaFor esp321111.84€https://es.aliexpress.com/item/1005007468291772.htmlBrainFALSEFALSEFALSE1.84€
SpeakersSpeakers1215.47€https://es.aliexpress.com/item/1005008326457654.html?spm=a2g0o.productlist.main.3.25f622deCmRsMj&algo_pvid=bae0d8d2-8cd9-44f2-b28e-96956b2241be&algo_exp_id=bae0d8d2-8cd9-44f2-b28e-96956b2241be-2&pdp_ext_f=%7B%22order%22%3A%22415%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21EUR%215.66%215.49%21%21%2143.88%2142.56%21%402103835c17752449159045745eacb9%2112000044613535197%21sea%21NL%213560368449%21X%211%210%21n_tag%3A-29919%3Bd%3Adc2a0b43%3Bm03_new_user%3A-29895&curPageLogUid=PrDyQ5hqmN9h&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005008326457654%7C_p_origin_prod%3A&gatewayAdapt=nld2espBrainFALSEFALSEFALSE5.47€
LCSC componentsComponents11193.44€https://www.lcsc.comhttps://docs.google.com/spreadsheets/d/1oUawWcxpkl1FgnUkY16h-4gWlRbnDHgNzrJ1ZsR5Gkk/edit?gid=283679690#gid=283679690Brain, Mouth, EyesFALSEFALSEFALSE93.44€
LCSC ShippingComponents11114.68€https://www.lcsc.comBrain, Mouth, EyesFALSEFALSEFALSE14.68€
JLCPCB PCBsPCBs11122.17€http://jlcpcb.comBrain, Mouth, EyesFALSEFALSEFALSE22.17€
JLCPCB ShippingPCBs11130.97€http://jlcpcb.comTHIS IS THE CHEAPEST OPTIONBrain, Mouth, EyesFALSEFALSEFALSE30.97€

Current State

SarcasmOS is complete, including its Brain, Eye, and Mouth firmware. The finished hardware can listen for its wake phrase, understand a spoken request, use tools, answer in a Spanish Bender-style voice, and coordinate the animated face while it works and speaks.

ComponentCapabilities
Brain firmwareRuns the complete voice-assistant workflow on the ESP32-S3: microphone capture, wake-phrase detection, STT, multi-round LLM calls, TTS, speaker playback, conversation memory, a USB console, and a local HTTP API. Its native tools provide weather, local time, Google Calendar search, and live robot status. It also coordinates synchronized face transitions.
Eye firmwareDrives the two 240x240 GC9A01A displays from RP2040 boards, with 31 animated expression and weather states, independent left/right artwork, brightness control, and synchronized transitions over I2C.
Mouth firmwareDrives the 64x32 HUB75 RGB matrix from an ESP32-S3, with the matching 31 states, blended transitions, speaking intensity, live weather temperatures, brightness control, and acknowledged ESP-NOW communication.
Web appProvides an optional browser interface with chat, voice, history, configuration, and a full-face view. A hosted demo is available at sarcasmos.pegoku.com.
HardwareIncludes the finished 3D-printed enclosure, Brain/Eye/Mouth PCBs, microphone, speakers, sensors, motors, and display hardware.

The Brain is the runtime controller: it talks to the two Eyes over I2C and to the Mouth over acknowledged ESP-NOW. STT, LLM, and TTS remain cloud services, but the physical assistant does not require the Python web backend to run.

Build and Run the Firmware

Bring the boards up in this order so the Brain can be configured with the Mouth's MAC address and matching 2.4 GHz Wi-Fi/ESP-NOW channel.

1. Mouth

Install PlatformIO, connect the Mouth ESP32-S3, and run:

bash
cd Code/Mouth-NeonPCB
pio run -e custom_esp32s3_mini_n8 --target upload
pio device monitor -e custom_esp32s3_mini_n8

At boot, note the station MAC address and ESP-NOW channel printed in the serial monitor. The Mouth uses channel 1 by default; its onboard button can select channels 1 through 13. It must match the Brain's Wi-Fi channel. See the Mouth firmware guide for local animation tests, panel wiring, channel controls, and display emulation.

2. Eyes

Install the Raspberry Pi Pico SDK, connect each RP2040 Eye through SWD, and flash the regular I2C firmware:

bash
cd Code/Eye
./flash.sh --left --regular --build --upload --swd-monitor
./flash.sh --right --regular --build --upload --swd-monitor

The left and right Eyes use I2C addresses 0x30 and 0x31, respectively. The helper also provides self-test and standalone animation-demo firmware. See the Eye firmware guide for OpenOCD setup, manual builds, UART monitoring, alternate animation packs, and the desktop editor.

3. Brain

Install ESP-IDF, connect the Brain ESP32-S3, and run:

bash
cd Code/Brain
idf.py set-target esp32s3
idf.py menuconfig
idf.py build
idf.py flash monitor

Under SarcasmOS Brain in menuconfig, set the Wi-Fi credentials, provider tokens, TTS voice ID, timezone, and the Mouth station MAC recorded above. You can also configure the wake phrase, audio sensitivity, Eye transition timing, and ESP-NOW channel. After flashing, the USB console can test every subsystem, send typed or spoken requests, and update persistent configuration stored in NVS. See the Brain firmware guide for all settings, console commands, API endpoints, native tools, and the independent PCB self-test firmware.

Web Demo

For the already setup web demo, visit https://sarcasmos-7f3c9a2e.easyrumbo.com/.

For the best experience and no ratelimiting, run the local web app.

From Code/AI/Workflow/SarcasmOS-web:

bat
start-all.bat

On macOS/Linux:

bash
./start-all.sh

This starts:

  • Proxy (combines all services into 1 port for easy access): http://localhost:9000
  • Frontend: http://localhost:5173
  • Backend: http://localhost:8001

You can also start them separately:

bash
python -m http.server 5173
python -m uvicorn backend.app:app --host 0.0.0.0 --port 8001

Configuration

The backend reads environment variables from .env files, especially:

  • Code/AI/Workflow/SarcasmOS-web/backend/.env
  • Code/AI/Workflow/.env

Important variables:

  • HACK_CLUB_AI_KEY, or separate provider keys.
  • OPENROUTER_API_TOKEN for the language model.
  • REPLICATE_API_TOKEN for STT/TTS if using Replicate.
  • MINIMAX_VOICE_ID for the TTS voice.
  • FFMPEG_PATH if ffmpeg is not available on PATH.

More technical detail:

  • Code/AI/Workflow/SarcasmOS-web/README.md
  • Code/AI/Workflow/SarcasmOS-web/PROJECT_OVERVIEW.md

Architecture

text
Microphone / wake phrase / text request
                  |
                  v
          ESP32-S3 Brain
           |      |      \
           |      |       +--> Cloud STT, LLM/tools, and TTS
           |      |
           |      +----------> Mouth over ESP-NOW
           |
           +-----------------> Left + right Eyes over I2C
                  |
                  v
       Speaker audio + synchronized animated face

Things that happened when carrying out the project

When it came to making our project a reality we had several problems, because of customs we had to pay almost $200 more than what we had budgeted. We ended up paying more than $600 for the project 😭

When we ordered the electronic components, 4 were missing, for some reason. We told the company and they sent us the missing components (they were less than $1). When they arrived, which they did way after we finshed the project, and they wanted us to pay customs more than $16 for $0.80 of chips...

The flexible display we wanted to use also got lost in the mail, and we had to pay $60 for one, but it didn't arrive either. We ended up using a different display and driver, which we already had from a previos Hackclub YSWS (Neon).

Credits

Built as a physical AI assistant project for Hack Club / Fallout. SarcasmOS is not trying to be polite. It is trying to be memorable.

Parts

54
QtyValueFootprintReferences
10TestPointTestPoint:TestPoint_Pad_D1.0mmG6, G7, G8, G9, G10, G11, G12, G13, G14, G15
90.1uFCapacitor_SMD:C_0603_1608MetricC1, C8, C9, C10, C11, C12, C13, C14, C15
51kResistor_SMD:R_0603_1608MetricR3, R8, R9, R10, R11
410uFCapacitor_SMD:C_0805_2012MetricC4, C5, C6, C7
31uFCapacitor_SMD:C_0603_1608MetricC16, C17, C18
3RED_LEDLED_SMD:LED_0603_1608MetricD1, D2, D3
2100Resistor_SMD:R_0603_1608MetricR1, R7
210kResistor_SMD:R_0603_1608MetricR2, R4
233pFCapacitor_SMD:C_0603_1608MetricC2, C3
2Conn_01x08Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ3, J4
2SW_PushButton_Switch_SMD:SW_SPST_TS-1088-xR025BOOT1, RUN1
1100kResistor_SMD:R_0603_1608MetricR5
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
122Resistor_SMD:R_0603_1608MetricR6
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U3
1Conn_01x04Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ2
1LH128Extra:LH128RJ1
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1W25Q32JVSSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU2

Questions

How big is the Eye PCB?

It measures 40 × 44 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Eye use?

54 parts, built around the RP2040, W25Q32JVSSIQ, AP2112K-3.3 and AO3400A. 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 Eye KiCad files?

From the Pegoku/SarcasmOS repository on GitHub, at the commit this page was made from: the board is PCB/eye/eye.kicad_pcb and its schematic PCB/brain/brain.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Eye design in my own project?

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

More from Pegoku/SarcasmOS

2
  • 4 layers100 × 100 mmBrain, the printed circuit board in 3D

    Brain

    Pegoku/SarcasmOS

    Personal assistant characterized by Bender from Futurama

    225 parts2
  • 2 layers49.6 × 50 mmMouth, the printed circuit board in 3D

    Mouth

    Pegoku/SarcasmOS

    Personal assistant characterized by Bender from Futurama

    61 parts2

Similar boards

  • 4 layers98 × 124.4 mmPiberry.beepy, the printed circuit board in 3D

    Piberry.beepy

    CarbonComputers/Piberry-12

    PiBerry v12 marks the final and most refined revision of the PiBerry handheld Linux terminal. Designed with both form and function in mind, this version brings together the best elements of previous iterations while…

    132 parts9MIT
  • 2 layers84 × 98 mmFalloutbadge, the printed circuit board in 3D

    Falloutbadge

    sophiayduan/badges

    hackathon pcb badges

    93 parts3Unlicense
  • 2 layers128.6 × 81 mmAfterglow, the printed circuit board in 3D

    Afterglow

    bitfieldlabs/afterglow

    Pinball retro afterglow

    203 parts32
  • 2 layers184 × 80.5 mmPrometheus PCB, the printed circuit board in 3D

    Prometheus PCB

    TheContrappostoShop/Apollo

    Control Board for the Prometheus mSLA Printer.

    129 parts13CERN-OHL-S-2.0
  • 2 layers59.1 × 90.6 mmRp2040 keyboard, the printed circuit board in 3D

    Rp2040 keyboard

    byrantech/macropad

    ZMK oriented embedded RP2040-based 9-key macropad with USB-C, extra GPIO, SWD and select THT components.

    57 parts2MIT
  • 2 layers151 × 95 mmDeneme, the printed circuit board in 3D

    Deneme

    g210101021/OpenStylophone-RP2040

    Overview • Technical Summary • Architecture • Hardware Audit & Remediation • Schematic Subsystems • PCB Layout • Firmware Roadmap • Bill of Materials • Author

    143 parts
  • 4 layers70.6 × 98.6 mmCustom keyboard, the printed circuit board in 3D

    Custom keyboard

    Loredati-svg/RP2040-Macropad

    Custom 9-key macropad with 2 rotary encoders, powered by RP2040 – KiCad PCB design

    84 parts
  • 2 layers85 × 56 mmChocolate croissant, the printed circuit board in 3D

    Chocolate croissant

    namnlos-io/chocolate_croissant

    It's a Raspberry Pi Pico on a Raspberry Pi B+

    21 partsMIT