Skip to content

Week 19: Invention, Intellectual Property, and Income

Week 19 Assignment:
  1. Develop a plan for dissemination of your final project
  2. Complete your final project, tracking your progress:
    • what tasks have been completed, and what tasks remain?
    • what’s working? what’s not?
    • what questions need to be resolved?
    • what will happen when?
    • what have you learned?

Dissemination plan for AWL

AWL — a 3-team wireless quiz buzzer — sits at the intersection of hardware (custom PCB, 3D-printed enclosure, cast button caps) and software (ESP32 firmware, Node.js server, browser display, browser editor). My dissemination plan accounts for both.

License

After comparing what other FAB Academy students used (Jonas Grimaud 2026, Beni Alvarez 2026, Adrián Torres 2020 — all chose the same license), I’m publishing the whole project under:

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

CC BY-NC-SA 4.0

The three rules under this license:

Letter Rule What it means
BY Attribution Anyone using AWL must credit me
NC NonCommercial No commercial use without permission
SA ShareAlike Derivatives must use the same license, keeping the project open forever

Why this license: - Encourages remixing in classrooms, makerspaces, and other FAB Labs — that’s exactly the audience AWL is for - Stops someone from grabbing the design and selling it on Etsy without crediting the project - Forces openness to propagate forward into derivatives - Matches the FAB Academy convention so reviewers and other students recognize it

Everyone can see the project on my Final Project documentation page.

Ways AWL can be disseminated

Channel What happens
Run it as-is Anyone with the firmware + 3 ESP32 controllers can play. Download -> flash -> play.
Teach with it Take it to schools or makerspaces. Run quiz nights as an activity. Let kids edit the questions in the admin page.
Workshops Run a “build your own buzzer console” workshop at Chaihuo where attendees fab their own PCB, print their own enclosure, and flash their own firmware

Income

If I ever wanted to turn AWL into something revenue-generating:

  • Build-it-yourself kits — sell pre-stocked BOMs to people who don’t want to source 19 components themselves. Charge for the convenience, not the design.
  • Pre-assembled units for classrooms — sell turn-key sets to schools that don’t have a FAB Lab nearby.
  • Workshops — paid 1–2 day classes where people build their own.

Project Tracking

What tasks have been completed?

Hardware (✅ done)

  • Schematic + PCB layout in KiCad
  • Final PCBs ordered from JLCPCB, hand-soldered ×3
  • 3D-printed enclosures in 3 brand colors (Red, Yellow, Blue PLA Matte)
  • Silicone-cast button caps from 1-part open-faced mold
  • Heat-set inserts pressed in at 220 °C
  • Final assembly of all 3 controllers

Firmware (✅ done)

  • WiFi + WebSocket client in Arduino C++
  • ESPmDNS service discovery (Emilys-MacBook-Pro.local)
  • I²S square-wave tone generator
  • Custom OLED graphics: smiley, crying face, trophy, “AWL READY?” boot screen
  • Per-controller TEAM_ID (one source file, change one #define, reflash)
  • All 3 controllers flashed and verified

Server (✅ done)

  • Node.js game server with full state machine (6 phases)
  • Lockout buzzer logic
  • Rebound buzzing (wrong answers re-open round)
  • Auto-marking from questions.json
  • 3-2-1-GO countdown timing
  • Auto-win at 3 points
  • Random question order (Fisher-Yates shuffle)
  • HTTP + WebSocket on a single port (8080)
  • mDNS-friendly: works regardless of laptop’s DHCP-assigned IP

Host display (✅ done)

  • Intro screen with playwithyou.svg + pulsing READY! button
  • How to Play instructions (3 numbered rule cards)
  • Question card + 4 coral A/B/C/D pills
  • Live team scoreboard
  • Countdown overlay
  • Game-over celebration with confetti, bouncing winner name, trophy
  • Host control bar (buttons + keyboard shortcuts)
  • Built in plain HTML/CSS/JS — no framework, no build step

Admin editor (✅ done)

  • Browser-based question editor at /admin.html
  • GET/PUT /api/questions endpoints
  • Title editing, add/edit/delete questions, radio button for correct answer
  • Saves to questions.json, broadcasts updated state to live display

What tasks remain?

  • Final project documentation
  • Day-by-day journal
  • Materials BOM with prices and source links
  • Create presentation.png (1920 × 1080) for the presentation day
  • Playtest with friends
  • Record and edit the 1-minute final-project video
  • Design and laser cut the box

What’s working? What’s not?

Working ✅

  • The 3-way lockout race is fair and feels instant
  • mDNS auto-discovery means I don’t re-flash when my laptop’s IP changes
  • Rebound buzzing makes wrong answers feel less harsh — everyone stays in the game

Not (yet) working / known limitations 🚧

  • WiFi credentials are hardcoded. Moving to a new venue means re-flashing all 3 controllers with the new SSID/password. Fix: WiFiManager-style configuration portal (future improvement)
  • OLED-to-socket alignment is fiddly during assembly. Have to be careful every time you open and close the case

What questions need to be resolved?

  1. Will I be able to gather enough people (at least 9) to do the playtest? I want to verify that the console works in communal settings.

    31 May 2026 - One of my Indonesian friends came to visit Chaihuo with his friends, so I asked them to join a playtest session.

  2. Will the game consoles survive the flight from Shenzhen back to Germany?

    15 June 2026 - it survived!

What will happen when?

This week I will finish the playtest and edit the one-minute video, then prepare the presentation and decide what to include. After presentation week, I’ll complete the final project and all weekly documentation.

What have you learned?

I learned a lot about how to integrate everything I learned from Week 1 to now. Combining hardware and software is incredibly powerful. :)