Week 19: Invention, intellectual property, and income
Fab Academy’s topic this week is Invention, intellectual property, and income: how the final project spreads, how it gets licensed, and whether there is any path to sustainable income. Below is my record for Forest Fairy (森之精灵), a conversational mobile potted-plant robot that measures chili pepper status (辣椒状态), building on the Week 18 planning checklist. This page is not legal advice. It is my own notes and plans.
Individual assignment
1) IP and income plan
I plan to publish this repo as open hardware + open source software. Firmware and application code under Apache 2.0; KiCad carrier, pot mesh, laser-cut dock files, and fab notes under CERN OHL. That matches what I actually built for Fab: multi-MCU firmware, Forest_fairy_v2 carrier, tree-root pot, charging dock, and the Alibaba ASR/TTS dialogue path (Week 15 voice). I want a classmate to fork the bench wiring without emailing me for Gerbers.
Income is not why I took this course. If money ever shows up, I see two paths, both secondary to finishing the Week 20 demo. First, documentation and teaching kits: a simplified sensor + TFT bundle for schools, priced to cover parts and assembly time, with the full omni + Nanostat stack staying open source. Second, paid install help for nursing homes or community centers that want a batch of machines but do not want to debug UART themselves. Holographic projection, auto-refill base stations, and cross-household plant networks stay off the Week 18 scope list (Week 18 deferred list).
2) Final project dissemination plan
I split outreach by who actually needs the files. For Fab classmates and reviewers, the main route is this GitLab
site, the week HTML pages, and the repo-root presentation.png / presentation.mp4 before Week
20. For maker and hacker communities, I would mirror the repo to GitHub with LICENSE files in the tree and post a
short build thread that points to the Week 16 v2 voice bench video and the Week 18
BOM. If a teacher asks, I can offer a stripped kit using XIAO, DHT11, and TFT without the omni base; that is not a
product launch, just a way to use spare boards I already have. Nursing homes or community centers are only relevant if
someone from the Week 18 user scenario contacts me, and even then I would bring install notes, not a "mood map
dashboard" SKU.
The timeline after Fab is rough, and I do not want it to read like a startup roadmap:
| Phase | Timing | Action |
|---|---|---|
| Week 20 deliverables | Jun 2026 | Integrated demo, presentation.png, presentation.mp4, site deploy |
| Repo cleanup | Jul 2026 | Redact secrets.h, tag release, add Apache 2.0 + CERN OHL README blocks |
| Public mirror | Aug 2026 | GitHub mirror, one-page “how to rebuild the bench” from Week 16 integration photos |
| Write-up | Sep 2026 | Draft short paper or blog post on leaf EIS + dialogue policy, citing Week 18 references |
| Optional outreach | 2026 H2 | Local maker meetup demo; nursing-home conversation only if inbound interest |
3) Future directions and how to get there
After Week 20 I am not chasing six parallel product lines. The table keeps only the technical steps that follow directly from Week 18 open questions and from what the bench already proved:
| Direction | Path | Estimate |
|---|---|---|
| Lower-latency v2 voice | Streaming ASR instead of file hand-off; keep Bailian or split services (Week 16 conclusion) | 2–4 weeks post-Fab |
| Leaf impedance protocol | Fix electrode pressure + humidity steps; log baselines per watering event (final-project §4) | 1–2 months of daily logs |
| Trend prompts on TFT | Need a minimum baseline window (hours vs days) before “drift” copy is allowed (Week 18 deferred) | After calibration data exists |
| Power budget | Measure omni + WROOM + voice under load; decide if 2S2P pouch is enough for demo runtime | During integration week |
| Passive irrigation cavity | CAD-only today; would need mold + leak test before any field trial | Not scheduled |
| Autonomous light seeking | Explicitly out of Week 20 scope (Week 18 demo scope); would need light map + safer motion policy | Future version, if ever |
4) Done vs still open
The bench work is mostly real, but it is still not the same as one machine. DHT11 temperature/humidity, the DFRobot light module, and RS485 soil NPK read on XIAO and show on the TFT during bring-up (Week 10). The leaf channel works as Pico to Nanostat to XIAO over UART, although calibration and contact repeatability are still open (Week 6 rev.2). The v2 voice path has already completed a bench round trip from mic to Alibaba ASR/LLM/TTS to ILI9341 and the harvested speaker (Week 15 v2 demo). Motion works as UNO manual and auto cruise with SR09 avoidance on a flat floor (Week 12). The Forest_fairy_v2 PCB is fabricated, the laser-cut charging dock is built, and the tree-root pot is printed (Week 8, charging dock). What is still in progress is the part that matters most now: pot, base, harness, and chili pepper plant as one unit (Week 18).
I have not started passive irrigation hardware beyond CAD (Week 18), and I am explicitly deferring autonomous light seeking, auto-repositioning, fixed LLM disclaimer copy, cross-species generalization, and cloud data retention policy. Those belong to a later version or outside the class.
5) What works and what does not
Working now
On separate bench setups: DHT11, light module, and RS485 NPK return stable enough numbers for the TFT pages. Nanostat leaf reads move with watering and contact changes, which is useful but not yet a calibrated curve. Alibaba v2 voice completes a non-menu Mandarin sentence and prints the LLM reply on the ILI9341 while the harvested speaker plays TTS. UNO drives manual PS2 control and auto cruise with SR09 stop/avoidance on a clear floor.
Partially broken
Leaf impedance picks up contact pressure and vibration after potting; I still filter and cross-check against soil NPK before any “plant request” copy goes to the speaker (Week 16 policy). v2 cloud voice latency is fine for a demo script but not for rapid back-and-forth. Nothing has been tuned yet with all four MCUs, TFT, mic, speaker, and motors drawing from the same harness on the integrated machine.
Not started
Repo-root presentation.png and presentation.mp4 still need integrated-machine footage. I also
need a published firmware tree with secrets removed. Auto-refill and passive irrigation hardware remain beyond CAD.
6) Key problems to solve
The first problem is integration: route the harnesses, mate the pot to the base, and power on with the chili pepper plant and leaf electrodes attached without the I²C noise from Week 16 display debug returning. The second is the leaf impedance protocol, especially electrode attachment, so Nanostat curves are comparable from day to day. The third is the multimodal guardrail from Week 18: do not let one noisy channel become dialogue, and cross-check environment readings before anything reaches the TFT or speaker. I also need to measure the power budget with omni drives, WROOM WiFi, and voice active on the 2S2P pouch, run one full v2 Alibaba rehearsal on lab WiFi without manual reset, and mark third-party modules such as the omni kit, Nanostat, and XiaoZhi donor in the README so forks can see what is mine and what was bought.
7) Remaining work timeline (calendar, not fantasy quarters)
This table continues Week 18 plan from 4 June 2026. Dates slide if lab access slips.
| When | Task |
|---|---|
| 5–6 Jun | Mechanical union: pot on base, harness routing, chili pepper + first leaf electrode attach |
| 7 Jun | Power-on tune: motion, environment on TFT, at least one Nanostat capture on integrated unit |
| 8 Jun | Freeze WiFi v2 Alibaba demo script; one full rehearsal |
| 9–10 Jun | Shoot integrated photos/video; export presentation.png and cut presentation.mp4 |
| ~11 Jun | Week 20 online presentation and closed demo |
| Jul 2026 | Repo release tag, license headers, redacted secrets |
Presentation media (Fab requirement)
Continues from Week 18: repo root now has
presentation.png (1920×1080) and
presentation.mp4 (1080p, 59 s, ~20 MB).
presentation.png: John Yu · Forest Fairy · Chaihuo Makerspace · Fab Academy 2026.
presentation.mp4: final Week 20 reel (see also Week 20).
8) What I learned
IP week forced me to say what I would actually publish versus what was still only on slides. Apache 2.0 + CERN OHL fits the Fab repo I already have: firmware trees, KiCad carrier, pot mesh, week HTML evidence. The hard part is labeling what came from kits (omni base, Nanostat, XiaoZhi donor) so nobody thinks I designed the motor drivers.
Income planning was a useful honesty check. I do care whether a nursing-home install could work, but crowdfunding, subscription “plant memory,” and city-scale mood maps were writing I did not believe. Trimming those out made the dissemination plan match the Week 18 scope list instead of a pitch deck.
Technically, the chain from sensors to cloud dialogue to a moving base is real on the bench in pieces. Integration is still the risk I under-scheduled. Leaf impedance is sensitive in ways DHT11 is not; v2 voice works but latency and WiFi dependence matter for the demo script. Every spoken line still has to trace to a sensor flag or an unknown label, same rule as Week 16.
Reusable outputs on this page: license choice, dissemination table, pre–Week 20 calendar, done/open lists tied to
Week 18. Next step is mechanical union, then
presentation.png / presentation.mp4, then
Week 20.
I used Cursor to code the firmware I plan to publish under Apache 2.0, from Week 8 hub bring-up through the Week 15 / Week 17 voice and UI trees. I still treated every pin map and serial log as the source of truth before calling a build demo-ready.