The Final Project


Posture Trainer

The cards below summarise the main Fab Academy skills used in the final project. The first card is the full project journey (Week 17); the rest are the individual fabrication skills, ordered by the role they played in the build. Click any card to jump to the related week.

Fabrication Plan


Component Description Fabrication Method Material Fab Academy Skill Demonstrated
Wearable Posture Clipper Attachment mechanism to mount device on clothing which will hold main sensors to track posture 3D Printing PLA / PETG Additive manufacturing
Charging Case The case to keep the clipper with wireless charging functionality Laser cutting MDF wood Parametric design
App interface MIT App Inventor Interface and Application Programming

BOM — Bill of Materials


Sized for the full build: 2 shoulder clips (left + right) and 1 laser-cut 2.8 mm MDF carry case. Prices are approximate USD on Amazon at time of writing and are best-checked against the linked search before ordering; many small parts (resistors, diodes, transistors, push buttons) are cheapest as multi-packs that cover the full build with parts left over for prototyping. Full per-week sourcing context lives on the W17 BOM.

Item Used in Qty per clip Qty for build (2 clips + case) Unit price (approx) Subtotal (approx) Where to buy
ESP32-C3 SuperMini (or XIAO ESP32-C3) Main MCU — sensor read, RGB / vibration control, BLE 1 2 ~$5 ~$10 Amazon search
MPU6050 (GY-521) IMU module Tilt / posture sensing over I²C 1 2 ~$4 ~$8 Amazon search
Coin / disc vibration motor (3 V) Tactile posture alert 1 2 (typically sold in 10-packs) ~$1 each ~$8 (10-pack) Amazon search
2N2222A NPN transistor Driver for vibration motor 1 2 (sold in 50–100-packs) ~$0.10 each ~$7 (50-pack) Amazon search
1N4001 diode Flyback diode across motor 1 2 (sold in 100-packs) ~$0.05 each ~$6 (100-pack) Amazon search
1 KΩ ¼ W resistor Base resistor for 2N2222A (vibration motor module) 1 2 covered by resistor kit (below)
10 KΩ ¼ W resistor R / G / B channel limiter for RGB LED 3 6 covered by resistor kit (below)
Resistor assortment kit (1 Ω – 1 MΩ, ¼ W) Covers all 1 KΩ + 10 KΩ resistors with extras for spares / re-work 1 kit ~$10 ~$10 Amazon search
RGB LED 5 mm, common anode Visual state / pairing / alert indicator 1 2 (sold in multi-packs) ~$0.30 each ~$7 (25-pack) Amazon search
Tactile push button (6 × 6 mm) Power / pairing toggle 1 2 (sold in multi-packs) ~$0.20 each ~$7 (100-pack) Amazon search
TP4056 micro-USB Li-ion charging module Battery charge / protection 1 2 (often sold in 5-packs) ~$1.50 each ~$8 (5-pack) Amazon search
LiPo battery 3.7 V (≈ 300–500 mAh, single cell) Portable power 1 2 ~$8 each ~$16 Amazon search
Copper-clad FR1 PCB blank Milled microcontroller PCB 1 3 (1 spare for milling error) ~$2 each ~$10 (5-pack) Amazon search
Hookup wire / silicone stranded jumper Connecting MPU, motor, battery to PCB ~30 cm 1 spool / kit ~$10 ~$10 Amazon search
Solder + flux (lead-free, 0.6 mm) PCB assembly 1 roll + flux pen ~$15 ~$15 Amazon search
2.8 mm MDF sheet (A3 / 300 × 400 mm) Laser-cut carry case for both clips 1 sheet (allows for kerf + spare cut) ~$15 ~$15 Amazon search
Estimated build total (2 clips + 1 MDF case, excluding shipping/tax) ≈ $160 USD

