Arduino portable sensor pack with Bluetooth LE

Human have only five senses, but there are huge amounts of data that we cannot see or feel. This can be fixed with a bunch of sensors. IntensePancake share his instructable where he built a sensor pack that sits on top of Arduino ans talks to Android device via Low Energy (LE) Bluetooth channel. Sensor pack is built on custom prototyping board where he mounted all sensors. The list starts with its own voltage regulator. Since Sensor pack meant to be portable, on board linear regulator seemed to be inefficient (bellow 50%). So he bypassed it with switching regulator LM2825N which promises about 80% efficiency. With 9V and about 560mAh battery it worked around 13 hours.


He’s chosen nRF8001 LE bluetooth breakout board from adafruit. It is interfaced to Arduino via SPI interface. Lets get to sensor list. Firs one is Si1145 light sensor which packs several features including visible light intensity, infrared light intensity and UV index which allows to predict UV exposure. Another sensor id BMP180 barrometric pressure sensor which can be used as altimeter. It also includes temperature sensor. Going further there is well known DHT22 Temperature/humidity sensor which measure humidity and temperature. Second part is Android application. The interface is really easy to follow – all sensor data is displayed in human readable form. Project files can be found on GitHub.

Getting most of Arduino with sensor extension board

Arduino like any other microcontroller platform is quite useless without connection to real world. It has digital and analog input and output pins where various sensors and actuators can be plugged in. And this is where real fun begins. Arduino is famous of being easy to use, rich in libraries that support almost every popular sensor, transducer or other module. If you want to learn how embedded systems work, Arduino is great starting point. I suggest starting with simple sensors like switches and LED flashers. Once you are getting better go ahead and plug more advanced sensors like temperature or ultrasound.


Having everything conveniently organized can be tricky. But thanks to Arduino Sensor Expansion shield, most of sensors can be connected and programmed much easier. Continue reading

Arduino based door lock system

Shawn recently built an RFID electronic door lock that accepts 100 RFID ID cards. Since in his office already was electronic door lock accessed with button code, he thought RFID would be a great addition, so you don’t have to remember the code and also this saves time while entering.

He used parallax RFID readers that can be communicated via serial interface. Control boards are custom built Arduino where Atmega328 gets data from RFID readers and drives relay through transistor. Everything is fairly simple, the only thing that took real effort, to wire the system as office building is quite big and messing with wires is not acceptable. Anyway he’s done the work pretty well, system works. With a bit code cleanup it can be used to accept even more than 100 cards.

Communicating multiple Arduinos through I2C

I2C is great communication protocol allowing to interface multiple devices to only two signal wires. Using it is simple, because I2C peripheral is already included in most microcontrollers. Atmega micros on Arduino also have this peripheral sometimes called TWI (Two Wire Interface). I2C communication is normally single master and one or multiple slaves. Berryjam couldn’t find decent example where multiple slave Arduino could accept multiple tasks from master. So he wrote his own tutorial on this.

He wrote programs for master and slave(s) allowing to send any number of commands. Master sends code number to slave which its hand executes function with assigned code and returns results to master. This way he was able to interface separate arduinos to master where one is responsible for reading sensors and controlling motor, another outputs information to display and so on. In his recent code master is able to send command but also passes up to 5 arguments of data to be passed in to slave function. If you are setting project like modular home automation system, this example may be a good starting point.