Week 12 — Mechanical and machine design
This week’s topic: Mechanical and machine design.
Individual assignment
Your personal work for this week — notes, photos, design files, and reflections.
Group assignment
For Week 12, our group explored mechanical and machine design through the concept of a compact vending machine for XIAO development boards.
Assignment brief
- Develop a machine as a team, including its mechanism, structure, and test process.
- Record how the idea evolved into a working prototype and how the subsystems connect together.
Team roles (Week 12)
Our group split Week 12 work across mechanical design, electronics choices, firmware, and integration. The table below records the main responsibilities so it is clear how the subsystems came together.
| Member | Focus (summary) |
|---|---|
| Guannan | Idea generation, appearance design, servo program and testing |
| Tim | System workflow description, structural design, design assembly |
| Sunny | Idea generation, overall mechanical structure |
| Xin Ruili | Column-based design, product flow mechanism design |
| Maggie | Hardware selection and documentation (why Wio Terminal, servos, RFID) |
| Jenny | Column assembly, manual dispensing test |
| Emily | Materials (acrylic and frame), 3D-printed servo arm, design explanation |
| Join Yu (me) | Assemble code testing — Wio Terminal + servo + RFID |
| Jerry | Idea generation, structural design |
| Dolphin | RFID programming and testing, PC backend dashboard |
| Henry Yu | Final assembly wiring (Wio + servo + RFID) |
| Meia | Prototype testing (tests 1–3), results explanation, PC backend dashboard |
| Alison | Final demo description, photos and video production |
My contribution: assemble code testing (Wio + Servo + RFID)
I was responsible for integrated firmware bring-up and test: taking the separate pieces (controller, RFID input, and servo motion) and proving that one program on the Wio Terminal could run the full interaction chain reliably before the machine was fully wired into the final enclosure.
How I worked with teammates
- Servo side: I used Guannan’s servo routines and gate-angle parameters as the baseline, then checked them on the bench with the actual STS3215 so motion stayed repeatable (no double-release, no stall against the column).
- RFID side: I aligned with Dolphin on the card data format and read path so the Wio received a clear “authorized / not recognized” outcome, not just raw UID noise.
- Wiring handoff: Once the integrated sketch behaved on a loose setup, Henry Yu carried the same pin and bus choices into the final harness inside the cabinet.
Process (what I actually did, step by step)
- Subsystem smoke tests: Confirmed the Wio LCD and Grove port, verified RFID reads with serial logging, and exercised the servo through closed → open → closed with safe delays.
- Merge into one sketch: Combined the RFID event handler and the servo command path in a single state flow (idle → card detected → validate → dispense → return to idle), with on-screen status text so anyone watching the desk test could follow the state.
- Timing and robustness: Added debouncing / ignore window after a read so one tap did not trigger multiple dispense cycles; retested with different tag placement speeds.
- Integration checklist: Recorded pass/fail for “RFID only”, “servo only”, and “end-to-end dispense” so Meia’s later prototype tests could start from a known-good firmware revision.
- Issue log: When something failed (for example, servo not reaching the latch position or RFID mis-read under vibration), I noted whether it was electrical, mechanical slack, or code order so the mechanical team could adjust the column or arm in parallel.
The photos below are the same modules we used on the bench while closing this integration loop — they are not a single snapshot of the final cabinet, but they document the hardware stack the assembled code was written against.
Idea generation
We started by discussing what kind of machine would actually be useful in a makerspace. Instead of making a purely demonstrational mechanism, we wanted something that responded to a real need. That led us to the idea of a vending machine for Seeed Studio XIAO boards.
The goal was to create a small machine that could show the products clearly, interact with users through RFID, and dispense a single board in a controlled way using a motorized gate.
I liked this topic because it made me think beyond a single mechanism. I started to see machine design as the coordination of user flow, electronics, and moving parts, not just the shape of one component.
Design requirements
- Simple interaction: the machine should be understandable without explanation.
- Reasonable cost: parts and fabrication methods should remain suitable for a prototype in the lab.
- Mechanical reliability: the gate and storage structure should work repeatedly without obvious failure.
- Small footprint: the machine should be compact enough for a desk-scale installation.
- Clear visibility: the stored boards and machine status should be easy to observe.
Planning and design
Once the concept was fixed, we organized the design around a vertical storage column. The XIAO boards would be loaded from above and stacked by gravity, while the lower gate would control the release of a single board for each purchase event.
Our plan combined transparent acrylic panels for the enclosure, 3D-printed parts for custom joints and moving interfaces, a Wio Terminal as the controller, and a serial bus servo to actuate the gate.
System architecture
The project was planned as a chain of simple actions. A PC-side system prepares the RFID card data, the user presents the card to the machine, the Wio Terminal interprets the input, and the servo drives the gate so that one XIAO board can be dispensed from the column.
- PC: handles the card-writing or transaction side of the workflow.
- RFID reader: provides the machine with user or purchase information.
- Wio Terminal: coordinates the logic and displays status feedback.
- STS3215 servo: converts the control signal into mechanical motion.
- Storage column: keeps the boards aligned and directs them toward the output path.
Timeline
| Phase | Task | Target |
|---|---|---|
| 1a | Case fabrication and 3D-printed part preparation | Week 12 |
| 1b | Wio Terminal, RFID reader, and controller testing | Week 12 |
| 2a | Gate mechanism testing | Week 12 |
| 2b | PC-side vending workflow programming | Week 12 |
| 3 | Assembly, integration, and recording | Week 12 |
| 4 | Further refinement toward a production version | Week 15 |
Component selection
The selected parts needed to work well together in a prototype that mixed electronics, user interaction, and mechanical motion. Availability in the lab and ease of integration were also important in our decision.
Central controller: Wio Terminal
We chose the Wio Terminal as the main controller because it already includes a display and provides convenient interfaces for peripherals. That made it a practical choice for a prototype where both interaction and control needed to be handled in a compact package.
- The built-in LCD can present status information directly to the user.
- Its Grove ecosystem makes module connection more straightforward during prototyping.
- The board size is small enough to integrate into the machine body.
Moving parts: STS3215 serial bus servo
For the gate mechanism, we selected an STS3215 serial bus servo. This type of actuator is useful in machine projects because it supports bus-based control and offers more controlled motion than a minimal entry-level servo setup.
- Bus communication can simplify wiring when multiple actuators are involved.
- Stable positioning is important for avoiding double dispensing.
- The torque is suitable for the scale of this prototype gate system.
Payment and identification: Grove RFID reader
To handle identification and card-based interaction, we used a Grove RFID reader. In this design, the RFID module acts as the input device that starts the vending sequence.
In the intended workflow, information is written to the card first, then the user taps the card on the vending machine. After the controller confirms the input, it sends the command that releases the product.
Prototype testing
Before full assembly, we tested the project in separate stages. This made it easier to identify whether a problem came from the controller, the sensing side, or the mechanical structure. The assembled code testing on the Wio Terminal (my role above) sits between these single-subsystem checks and Meia’s later full prototype tests: it proves the firmware path from RFID input to servo motion before the final wiring and enclosure are frozen.
- Controller test: check screen output and basic peripheral communication.
- RFID test: verify that card reading works as expected.
- Servo test: observe whether the gate can move to repeatable positions.
- Structure test: see whether the boards can move down the column smoothly.
Integration: servo and warehouse column
After the separate tests, the next important step was the link between the actuator and the storage structure. This connection determines whether electrical control can be translated into a predictable release action.
We prepared a custom 3D-printed arm to connect the servo horn with the gate latch. Its purpose is to convert the servo rotation into the push or pull motion required by the dispensing mechanism.
This part was especially helpful for me because it showed how a small connector can decide whether the whole machine feels reliable or not. I learned that mechanical design often depends on these interface details between standard parts and custom parts.
Mechanical design notes
- The column relies on gravity so the next board can move into place without a second actuator.
- The gate travel has to be tuned carefully to release one item instead of several.
- Transparent panels are useful for both presentation and debugging.
- A modular structure makes later adjustment and replacement easier.
Result summary
- Our group established a workable concept for a XIAO board vending machine.
- The proposed system combines card interaction, embedded control, and a mechanical dispensing unit.
- The structure was designed as a compact vertical storage mechanism with visible inventory.
- The component study and integration tests supported the feasibility of the design direction.
- On the software side, we closed the loop from RFID read to servo actuation on the Wio Terminal bench setup, with a recorded test checklist for handoff to final wiring and enclosure assembly.
- This stage gave us a solid basis for future refinement, assembly, and complete system testing.