Introduction: IsoLocker - Cooling Lock & Storage Box Facade Element

Picture of IsoLocker - Cooling Lock & Storage Box Facade Element

Have you ever been in the situation that you need to store something, somewhere and keep that thing safe from strangers? And have you tried to store food or drinks in summer time, only to notice that all these things get annoyingly warm after some time and you cannot enjoy your fresh cold beverage or snack anymore?

Because of these situations the concept of the IsoLocker came up.

The IsoLocker not only features a safe storage, which access is secure and managable via logins. It also lets you cool the content to a degree you can set from anywhere via web.

It is highly recommended to use the attached blender file with the free software Blender while constructing the IsoLocker because it helps to understand the concepts and it allows you to look at it in 3D.

This project was part of Multimodal Media Madness 2014, hosted by the chair for Computer Aided Architectural Design (CAAD) and the Media Computing Group of RWTH Aachen University. For more Thinking Skins, please check this page: http://hci.rwth-aachen.de/m3_ss14

Step 1: Materials & Machines

Picture of Materials & Machines

This project requires two different sets of materials. One is the "raw material", which is basically the stuff for the wooden frame with all it's interior. This will hold all parts of the electronics set.

Different machines will be used while building the IsoLocker. There is a list of needed machines below.


Here you can find a list of amounts and properties for all needed materials. All dimensions are measured in cm. The first value describes the thickness / height of the material.


Raw stuff:


  • Solid wood
    Outer frame, Left and right sides (pictures 1, 2):
    • 2*: 1.7 x 28.1 x 56.1

    Outer frame, Bottom and top sides (pictures 1, 2):
    • 2*: 1.7 x 28.1 x 52.7

  • Chipboard
    Side cover parts (picture 3):
    • 2*: 1.6 x 19.1 x 14.55
    • 2*: 1.6 x 4.0 x 38.15
    • 2*: 1.6 x 4.0 x 48.2
    • 2*: 1.6 x 4.5 x 44.7
    • 2*: 1.6 x 4.5 x 33.6

    Inner framework (picture 4):
    • 1*: 1.6 x 3.0 x 14.55
    • 2*: 1.6 x 24.9 x 15.0
    • 6*: 1.6 x 24.9 x 4.5
    • 1*: 1.6 x 24.9 x 42.15
    • 1*: 1.6 x 24.9 x 41.5
    • 1*: 1.6 x 24.9 x 46.6
    • 1*: 1.6 x 24.9 x 32.0
    • 1*: 1.6 x 24.9 x 14.55
    • 1*: 1.6 x 24.9 x 15.1

    Inner door parts (picture 5):
    • 2*: 1.6 x 2.4 x 25.6
    • 2*: 1.6 x 2.4 x 12.45
    • 2*: 1.6 x 2.4 x 12.7
    • 2*: 1.6 x 2.4 x 32.05
    • 2*: 1.6 x 2.4 x 41.1
    • 2*: 1.6 x 5.0 x 37.7
    • 2*: 1.6 x 10.0 x 11.0

  • Fiberboard (MDF)
    Picture 6 contains all detailed information. Fiberboard is used to build the door parts. Since the doors have a special shape, you need to cut these to fit that shape.
    • 4*: 0.5 x 43.1 x 43.1

  • Cardboard, hard (as used in model making)
    Will be laser cuttered in later steps.
    • 1*: 0.3 x 55.0 x 15.0

  • Acrylic glass
    Will be laser cuttered in later steps.
    • 1*: 0.3 x 45.0 x 7.0

  • Aluminium board
    • 1*: 0.06 x 10.0 x 10.0
    • 1*: 0.06 x 10.0 x 30.75

  • Rock wool insulation
    You will need about 0.02 m³ of rock wool insulation.

  • 4* Concealed hinges
    35 mm diameter

  • Some flat head screws, 1.5 cm, diameter 4.0 mm

  • Some female screws, diameter 4.0 mm, counterparts to flat heat screws

  • Some wood screws, 1.5 cm, diameter 3.5 mm

  • Many wood screws, 3.0 cm, diameter 3.5 mm

  • Some nails, 1.5 cm

  • 8* Plastic spacers for screws, length 1.0 cm

  • Plastic or rubber washers for screws

  • Massive metal plate
    • 2*: 0.16 x 1.87 x 5.9

  • Heat sink, aluminium
    • 4*: 2.5 x 5.0 x 5.0

  • Heat conductive glue
    You will need around 7g of glue. Often they are sold as two-component adhesive, for example two syringes of 3.5g.

  • Glue / Hot glue

  • Wood glue

  • Fly screen
    • 4*: 6.0 x 6.0

  • Sealing strip
    • 1*: 0.2 x 0.8 x 335

Electronics:


A Raspberry Pi can be used to control all sensors, actuators and to setup a webserver. Door switches allow to check the current door status, temperature sensors are used to measure and give a feedback about the temperature inside. In case of bad light or nighttime light sensors are necessary to turn on the LEDs. Futhermore RGB LEDs indicate the current status of the IsoLocker and can be used to identify the correct IsoLocker if there are multiple of them next to each other. A buzzer sets off an alarm if one of the doors stays open for too long while the cooling is active.

For the door mechanics solenoids and servo motors are used. The cooling is provided by peltier elements. Aside from that there are also two NFC tags and QR codes for easy accessing the website with your smart-phone on each side of the IsoLocker. Some additional fans are needed for heat dissipation.

Finally to close the electronics part, there are power supply units to power up all that stuff and of course resistors, cables and MOSFETs are needed aswell.

