Senior Design Project
Onshape Pen Dispenser
Project Overview
The Onshape Pen Pal is a self-contained, interactive pen-dispensing system designed for Onshape events and conferences. It serves as a "wow-factor" promotional device that demonstrates engineering creativity while automating lead collection. The project highlights a full design-to-manufacture workflow, including CAD modeling, PCB design, and CNC toolpathing.
Identifying User Needs & Early Concepts
We began by meeting with our client, Chris Tilton, to define the core challenges: creating an engaging experience that could reliably dispense a single pen while remaining portable enough for airline travel. My early focus was on translating these high-level needs into an electronics architecture that could support multiple "Rube Goldberg" modules while staying under the 100 Wh airline battery limit.
Prototype Iteration
Our first prototype focused on mechanical reliability and the "fun factor." For the frame assembly, we used 80/20 aluminum extrusion and laser-cut acrylic to meet strict carry-on size constraints. During this phase, we transitioned from basic sketches to a motorized hopper using a stepper motor and a gravity-fed slide. Feedback from early demos led us to incorporate auditory feedback—using a sheet metal "staircase" slide—to maximize user engagement.
Electronics and Controls implementation
I led the development of the system's "brain" and motor control logic. The system uses a stepper motor for the hopper and a 12V gear motor for the conveyor, both controlled via PWM to ensure smooth pen handling. To handle user data, I implemented the entire ngrok tunnel and web-hook system, allowing the local Raspberry Pi to securely communicate with a cloud-based interface for real-time interaction and data logging. Once the user data is submitted, the sequence starts. The pi begins a motor control system that varied from prototype to prototype, but involved motors spinning scripted angles and for distinct amounts of time to guide the pen down the the user.
To the right you can see the pi, two H-bridges: one for the stepper motor and one for the obstacle motor, as well as the custom PCB built to turn the conveyor when the button is pressed.
Left: The early, messy implementation of my wiring. Right: A sneak peak at the motor control script code within the terminal. Below: The final implementation, neater with a casing.
Final Usage Walkthrough
Final Prototype
In the final build, I fabricated the casing for the elctronics, the pcb, cleaned up the wiring, as well as fabricated the conveyor stand and other components. The final design features four distinct modules: a motorized hopper, a user-controlled conveyor with rotating obstacles, a sheet metal staircase slide, and a 3D-printed PLA exit slide. Validation testing confirmed that the system could operate for over an hour on a single charge and successfully dispensed exactly one pen per user interaction with zero jams during bench testing.
Skills & Knowledge Developed
〰️
Skills & Knowledge Developed 〰️
Electronics & Control Systems: Integrated a Raspberry Pi with stepper and gear motors using PWM for precise speed and torque control.
Web Integration & IoT: Implemented ngrok to establish a secure tunnel for real-time cloud-to-local communication and data logging.
Fabrication & Assembly: Built a modular frame using 80/20 aluminum extrusion and custom-fabricated internal components like the conveyor stand and sheet metal slides.
Power Management: Designed the system to run on a portable battery while adhering to IATA regulations (<100 Wh) for airline travel.
Embedded Programming: Developed Python scripts to handle hardware interrupts, motor sequencing, and CSV data management.
Engineering Validation: Performed motor torque calculations and velocity analysis to ensure mechanical reliability under load.
CAD/CAM Workflow: Utilized Onshape for collaborative design and prepared files for 3D printing, laser cutting, and CNC machining.
Prototyping & Iteration: Transitioned from low-fidelity cardboard concepts to a high-fidelity functional device through continuous client feedback and testing.