

Blobfi
Blobfi A custom PCB-based Tamagotchi virtual pet called Blobfi
- Size
- 52.5 × 64.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 18
- Pads
- 67
- Tracks, vias
- 76, 0
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 6 Apr 2026
- Updated
- 11 Jun 2026
Overview
Blobfi is an open-source printed circuit board by Anvarys, from the Anvarys/blobfi repository on GitHub. It is a 2-layer board of 52.5 × 64.8 mm with 18 parts on 18 nets, routed with 76 tracks and 0 vias.
It is built around the MY18B20L, HS96L03W2C03 and 178MU0003, with the 2N2222A among its other parts. Its parts include 3 switches, 2 resistors, 2 ICs, 1 capacitor and 1 transistor. It belongs with the ESP32 and RISC-V boards of this library.
Main components
4MY18B20L
TO-92L-55℃~+125℃ 1.8V~5.5V 14bit 200nA 500ms Single-bus ±0.5℃ TO-92L Temperature Sensors ROHSMysentechTemperature SensorsHS96L03W2C03
--40℃~+70℃ 0.96 128x64 180cd/m2 21.744x10.864mm I2C Passive (PMOLED) SSD1315 chip White - OLED Display ROHSHSOLED Display178MU0003
插件,P=5.08mm100nF 5.08mm 50V Y5V ±20% Plugin,P=5.08mm Multilayer Ceramic Capacitors MLCC - Leaded ROHSKNSCHAMultilayer Ceramic Capacitors MLCC - Leaded2N2222A
TO-92-55℃~+150℃ 1 NPN 100MHz 100nA 400 40V 5V 600mA 600mV 625mW NPN TO-92 Bipolar (BJT) ROHSSlkorBipolar (BJT)
README
README.md
Blobfi
A custom PCB-based Tamagotchi virtual pet called Blobfi
About the project
A custom PCB-based Tamagotchi-like virtual pet built the XIAO-ESP32-C6 MCU, featuring a 0.96" OLED display, 500mah battery with USB-C charging (via the esp32), 3 buttons, a temperature sensor and a vibration motor.
I made this project to have my own custom tamagotchi pet called Blobfi, which is a blobfish, because I love blobfishes!!
I used Tanishq's tamagotchi as insiration & reference.
How to build your own Blobfi
To build this project yourself, first you need to 3d print the top and bottom parts (link to the folder with 3d models), also you preferably should print 4 of the screen supports that will be used to mount hold the screen parallel to the PCB. Then you need to buy all the parts and the PCB and then assemple it all together as shown on the picture below (also you need to screw the PCB and the top to the bottom enclosure in using 3 M3x8mm screws each):

And then you need to flash the ESP32 using my blobfi_firmware sketch in Arduino IDE, also you need to install Adafruit SSD1306, OneWireNg, DallasTemperature libraries with their dependencies.
Tools I used
For PCB & schematic design I used KiCAD, for 3D design I used Autodesk Fusion (free version), for coding the firmware I used Arduino IDE, for testing the firmware I used Wowki hardware simulator and for general design (Edge.Cuts & the Zine) I used Figma
PCB design

Schematic

3D model

Firmware
Blobfi has 3 stats which decrease by 1 each 5 minutes:
- Hunger
- Happiness
- Energy
And if the temperature of Blobfi goes above 40C or below 5C happiness will decrease at 2x rate.
Depending on these stats you will have a different image of a blobfish on your main screen, here is an example of a happy Blobfi:
Emulated render:

An actual photo:

If any of the stats will go below 0 it will be set to 0 and the vibration motor will shake your Blobfi as it wants to eat/sleep/play.
Also if any stat is below 10 then the bar will blink on the screen.
Actions buttons do:
- Left button: Feed Blobfi, +15 hunger and +5 energy
- Middle button: Play with Blobfi, +15 happiness and -5 energy
- Right button: Put Blobfi to sleep, +15 energy
- Left and right buttons at the same time: Put the device into deep sleep (basically turning it off, you can wake it up by pressing any button)
And here is an example of an action animation (duration - 3s):

