Fab Academy 2026 — Final Project

Pill-Shaped
Pill Dispenser

A pill box that looks like a pill. I know — obvious in hindsight. But that's sort of the whole idea. Make the thing you dread, using something actually nice to look at, and maybe you'll stop leaving it at the back of a drawer.

Author Merin Cyriac
Lab Fablab Kochi
Status In Progress
Year 2026

Project Overview

The shape is a big oval, like an oversized pill lying on its side. On top there's a small screen that shows the time and which day of the week it is. Running through the middle horizontally is a seam: that's where the body opens up when you need to refill the medication inside. At the bottom there's a dispensing door, it swings open downward, like the payload bay of a jet, and the pill drops out into the slot.

Inside are three circular rotor discs, one for morning, one for lunch, one for night. Each disc is divided into seven equal sections, one for each day of the week. When the time comes, the right disc rotates to line up with the bottom door and the dose dispenses. The screen tells you what's happening.

What I'm trying to do

Problem Statement

I started thinking about this because I had to multiple tablets every day when I was having fevers and kept forgetting them. Not because I didn't care, but because I was usually busy and tended to forget the pills. You walk past it and your brain doesn't register it.

The usual fixes don't really work either. Phone alarms get snoozed and eventually disabled. Existing pill organisers look like something from a hospital supply catalogue. None of them feel like something you'd actually want to own.

Who's it for?

Concept & Visual Sketch

The shape is an oval,a big pill lying flat. It came from the sketch below. I started drawing it and realised that the body of the dispenser being pill-shaped was almost too obvious, and that meant it was probably right. The hand-drawn version shows the three key parts: the screen at the top, the horizontal seam that splits the body open for refilling, and the dispensing door at the bottom that opens downward to drop the pill out.

Hand-drawn sketch of the pill dispenser concept, showing the screen, refill seam, and dispensing door

Inside there are three circular discs. Each one is a rotor with 7 compartments around the edge, one for each day. The morning disc, the lunch disc, and the night disc each rotate independently. When it's time for a dose, the right disc spins to align its current day-compartment with the opening at the bottom, and the door swings open.

8:00 AM TUE door open 3D-printed oval body Screen time + day display Refill seam body opens here Dispensing door swings down like jet bay PLA / PETG shell CROSS-SECTION VIEW MOR LUN NGT 7 sections per disc (Mon→Sun) DESIGN DIAGRAM — PILL DISPENSER Not to scale · Schematic only
Left: side view of the oval body with screen on top, horizontal refill seam, and bottom dispensing door. Right: cross-section showing the three 7-section rotor discs (morning, lunch, night).

The dispensing door is the part I'm most uncertain about mechanically. It needs to open cleanly without the pill bouncing off and rolling away, and close firmly enough that nothing spills if you tilt the device. Still figuring out the hinge and latch geometry — that'll probably take a few print iterations to get right.

Possible Components

This is still a work in progress, so some of these are confirmed and some are "I think this will work." I've tried to be honest about which is which.

Mechanical & Structural

🖨️ FDM 3D-Printed Shell

PLA for the first prototype, maybe PETG later if I need it tougher. About 2 mm walls, 20–30% infill.

Structure
✂️ Laser-Cut Inner Trays

Clear acrylic so you can see at a glance whether the compartment is empty. Seven trays, three slots each.

Structure
🚪 Dispensing Door

Hinged door at the bottom of the body — swings open downward to drop the pill out. Needs a latch so it doesn't open accidentally.

Mechanism
🔄 Rotor Discs × 3

Three circular discs (morning, lunch, night), each with 7 compartments around the edge. A small motor or manual turn rotates them to the right day.

Mechanism

Electronics

💻 ESP32

Dual-core, USB, runs MicroPython. Wi-Fi and BLE built in.

Microcontroller
💡 WS2812B LED Strip

Addressable RGB LEDs that'll sit along the seam line. The glow-through-the-gap effect should look good.

Output
🔔 Passive Buzzer

For when the LEDs aren't enough. Ideally not too loud — just enough to notice.

Output
🔋 LiPo Battery + TP4056

500 mAh LiPo tucked inside the dome. The TP4056 handles USB-C charging. Should last a week or more.

Power
RTC Module (DS3231)

This keeps time even when the microcontroller is asleep, which is most of the time. Essential for battery life.

Timing
📻 Bluetooth (maybe)

