All resources
Transcript & details below

Build an Interactive ESP32-C6 Desk Buddy for Under $20

Build Slab eyes, an interactive desk buddy with animated eyes, from a Waveshare ESP32-C6 screen and a two-part 3D printed case. No soldering: press it together, flash the code from your browser, and poke it with the BOOT button. Free guide and files.

Tutorials Beginner 1:53 48 views Nov 01, 2026

About this video

A beginner electronics project for your desk

Slab eyes is a pair of cartoon eyes in a small 3D printed case. They glance around, blink, wink, change moods and doze off when nobody plays with them. It's an easy way to learn the basics of electronics, 3D printing and coding: no soldering, no wiring and nothing to install. The full guide, print files and code are free in the Slab eyes build guide.

What you need (about $18)

Part Notes
Waveshare ESP32-C6-LCD-1.47 The microcontroller and a 1.47-inch 172×320 screen on one board. Get the ESP32-C6 version; the case and firmware are made for this exact board
3D printed case Two parts (frame and back lid), about 10 g of PLA, no supports
USB-C data cable Must carry data. Charge-only cables won't work
Chrome or Edge browser To flash the code onto the board

How to build it

  1. Print the case. Open the 3MF in Bambu Studio or the STL in any slicer. Use 0.2 mm layers, 2 walls, 15% infill and no supports. It prints in about 40 minutes.
  2. Press in the screen. The board drops into the frame from the back, with the USB-C port at the notch end. The openings on the side give you access to the BOOT and RESET buttons.
  3. Snap on the cover. Press the back lid on until it sits flush. No glue or screws.
  4. Flash the code from your browser. Plug the board into your computer and click Flash to board on the project page. Pick the port and connect, then wait for it to finish. If no port shows up, hold BOOT, tap RESET, let go of BOOT and try again.

How to play with it

  • Short press on BOOT: poke it. The eyes jump, look surprised, then smile.
  • Long press (about 0.7 s): switch to the next of nine looks: cloud, periwinkle, glowstick, matcha, blueberry, bubblegum, lagoon, peach and ghost. It remembers your choice after you unplug it.
  • Leave it alone: it picks moods by itself (happy, curious, excited, dizzy, sleepy). After about 75 seconds without a poke it gets drowsy and falls asleep.

RESET just restarts the board. When you want to customize it, download the Arduino source (slab-eyes.ino) from the guide and change the colors, blink timing or moods.

What you learn

The guide uses this project to teach real programming ideas:

  • How a game loop that runs many times a second makes a drawing look alive
  • How screen coordinates place two eyes on a 320×172 display
  • How random timers decide when to blink, glance and get sleepy
  • Why whole-number maths is faster on a chip without a floating-point unit

More projects with the same ESP32-C6 screen

Once you have the board, you can reuse it in other PrintPal builds:

Browse every build in PrintPal Projects.

FAQ

Do I need coding experience?
No. The firmware is ready to go, and Flash to board loads it from your browser in about a minute. The source code is there when you want to tinker.

Does it work on a Mac?
Yes. Flashing works in Chrome or Edge on Windows, Mac, Chromebook and Linux. Safari and phones can't flash boards.

Does it have a camera?
No. Its "personality" comes from timers and random numbers, and that's the main coding lesson of the project.

Full Transcript

Here is how you can make a desk buddy that can teach you everything about the basics of electronics, 3D printing and coding, all of that for less than 20 bucks. And you can make many other projects with the exact same components. So let me show you a simple and easy way how to do it. First of all, you will need the screen, which is an ESP32-C6. Now, it's really important to get the C6 instead of any other module. To get the exact link to this product and all of the other files that you will need, you can go to PrintPal, find the Projects menu and then select Slab eyes. The whole guide with the files is there, and if you want, all of the basics are explained here step by step. So you will print the case, and the only additional thing you will need is a USB-C cable to be able to upload the code to the ESP board. Now you can press the screen inside of the case, and as you can see, on the sides there are two holes for the buttons, which are BOOT and RESET, which you can then use to control the board. Now you can snap the cover on there and use the USB-C cable to upload the code using the PrintPal web interface. To do it, you will need to plug the USB-C cable into your PC, and if you want, you can download, edit and upload the code yourself. But the easiest way is to use PrintPal's Flash to board feature. Once you click it, you will see a menu where you can select your board and click on Connect. And once you do it, you will see that the board is flashed with the code. Now, the button on the top isn't that useful because it resets the screen, but with the button on the bottom you can interact with it: with a short click you poke it, and with a long one you change the style. And you can change this code as much as you want and design it for your workspace. And with this exact same screen, you can build many other projects that are also uploaded to PrintPal. Like this Play Pal that displays your current music: with a short click you pause it, and with a long click it switches to monkey dancing mode. Or this clock module that adjusts depending on the time, and even your own slot machine. So if you would like to build any of these projects with a step-by-step guide, all of the links should be in the description.