Notes on the BOM: (1) Small SMD-equivalent parts (resistors, diodes, transistors, buttons) are almost always cheaper as multi-packs than singles, so the "Subtotal" reflects the pack price even when only 2–6 are needed for the build. (2) The 1 KΩ and 10 KΩ resistors are bundled under one assortment kit because buying a kit is cheaper than two single-value reels. (3) Shipping to Kuwait via amazon.com or amazon.ae will add cost — checking amazon.ae for the same SKUs sometimes lands closer/faster. (4) Quantities for items milled or cut at the lab (FR1 blanks, MDF sheet) include one spare for re-runs. (5) The bulk-sourcing path to a $100 commercial price is in Week 18 — Invention, IP & Income.

Main Questions


Question Answer
What does it do? It’s a smart wearable system that fixes posture in real-time. It uses two clips—one on each shoulder—with MPU6050 sensors to track body alignment. If you slouch past a certain angle for too long, the clips vibrate to remind you to sit up. It also connects to a mobile app I built to handle calibration and settings.
Who's done what beforehand? The concept of posture biofeedback is well-established in both commercial and maker communities. I personally used the Upright device during my horse riding classes, which gave me firsthand experience with how effective real-time vibration alerts can be for maintaining spinal alignment during active movement.In the Fab Academy community, I've seen students explore similar themes but with different architectures. Like Nadine Uwinoza, used flex sensors for spinal tracking. Others, such as Praveen Kumar, focused on the ESP32 and MPU6050 integration. My project specifically targets shoulder symmetry, inspired by my yoga teaching experience.
What sources did you use? This project was an exercise in spiral development, where I constantly simplified my design to reach a functional, reliable 'Minimum Viable Product' (MVP).
  • The Fab Academy Community: The global archive of previous projects was my main source of information.
  • VujaDe Team and Instructors: My local team and instructors at the VujaDe Innovations Lab were essential.
  • AI Tools: I integrated AI into my workflow for coding and documentation. While I experimented with ChatGPT, my two favorite tools were Gemini and Claude Desktop. I used them to brainstorm the MicroPython logic, and help organize my documentation.
What did you design? I designed a lot for this! I created the custom PCB for the shoulder clips in KiCad, the 3D-printed housings that snap onto clothes, the layout for the charging case, and the entire mobile app interface. I started with a complex vest idea but simplified it into these modular clips.
What materials and components were used? The main parts are 2x ESP32-C3 SuperMini controllers, 2x MPU6050 IMUs, 2x disc vibration motors, and LiPo batteries. For the casing, I used PLA filament, and for the charging station, I used laser-cut wood inspired by my DJI Mic case.
Where did they come from? Some from the Kuwait market, some ordered online, and some from the Vujade Lab in Saudi Arabia.
How much did they cost? I have to define this
What parts and systems were made? I built three main systems: the hardware clips (electronics + 3D casing), the communication system (BLE data transfer between clips and phone), and the mobile app (the UI for user control and monitoring).
What tools and processes were used? I used KiCad for PCB design, a Roland milling machine for the boards, FDM 3D printing for the clips, and laser cutting for the charging case. For coding, I used MicroPython in a web-based IDE and MIT App Inventor.
What questions were answered? Can two separate sensors communicate reliably with one app? Yes. Can we filter out "fake" slouching? Yes, by adding a custom time delay in the code. Is a dual-shoulder setup better than a single spine sensor? For me, it provides much better feedback on shoulder rounding. Can the case charge the clips wirelessly? Still being tested.
What worked? What didn't?
    Worked:
  • The BLE connection between 2 microcontroller and APP
  • calibration and real-time angle tracking are very smooth
  • Feedback messages between the app and the clips
  • Vibrator worked when the angle of the sholulder deviated from the angles defined in the collaboration
    Did not work:
  • My first idea for a wearable vest was too complicated with all the hidden wiring, I had to pivot to the wireless "clip" design which is much more practical.
  • The ON/Off button on the clips, I had to find a way to control the battery flow on the softwear program and strat with vibrator moter on 0% until user press calibration
  • i wanted to connect both clips to the app, but as the coding got more complicating I decided to keep the App connected only to one microcontroller clip, and have the second clip getting the final comands from the first Clip (information of when to calibrate, strength vibration, delay, and the angle)
  • This cuased me to cancel a main feature, to have the clips alward working based on the last calibration made and user not having to alway connect and calibrate
  • I was hoping to make a wireless charging case for the clips
