Hi! This will be my first blog for the Design for a Cause challenge. I am extremely happy to be chosen as one of the challengers and would like to wish the best of luck to everyone participating in this challenge! This idea came to mind as a last minute idea to me. I was trying to think of the things people usually find annoying in their everyday life, and thinking how would a visually impaired person cope with a problem like that. In one point I thought of a normal key ring, something that most of us carry around on the daily basis. While for most people its just annoyance to look for the right key, for visually impaired people it can become a struggle. One more thing I want to address is misplacing the key, which will be done with the second part of the build about which I'll go on more later in this blog.



The Kit

The kit has arrived and has a lot of cool things inside! The full list of components of the kit can be found here Design for a Cause Challenge: The Kit

One of the first things I will be doing for this challenge is going through some of the starter projects for the Arduino MKR1000 to get to know it better!




The concept behind this project is having a handheld device, which is unlocked using a fingerprint sensor, which stores all of the keys inside of it. When the user approaches one of the "known" doors, if the device is activated, the device would chose the right key so the user can go straight ahead and unlock it. That is the general idea of my project. As for the second thing I said I wanted to address would be using a charging base which is connected over Wi-Fi to the skeleton key, so for example, if the skeleton key gets misplaced somewhere in the house, the user could go to the charging base which is a stationary part and press a button on it which would activate the buzzer on the skeleton key, notifying the user where the skeleton key is. I've split the project into 3 separate parts. The first one is the skeleton key itself, the second one is the charging base, and the third one would be the door recognition system.



Now comes the time to make an actual build plan, I had many ideas on how to do this, I will cover some of them to show my thinking process for this project. As I've said the project consists of 3 parts, the handheld skeleton key device, charging base and a door recognition system. Ideas started overly complicated as usual, but I managed to tune them down a bit while keeping all of the functionality. So first off let's start with the handheld skeleton key.


Skeleton Key

I've gone through 3 different iterations for the mechanism for this part, the first 2 being just ideas, while the third one, the one I will try executing, sounds like the most promising one.


  1. Barrel mechanism
  2. Doughnut mechanism
  3. Slider mechanism


Barrel Mechanism

The barrel mechanism is the my first idea for this project, and here is the drawing I submitted with the application:

The simple idea was using either a servo or a stepper motor which would turn the barrel to the right position, and when that's done the user could pull out the key. The thing is in order for this work keys would need to be cut down to size and would have to be mounted to holders, which all adds a layer upon a layer, and doesn't make the device that appealing.


Doughnut Mechanism

The Doughnut mechanism is inspired by the barrel mechanism, simply explained, instead of a barrel we would have a doughnut with a stepper motor inside, and keys coming out outwards. This idea is not good on many levels, specially when we consider the size of the device, so I put this idea on the side and continued on.


Slider mechanism

This is the third idea and the one that sounds the most promising to me. Unlike the other 2 ideas this one wouldn't require the user the cut down keys down to size, and also has a modular design so the user can have the number of keys they desire. To construct this I am thinking of using aluminium sheets (either 1 mm or 1.5 mm thick), and some 3D parts. The key holder itself would consist of small aluminium plates spaced with nuts and washers and all held together with a few screws. The keys would go in the slots between the plates where a 3D printed tray would hold them in place. A 3D printed tray can be printed for any key shape, but to keep things a bit simpler I will stick with one key shape, since in in reality that is pretty easy to do. To use a key the user would need to use the manual switch, but the device itself would slide the switch to the correct key (or slide the whole key holder). The reason why I like this idea more than the first one would be that first of all, no key chopping is needed, the plates would be the ones holding the key when the user is trying to turn the key when unlocking the door, and also the modular design which allows some customisation.


Charging Base

This is the second part of the project, and it is a pretty straight forward one, but has 2 important functionalities, one being as the name suggests, charging the skeleton key, and the other being finding the skeleton key, if the user misplaces it somewhere in the house. The plan is making a small wooden base with a port for charging and place for holding the skeleton key, while also having a button on it which would signal a buzzer on the skeleton key, which would help the user find the misplaced skeleton key. Besides that I don't have any more big plans for it.



Door Recognition System

This is the last part of the project, but a crucial step nevertheless. For this I had many wild ideas from using Wi-Fi, Bluetooth and so on, but that would all mean that those devices would also need to be charged and so on and so on... This again all adds another level of complexity for the user so I thought about doing a reverse NFC lock, where a person could stick a chip NFC sticker on a door which doesn't need any power and have a reader in the skeleton key, so the device can recognize the door. I haven't played with the NFC module before, so that will be in one of my next blogs for this project.



That would be it for the main design and concept of the project, here I will list a few more features/ideas I would like to add to the project, most of them are some simple things which will add a lot to the project, while others are a necessity. First off, one of the things I have mentioned a few times throughout this blog, and that would be a buzzer.



This is a small and simple piece to add, but I feel it adds an incredible amount of functionality to the skeleton key. Since this device is aimed towards visually impaired people, audio signals are required, from notifying the user that the right key is chosen, to giving a warning that the battery is running low and working with the base in helping the user find the skeleton key. One thing that would be cool to add in addition to the buzzer would be a small vibration motor for some tactile signals as well.


Fingerprint sensor

This is one of the things I wanted to try using for a long time, it will also add a level of security to the device. I managed to find some tutorials online on fingerprint sensor using an Arduino, but most of them were using an optical sensor. I've found and ordered a capacitive fingerprint sensor with great documentation on it, and also saw some examples of those companies optical fingerprint sensors being used with an Arduino. The one I ordered is from a company called GROW and the model is R302.


Fail-safe mechanism

One of the things that I feel is a must would be some kind of a fail-safe mechanism so the user can still use all of the keys inside, in case the battery dies or something like that. I don't know what I will do exactly for this yet, but will implement it when doing the final design for sure. That is one of the reasons why there is a manual tab for pulling out the keys instead of a motorized system.



That would be my idea for the project for this design challenge! The mechanism will require some tedious metal work, and getting the fingerprint sensor to work will probably be another part of the project that isn't straight forward. But that will all come in the near future when all of the parts arrive! For now, I will begin by getting to know the Arduino MKR1000 a bit better, and will go on from there. After that I will probably start with the door recognition system and charging base, while I finalize the mechanism design for the skeleton key. Thanks for reading the blog, hope you liked it!