The new fridge is awesome, let's make it even better...
There is enough space in the top cover to fit a computer motherboard and a hard disk. We already have a dedicated barcode reader waiting to be used.
 Wanted features
- Bar code scanner: easier to enter the goods we take out
- A camera in the fridge: for fun, profit and practical OpenCV exercise
- Temperature datalogger
- LED lighting: save the environment
- Door watchdog: tweet/complain when someone forgot to close the door.
- Send to the mailing list a summary of the consumption of the last 24h on a daily basis
- Bug the list when some shopping must be done
- Mail the bookkeeper overlord an estimation of the money he should find in the jar
a screen bolted to the doorDONE
 The victim
A second hand fridge with no freezer compartment built by Zanussi.
 Why that name ?
 Chosen hardware design
two parallel rails with a 5"1/4 space for a hard drive in a tray. The computer is a salvaged but working mini-ITX board. This computer will be long but as narrow and low as possible. The rails will be high enough to take any overload on the top.
The mini-ITX board and 5"1/4 tray will dictate the design
Another crazy shell script just for the hell of it. No GUI, all text, Busybox as a base. Here is the code
Option: Barcode data retrieval: GEPIR: http://gepir.gs1.org/v32/xx/gtin.aspx?Lang=en-US
 Current status
- Suitable screen found in the space !!
- The pieces of aluminium do not allow for enough clearance for the motherboard. Back to drawing board.
 2012-05-13: Screen bolted to the door
- Motherboard frame is built. The motherboard is in the frame. Still need to figure out where to install the disk and the power supply.
- Power supply delivered.
- Power supply installed in the frame
- Frame cut for airflow and wiring path
- Hard disk support installed (No 5"1/4 slot: a bracket for a 2"1/2 drive has been made instead)
- Support threads installed.
- Motherboard frame installed: it fits !!
- Started to do some wiring inside the cover
- More wiring: temporary buttons installed and power supply connected.
- Power wiring for the screen connected
- Seems so be willing to boot.
 2012-08-24 - First real-world usage
- Screen connected to the machine
- Screen wiring attached to the fridge. Since the power connector for the screen is a real bitch to find at a reasonable price, i had to ruin it and solder the wires directly into the connector. Good old fast-on connectors are installed at the other end of the wire stubs.
- Hooked up the fridge to the network
- The Gate has received a special config file for netbooting the fridge.
- Built a new initramfs: there is a simple shell script that will display the price list on the screen, there is an input line for you to play with the barcode reader. The setup is temporary, but allow you to play with it.
- Button and keyboard connector installed
- There is a 64 MiB USB stick inside the box that is unused at the moment. It will be used as cache storage for the CSV files
- CPU fan replaced
- additional fan installed to blow horizontally through the fins of the heatsink
- Working on the software part. The main application is still under development but is becoming usable. The repository of the running code is here
- Bug: when no keyboard is attached, the barcode reader do not work after a cold boot. A keyboard must be hooked up for the input device to appear in Linux. Seems linux-related: the barcode reader without keyboard is working fine in the BIOS.
The fridge has been dumbed down: the application is now running on HAL9000. The software is automatically opening an ssh session to zoppas@HAL9000. The account is configured to automatically start the application after a successful login and close the session when the application ends. The fridge automatically attempt to restart the ssh connection if it dies for any reason.
 TODO LIST
- Reinforce the support of the fridge cover: a corner eye is broken and the others are very weak. It is not disassembly-friendly either.
Build something to 'park' the barcode reader on the fridge so it doesn't fall on the ground<-- DONE
- Write more software
- Install some sensors
- Replace the light bulb with LEDs
- Kill the no-barcode-reader bug after a cold boot without keyboard