Deep sleep
Also my firmware uses ESP32 deep sleep feature, which allows it to go into a very low power use mode. After 30 seconds of inactivity (not pressing any buttons) the device will go into deep sleep.
When the device goes into deep sleep it will disable the display, but it will start an internal timer for the next update of Blobfi (5 minutes minus the time from the last update that had already passed) and it will still listen to any button inputs, and if you press any button it will wake up to the normal state.
This allows to reduce ESP32C6 and display's total current from about 50mA to about 17µA which is around 2941 times less current. This allows for the device to actually work for longer than some 10-15 hours, now it can do multiple weeks (theoretically months, has not tested that in practice yet).
BOM
| Name | Price (Total) | Link |
|---|---|---|
| Lithium battery 500mah | US$6.73 | https://fr.aliexpress.com/item/1005009540712263.html |
| XIAO ESP32 C6 | US$6.71 | https://fr.aliexpress.com/item/1005006987272421.html |
| M3 8mm screws | US$3.55 | https://fr.aliexpress.com/item/1005010597960014.html |
| Aliexpress shipping | US$5.10 | - |
| JLCPCB PCB | US$2.00 | https://jlcpcb.com |
| JLCPCB shipping & customs | US$2.20 | - |
| 4K7 Resistor | US$0.58 | https://www.lcsc.com/product-detail/C119339.html |
| MY18B20L temp sensor | US$1.94 | https://www.lcsc.com/product-detail/C5259249.html |
| 0.96'' OLED display | US$2.25 | https://www.lcsc.com/product-detail/C5248080.html |
| Tactile button | US$0.54 | https://www.lcsc.com/product-detail/C2888493.html |
| Vibration motor | US$0.52 | https://www.lcsc.com/product-detail/C2759982.html |
| Male pin headers (20pcs) | US$0.60 | https://www.lcsc.com/product-detail/C49261205.html |
| 2N2222A transistor | US$0.90 | https://www.lcsc.com/product-detail/C5330385.html |
| 0.1uF capacitor | US$0.61 | https://www.lcsc.com/product-detail/C5632427.html |
| LCSC shipping & handling | US$12.57 | - |
| Total | US$46.80 |
The display is out of stock so the price is for buying one from "Other suppliers" on LCSC
Build photos
For reference the squares are 5x5mm


My zine for this project

Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | SW_Push | easyeda2kicad:SW-TH_4P-L4.5-W4.5-P3.00-LS4.8 | SW1, SW2, SW3 |
| 2 | 4.7KΩ | easyeda2kicad:RES-TH_BD2.3-L6.5-P10.50-D0.5 | R1, R2 |
| 1 | 100nF | easyeda2kicad:CAP-TH_L5.8-W3.6-P5.0-D0.6 | C1 |
| 1 | 2N2222A | easyeda2kicad:TO-92-3_L4.8-W3.7-P2.54-R | Q1 |
| 1 | GND-SMD | TestPoint:TestPoint_Pad_D2.0mm | TP2 |
| 1 | HS96L03W2C03 | easyeda2kicad:OLED-TH_L27.8-W27.2-P2.54_C9900033791 | U2 |
| 1 | LOGO | LOGO | G*** |
| 1 | MY18B20L | easyeda2kicad:TO-92-3_L4.8-W3.7-P1.27-L | Temp |
| 1 | Motor GND | TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm | GND |
| 1 | Motor VCC | TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm | VCC |
| 1 | VBAT-SMD | TestPoint:TestPoint_Pad_D2.0mm | TP1 |
| 1 | XIAO-ESP32-C6-DIP | Seeed Studio XIAO Series Library:XIAO-ESP32-C6-DIP | U1 |
The 15 most common of 18 parts.
Questions
How big is the Blobfi PCB?
It measures 52.5 × 64.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Blobfi use?
18 parts, built around the MY18B20L, HS96L03W2C03, 178MU0003 and 2N2222A. 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 Blobfi KiCad files?
From the Anvarys/blobfi repository on GitHub, at the commit this page was made from: the board is PCB/blobfi.kicad_pcb and its schematic PCB/blobfi.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Blobfi design in my own project?
Its repository states no licence, so its author keeps all rights: ask Anvarys before reusing the design.
Similar boards
- 2 layers197 × 249.7 mm

- 4 layers51 × 77 mm

- 2 layers42 × 98.1 mm

- 2 layers108 × 65 mm

- 2 layers56.8 × 66.2 mm

Tamagotchi
TaniWanKenobi/tamagotchi
A custom PCB-based Tamagotchi virtual pet built with the XIAO-ESP32-C6!
14 parts5 - 2 layers60 × 90 mm

Cinder
CircuitGuy943/CinderV2-Filament-Dryer
(🚧) A filament dryer to precede my old one made inside a wooden box that never worked properly and didn't heat anything. Features to be estabilished
40 parts4GPL-3.0 - 4 layers56 × 28 mm

Bx tacho
dazchi/bx-tacho
Open DIY Beyblade X launcher RPM meter: ESP32-C3 with IR sensors and an OLED, Bluetooth (Battle Pass protocol), and a browser app for shot data and firmware updates. KiCad hardware, ESP-IDF firmware, 3D-printed case.
51 parts3GPL-3.0 - 2 layers180 × 110 mm
