Inspiration

We all know about the situation (war zone) in most peoples' medicine cabinets: prescriptions and OTC drugs clogging the shelves, with peeling labels, lost caps, and long-past expiration dates. Even worse, medications can be accessed by anyone, anytime. In households with kids or elder family members, these can cause serious safety risks. We thought that there had to be a better way to manage, store, and secure medications for families. Enter the dōs.

What it does

The dōs is a simple to build, easy to use storage center for a families medications. Anyone can easily add medications to storage bays within the device, and enter the number of pills, dosage, and prescribees to the system's interface. From there on out, anyone in the family who is allowed access to a medication can go get their correct dose any time, as long as they haven't taken the same medication too recently. A mom can limit their children' access to Motrin and Tylenol, in the doses that correspond to their ages and weights. Older patients can add their medications and enjoy a hassle-fee, arthritis-free usage experience that also keeps them safe by ensuring they don't accidentally forget and take a second dose.

We also simplified the medication storage process: never run low on a crucial medication again! With inventory-management and reminders, you'll know exactly when to run to Walgreens (way before you get sick and need it).

How we built it

We used 3D printing and laser cutting for fabrication of our demonstration device. A stepper motor actuates the medicine-selector, and a servo serves as the dosing controller. A touchscreen Raspberry Pi is the input device, and runs a simplified Kivy GUI that allows you to switch users, move between medications, and receive a dose. All mechanical elements are controlled from an Arduino Uno R3 receiving serial commands from the Pi. 3D printed, food safe PLA canisters were used for medicine storage. Plywood and acrylic form the basis of the structural components. A full parts list can be found on the github.

Challenges we ran into

Several challanges that me and Andrew faced is getting around two struggling servo motors that took us quite a bit of our time during the hack to debug and fix. Our goal was to use the servos as refilling and dispensing mechanisms for our medicine dispenser. However, after several testing phases and several hours of servo motors either not functioning properly and giving bad responses to the main Arduino board, we came to the conclusion that one of the servos were completely faulty. This was true, and it allowed us to move on with our project, up until we ran into issues with our other well functioning servo. With our project's goal already strained, the other servo ended up frying as well due to overvolting from a bad power supply. Much to our luck, we had a larger spare servo on hand, but did some work so we could manage to fit it in our build.

Besides that, we also wrote our program in a language neither of us have ever written in, and that was quite an exciting challenge as well. Despite some battles with Raspbian Distros, we were able to implement the Kivy GUI package. Through some careful debugging, we fixed some of the mistakes made when moving to a new language, resulting in a relatively robust and diverse software package.

Accomplishments that we're proud of

We are especially proud of the ease-of-use and user experience. Adding and dosing medications is fast and easy. We are also proud of the robustness of the design, and the appearance of the final prototype. Considering that this is both of ours' first Hackathon, as well as first times working with Python, we are especially happy to have a working demo completed within the challenge period.

What we learned

Hardware: Servos are just the worst, and nice ones should be bought whenever possible. That aside, we learned to value attention to detail, even at early prototype stages. The fact that we spent the extra few minutes making a part right in testing saved that time during final production. From a manufacturing standpoint, neither of us had used laser cutters before, and gaining that skill was incredibly useful in expediting our prototyping process.

Software: On the software end, we used a language that neither of us have ever written on before, Python. There were several reasons towards this, due to poor support from Arduinos for languages that we have written before. Within 15 hours, we managed to get a better grasp of the new language we have come across, including the many other ways of how some languages manage their limitations. For instance, there were several different ways that Python handles packages, and how some packages came to good use to support our system. In the end, it came through quite well, and we've programmed a system that should be as user friendly as possible.

What's next for dōs Medicine Dispenser

We need to build a more robust and secure user-changing system, so that the device serves its secondary purpose as an access-control device beyond the current recording system. Also in soft Additionally, the plan had included a remote app implementing the user-management and addition system built in Python, but not present on the dōs. Having the ability to add medications and users (as well as receive push-notifications) would greatly increase the utility of the device. Finally, building the entire device from inert, food-grade materials would make it much safer and home-friendly.

Built With

Share this project:

Updates

Submission history