A pocket companion for the «My AI friend» app: it shows a live face, blinks, listens to its button — and talks through your phone over Bluetooth. One evening of work, no electronics experience needed.
Illustration 1. The finished monster: printed case, glowing eyes on the OLED, USB-C at the bottom.
What to buy
Part
Where
Seeed Studio XIAO nRF52840 the brain: BLE controller with USB-C and a built-in Li-Po charger. The “Sense” variant works too (that's what the author uses).
OLED 0.96" 128×64, I²C, SSD1306 the face. A 4-pin module (GND · VCC · SCL · SDA), often sold as “GM009605”. A 1.3" SH1106 works too — there is a separate firmware build for it.
Li-Po battery 3.7 V, 400–600 mAh e.g. Akyga 550 mAh (40×30×5 mm). Charged by the XIAO itself over USB-C. Optional: the monster also runs on USB power alone.
Tact button 6×6 mm + a few wires the “pet me / talk” button. Any through-hole tact switch.
any electronics shop
Tools: a soldering iron, 3D printer (or a print service), a USB-C cable. Total parts cost ≈ $20–25.
My AI friend · ai-friend.club1 / 4
Step 1 — Print the body
Illustration 2. The printed parts laid out: front shell with the eye window, back shell, button cap.
Printable body — the “Compagnon 309 · Build your expressive robot” case by Leroyd: an expressive-monster shell made for a 0.96" or 1.3" OLED — exactly our two display options. Find it in the official Bambu Lab 3D-model collection (the Makerworld gallery built into Bambu Studio → “3D Models”, or makerworld.com) — search “Compagnon 309”.
Print profile: pick the ready-made “0.96" OLED — Original C309” profile for our SSD1306 build, or “1.3" OLED Screen” for the SH1106. If the XIAO and battery are a tight fit, use the roomier “More space inside” profile (0.2 mm layer, 2 walls, 15 % infill). PLA or PETG.
Note: Compagnon 309 is a third-party case shared by its author for the OLED display; our build mounts a XIAO nRF52840 and runs our own firmware, so the interior fit may need a little trimming or the roomier profile.
Plug the XIAO into the computer with USB-C and double-tap the tiny RESET button (next to the USB port) — quickly, like a mouse double-click.
3
A flash drive named XIAO-SENSE (or XIAO-BLE) appears. Drag the .uf2 file onto it. The drive disappears — and in a couple of seconds the monster opens its eyes.
Illustration 3. Double-tap on RESET → the XIAO-SENSE drive appears → the .uf2 file is dragged onto it.
Flash first, solder later. A flashed monster shows its face the moment the display is connected — so every next step checks itself.
My AI friend · ai-friend.club2 / 4
Step 3 — Connect the display (no crossed wires)
Hold the XIAO with USB up. The right header reads, top to bottom: 5V · GND · 3V3 · D10 · D9 · D8 · D7. The display's four pins land on four neighbours in a row — you can even solder the module straight onto the header:
Illustration 4. The OLED module sitting on the XIAO's right header, four pads in a row, straight wires.
Step 4 — The button and the battery
Button: between D1 and GND (left header). No resistors needed — the pull-up lives inside the chip.
Battery: solder to the BAT+ / BAT− pads on the back of the XIAO. Mind the polarity — red to BAT+, black to BAT−. Cut the JST plug off, tin the wires, solder one at a time.
Illustration 5. Back of the XIAO with BAT+/BAT− pads, red and black battery wires, and the button on D1–GND.
Safety: never short the battery wires; charge only inside the assembled monster over its USB-C (the XIAO charges at a gentle 100 mA). Don't leave a bare battery loose in a pocket with keys.
Fit everything into the case: display behind the eye window, button under its cap, battery flat on the back shell, USB-C aligned with its opening. Close the shells.
My AI friend · ai-friend.club3 / 4
Step 5 — Meet your monster
1
Install My AI friend from Google Play and open Settings → “Connect the monster”.
2
The system pairing window finds the monster nearby — pick it. From now on the phone face and the toy face are the same creature.
Illustration 6. Phone and monster side by side, a Bluetooth wave between them, both faces smiling the same smile.
The button
Short press — talk to me (starts/stops listening; without the phone: next emotion).
Long press — hush (without the phone: sleep / wake).
If something is off
Black screen → check the four display pins (most often SDA/SCL swapped) and that you flashed the d9d10 firmware for this wiring.
Phone can't find it → the monster advertises only when not connected elsewhere; power-cycle it and try again near the phone.
Flashing again: the same double-tap on RESET always brings the XIAO-SENSE drive back.
Questions, photos of your builds, ideas: ceo@ptrs.ltd. Show us your monster!