Therefore the electronics used are:

  • Raspberry Pi, Model B + 8GB SD Card
  • 2* NFC tag, circle, max. 2.5 cm diameter
  • EDIMAX EW-7811UN Wireless USB Adapter

  • Power Supply, Output: 12V, 2.5A, Pollin 350 056
  • Power Supply, Output: 5V, 16A, TDK-Lambda LS-100-5 AC-DC

  • 2* Door Switch, COM-11142
  • 2* Light Sensor, TSL2561
  • 2* Temperature Sensor, DS18B20+

  • 2* Solenoid, ROB-11015
  • 2* Servo motor, Hitec HS-311
  • 3* Peltier element, 5.0 x 5.0 cm, TEC1-12708
  • 4* Fan, Sunon EB40100S2
  • Buzzer, 3.3V, min. 1200Hz, max. 2000Hz
  • 50* White LED, COM-09850
  • 2* RGB LED, BlinkM

  • Resistor 4.7k Ω
  • 10* Resistor 18 Ω
  • 9* Resistor 10k Ω
  • Level-Shifter, 3.3V to 5V, 2-channels, I2C capable, BSS138
  • 9* MOSFET, IRLZ24NPBF

  • 2m electrical cable with plug, 230V capable
  • 50cm electrical cable, 230V capable
  • 50m litz wires, cable cross-section 0.5 mm²,different colors
  • Micro-USB B cable with plug
  • Cable lugs, different sizes
  • Male / female soldering headers
  • Electrical tape
  • Shrink tubing
  • Cable relief
  • Luster terminal
  • Soldering equipment

Machines:


  • Bench saw
  • Battery-powered screw gun + Hole drill attachment 35mm + Common attachments
  • Crimping pliers for cable lugs
  • Laser cutter
  • Soldering iron
  • Multimeter
  • 3D printer
  • PCB mill

Step 2: Wood Work - Preparations

Picture of Wood Work - Preparations

Creating round holes in chipboard

Since chipboard consists of wood chips, which were glued and pressed together, the chipboard breaks easily away. This also happens while simply drilling through the chipboard and causes frayed round holes on that side, out of which the drill will come out in the drilling process, as the drill rather breaks the chipboard away instead of drilling through it in that situation. To avoid frayed holes, you should always put another trash piece of wood under that piece of wood, in which you want to create the round holes in.

Holes for peltier elements

Pictures 1, 2
As you can see on the first image, the centers of the holes on the bottom are 10.375 cm from the middle to the left and to the right. For the bottom hole (second image), this one is placed 13.2 cm from the left side. Both top and bottom holes are positioned 12.45 cm from the front / back side and all holes have the size of 6.0 cm x 6.0 cm. In later steps these holes will be covered with aluminium boards and the peltier elements will be glued together with the aluminium boards and heat sinks using the heat conductive adhesive.

Holes for heat dissipation

Pictures 3, 4, 5
These are used to channel away the waste heat from the power supply unit and the peltier elements. Of course these holes only need to be drilled for the inner side of the facade element. In picture 3 you can find all distances and measurements for the heat dissipation holes. It is recommended to glue some fly screen over the holes on that side, which will cover the electronics later, to avoid dust and insects getting inside easily. In picture 5 you can see the dimensions for the heat dissipation hole in that board, which will serve as holder for the 5V power supply unit. Obviously, no fly screen is needed for these holes, because they are no opening towards the environment.

Holes for concealed hinges

Pictures 6, 7, 8, 12
You need a special hole driller, 35mm diameter to make the holes for the concealed hinges. Notice that you will need these holes in the chipboard and on one MDF fiberboard piece per door. Usually the installation is explained on the package of the hinges you bought.

Holes for temperature sensors

Pictures 13, 14
There is no exact position for the temperature sensors, but your temperature sensors should be at two different places within your IsoLocker to measure its temperature correctly. It is recommended to put one on the upper right side and the other one on the lower left side, as described in the pictures.

Holes for white LEDs

Picture 15
25 of the 50 LEDs will be installed inside the IsoLocker. You can choose their positions as you want, but keep in mind, that there will be an aluminium board covering the peltier hole in the inner upper board. Usually you might want to put them on the upper boards, so the light shines from above.

Holes for RGB LEDs

Picture 16
On both sides there will be a RGB LED as status indicator for the IsoLocker. To achieve a better visibility you can remove some chipboard on the backside of the hole to place the actual LED-light better in that hole. For that you either need a special wood removal drill attachment or you simply try to remove some wood with other methods (such as multiple drilling small holes, but not completely drilling through the wood, just a bit on the surface), but it should work without that step aswell.

Hole for electrical cable

Pictures 17, 18
You also need to drill a hole for the power cable, which will power up the different power supplies inside the IsoLocker. This hole has a diameter of 8 mm and the picture shows the exact location on the left outer board.

Door construction

Pictures 6, 7, 8, 9, 10, 11
In order to use as much space as possible, both doors have a special shape, which you can see in the pictures. First of all, you need to put the outer MDF fiberboard on the different chipboard pieces. The chipboard piece in the middle of the door is important because there are some screws, which will go in there later for the door locking mechanism. To combine fiberboard and chipboard, you use nails and wood glue. Afterwards you should put some insulation material, preferably rock wool, into the door to isolate it. You should keep in mind, that you will not be able to modify the inside of the door anymore after putting on the other fiberboard piece. Once you are sure, that you are done with your door interior, you can combine the inner MDF fiberboard piece with the rest of the door by using nails and wood glue again. Finally you can apply some sealing strip to the inner side of your door to provide even more insulation.

Step 3: Wood Work - Construction

Picture of Wood Work - Construction

While constructing your IsoLocker, you should keep in mind that you do not use screws which are too long and that you screw rather carefully because chipboard is prone to break.

Constructing the inner lower board

Picture 1
The inner lower board mainly serves as construction for holding the peltier elements. Therefore, it makes sure that there are possibilities to get the waste heat produced by the peltier elements away. Beneath the locations of the peltier elements is a "tunnel", which provides the chance to blow away the hot air by using a heat sink and fan inside that tunnel. This is important for your IsoLocker to work correctly because the peltier elements get hot spots due to heat buildup after some minutes otherwise. Therefore you might want to improve the heat transport by using special heat pipes. Put some screws through the inner lower board and the tunnel boards and make sure that they are properly connected with each other. The picture provides further details.

Constructing the inner upper board

Picture 2
As you can see in that picture, the inner upper board is built in the same way as the inner lower board, except that there is only one tunnel for one peltier element. Again, the picture contains the exact measurements.

Inner and outer boards: Left, lower, right
Power supply 12V board

