13. Mid Term Review

At the halfway point of Fab Academy 2026, this page summarises what I have documented so far (Weeks 1–12), where my final project JeLamp stands, and how I plan to finish the remaining weeks before the June 4 final presentation.

Assignment checklist

  • Show progress in documenting the assignments
  • Show progress on final project idea/s and planning
  • Made a schedule for remaining tasks
  • Meet with local and global instructor

1. Documentation Progress (Weeks 1–12)

All twelve topics from the first half of the course are documented on this site. Each row links to the corresponding weekly assignment page and summarises the main outcome.

Topic Week Key outcome Status
Principles & practices / Project management Week 1 Signed student agreement; set up GitLab Pages site, version control workflow, and initial final-project research on robotic arm lamps. ✓ Documented
Computer-aided design Week 2 Compared 2D/3D CAD tools; built parametric models in Fusion 360 and Onshape; practised image/video compression. ✓ Documented
Computer-controlled cutting Week 3 Characterised Thunder Laser Nova 51; cut press-fit and living-hinge parts; vinyl cutting workflow. ✓ Documented
Embedded programming Week 4 Programmed Arduino Uno and ESP32; studied datasheets; built button + LED interaction and serial communication. ✓ Documented
3D scanning and printing Week 5 Designed a parametric hinged box in Fusion 360; 3D-printed it; scanned a chair with Polycam and processed the mesh. ✓ Documented
Electronics design Week 6 Designed the XIAO ESP32-C3 development board in KiCad — schematic, ERC, footprint assignment, and PCB layout. ✓ Documented
Computer-controlled machining Week 7 Designed and CNC-milled an interlocking round stool from 18 mm MDF — Fusion 360 parametric design, Mastercam CAM, Snapmaker milling. ✓ Documented
Electronics production Week 8 Milled, soldered, and tested the Week 6 board on KEXU CNC; revised design with JLCPCB (pull-up fix). ✓ Documented
Input devices Week 9 Added HC-SR04 ultrasonic distance sensing to the Week 8 board; measured pulse timing and serial readout. ✓ Documented
Output devices Week 10 Drove an 8-LED WS2812B NeoPixel strip from the same board; distance input maps to a lit-LED bar graph; group power measurements. ✓ Documented
Networking and communications Week 11 ESP-NOW between XIAO ESP32-C3 (ultrasonic) and XIAO ESP32-S3 (SG90 servo); group MQTT + LoRa experiments. ✓ Documented
Mechanical design & machine design Week 12 Group XIAO vending machine; my contribution — STS3215 serial bus servo bring-up, ID assignment, gate tuning, and test firmware. ✓ Documented
Documentation site: gitlab.fabcloud.org — ning-zhang · 12/12 first-half topics complete · Git commits pushed weekly after each assignment

2. Final Project — JeLamp Progress & Planning

JeLamp is a Luxo-inspired desk lamp with gesture-driven lighting, embedded vision, and a custom carrier PCB. The fixed arm uses STS3215 housings as joint connectors — the lamp responds through NeoPixel colour and pattern, not arm movement.

Full project documentation: Final Project page

Concept evolution

The idea started in Week 1 with research on existing robotic arm lamps. Through CAD weeks I modelled a giraffe-like 5-DOF structure in Fusion 360, studying open-source references such as LeLamp. Weekly assignments progressively built the subsystems that JeLamp needs:

Current status at mid-term

Mechanical design

Fusion 360 / Onshape concept models complete; Luxo-style silhouette with fixed arm pose. STS3215 connector pockets tested in print.

Electronics

JeLamp carrier PCB v1 designed in KiCad (15 components, ~50 × 40 mm). Schematic verified, layout routed, Gerbers ready for JLCPCB.

Firmware subsystems

ESP-NOW control, NeoPixel patterns, HC-SR04 input tested in weekly assignments. Gesture + LED integration pending.

Not yet complete

Full mechanical assembly, carrier PCB fabrication + population, cable routing, enclosure, and end-to-end behaviour demo.

JeLamp system architecture sketch

JeLamp system overview — XIAO ESP32-S3 Sense, carrier PCB, STS3215 joint connectors, NeoPixel lighting. See also Week 16 System Integration for the detailed assembly plan.

System architecture (target)

3. Schedule for Remaining Tasks (Weeks 13–20)

Working backward from the Fab Academy 2026 final presentation on June 4, 2026, this is my plan for the second half of the course.

