Mariam Daghbashyan

Fab Academy 2026

Jun 08, 2026

Final Project

▶ INSERT COIN TO CONTINUE ◀
COIN COLLECTOR
FAB ACADEMY 2026 · FINAL PROJECT
PLAYER 1 · MARIAM DAGHBASHYAN
COINS
5 / 5
TIMER
01:00
RANGE
~50m
PROTOCOL
ESP-NOW
— COLLECTED COINS —
1NFC
2NFC
3NFC
4NFC
5NFC
BUILD PROGRESS 100%

Finally, coming back to the present day, I feel confident about what my final project will be. After realizing that politics is not something I want to focus on, I decided to create a game that helps people relax and think about positive things.

The game is built on an MDF board, featuring a robot controlled by a joystick. The goal is to collect 5 NFC coin tags within a limited time. Each coin is a unique NTAG213 sticker detected by an RC522 NFC reader mounted under the car. Collect all 5 before 00:00 to win — miss any and it's GAME OVER.

AI concept image 1 AI concept image 2

▸ AI prompt: "Generate a photorealistic image of a tabletop maze game made from wood, featuring a small robotic car collecting glowing coins, obstacles, and walls..."


— JOYSTICK DISPLAY STATES —
▸ PLAYING
00:42
C:3/5   B:87%
COINS:
▸ YOU WIN
^_^
YOU WON! :)
TIME: 00:38.24
ALL 5 COINS!
SW = PLAY AGAIN
▸ GAME OVER
v_v
GAME OVER :(
COINS: 3/5
BETTER LUCK!
SW = RESTART
▸ WAITING
COIN
COLLECTOR
PRESS SW START

— NFC COIN REGISTRY —
COIN #TAG UIDTYPESTATUS
011D 05 99 C5 08 10 80NTAG213■ COLLECTED
021D 02 99 C5 08 10 80NTAG213■ COLLECTED
031D 04 99 C5 08 10 80NTAG213■ COLLECTED
041D F7 98 C5 08 10 80NTAG213■ COLLECTED
051D 03 99 C5 08 10 80NTAG213■ COLLECTED

— TECH STACK —
ESP32C3 ×2
ESP-NOW
RC522 NFC
NTAG213 ×5
A4953 Motors
SSD1306 OLED
MDF Game Board
Laser + CNC Cut
— BUILD JOURNEY — WEEK BY WEEK —
WK-02 OpenSCAD — Maze Design DONE
▸ VIEW FULL WEEK 02 DOCS

I already had a clear idea of how I wanted the game environment to look. During this week, I learned OpenSCAD and transferred my ideas onto paper, then modeled them digitally.

OpenSCAD maze design 1 OpenSCAD maze design 2
WK-03 Laser Cut — 300×300mm Prototype DONE
▸ VIEW FULL WEEK 03 DOCS

I improved my OpenSCAD skills and modified my design. I created an algorithm to generate the labyrinth randomly, so each run produces a different layout. I used a laser cutter to make a 300mm × 300mm test version and also created cards generated from random designs.

Laser cut maze 1 Laser cut maze 2
WK-04 Timer System + Restart Button DONE
▸ VIEW FULL WEEK 04 DOCS

I programmed a timer system. Using a button, the timer resets and starts again. This helps the player track how fast they collect the coins and allows restarting the game.

WK-05 Robot Car Eyes Design DONE
▸ VIEW FULL WEEK 05 DOCS

This week, I created eyes for my robot car. I hope to include them in the final version 😄

Robot eyes 1 Robot eyes 2
WK-06 PCB Design — Motors + NFC + LCD DONE
▸ VIEW FULL WEEK 06 DOCS

This week, I worked on a more serious part — designing the PCB for my robot car, which includes: LCD (timer + coins display), NFC reader RC522 (coin detection), 2 motor drivers (movement), and RP2040 microcontroller (main logic).

PCB design
PCB 3D view 1 PCB 3D view 2
WK-07 CNC Cut — Full Game Board DONE
▸ VIEW FULL WEEK 07 DOCS

This week, I got much closer to the final result by using a CNC machine to cut a larger, more refined version of the game board that I initially tested in Week 3.

CNC game board 1 CNC game board 2
WK-08 PCB Milling + NFC Working DONE
▸ VIEW FULL WEEK 08 DOCS

This week, I milled the PCB design, which I plan to further improve and optimize in the coming weeks. The NFC reader is now working and detecting tags reliably.

PCB soldering
WK-09 Joystick + OLED + ESP-NOW Link DONE

This week I implemented one of the main components of my final project — the joystick 😍 Wireless communication between joystick and car via ESP-NOW protocol, with OLED display showing live timer, coin count, and battery percentage.

FINAL Full Game — All 5 Coins Running! LIVE

The complete game is now working end-to-end. Joystick controls the car wirelessly, NFC tags are detected as coins, the OLED shows live game state, and both devices flash their LEDs on coin collection. WIN screen shows your time. GAME OVER shows coins collected. Press SW to restart anytime.

© Copyright 2026 Mariam Daghbashyan - Creative Commons Attribution Non Commercial
Design: HTML, CSS