Pictures 3, 4
Now you are ready to put together the left, lower and right boards of the inner and outer boards and the power supply 12V board. Once again you need to use a lot of screws to bolt all boards together. First of all, the lower inner board must be screwed together with the lower outer board by putting some screws through the lower outer board inside the four small peltier-tunnel boards. The inner left and right boards are screwed together with the lower inner board and the lower outer board aswell. Then you should screw the power supply 12V board and the left inner board together as shown in the pictures. Afterwards the left and right outer boards are screwed together with the lower outer board on the edges. Some boards might be a bit instable because the upper part of the construction is still missing, so you should deal with them carefully. You might have noticed, that the outer boards in the pictures use a push-fit system and are a bit more complicated than described until now. Due to lack of data it is not possible to provide the exact construction details for these. But all in all that push-fit system is not required for the IsoLocker and you can simply use four plain outer boards of solid wood as described in the materials list and the Blender file before.

Upper construction - Electronics holders

Picture 5
The first part of the upper construction will store most of the electronics such as power supply units, Raspberry Pi and two PCBs. In later steps these will be attached to these boards. You should start with the electronics board, which must be screwed together with the outer left board, and the inner left board. Now you can continue with the power supply 5V board and you should pay attention to the correct position of the heat dissipation holes because they are supposed to be right next to the electrical cable hole. That board needs to be screwed together with the left outer boards. Because the boards need to carry some weight you should also use the stabilizer board in order to improve the stability of these boards. So you need to screw the stabilizer board together with the electronics board and both power supply boards. It will also keep the 12V power supply unit in place. After that you can bolt the linkage board together with the power supply 12V board. This board will be the connection between this part of the upper construction and the rest of it.

Upper construction - Inner upper board

Picture 6, 7, 8
Now you can simply take the inner upper board, which you prepared before, and place it right on top of the inner right board and next to the linkage board. Screw your inner upper board construction together with the linkage board, the inner right board and the outer right board. After that you can place your outer upper board right on top of that construction and it should fit perfectly with all other boards in the upper construction part. Bolt the upper outer board together with the outer left board, outer right board, peltier tunnel boards, linkage board and the stabilizer board. Now your inner construction is completed and you can proceed with the two fronts of your IsoLocker.

Fronts

Pictures 9, 10, 11, 12, 13
In the next step you should apply the cover boards as described in the pictures. Notice, that the side of cover boards with holes must be placed on that side of your IsoLocker, which is closer to the electrical cable hole and the holes inside the power supply 5V board. You should screw these cover parts together with the outer boards.

Doors

Picture 13
It might be a bit tricky to install your doors properly. You should do that according to the instructions contained in the package of hinges you bought. Make sure that your doors open smoothly and do not have any resistance while opening. Otherwise the solenoids might not be able to open the doors.

Disassembly

Right now the biggest parts of wood work for your IsoLocker are done. Now you can be sure that the construction of your IsoLocker works. You should disassemble your whole IsoLocker now because you need some space to install the electronics in the next steps. During disassembly you should keep in mind how you built your IsoLocker for later reassembly. That means, you should know which screw goes in which hole and which board was placed in which exact location.

Step 4: Laser Cutting

Picture of Laser Cutting

The laser cutter will be used to create the following things. A ZIP file containing all related SVG files is attached.

  • LED bar with pieces of hard cardboard
  • Special shapes of acrylic glass

Acrylic glass

Pictures 1, 2, 3, 4
The acrylic glass is used in multiple ways. First of all, it is used as protection for the 25 white LEDs of the LED bar on the outside of the IsoLocker. It will also cover the small holes for the light sensors in the LED bar. It is also used as a surface in front of the RGB LEDs, the NFC tags and the QR codes. The surface parts must be screwed together with the 19.1 cm x 14.55 cm electrics cover boards on both sides. It is recommended to use some kind of plastic spacers in order to get some distance between the board and the acrylic glass surface and to hide the screws. The other parts will be used in the construction of the LED bar. You can find more details in the pictures.

LED bar

Pictures 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
The LED bar will be placed on the outer side of your IsoLocker. There is a web page, which helps to create boxes of a specific size using a laser cutter, called http://boxmaker.rahulbotics.com. All credits for the basic box layout go to this web page. After you have created the parts described in the pictures and the SVG files in the laser cutter, you can continue with the construction the the LED bar. At the beginning you should use a carpet knife to carefully scratch off some material in the top part as described in the pictures 6 and 8, but make sure that you do not cut through the material. This will be used for the light sensors, so they can better fit in the box and stay in position. Then you need to glue the front and the back parts together with the bottom part using some wood glue. Once the glue is dried off, you can continue with the spacer and small spacer parts. These parts will serve as surface to glue the LED protection acrylic glass into the box from the bottom side and as spacers for the distance between the middle part and the acrylic glass, so the epoxy lenses of the LEDs can fit in that room properly. Therefore they need to be glued around the hole in the bottom part on the inner side of the LED bar. Again, you need to wait until the glue has dried off. Afterwards you should put in the long LED protection acrylic glass piece from the bottom side of the LED bar. It should fit in perfectly and it should lie right on the surface you created with the spacer parts. Use some usual or hot glue to glue the acrylic glass piece in the LED bar. Then you can use some wood glue to stick the middle part together with the front, back, spacer and small spacer parts on the inside of the LED bar. Now you should glue the small 1.5 cm x 0.9 cm pieces of acrylic glass together with the front part of cardboard right in front of the light holes for the light sensors. Try to keep these pieces of acrylic glass as clean as possible because the light sensors will detect the light values there later. You can not put in the top part or the end parts yet, because you will need to install the LEDs in the next steps before you can do that.

Step 5: 3D Printing

Picture of 3D Printing

A 3D printer will produce the following different plastic parts. Once again, a ZIP file containing all related STL files is attached and a 3D printer with an accuracy of 0.254 inch is sufficient. Notice, that you should check the correct scaling of the 3D objects and the direction of the normals of the different surfaces before you start the printing job. You can find all relevant dimensions for these objects in the pictures aswell.

  • 1* Door electronics holder part - front, right
  • 1* Door electronics holder part - front, left
  • 1* Door electronics holder part - back, right
  • 1* Door electronics holder part - back, right
  • 2* Door lock parts
  • 8* Fan holder parts, big
  • 8* Fan holder parts, small