Week Topic Planned deliverable
13 Mid Term Review This page — progress summary, project status, schedule, instructor check-in
14 Molding and casting Badge or lamp-base mold; silicone casting; document safety and process
15 Interface and application programming Web UI on ESP32 to control NeoPixel via HTTP over Wi-Fi
16 System integration End-to-end JeLamp integration — gesture game demo, I2C between boards, assembly plan
17 Wildcard week Machine vision — facial expression interaction using ESP32-S3 camera + Edge Impulse
18 Applications & implications Final project plan, BOM, evaluation criteria, draft presentation slide and video
19 Invention, IP & income CC BY-NC license, dissemination plan, business models, detailed fabrication schedule
20 Project presentations June 4 — final demo: working JeLamp, presentation.png, presentation.mp4, complete documentation

Fabrication sprint (May–June)

WhenMilestoneDeliverable
Weeks 14–15 Mold/cast + web interface Cast lamp base or badge; prototype HTTP control dashboard
Weeks 16–17 Integration + wildcard ML Assemble mechanical prototype; camera gesture / expression demo
May 24–26 Mechanical fabrication sprint Print remaining arm segments, lamp head, base enclosure
May 27–28 PCB arrival + population Solder carrier board; verify power and NeoPixel output
May 29–31 Full assembly + integration Assemble fixed arm with STS3215 connectors; route I2C cables; connect camera; run end-to-end gesture demo
Jun 1–2 Debug + polish Verify arm stability at fixed pose; finalise LED patterns
Jun 3 Presentation media Update presentation.png with build photos; record presentation.mp4
Jun 4 Final project due Working demo at finalprojects.fabacademy.org

4. Instructor Meetings

Fab Academy mid-term review includes check-ins with both the local lab instructor and the global instructor network. Here is what I covered in each meeting:

Local instructor — Chaihuo Makerspace

I met with the Chaihuo lab instructor during the Week 13 regional review session. We walked through this documentation site together and discussed:

Global instructor — Fab Academy network

During the global mid-term review I walked through my documentation site week by week. The global instructor gave the following suggestions for improving earlier assignments:

Suggestion 1 — Week 1: add Cursor commit & push screenshots

My Week 1 page documents the Git workflow with terminal commands, but it does not yet show how to commit and push from Cursor step by step. The global instructor suggested adding screenshots that walk through the full process inside the editor:

  • Open the Fab Academy repository folder in Cursor (File → Open Folder…)
  • Use the Source Control panel (Git icon in the left sidebar) to review changed files
  • Stage files, write a commit message, and click Commit
  • Click Sync Changes / Push to publish the updated webpage to GitLab Pages

Planned fix: I will update Week 1 with a new subsection — "Commit and push from Cursor" — including screenshots of the Source Control panel, staged files, commit message box, and the push confirmation. This makes the documentation workflow clearer for other students who use Cursor rather than the terminal alone.

Suggestion 2 — Week 2 2D design: use parametric design

In Week 2 my 2D laser-cut Bumblebee model was drawn in Adobe Illustrator as fixed vector artwork. The global instructor noted that while the 3D section already uses parametric design in Fusion 360 and Onshape, the 2D design should also be parametric so dimensions are easier to change and update later — for example when adjusting kerf compensation, material thickness, or slot widths after a test cut.

  • Define key dimensions (tab width, slot size, material thickness, kerf offset) as named variables rather than hard-coded values
  • Use a parametric 2D workflow — e.g. Fusion 360 sketch parameters, Inkscape with linked dimensions, or Illustrator variables — so one change propagates across all parts
  • Re-export cut files after changing a single parameter instead of redrawing every piece by hand

Planned fix: I will revisit the Week 2 Bumblebee layout using parametric constraints (likely in Fusion 360, which I already use for 3D and CNC work in later weeks) and update Week 2 with before/after screenshots showing how a dimension change updates the full cut layout automatically.

Action items from instructor meetings: (1) Add Cursor Source Control screenshots to Week 1. (2) Rebuild Week 2 2D design with parametric constraints and document the workflow in Week 2. (3) Continue weekly commits after each update — practice what Week 1 documents.

Mid-Term Reflection

Looking back at Weeks 1–12, the weekly assignments were not separate exercises — they were stepping stones toward JeLamp. The XIAO dev board from Week 6 became the platform for input/output and networking tests; the STS3215 work in Week 12 gave me the horn geometry and mounting pattern I reused as fixed joint connectors in the final lamp — the arm does not move.

The biggest gap at mid-term is integration: electronics, mechanics, and behaviour still exist as parallel tracks. The schedule above prioritises closing that gap in Weeks 14–17 so that Weeks 18–20 can focus on documentation polish, IP planning, and the final presentation.

← Week 12 Back to Assignments Week 14 →