Week 19: Invention, Intellectual Property, and Income¶
Week 19 Assignment:
- Develop a plan for dissemination of your final project
- 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)
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/questionsendpoints- 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?¶
-
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.
-
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. :)