How was it evaluated? still in the process
What are the implications? This shows that we can make personalized health tech that isn't just a generic "one size fits all." My background in yoga and anatomy helped me design something that actually feels natural, and the tech can be adapted for other types of physical therapy.

Reflection


What worked
  • The final project worked. Two clips + the app + the laser-cut carry case, end-to-end functional — calibration, dual-shoulder threshold detection, BLE-to-app, ESP-NOW between clips, and the vibration alert all behave the way I designed them to.
  • Letting the design get simpler over time — moving from a full sensor vest, to a hanger, to a strap, and finally to two small shoulder clips — made the project achievable inside the academy timeline.
  • Spiral development as a discipline: working to the schedule, not the task. Each week added one usable layer (idea → 2D/3D → microcontroller → input → output → integration → packaging), so by W17 the build was already in hand.
  • IoT was a huge jump — I came in with no BLE / ESP-NOW experience and left with a working dual-radio system (BLE to phone, ESP-NOW between clips) that I designed, debugged, and documented myself.
  • PCB production was something I'd always been keen to do — KiCad → CNC mill on FR1 → vinyl-cut copper tape as the fallback → SMD soldering. Every step is now part of my toolkit.
  • Documentation as a daily practice — training my mind to document as I work, not at the end of the week. That's the single habit I'm most proud of building over the last 5 months.
  • My yoga, body-mechanics, and horse-riding (Upright device) background gave the project a clear, grounded purpose — the dual-shoulder symmetry framing.
  • AI fluency levelled up. I've used AI tools for over 4 years, but Fab Academy is where I learned to split work by tool: Claude Desktop for documentation review, Gemini for paired-programming, Claude Cowork for live iteration on files, and ChatGPT for quick spot questions. Knowing which tool to reach for is its own skill.
  • The Saturday global hours with the FabLab instructors turned out to be one of the most valuable parts of the academy — a non-judgmental space to ask anything, hear what other cohorts were building, and feel the wider FabLab Network in real time. Once I started attending, I tried not to miss any.
What didn't
  • The war in the Gulf rewrote the year. I'd planned every professional commitment so it would be done before Fab Academy started — but the regional escalation brought new professional and personal challenges right on top of the academy marathon.
  • The component supply chain collapsed. Parts I'd ordered before the academy even started never arrived in time. Some shipments came in after I'd already presented the final project. That was the single most unexpected challenge — and the one that forced me to reuse components from previous devices and rework the BOM around what I could actually source locally.
  • The early wearable-vest concept was too complex — hidden wiring was never going to work inside the academy timeline.
  • The flexible copper-tape PCB kept failing at the soldering stage; ran out of FR1 stock and had to use the vinyl-cut copper-tape route for the second clip.
  • The wireless-charging carry case is still the hardest unsolved piece — moved to the next spiral.
  • Some week pages (cover-moulding sub-section in W17, parts of the W18 commercial roadmap) are still partial write-ups I want to come back to before the final review.
  • Being a remote student for a lab in Saudi Arabia while living in Kuwait added another layer of friction — different timezone for hands-on lab sessions, no walk-in access to the machines when something failed at 2 a.m., and every component swap meant coordinating across a border. It worked, but it forced me to be far more self-sufficient than an in-person student would have to be.
  • I skipped the first two months of the Saturday global hours because I'd fallen behind on documentation and felt I had nothing "ready" to bring. Looking back, that's exactly when I needed the global hours.
