I constantly run out of groceries. This usually happens in the most inappropriate moment. There is neither a phone nor a notebook at hand, your are covered in flower and grease in the middle of a kitchen mess.
So, I decided to create a gadget that would allow me to mark a missing grocery with a touch of a button. The gadget would transfer the info about missing items to my phone and will respond to me purchasing the missing stuff.
I want to share how I built this gadget.
Here is a demo of what I have built:
Step 1: History
I have first seen a Market Minder while browsing an antique store. Housekeepers in the early XX century used to keep a board like this on the wall. When they ran out of a certain grocery they would put a peg near item's label. When people who helped around the kitchen got missing items they would remove the pegs.
After learning about this gadget I felt like I have to take this technology into the XXI century.
Step 2: System Design
2. iOS App
The system is based on the STM32F051 micro controller. I like to use it because it is very easy to program and use.
I used RN-XV WiFly as a Wi-Fi module. The module is a pleasure to work with: all you need is power, reset and UART lines.
The board houses 35 momentary TL1265 buttons. Each button contains a LED and is hooked up via a transistor.
The buttons (and their LEDs) are connected via shift registers. I used 74HC165A to read button state and 74HC594 to control the LEDs.
I used OSH Park to manufacture the board. The quality of the board is quite high and it got done in 10 days.
Step 3: IOS App and the Server
I created a very basic, two screen app to display missing products and a list of all products.
This was probably the simplest piece. PHP server uses MySQL to store the grocery list's state and
stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', ...) to send Apple Push Notifications.
Step 4: Enclosure
I really like amateur projects with good looking enclosures. I used a simple photo frame for this project. Inside the frame would has three layers: circuit board, cardboard with labels and a transparent cover board.
I think the trickiest of all was making a decent-looking labels. You see, I could either get a cardboard with perfect holes or reasonable labels. Eventually I used a laser cutter to make the holes, and then same laser cutter on a lower power setting to etch groves of letters. After that I used white ink and a calligraphy pen to fill the ink into the groves.
Step 5: Result
I am quite happy with the result: I am sure I my kitchen would be always well stocked.
I would love to answer any questions or hear any comments or suggestions about the gadget.