Skip to the content
2 layers52.5 × 64.8 mmBlobfi, the printed circuit board in 3D

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

4

README

README.md
Blobfi

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

pcb

Schematic

schematic

3D model

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: main_screen

An actual photo: main_screen

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):

playing animation

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

NamePrice (Total)Link
Lithium battery 500mahUS$6.73https://fr.aliexpress.com/item/1005009540712263.html
XIAO ESP32 C6US$6.71https://fr.aliexpress.com/item/1005006987272421.html
M3 8mm screwsUS$3.55https://fr.aliexpress.com/item/1005010597960014.html
Aliexpress shippingUS$5.10-
JLCPCB PCBUS$2.00https://jlcpcb.com
JLCPCB shipping & customsUS$2.20-
4K7 ResistorUS$0.58https://www.lcsc.com/product-detail/C119339.html
MY18B20L temp sensorUS$1.94https://www.lcsc.com/product-detail/C5259249.html
0.96'' OLED displayUS$2.25https://www.lcsc.com/product-detail/C5248080.html
Tactile buttonUS$0.54https://www.lcsc.com/product-detail/C2888493.html
Vibration motorUS$0.52https://www.lcsc.com/product-detail/C2759982.html
Male pin headers (20pcs)US$0.60https://www.lcsc.com/product-detail/C49261205.html
2N2222A transistorUS$0.90https://www.lcsc.com/product-detail/C5330385.html
0.1uF capacitorUS$0.61https://www.lcsc.com/product-detail/C5632427.html
LCSC shipping & handlingUS$12.57-
TotalUS$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

sideview

sideview

demo

My zine for this project

Zine

Parts

18
QtyValueFootprintReferences
3SW_Pusheasyeda2kicad:SW-TH_4P-L4.5-W4.5-P3.00-LS4.8SW1, SW2, SW3
24.7KΩeasyeda2kicad:RES-TH_BD2.3-L6.5-P10.50-D0.5R1, R2
1100nFeasyeda2kicad:CAP-TH_L5.8-W3.6-P5.0-D0.6C1
12N2222Aeasyeda2kicad:TO-92-3_L4.8-W3.7-P2.54-RQ1
1GND-SMDTestPoint:TestPoint_Pad_D2.0mmTP2
1HS96L03W2C03easyeda2kicad:OLED-TH_L27.8-W27.2-P2.54_C9900033791U2
1LOGOLOGOG***
1MY18B20Leasyeda2kicad:TO-92-3_L4.8-W3.7-P1.27-LTemp
1Motor GNDTestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mmGND
1Motor VCCTestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mmVCC
1VBAT-SMDTestPoint:TestPoint_Pad_D2.0mmTP1
1XIAO-ESP32-C6-DIPSeeed Studio XIAO Series Library:XIAO-ESP32-C6-DIPU1

The 15 most common of 18 parts.

Similar boards

  • 4 layers51 × 77 mmBODAQS A8 board v1 0, the printed circuit board in 3D

    BODAQS A8 board v1 0

    benconnor1972/BODAQS

    Bicycle Open Data Acquisition System

    120 parts9
  • 2 layers42 × 98.1 mmPendant, the printed circuit board in 3D

    Pendant

    esplo/cue2keys_resources

    Docs and other resources for Cue2Keys

    69 parts5MIT
  • 2 layers108 × 65 mmPcb moonratII, the printed circuit board in 3D

    Pcb moonratII

    PubInv/moonrat

    Moonrat: A second-generation portable incubator

    37 parts5AGPL-3.0
  • 2 layers56.8 × 66.2 mmTamagotchi, the printed circuit board in 3D

    Tamagotchi

    TaniWanKenobi/tamagotchi

    A custom PCB-based Tamagotchi virtual pet built with the XIAO-ESP32-C6!

    14 parts5
  • 2 layers60 × 90 mmCinder, the printed circuit board in 3D

    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 mmBx tacho, the printed circuit board in 3D

    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 mmPicotouch grid, the printed circuit board in 3D

    Picotouch grid

    todbot/picotouch_grid

    170 parts2GPL-3.0

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.