Making-of a hardware product: the Cloister


A while ago I worked on a project that I called “The anti procrastination box“. The idea was to have a box inside which you could lock down your sources of distraction for a predefined amount of time (weather it be your favorite video game cd, your cellphone…).

Shortly after I had published a tutorial on the project, someone contacted me on reddit asking me if I’d be willing to create a product from the project. I immediately accepted as I had wished to enter the entrepreneurial world for a quite a long time.

9 month later and the project and the project is at a dead end. Why ? Reasons. Mainly because my partner and I both wanted to concentrate on what we liked. For me it was prototyping, for him web development. But nobody wanted to handle the requirement when undertaking such an endeavor, which are basic field and market research, robust strategy planning etc.

Since I don’t want all the work done to be lost for everyone, I’m releasing the plans and schematics involved in making the prototype along with a little narrative of the prototype process. Feel free to use any of this material.

If you’d like more information on the tools I’ve used in the process, I’ll refer you back to my tutorial How to turn an Arduino based proof of concept into a final prototype.

The product

Here was our sales pitch:

Cloister is a “commitment device”, a timed lockbox for your smartphone and all the things you reach for a bit too often.

And the demo video that came along with it:

The process

Making the circuit

The first step was to define the features that we wished to include in our product. First of all, we wanted the price to be as low as possible. The battery was to be rechargeable with a standard smartphone usb cord and the design was to be kept minimalistic.

I started to look around for components fitting these requirements:

  • An LED segment display would be cheaper than an LCD.
  • A lipo battery could be acquired for a modest price from China.
  • Sparkfun sell an open source charging module that I could later integrate to my own design.
  • Only two pushbuttons were needed to control the system.
  • I was comfortable working with a bare ATMega328, and it could be replaced with a cheaper alternative later on.

1. Breadboard circuit

I began by prototyping the circuit on breadboard in order to test the different components and prepare the code. The first iteration was composed of elements that I already had in my shop.

I quickly ordered a more pleasing display and different kind of pushbuttons in order to compare their ergonomy. I also went from an Arduino-like-centered circuit to a bare ATMega chip one in order to verify that it was indeed working in such a setup.

Since the circuit was stable and working as it should have been, the corresponding schematic was created using Eagle.

2. Perfboard circuit

This step was actually not planned. In order to save on materials and time, I wanted to jump directly from the breadboard circuit to the PCB version. Unfortunately the contractor that soldered the SMD components on the PCBs messed up 3 out of 4 PCBs. More on that later.

Anyhow. The result was that I had to make an emergency replacement since we wanted to have two prototypes: one in a vertical set-up, the other one horizontal.

So I warmed up my soldering iron, trimmed my wires and got to work. I was actually quite rewarding to make the circuit myself.

3. PCB

Eagle was used to design the PCB. I sent the gerbers to APCircuits, corrected a few things and five days later got a very good surprise in the mail.

Honestly having the first PCBs you designed in your hand is highly pleasing.

In the meantime I ordered the parts I needed from Digikey. Their delivery time always impress me. I passed the order at 5 p.m and received the parts the next morning. I don’t even know how that’s possible (well, they probably have a warehouse in the Montreal area).

Now I just had to get the SMD component soldered on to the board. This is where things turned out for the worst. I worked with Spikenzie lab, a local electronics shop, and the result was that 3 out of 4 boards ended up being dysfunctional.

Anyway, time has passed since then and I learned my lesson: the next time I have to do SMD soldering, I’ll act like a true hacker, buy a toaster and modify it so that I’ll have my very own reflow oven.

Finally the only thing missing was to solder the through hole components.

Making the enclosure

The idea was to make a minimalistic design. Something that would easily find its way on the desk of CTO’s and other techies.

The dimensions are mainly conditioned by two things. The depth of the top part depends on the thickness of the PCB once the segment display has been soldered to it. The overall width and length has been chosen so that an iPhone 6 plus would fit, plus a little margin to let your finger slide in to pick it up. The depth of the bottom part allows a standard pack of cigarettes to fit in.

The thickness of the wall was chosen so that the the box would look and feel sturdy.

The locking mechanism works by having a little piece of plastic attached to the shaft of the servo slide into a notch on the opposite side of the box. Retrospectively it was not a good design choice. The box can easily be broken open. I should have used a deadbolt-like design instead.

After a few back and forth with my 3d printer contractor, I finally got enclosures! Once again, quite a rewarding moment. Seeing a virtual design on which you spent time get a physical form is quite enjoyable, and I was surprised to see that everything fitted and assembled so well!

Final assembly

Finally came the time to put everything together. Yet again, happy times. Holding the prototypes completely erased all the bad memories of a month of coffee, pizza and stress.

An rgb status led goes under the logo. It can display the following colors:

  • Green when the box is open and charged.
  • Blue when the usb is plugged in and the battery is charging.
  • Blinking green when the charging cycle is over.
  • Blinking red when the battery is discharged
  • Red if the someone tries to unlock the box before the end of the countdown.

The battery voltage is being monitored by the microcontroller thanks to a feedback from the battery to one of the analog pins. The status pin of the battery charger is also fed to the microcontroller.


Overall, it was a great experience. It taught me a lot of skills that I still routinely use today. I invested a little less than 500$ in the project. Although it never came through as an actual product, I like to think that I payed for an accelerated and self-taught formation on rapid prototyping, which would have cost me probably 5 times as much and would have taken much longer in an engineering school.

I hope that you will find some useful informations along those lines.
And thank you for having taken the time to read me!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.