20. Project Presentations
JeLamp — AI-Powered Gesture-Control Desk Lamp
This is the final week of Fab Academy 2026 — final project due June 4, 2026. I present JeLamp — an AI-powered gesture-control desk lamp that combines a fixed Luxo-inspired arm (STS3215 housings as joint connectors only), onboard camera vision, custom electronics, and a Wi-Fi control interface.
Final project requirements checklist
- Summary slide —
presentation.png(1920 × 1080) with name, project, Fab Lab, render, and "Fab Academy 2026" - Presentation video —
presentation.mp4(~1 min, 1080p, < 25 MB) showing fabrication and operation - Final Project page — separate page summarising the full JeLamp documentation
- BOM — bill of materials with quantities and estimated costs
- Internal linking — links from this page to every week that contributed to the final project
- System integration — documented how subsystems connect and work together
- Presentation links —
presentation.pngandpresentation.mp4hosted in the website root - Original design files — 2D/3D, board files, and firmware archived on this site (no external-only hosting)
- License — CC BY-NC 4.0 applied to documentation and design files
- Acknowledgements — credited open-source references, tools, and collaborators
JeLamp — AI-powered gesture-control desk lamp, final project for Fab Academy 2026 at Chaihuo Makerspace, Shenzhen.
Presentation Materials
Per Fab Academy requirements, the summary slide and one-minute video are hosted in the root directory of this website:
| File | Specification | Link |
|---|---|---|
presentation.png |
1920 × 1080 px — name, project name, Fab Lab, photo/render, brief description, "Fab Academy 2026" | View slide |
presentation.mp4 |
1080p, ~1 minute, < 25 MB (~18 MB) — conception, construction, and operation | View video |
Summary Slide
presentation.png (1920 × 1080) — click to open full size.
© 2026 Ning Zhang — CC BY-NC 4.0.
Presentation Video
presentation.mp4 — ~1 minute overview of JeLamp: AI gesture control, arm build, and demo.
Final Project Summary
What does it do?
JeLamp is an AI-powered gesture-control desk lamp. An onboard camera runs a machine-learning hand-gesture model (rock–paper–scissors via SenseCraft AI) and maps detected gestures to NeoPixel lighting feedback. The arm is a fixed mechanical structure — three STS3215 housings lock the joints but are not actuated. Users can tune LED colours and patterns through a Wi-Fi web interface.
What did I design?
- Fixed Luxo-style arm structure (Onshape, 3D printed + laser cut) — STS3215 as joint connectors
- JeLamp carrier PCB — power, NeoPixel output (KiCad)
- ESP32-C3 NeoPixel driver PCB — I2C slave LED controller (KiCad)
- Hello World test board — XIAO ESP32-C3 + button + LED (KiCad, milled)
- Embedded firmware — gesture ML, I2C protocol, web server
What processes were used?
| Skill area | Process |
|---|---|
| 2D design | Laser cutting — base panels, mounting plates |
| 3D design | Fusion 360 — arm segments, joints, enclosure |
| Additive | FDM 3D printing (PLA) |
| Subtractive | CNC PCB milling (KEXU), CNC plywood (ShopBot) |
| Electronics design | KiCad schematic + PCB layout |
| Electronics production | In-house milling + JLCPCB ordering + hand soldering |
| Embedded programming | Arduino on ESP32-S3 / ESP32-C3 |
| Input / output | Camera gesture input; NeoPixel output |
| Networking | Wi-Fi HTTP web UI; I2C between MCUs |
| System integration | Dual-MCU architecture, cable routing, packaging |
What worked? What didn't?
| Worked | Didn't / partial |
|---|---|
|
|
How was it evaluated?
Success criteria from Week 18: custom PCB with input + output functional, gesture recognition > 80% accuracy, NeoPixel responds via I2C, fixed arm stable with STS3215 connectors locked at design pose, system independently operable from single power supply, complete documentation with BOM and presentation materials.
System Integration
JeLamp integrates a fixed arm structure, custom carrier PCB, embedded AI vision, and a web interface into one lamp product. The architecture evolved from the dual-MCU plan documented in Week 16 toward a single JeLamp carrier PCB that hosts the XIAO ESP32-S3 Sense, power regulation, and NeoPixel output — reducing wiring complexity while keeping subsystems modular for testing.
+---------------------------+
| User (hand gesture) |
+-------------+-------------+
|
v
+------------------------------------------------------------------+
| XIAO ESP32-S3 Sense (on JeLamp carrier PCB) |
| - OV2640 camera + SenseCraft AI gesture model |
| - NeoPixel output (direct or via ESP32-C3 I2C slave) |
| - Wi-Fi web UI (Week 15) |
+----------------------------+-------------------------------------+
|
+-------------------+-------------------+
v v
NeoPixel ring HTTP web client
(gesture feedback) (manual LED control)
Fixed mechanical arm:
3× STS3215 housings as joint connectors (not powered)
Integration flow:
Camera -> SenseCraft AI inference -> gesture label
-> NeoPixel status color
-> (optional) I2C to ESP32-C3 lighting board
| Subsystem | Components | Integration method | Week |
|---|---|---|---|
| Structure | 3D-printed joints, laser-cut panels, base enclosure | STS3215 housings as fixed connectors; hollow arm for I2C routing | 2, 3, 5 |
| Power | 7–8 V input, MP1584 buck, protection diode + PTC fuse | Single carrier PCB distributes VIN_SERVO and +5 V rails | 6, 18 |
| Controller | XIAO ESP32-S3 Sense | Socketed on carrier PCB; USB-C for programming | 4 |
| Input | OV2640 camera | SenseCraft AI hand-gesture model on-device | 17 |
| Lighting | WS2812B NeoPixel ring | RMT output on carrier PCB or I2C slave on ESP32-C3 board | 10 |
| Communication | Wi-Fi HTTP, I2C, ESP-NOW (prototype) | Web UI for manual control; I2C for dual-board lighting | 11, 15 |
| Interface | Browser-based control panel | ESP32-S3 serves HTML/JS over Wi-Fi | 15 |
| Packaging | Base enclosure, cable routing, connector layout | All electronics in base; 3-wire I2C up hollow arm to lamp head | 16 |
Individual subsystems were validated in weekly assignments before integration: ultrasonic input (Week 9), NeoPixel output (Week 10), wireless control prototype (Week 11), web UI for LED control (Week 15), and gesture ML (Week 17). The mechanical arm uses STS3215 housings from Week 12 as fixed joint connectors — horns lock the segments at the design pose without servo actuation.
Bill of Materials (BOM)
Full materials list for the JeLamp prototype. Detailed sourcing notes are on the Final Project page and in Week 18.
| Item | Qty | Unit cost (est.) | Subtotal | Source |
|---|---|---|---|---|
| XIAO ESP32-S3 Sense | 1 | ¥90 | ¥90 | Seeed Studio |
| XIAO ESP32-C3 (NeoPixel driver board) | 1 | ¥35 | ¥35 | Seeed Studio |
| Feetech STS3215 housings (joint connectors) | 3 | ¥35 | ¥105 | Local hobby supplier / Week 12 stock |
| WS2812B NeoPixel ring (12 LED) | 1 | ¥25 | ¥25 | Adafruit / local supplier |
| JeLamp carrier PCB (JLCPCB, 5 boards) | 1 lot | ¥40 | ¥40 | JLCPCB |
| Hello World test PCB (Week 8, milled) | 1 | ¥15 | ¥15 | Chaihuo Fab Lab (KEXU) |
| SMD passives, headers, connectors | 1 set | — | ¥50 | Chaihuo / JLCPCB assembly |
| PLA filament (~300 g) | 1 | ¥40 | ¥40 | Chaihuo Fab Lab |
| Plywood sheet (laser-cut lamp head) | 1 | ¥30 | ¥30 | Chaihuo Fab Lab |
| MP1584 buck converter module | 1 | ¥8 | ¥8 | Local electronics market |
| 7.4 V LiPo / 5 V 3 A USB-C supply | 1 | ¥40 | ¥40 | Local supplier |
| Wire, screws, heat-shrink | — | — | ¥30 | Chaihuo Fab Lab |
| Estimated total | ~¥508 |
Costs are approximate prototype quantities; actual receipts tracked in Week 18 documentation.
Original Design Files
All original design files are archived on this website under public/files/ — no external-only
hosting. Source code and board files are linked from the relevant weekly assignment pages.
| Category | Files | Location |
|---|---|---|
| 2D design | Giraffe.svg, Week3Fab.dxf, seatfinal.dxf |
week3/, week7/ |
| 3D design | falt-pack-furniture-new.f3d (Fusion 360) |
week7/ |
| Electronics — Hello World board | HelloworldNew.kicad_sch, HelloworldNew.kicad_pro, Gerbers, G-code |
Week 8 — files/week8/ |
| Electronics — Week 6 board | Gerber files (HelloWorldWeek6-*.gbr) |
Week 6 — files/week6/ |
| Embedded firmware | Ultrasonic, NeoPixel, ESP-NOW, web UI sketches (.ino) | week9/, week10/, week11/ |
| PCB documentation | Jelamp Carrier PCB — May15.md |
files/ |
| System integration notes | Week 16 System Integration — Robot Arm Lamp.docx |
files/ |
| Presentation media | presentation.png, presentation.mp4 |
website root |
KiCad source for the JeLamp carrier PCB and Fusion 360 mechanical files are documented step-by-step on the Final Project page. Full project archive is mirrored on GitLab.
License
CC BY-NC 4.0
All JeLamp documentation, design files, and firmware on this site are © 2026 Ning Zhang, licensed under Creative Commons Attribution-NonCommercial 4.0.
This license allows others to share and adapt the work with attribution, for non-commercial purposes. I retain the right to offer commercial licenses or sell kits through Chaihuo Makerspace. Full rationale in Week 19.
Acknowledgements
- LeLamp (github.com/lelamp) — open-source robotic arm lamp; joint layout and mechanism reference.
- SenseCraft AI / Seeed Studio — pretrained hand-gesture model and XIAO ESP32-S3 Sense hardware platform (core AI input for gesture control).
- Edge Impulse — facial expression ML workflow explored in Week 17.
- Fab Academy — Neil Gershenfeld and the global instructor network; curriculum structure and documentation standards.
- Chaihuo Makerspace, Shenzhen — local Fab Lab: KEXU CNC, laser cutter, 3D printers, soldering station, and instructor support.
- Group assignment collaborators — Week 12 vending machine team for shared mechanical design experience.
- KiCad, Fusion 360, Arduino ESP32 core — open-source and industry-standard design tools used throughout the project.
Related Documentation
| Page | Content |
|---|---|
| Final Project | Full JeLamp design, PCB workflow, BOM, assembly plan |
| Week 1 | Project management — initial research on robotic arm lamps |
| Week 2 | CAD — Fusion 360 giraffe-like arm structure |
| Week 3 | Laser cutting — base panels and mounting plates |
| Week 5 | 3D printing — joint prototypes and structural parts |
| Week 6 | Electronics design — KiCad schematic and PCB layout |
| Week 8 | Electronics production — milled Hello World board |
| Week 9 | Input devices — ultrasonic sensor prototype |
| Week 10 | Output devices — NeoPixel strip and power measurements |
| Week 11 | Networking — ESP-NOW wireless control prototype |
| Week 12 | Mechanical design — group vending machine (machine design week) |
| Week 13 | Mid-term review — JeLamp progress and schedule |
| Week 15 | Web UI — HTTP control of servo and NeoPixel |
| Week 16 | System integration — dual-MCU architecture plan |
| Week 17 | Wildcard — facial expression / gesture ML on camera |
| Week 18 | Applications & Implications — project plan and BOM |
| Week 19 | IP license, dissemination, and business models |
Presentation Schedule
Final presentations for Fab Academy 2026: finalprojects.fabacademy.org — 2026 schedule
| Item | Detail |
|---|---|
| Student | Ning Zhang |
| Project | JeLamp — AI-Powered Gesture-Control Robotic Arm Lamp |
| Fab Lab | Chaihuo Makerspace, Shenzhen |
| License | CC BY-NC 4.0 |
Final Reflection
Fab Academy taught me to think in systems, not isolated skills. JeLamp started as a Luxo-inspired desk lamp with gesture-driven lighting and became a network of interconnected problems — ML inference latency, mechanical tolerances, power budgets, I2C cable length, solder joint quality. No single week covered everything; the final project is where all twenty weeks converge. I am proud of what works today and honest about what remains. The documentation on this site is the real deliverable — it lets anyone reproduce, critique, and improve JeLamp long after graduation.