As you can see there are multiple different door electronics holder parts. The reason for this is, that one of them contains a hole for the buzzer sound. Another reason ist, that the parts need to be mirror-inverted to fit correctly. These parts will be used while installing the electronics in the following steps.

Step 6: Software

Picture of Software

Prerequisites

Before you can start installing the software required for the IsoLocker, you must setup your Raspberry Pi. Since there are multiple ways how to setup the following prerequisites, it is not possible to give specific instructions on that part. You might find some helpful instructions for that step on the internet. All other steps on this page require the following prerequisites:

  • Operating system: Raspbian
  • Internet connection
  • Root console access (sudo user)

Updates

First of all, you should get all available updates. That includes package updates aswell as firmware updates. Use the following commands:

  • sudo su
  • apt-get update
  • apt-get upgrade
  • apt-get install rpi-update
  • rpi-update
  • reboot

Webserver: Apache

Apache will be used as webserver. After installation, you should put the contents of the software-website.zip file into the folder /var/www/. The website uses the projects Twitter Bootstrap, Font Awesome and jQuery. Credits for these projects go to the original authors.

  • sudo su
  • apt-get install apache2
  • wget https://www.instructables.com/files/orig/F3F/92JE/I012QROC/F3F92JEI012QROC.zip
  • mv F3F92JEI012QROC.zip software-website.zip
  • unzip software-website.zip -d software-website/
  • mv software-website/* /var/www/
  • chown www-data:www-data -R /var/www/*
  • chmod 755 -R /var/www/*

Database: MySQL

MySQL will be used as database client and server. During installation you will create a database root login. This one is important and you must remember it for later usage. After installation a database scheme must be created and you can choose the database name, but as default isolocker is recommended. Now the SQL files must be executed in that database scheme. They create the default user for the webinterface, which has admin as username and password.

  • sudo su
  • apt-get install mysql-server mysql-client
  • Enter a password for the database root user, remember it!
  • mysql -u root -p
  • Enter your password for the database root user
  • CREATE DATABASE `isolocker` CHARACTER SET utf8 COLLATE utf8_general_ci;
  • USE `isolocker`;
  • SOURCE /var/www/sql/create.sql
  • SOURCE /var/www/sql/default_data.sql
  • EXIT

PHP

To finish the LAMP server setup, you need to install PHP. Furthermore, you need to change the PHP configuration file /var/www/php/config.php to match your database setup.

  • sudo su
  • apt-get install php5
  • apt-get install libapache2-mod-php5
  • apt-get install php5-mysql
  • nano /var/www/php/config.php
    Fill in your database connection details
    Save with CTRL + O
    Exit with CTRL + X

Kernel modules

In this step you must activate the kernel modules, which are required for correct communication with the electric components.

  • sudo su
  • nano /etc/modprobe.d/raspi-blacklist
    Comment out the line blacklist i2c-bcm2708 by putting a # sign at the beginning of the line
    Save with CTRL + O
    Exit with CTRL + X
  • nano /etc/modules
    Add the following lines before the line snd-bcm2835:
    w1-therm
    w1-gpio pullup=1
    i2c-dev
    i2c-bcm2708

    Save with CTRL + O
    Exit with CTRL + X
  • reboot

Tools & Python libraries

There are some handy tools and some required Python libraries, which are needed for the IsoLocker. By using i2cdetect -y 1 you can check for connected I2C devices. Additionally, the project WiringPi2 (http://wiringpi.com/) is used to control the GPIO pins, credits for that library go to the original authors mentioned there. Python needs to be able to use the MySQL database server. Therefore, you have to install the Python MySQL connector library aswell.

  • sudo su
  • apt-get install python-dev
  • apt-get install python-setuptools
  • apt-get install python-smbus
  • apt-get install python-rpi.gpio
  • apt-get install i2c-tools
  • apt-get install git
  • git clone git://git.drogon.net/wiringPi
  • mv wiringPi WiringPi2
  • cd WiringPi2
  • ./build
  • cd ..
  • git clone https://github.com/Gadgetoid/WiringPi2-Python.git
  • cd WiringPi2-Python
  • python setup.py install
  • cd ..
  • wget http://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-1.0.9.tar.gz
  • tar xfv mysql-connector-python-1.0.9.tar.gz
  • cd mysql-connector-python-1.0.9
  • python setup.py install
  • reboot

Network

There are many possibilities to setup your network with the Raspberry Pi. For the initial setup, access to the internet was required for the Raspberry Pi. Now after everything is set up, the Raspberry Pi will not require internet access anymore. Now you must setup the EDIMAX EW-7811UN Wireless USB Adapter to get a connection to your Raspberry Pi, since it will be hidden inside the IsoLocker later. You will have to edit the file /etc/network/interfaces for a correct configuration and there are many solutions on the internet to setup a wireless connection for your Raspberry Pi using that file. In order to control your IsoLocker, local network access is sufficient. Of course internet access is useful, if you want to be able to control your IsoLocker from other networks aswell. But this will probably need some more advanced network setups. It is also possible to set up a wireless hot spot for your Raspberry Pi using the EDIMAX EW-7811UN Wireless USB Adapter, so you can connect to it using any Wi-Fi capable device. There are different tutorials on the internet for setting up a wireless hotspot using that hardware. Whatever you choose as network setup, make sure that you can connect to your Raspberry Pi afterwards using the EDIMAX EW-7811UN Wireless USB Adapter. On the one hand that means, that you can access the Apache webserver. On the other hand, you should still be able to get a console connection to your Raspberry Pi using SSH clients such as PuTTy.

Unpacking Python scripts

A special folder for the IsoLocker will be created, which contains the related Python scripts.

  • sudo su
  • mkdir /srv/isolocker-python/
  • wget https://www.instructables.com/files/orig/F8R/1TKR/I012QVXF/F8R1TKRI012QVXF.zip
  • mv F8R1TKRI012QVXF.zip software-python.py
  • unzip software-python.zip

NFC tags, QR code

Pictures 6, 7, 8

Now you should know how to connect to the Raspberry Pi using a webbrowser. In most cases you will have an IP-address, so you can access the Raspberry Pi directly in your network. For example, you could have a URL such as http://192.168.178.5/ to access your Raspberry Pi. On the internet you can find multiple QR-code generators. Use one of them to create a QR-code containing that URL for your Raspberry Pi. Make sure, that you can print the resulting file as a 3.0 cm x 3.0 cm QR-code later. This will allow a smartphone to read the QR-code in a distance of about 30 cm. Print two QR-codes of that size. If your smartphone supports NFC technology, you can get a NFC app, which allows you to write the URL on the NFC tag. You should also prepare two NFC tags in this way. Glue them together with both 10.0 cm x 5.0 cm pieces of acrylic glass as shown in the pictures. Screw the pieces of acrylic glass together with the chipboard surfaces and use the plastic spacers to get some space between the acrylic glass pieces and the chipboard and to hide the screws.

Step 7: Electronics - Preparations

Picture of Electronics - Preparations

Creating PCBs

Pictures 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
In order to reduce wire chaos there will be three types of printed circuit boards (PCB), a big one, a middle one and three small ones. Additionally, these PCBs can be screwed together with the surface below them, so they are also some kind of fixation for all the electric components. Only one-sided copper material is used for the PCBs. In the attached ZIP file you can find SCH and BRD files for the free software called EAGLE and you can probably use these files to generate the correct files for your PCB mill. You should use the PCB mill carefully and pay attention to the related instructions for correct usage of it.

Preparing PCBs

Pictures 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Now you should have your different PCBs. At the beginning you should put in the different electric components and solder them. For the level shifter and the MOSFETs you need to pay attention to their correct direction on the PCBs according to the schemes. After that, you continue with the male pin headers for every remaining electric hole in the PCBs, beacuse will female pin header cables will be used to connect them later. On some PCBs there are some prepared holes for screws in the corners, obviously no male pin header goes into these holes. You can also drill your own holes for the screws carefully. Soldering requires a bit of skill and experience, so you should try to solder everything correctly with an appropriate amount of solder at each place. If you are unsure, you should use the multimeter regularly to check for incorrect connections on the PCB. While using the multimeter, keep in mind that the small current might activate the MOSFETs and in that case it could be useful to switch to resistance measurement mode. Now you should have all electric components on the PCBs aswell as a male pin header in every intended hole.

RGB LED BlinkM address change

Pictures 1, 15
The I2C bus works with unique device addresses. For the RGB LEDs BlinkM the default I2C device address is 0x09. This needs to be changed before you can wire both RGB LEDs to the Raspberry Pi because it will fail to work otherwise. So you must setup a temporary electric circuit for one RGB LED with the levelshifter as shown in the pictures to change the I2C address of one BlinkM before you can wire everything together in the next step. For this purpose, the power supply of the Raspberry Pi should be sufficient. You can connect the levelshifter and one RGB LED to the 5V pin on the Raspberry Pi. The executed Python script will change the I2C address from 0x09 to 0x0A. As soon as you have everything wired together, execute the following commands on the Raspberry Pi and check for the correct address in the i2cdetect result:

  • sudo su
  • python /srv/isolocker-python/blinkm-addr-change.py
  • i2cdetect -y 1

Preparing peltier elements

Pictures 16, 17, 18, 19
You need to glue the peltier elements, the aluminium heat sink and the aluminium boards together using the heat conductive glue. You should mark the positions of the peltier elements on the aluminium boards as described in the pictures. Before you glue the peltier elements together with the aluminium boards, you can build a temporary electric circuit to determine the correct direction of the peltier element as one side of the peltier element will get hot whereas the other one will get cold. This is not mandatory because the hot and cold side swap as you swap the voltage connections. Be careful while using the heat conductive glue because it might not be that healthy for you. Apply some heat conductive glue to the cold side of the peltier element and glue it together with the aluminium boards in the described positions. Exert a little pressure on the peltier elements and let the glue dry off for some minutes. Afterwards you glue the heat sinks together with the hot side of the peltier elements using the same procedure. Drill small holes in each corner of the aluminium board and put a screw through the aluminium board and its chipboard-surface.

Preparing small PCBs and fans

Pictures 20, 21, 22, 23, 24, 25
In this step you will put the small PCBs and fans in their correct positions. Again, the exact positions are contained in the pictures. Pay attention to the correct direction of the fan, because it takes air from one side and blows it out on the other side. You will need the flat head screws, 4.0 mm diameter and the female screws, 4.0 mm diameter to connect the fans with the fan holder parts. There are small and big fan holder parts, it does not really matter, which ones you use, because they were designed in such a way, that two small parts and two big parts fit for one fan. It might be a bit tricky to use fan holder parts on the upper and the lower side of the fan, but it is sufficient to use only one side. The simple solution is to simply use the big parts for the fan holder parts described in the pictures and only use them on one side of each fan. Whatever you choose to do, connect the fan holder parts and the fan carefully using the screws and female screws, as the holder parts break quickly. You need to connect the fan holder parts with the described wood boards and you can either do this by using a screw carefully or by applying some hot glue to that spot. When you choose to use hot glue, you need to keep the fan in position manually for a while until the hot glue has dried off. The small PCBs will be screwed together with the wood surfaces in the described positions. Now you should use the plastic or rubber washers right below the locations in which the screw will go through the PCB and into the wood surface. This will avoid some possible damage to the PCBs.

Preparing the electrical cables

Pictures 26, 27
You need to prepare your electrical cable. Cut through the cable and remove the outer isolation of your cable. Now you should have three single cables inside of your power cable. Usually the earthing cable has the colors green and yellow. Cut off around 2 cm of the other two cables. Because of that, the single earthing cable should now be a bit longer than the other two ones. You should do this for safety reasons. Remove some isolation at the end of each cable. Put each of the cables into a single cable lug and use the crimping pliers for cable lugs to connect the cable lug and the cable. In the pictures you can see the cable relief, which is useful because it avoids tearing caused by the electrical cable on the 5V power supply. It is placed right above the power supply 5V board, 15 cm x 24.9 cm and next to the entrance hole for the electrical cable. For correct positioning, it might be helpful to put the board into that position temporarily. Take the 50cm part of the single electrical cable, which is also able to carry the power from a power outlet, and cut it into two pieces. Remove some isolation at each end of each cable. On one end of each cable, you connect a cable lug again. The cable lugs will be connected with the 230V power outlet cables on the 5V power supply later using the screws, which take the 230V power on the 5V power supply unit. Cut your luster terminal into two pieces and use every single piece for one single connector of the 12V power supply unit. Screw the luster terminal together with the 12V power supply unit. Each single electrical cable must be put into one of the luster terminal pieces now. Screw it together again and make sure, that these pieces fit very well because it might cause a short circuit otherwise.

Preparing the LED bar

Picture 28
Put a white LED into each of the 25 holes in the LED bar. Keep in mind, that the LEDs have a direction. Usually the positive side (anode) is marked by a longer pin. Connect 5 LEDs together in a parallel circuit and solder two litz wires with a length of approximately 1m to each parallel circuit. You can apply some hot glue to some LEDs to keep them in position as shown in the picture. Electrical tape should be used to cover the free wire pieces and avoid a short circuit. The light sensors need to be prepared now. For one light sensor, solder a litz wire with a length of about 30cm into the connections called GND, SCL, SDA, VCC. Take a special color for each wire and remember it, because you will not be able to see them later again. Put this light sensor on that side of the LED bar, which is close to the other electric stuff and the power supplies. For the other light sensor, connect litz wires of about 1m length to the same connections. Take the same special colors for the litz wires as you did for the first light sensor. Additionally, you must apply some solder between the GND and ADDR hole, so they are connected. This will cause the light sensor to change its default I2C address from 0x39 to 0x29. This light sensor goes on the other side of the led bar. Afterwards each litz wire must be put through the large hole at the ends of the led bar, because in these places the cables will go inside the IsoLocker. Finally, you can completely close the led bar. For this, take the upper part of your led bar, which was laser cuttered before and glue it together with the rest of the led bar using some wood glue on the edges. Then you must glue the small end pieces of the led bar together with the led bar.

Preparing the door electronics holders

Pictures 29, 30, 31, 32, 33
In the pictures you can see the exact position for each part of the door electronics holders. You need to screw the back part together with the inner left board, but pay attention to its correct alignment as this is important for the correct functionality of the door switches. You also need to take the correct back / front parts for each side of your IsoLocker because they are mirrored. The outer edge of the back part must be placed directly on the edge of the inner left board. Then you should put a screw in each corner of the back part of the door electronics holders. Mark the locations of the bigger holes on the chipboard. These will be used for the wires later. Now you should take the front part of the door electronics holder and put it right above the back part. The complete inside of the back part should be covered now. Screw the front part together with the chipboard. Then you take off the front and the back part again, because you need to drill through the chipboard in the places you just marked, because the wires will go through these holes. After you finished drilling the bigger holes, you should put the back parts in their positions again. You can use the remaining holes for more screws or you can use them as more cable holes or simply leave them as they are right now, the choice is up to you.

Preparing the inner LEDs

Pictures 34, 35, 36
You should already have prepared the holes for the inner LEDs in previous steps. Now put the LEDs in the holes. As for the LEDs in the LED bar, you must connect 5 LEDs together to a parallel circuit. Again, you should use some hot glue to keep the LEDs in position and some electrical tape to avoid wrong connections and short circuits. Each parallel circuit must be connected with two litz wires having a length of approximately 80cm.

Preparing the solenoids

You also have to do some preparations for the solenoids. Unfortunately, the manufacturer of the solenoids did not mark any wire, so it is unknown, which wire must be connected with ground and the counterpart. If the voltage is applied in the wrong direction, the metal stick inside the solenoid will be pulled in instead of pushed out. Because of the construction of the solenoid, this might cause damage to the solenoid. Therefore you should build a temporary electric circuit using the 5V power supply and a solenoid. Do not use the Raspberry Pi as a power supply for the solenoid, as they draw way to much current and will damage the Raspberry Pi. You should get a power strip with a on / off switch to do this properly. Make sure, that the switch is off. Connect the prepared electrical cable with the 5V power supply unit as it is described on the screws on the power supply unit and the power strip. Connect one wire of one solenoid with +5V and the other wire with GND on the 5V power supply unit. Now turn on the power strip and observe the solenoid for about 2 seconds. If the metal stick does not pop out, then you must connect the wires in the other way for the correct voltage direction. In this case you should repeat the whole test procedure with swapped wires. If it the stick pushed out, you already have the correct direction. Turn off the power strip quickly after 2 seconds because it could cause damage to the solenoid if the voltage is applied too long in the wrong direction. Now you should know the correct voltage direction for the solenoid. Mark the GND wire because you need to know this later. Repeat the test for the other solenoid aswell.

Step 8: Electronics - Installation

Picture of Electronics - Installation

Installing PCBs

Pictures 1, 2
As you can see in the pictures, the big PCB, middle PCB and Raspberry Pi must be screwed together with the electronics board, 15 cm x 24.9 cm. You should use plastic or rubber washers right under the screw holes between the chipboard and the PCBs to avoid damage on the PCBs.

Creating wooden slots for wires

Pictures 3, 4
In the next steps you will wire up the electronics. Sometimes you might have to create some small slots in the wood for the wires as shown in the pictures. You can create the slots with a small drill, handsaw or file. Remember to do this carefully, as the chipboard breaks quickly.

Soldering female pin header wires

Picture 5
All male pin headers in the PCBs and the electric components are connected by wires which have female pin headers. Therefore, you need to prepare some wires with female pin headers as shown in the picture. At the beginning, you should put a small piece of shrink tube on the wire, which helps to cover the solder joint later. After that, you need to solder the pin side of the female pin header together with the copper wires inside the cable. This might be a bit tricky because the female pin header is relatively small and moves away easily while trying to solder it together with the copper wires. In that case, you should put something heavy on the female pin header, so it will stay in position. Afterwards, you move the shrink tube above the solder joint and shrink it. You can use a lighter carefully to create the necessary heat for the shrinking.

Female wires: LED bar cables, inner LED cables

From the previous steps, you should have the ends of LED bar cables and cables for the inner LEDs. All these wires need a female pin header because they will be connected with the PCBs later. Solder the female pin headers together with the wires using the instructions from the previous paragraph.

Installing the lower peltier elements

Pictures 6, 7, 8
Now you should continue with the lower peltier elements. First of all, you put the peltier tunnel boards on the outer lower board and screw them together. You need to wire up the peltier elements, fans and small PCBs as shown in the pictures and need to solder female pin headers again. Connect the fans with the small PCBs. You need to create four wires, which connect the two small PCBs with the 5V power supply unit. Two of them should have a length of about 90 cm, whereas the other two need a length of roughly 1.2 m. Solder female pin headers to one end of each cable and connect these with the small PCBs. Later you will deal with the other end of each cable. It is a bit tricky to connect the peltier elements because you need to put the lower inner board close to the small PCBs. Because of that, it is difficult to connect the wires of the peltier elements with the small PCBs. So you need to do this simultaneously: Hold the inner lower board a bit above the peltier tunnel elements, quickly wire up the peltier elements with the small PCBs and then lay down the inner lower board on the peltier tunnel boards and screw it together in its final position.

Inner left and right chipboards

Pictures 9, 10
Take your inner left and right chipboard parts and screw them together with the other parts in their final positions.

Door electronics

Pictures 9, 10, 11, 12, 13, 14, 15
You need to prepare some cables for all the parts shown and described in the pictures. The cables need a length of 60 cm. One end of the cables must be soldered together with the devices and remember to use the shrink tube for the solder joints. The other ends of the cables need a female pin header for connection to PCBs. Now you should prepare the servo motors and the massive metal plate and drill a hole in the described position. Rotate the small rotation part of the servo motor in the correct direction to its maximum position until it stops moving. Screw the metal plate together with the servo motor in a 90° angle. Basically, this will be the closed position for the servo motor. Now you can put in the different door electric components. Turn up the servo motor metal plate and screws the door electronics front part together with the left inner board again.

Temperature sensors

Picture 16
Prepare the temperature sensors by soldering litz wires to the different pins. Again, use the shrink tube. If you use the suggested positions for the temperature sensors, one of them will need wires with a length of 90 cm and the other one will need 60 cm wires. You must solder female pin headers together with the other ends of the wires. Put the temperature sensors in the prepared holes.

RGB LEDs

Pictures 17, 18
Usually the BlinkM RGB LEDs already have some pins soldered in. Therefore, you can simply create wires, which have female pin headers at both ends of each wire. You will need four wires per RGB LED with a length of 25 cm. Connect the wires with each RGB LED and put them in the prepared holes in the electrics cover boards. You can use a bit of hot glue to keep the RGB LEDs in that position.

12V power supply output

Now you should prepare the output of the 12V power supply. Cut of the plug and remove some insulation from the cables. You need to find out, which wire has +12V and which one is the GND wire. Make sure that there is enough distance between both wires and that no metal parts of the wires are close to each other. Then plug in the power supply unit and measure the two wires with the multimeter in voltage mode. If it shows +12V, then your positive measuring stick is at the +12V wire and the negative measuring stick is at the GND wire. If it shows -12V it is exactly the other way around. Now you should know, which wire is +12V and which one is GND and you might want to mark it somehow as you need to know this later. Unplug the 12V power supply unit. Connect female pin headers to both single wires.

Screwing more boards together

Pictures 19, 20
Now you can continue with the wooden construction again. Screw the outer left and right boards together with the outer bottom board. Be careful while doing this, because the boards might be instable in that situation. Continue with the power supply 12V board and the electronics board with the PCBs on it. Screw the stabilizer board and the linkage board together with the other boards again. Now you should put in the 12V power supply unit and lay it on the power supply 12V board as shown in the photo.

Installing the upper peltier element

Pictures 6, 21, 22
Screw the upper inner board together with the other boards and do that for the peltier tunnel boards aswell. Again you have to connect the peltier element, the fan and the small PCB with each other using some female pin headers and soldering. Create two wires which will connect the small PCB with the 5V power supply unit. They need to have a length of approximately 75 cm. Solder some female pin headers to one end of each cable and connect them with the small PCB. Leave the other ends as they currently are for the moment, you will deal with them later.

Dealing with wires

Picture 23
If you have not done it yet, you must create all wooden slots for the litz wires now. After the next step you will not be able to reach some wires that easy anymore. Therefore, make sure that you have done everything correctly up to now. Take your LED bar and lay it on top of the construction. Once all wooden slots are prepared, you must put all wires in them and keep them in that place - that applies to all the wires of the LED bar aswell. You can also use some electrical tape to keep them in that place. The unconnected ends of all wires should now be near the electronics board with the three PCBs on it.

Screwing some cover boards together

Pictures 23, 24
Make sure, that all wires on the 12V power supply board are properly isolated. Usually, rock wool is electrically non-conducting, but a good electrical isolation is always better. Take some rock wool and put it on the 12V power supply board from the sides. Then take the electronics cover boards with the RGB LEDs in them and screw them together with the left outer board. Take the upper cover board for the outer side of your IsoLocker (without heat dissipation holes) and screw it together with the right outer board. Be careful here, as that long chipboard might be to heavy for the screws. Probably you have to support the board manually for the moment, because it might break otherwise.

Installing the LED bar

Pictures 24, 25
As you can see in the photo, you have to prepare two holes for the wires coming out of the LED bar. Do not make the holes too big because small holes can be covered by the LED bar itself. Turn over the LED bar and hold it in front of the outer cover boards. Put the wires in the prepared holes. Then use some hot glue or wood glue to stick the LED bar together with the outer cover boards. Keep it in that position for some minutes until the glue has dried off completely.

USB powering for Raspberry Pi and wires with cable lugs

Take the USB cable, which has a USB Micro-B plug on one end. Plug in the cable in your Raspberry Pi power supply USB jack. Cut off the other end of the cable. Remove some of the outer isolation. Usually there should be a red / orange wire for the 5V wire and a black / blue wire is the GND wire. As you only need the power wires and not the data wires, you can put some electrical tape on the other wires and ignore them. Remove some isolation at the end of the power wires. You need to create four wires with a length of 40 cm and female pin headers at one side. Three of them will serve as 5V wires for the big and middle PCB. The fourth one will be the GND wire for the big PCB.

You must prepare some more cable lugs now. Use the crimping pliers for cable lugs to connect the cable lug and the cables. You should also put multiple cables in one cable lug. Below you can find a list of wires, which need to be connected with a cable lug now:

  • Cable lug 1, 5V:
    • Raspberry Pi USB power
    • Middle PCB
  • Cable lug 2, 5V:
    • Middle PCB
    • Small PCB
  • Cable lug 3, 5V:
    • Small PCB
    • Big PCB
  • Cable lug 4, 5V:
    • Small PCB
    • Permanent fan on 5V power supply board
  • Cable lug 1, GND:
    • Big PCB
    • Small PCB
  • Cable lug 2, GND:
    • Small PCB
    • Small PCB
    • Raspberry Pi USB power

Wiring up all cables

Pictures 26, 27, 28, 29, 30
Now you need to wire up all cables. Everything is prepared and you can find the detailed information in the pictures. Of course, you can not connect the wires with cable lugs yet, because the 5V power supply board is not inside the IsoLocker yet. Therefore, you should keep all wires with cable lugs together and leave some space for them.

Preparing 5V power supply unit

Pictures 31, 32
Now you need to screw the 5V power supply unit together with the 5V power supply chipboard piece. There are two possibilities to fixate the power supply unit using screws - one of them is at the front right next to the power connection screws and the other one is at the back of the 5V power supply unit. Use 1.5 cm screws to bolt the power supply together with its surface. Now you can screw the 5V power supply board together with the left outer board again. Put the main power electrical cable with the power plug on it through the hole in the left outer board. On the other end it should already have cable lugs, which you prepared in earlier steps. Use the cable relief to avoid tearing of the cable and leave some space to be able to connect the single wires with the power supply unit. Carefully remove the plastic protection plate above the power connection screws of the 5V power supply unit. Loose all power screws. Right above the power screws, there is a description for the correct wiring of the cables. Put the green-yellow earthing wire of the main electrical cable in the correct place and screw it together again. You have already prepared the cable lugs for the input voltage for the 12V power supply unit aswell. The input voltage for the 12V power supply unit is the same as for the 5V power supply unit. Therefore, you should take one cable lug of the 12V power supply unit and one cable lug of the main electrical cable and put them in the correct place as described on the 5V power supply unit. Put the screw through both cable lugs. Connect the other cable lugs of the 12V power supply unit and the main electrical cable in the correct location aswell and screw it together again. Now connect the remaining 5V and GND cable lugs with their correct positions as described in the previous paragraph.

Rock wool and final assembly

Pictures 32, 33, 34, 35
Put rock wool in the remaining empty hollows between the inner framework and the outer boards as shown in the pictures. Take all remaining chipboards and place them in their correct positions, which you should still know from the first assembly of the IsoLocker.

Python configuration: Servo positions

The final positions of your servo motors depend on the exact angle which you used while screwing the massive metal plate together with the servo motor. Therefore, you need to approach the correct values for the opened and closed positions for each servo motor slowly. You might want to take off the door electronics front part temporarely while adjusting these values. Usually, the opened position should be represented by a value close to 7.5. You should check, if that value fits for your setup aswell. The metal plate should not collide with anything while moving because this might break the plastic holder parts or even the servo motor itself. The final values for the closed position should be around 3.5 or 11.5. You already have a python script for these tests. Power up your IsoLocker and login to your Raspberry Pi via Wi-Fi and use the following commands in a SSH console (PuTTY):

  • sudo su
  • nano /srv/isolocker-python/servo-tester.py
    Modify values SERVO_POSITION_OPEN, SERVO_POSITION_CLOSED
    Save with CTRL + O
    Exit with CTRL + X
  • python /srv/isolocker-python/servo-tester.py

Now you should know the correct position values for the opened and closed position for the inner and the outer servo motor. You need to put these values in the main Python script with the following commands:

  • sudo su
  • nano /srv/isolocker-python/main-script.py
    In lines 88 to 91 modify values SERVO_INNER_OPEN_POSITION, SERVO_INNER_CLOSED_POSITION, SERVO_OUTER_OPEN_POSITION, SERVO_OUTER_CLOSED_POSITION
    Save with CTRL + O
    Exit with CTRL + X

Door switch test

You also need to test the correct positioning of your door switches because this is essential for the locking mechanism. The door switch needs to recognize the closing of a door just in that moment, when the door is completely closed. Since this is about millimeters, you might have to adjust the values. You can start the main script manually now by using the command
python /srv/isolocker-python/main-script.py
in the console. You have to repeat that test for each door: Open a door using the web interface. Close it and check, if the door locking mechanism starts. If it does, everything is fine. If it does not start, then the door switch was unable to detect the closing of the door. In that case, you should put a small blob of hot glue on top of the door switch and let it completely dry off for some minutes. This basically makes your door switch a bit longer, which means that it will react to pushing it in earlier than before. Check if the closing of the door is now detected correctly.

Software autostart

You know how to start the main script manually now. Once you are done with your tests and satisfied with the script, you might want it to automatically start as soon as your IsoLocker gets powered up. The Raspberry Pi will need roughly 1 minute for booting. After that, the main script will be automatically executed, if you do the following changes:

  • sudo su
  • nano /etc/rc.local
    Add line python /srv/isolocker-python/main-script.py before line exit 0
    Save with CTRL + O
    Exit with CTRL + X

Step 9: Finish

Picture of Finish

Now you are done with your IsoLocker. The basic construction and electronics are done.

Of course you can also do further improvements, especially for the outer appearance of your IsoLocker as you can see in the photos. For example, you can use a special kind of varnish to give the outer chipboard a metallic look. Hammerite paints are suitable for this purpose. Furthermore, you can cover the inside of the box with food-safe plastic foil, which makes it more hygienic. Foil can also be applied to the fronts of the IsoLocker to improve the look of the LED bar and attach the logo.

Some of the used materials might not be ideal for the IsoLocker. For example, the chipboard is quite heavy. If you have a bit more time and money and less pressure while designing and building the IsoLocker, you might find some more appropriate materials.

Comments

This would be great for storing medication that needs to be kept at a constant temperature and kept away from kids and stuff.