Wednesday, 15 April 2015



While IoT projects were buzzing all around, I  decided  to make one and came up with Nucleus.It's a Smart lock based on Internet of things(IoT) built on Arduino uno and Ethernet shield.It can  be  accessed by a Key and internet through Software interface built in Java.There are many Electronic   locks available in Market ,but they are Expensive as  they  use  Fingerprints,   RFID card, Keypad (Password) as Key. I've used an I2C EEPROM as key which hardly costs 15 Cents resulting in an Inexpensive Key.Thus Nucleus can be Inexpensive as compared to other Electronics locks.As Nucleus is IoT lock,you can access it anywhere in the world if you are online.I will also develop Mobile apps to access the Nucleus though Mobile.Thanks to for providing free IoT services.Here's a snapshot of my project..

 Let's see what the project is made up of..


 Image source:

Arduino Uno is do-it-yourself kit with AVR Atmega328P Microcontroller which  can be programmed through IDE provided by Arduino and Codebender.  Its simple to use as there are many Libraries available online useful to interface different sensors and devices to Ardiono Uno.Learn more here.


Ethernet shield is built on Winzet W5100 which provides a network  (IP) stack capable of both TCP and UDP. It connects Arduino Uno to internet.I've used a MEGA Compatible Ethernet shield in Nucleus which is similar to Arduino's Ethernet Shield. In Nucleus,Arduino Uno interfaced with Ethernet shield acts    as Webclient.The Ethernet shield also has SD card slot to store and retrieve  data from Micro SD card. 


IC 24C32

I've used IC 24C32 as key.It   is  a  Serial  CMOS  EEPROM  that  uses  I2C Protocol to communicate with Micro-controller.It's a 8 Pin DIP IC. There  is a post in Arduino Play ground regarding interfacing 24C32 with Arduino Uno.


IC L293D

L293D is motor driver IC .I've used it to connect Motor to Arduino Uno.It's a 16-pin DIP IC.It has capability to control two Motors at time.   Engineer's    Garage has got nice post regarding L293D.It has internal   buffers    which     protect the circuit from back EMF of motor and avoid power loading.

Apart from the above parts, I've used a Geared Motor, Buttons, LED's ,  Connecting wires and Breadboard.


Key Features

  • Nucleus can be unlocked/locked by Multiple Authorized Keys and Software over Internet.

  •  Owner can Add or Remove Keys through Software.

  • The Software displays logs regarding the access of lock.

  • The Software show the status of Key add request. 

Circuit Diagram

Circuit Diagram
Circuit designed in fritzing

Actual Circuit:

I have illustrated the working of Nucleus below.

Locking/Unlocking with Key

Nucleus can be Personally accessed with a key.The key is a 8 pin IC.Its part number is 24C32 and it's a I2C EEPROM .The key is first inserted in breadboard for Authentication and if passed,Nucleus can be Locked/Unlocked,else rejected.The LEDs help to indicate the status of Nucleus.Blinking of Blue LED indicates that Nucleus is online.Blinking of Green LED indicates the the Locking/Unlocking of Nucleus and Red Led indicates the Rejection of Key.I have Illustrated the process of Locking/Unlocking the Nucleus with a key in following video.


Locking/Unlocking Through Software

Nucleus can be Accessed remotely through its Software over internet.This is the part where IoT comes in action.With the power of internet,You can access and know the status of nucleus from any corner of world.Its means that you can Lock and Unlock your Nucleus  from any where in the world if you have it at your home.The Software has many more features like Logs,Adding New keys etc.In the following video,I've show the access of Nucleus through Software over Internet.

Adding a New Key

You can add new keys to Nucleus.This is another Powerful feature of Nucleus which Differentiates it from Conventional Locks.If you want your friends or relatives to be able to access your Nucleus with their Lock,Simply Add new key in Software and then insert their key in Nucleus and its get added.Now they can Lock/Unlock your Nucleus with their key.Maximum five keys can be assigned to Nucleus.I've illustrated this process in following video.


Removing a Key 

If you want to Invalidate or remove one of assigned keys,just go to keys tab and click on the key you want to then gets removed and that key will no longer be able to access Nucleus unless it's added again.You cannot remove all the keys, atleast one key must be assigned to Nucleus.I've illustrated the complete process in following video


The Software displays the logs in Logs tab.Here you can see the details regarding the access of Nucleus.The details include the Time of Locking / Unlocking and the Mode i.e Key or Software.You can also jump to particular date and see the details of that day.I've Illustrated this in following video where I've show a update to logs when Nucleus is Unlocked Through software.I've also show how to view details of particular date in past.


Anti-Clone Technology

Anti-Clone Technology is employed to minimize the use of cloned keys.Whenever a Authentic key is inserted in Nucleus,a new Session Id Pin is stored in that Key.That key can access nucleus next time only if the previous Session Id matches the one stored in key.Then a new Session Id is stored in key.Now if someone tries to clone the key,he/she can copy only present data in cloned-key,and if it is used in future to access Nucleus,most probably,it will not contain the new Session Id required and will not be able to access Nucleus.This is how Anti-Clone technology works.

Creative Commons License
Nucleus-The Smart Lock is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.


  1. Hi. I’m peter employee of wiznet. We are looking for a project our IC is used. And we introduce them on our website. If you agree, I want to introduce Necleus project on our web site( I'll wait for your reply. Thanks.

    1. Yeah, sure. You can introduce the Nucleus in your web site