What I'd do differently
  • Order all critical parts at least 3 months before Week 01. Academy timelines assume parts arrive on time; the world doesn't. A pre-academy parts run with a 3-month buffer would have absorbed the shipping shock.
  • Have a geopolitical / supply-chain backup plan — pre-identified local maker-shop substitutes, lab inventory swap-list, alternative chip families that the firmware can fall back to.
  • Prototype the simplest viable form first, then add complexity — instead of designing the most ambitious version up front.
  • Freeze the core design decisions earlier so the electronics and case could develop in parallel, not consecutively.
  • Record short subsystem-build videos as I go — by W18 the presentation video would then be cut-and-edit, not a fresh shoot under deadline pressure.
  • Reserve more buffer for personal life — I'd over-committed on "everything outside FA will be done first", and the world didn't cooperate.
  • Join the global hours from Week 01 — even when documentation feels behind. I avoided them for the first two months because I felt I had nothing finished to show. The minute I finally joined, I realised it was a completely non-judgmental space — the only person judging me was me. Skipping those sessions cost me more than catching up to my own arbitrary deadline ever would have.
  • For remote students: set up a working relationship with the parent lab from day one — a peer or instructor I can DM when something fails outside global-hours time, a shipping arrangement for components that doesn't rely on cross-border air freight, and a clear escalation path when machine access is the blocker.
Key learnings
  • Spiral development isn't a methodology — it's a discipline. Working to the schedule, not the task, is what gets things shipped under pressure. The discipline scales beyond Fab Academy.
  • IoT is layered: physical (BLE / ESP-NOW), data (sensor fusion + calibration), app (UI + UX), governance (privacy + multi-language). Skipping a layer is what kills the user experience.
  • Documentation is the project — the deliverable that survives. The clips can fail; the W01 → W18 archive doesn't. Five months of documenting-as-I-go is what I'd take with me into any new domain.
  • AI tools work best when you assign them narrow jobs. Claude Desktop ≠ Gemini ≠ Cowork ≠ ChatGPT. Pick the right tool per task; never let one do everything. This is genuinely a new skill I gained at FA, even after 4+ years of AI use.
  • A wearable is a system, not a board. Clips, case, app, and carry case all have to be designed together — and the radio split (BLE phone↔clip + ESP-NOW clip↔clip) matters as much as the firmware.
  • Domain knowledge (here, posture and anatomy from yoga + horse-riding) is what makes the engineering decisions meaningful. The dual-shoulder symmetry framing came from that, not from the tech.
  • The FabLab community is the lasting asset. The clips are the artefact; the people, the FabLab Network, and the cohorts are what I'd most like to stay connected to. I'm excited to start teaching in the FabLab community — the W01 → W18 documentation is already a curriculum I can use.
  • Personal momentum > formal credential. I'm planning a PhD in tech innovation and education for 2026 / 27 / 28, but the habits I built here — spiral, document, ship, use AI well — matter more than the next degree. I want to keep this momentum and start working on publications too. (Open question: is there a publication path within the FA Network for project-based research?)

Original Files


The four original design files for the project — PCB, 3D-printed clip case, laser-cut wooden carry case, and the mobile app. Click any row to download.

Subsystem File Format Tool Download
PCB — shoulder clip microcontroller board SholderClipPCBvr8 .zip (KiCad project) KiCad download
3D-printed clip case (top + bottom + LED lid) Shoulder Clipsvr2 .step Fusion / FreeCAD download
Wooden carry case with living-hinge cover hrk .xcs (xTool Creative Space) xTool S1 download
Mobile app — BLE pairing + calibration + thresholds ShoulderClips .apk (Android) MIT App Inventor download

Licence: original files released under the dual-licence stack from W18 — Invention, IP & Income (documentation: CC BY-SA 4.0 • firmware + app: MIT • hardware design files: CERN-OHL-P v2). The commercial product track is reserved — © Hamidah Rahimi 2026.

Fab Academy — Final Project Rubric


The criteria Fab Academy evaluators look for in the final project, and where on this site each one is answered.

Have you?
Each item below is ticked when the evidence is on this site, with a deep-link to the canonical write-up.