The ESP32 has Wi-Fi and BLE built in so it's tempting. Would let you update the schedule from your phone. A stretch goal.

Communication

Software & Firmware

🐍 MicroPython

I picked this because I can actually read it back the next day. Handles the RTC, LEDs, and buzzer.

Firmware
📱 Companion App (optional)

Simple BLE app (built with MIT App Inventor or Flutter) to set reminder schedules.

Software
🛠️ Fusion 360

Used this to model the whole thing. It's also where I've spent most of my time so far, honestly.

Design Tool
🎨 KiCad

For the PCB layout. I want the board to be circular so it sits neatly inside the shell — we'll see how that goes.

Design Tool

Firmware & Programming

I'm using MicroPython — partly because I know it from the assignments, and partly because I can actually read it the next morning without needing comments on every line. The basic loop is pretty simple:

  1. Wake up — the RTC pulls a pin low when an alarm fires, which wakes the ESP32.
  2. Check what time it is — ask the DS3231 over I²C.
  3. Is it dose time? — compare against the schedule saved in flash.
  4. If yes, alert — LEDs animate, buzzer beeps for about 30 seconds.
  5. Wait for acknowledgement — a button press, or it times out on its own.
  6. Go back to sleep — set the next alarm, kill everything, deep sleep.

How the code is split up

FileWhat it does
main.pyStarts everything up, runs the loop described above.
rtc.pyTalks to the DS3231 — read time, set alarms, clear them.
leds.pyControls the WS2812B strip — colours, breathing effects, solid fills.
schedule.pySaves and loads the alarm schedule from flash memory.
buzzer.pyHandles buzzer patterns over PWM — single beep, escalating, etc.
ble.pyStretch goal — BLE server so you can update schedules from a phone.

LED colours

3D Design in Fusion 360

This was the first proper piece of work I did for the final project. I used Fusion 360 to model both halves of the shell and the internal tray system — it's parametric so I can adjust things like wall thickness or how many trays it holds without redoing everything.

I hadn't used Fusion much before this course. It's a lot more capable than I expected — and a lot more confusing to start with. The CAM and PCB tools I haven't touched yet, but the solid modelling workflow makes sense once you get used to the timeline at the bottom.

You can download it from the Autodesk website — it's free for students.

Autodesk Fusion 360 loading screen

What I actually did

Here's the final model:

Final 3D design of Pill Dispenser in Fusion 360

Rendering

Appearance settings in Fusion 360

I went into Scene Settings, picked a background from the Environment Library, then hit the In-Canvas Render button. It takes a few minutes but the result is much better than a screenshot of the grey model.

Final photorealistic render of Pill Dispenser

Saved it with the Capture Image tool in the toolbar.

Product Animation in Blender

Once the Fusion model was done, I exported it as FBX and brought it into Blender. I hadn't used Blender seriously before this, and it is a lot. The interface is not exactly welcoming. But the Cycles renderer makes things look genuinely good once you figure out what you're doing.

What's in the animation

Here's the final render:

I also created a medicine tray in blender.

I have to create medicine slots for the next step.

Then I managed to light up an oled that should go as the screen.

Project Timeline & Progress

Where things are right now. I'll keep updating this as I go.

Phase Deliverable Target Week Status
Concept Idea definition, sketches, BOM draft Week 01 Done
CAD Parametric 3D model & render in Fusion 360 Week 02 Done
Animation Product animation in Blender Week 02 Done
Laser Cutting Inner tray prototypes from acrylic Week 03 In Progress
3D Printing First physical shell prototype Week 05 Planned
Electronics PCB design & milling Week 08 Planned
Firmware RTC + LED + buzzer code Week 09 Planned
Integration Full assembly, testing, iteration Week 16 Planned
Documentation Complete project page with all files Week 19 Planned

Future Improvements

Things I'd like to add eventually, once the basic version actually works.

Hardware

  • A capacitive touch area to mark a dose as taken — nicer than a button.
  • A small e-ink display on the surface so you can see which day you're on without opening it.
  • Wireless charging, so there's no hole in the shell for a USB-C port.
  • Proper injection moulding if it ever goes further than a prototype — with food-safe lining inside the trays.

Software

  • A phone app that lets you update the schedule over Bluetooth without plugging anything in.
  • OTA firmware updates — so you can fix bugs without flashing the board by hand.
  • Some kind of logging, so a caregiver can check whether doses are being taken.
  • Multi-user support if there's more than one person in a household using it.

References & Acknowledgements