This was one of those projects I had kept in the backlog for too long, but finally got the time and drive to finish it up.
The problem was very simple and common. In the building I share, we have a common garage door which can be open/closed through a (very expensive) radio remote control. Each apartment has a single remote control and any now or then one of them gets lost.
Since everyone nowadays owns a smartphone and Bluetooth LE (BLE) has become standard, I decided to create an appliance with a relay that can trigger the garage opening. The relay can trigger either the motor directly or (in my case) “press” the button on a radio remote control.
How to build
The system consist of 2 parts: hardware that is placed near the garage door, and an Android application installed on the smartphone. Let’s follow the next steps.
BOM (Bill Of Materials)
- BLE Nano with respective MK20 board (for programming purposes only)
- 3V Relay (bought on eBay)
- Power adapter (something on the range of 3v to 12v with 1A) or 3.7V battery (e.g. 18650)
- perforated board
- female header socket
- wires
- box
I choose the BLE Nano since it is has a very small package size and punch lots of processing power thanks to the Nordic nRF51822 (an ARM Cortex-M0 SoC which includes the BLE radio).
Build the hardware
Building is very straight forward. Start by soldering the header socket to the perforated board (comes very handy if you need to re-flash the BLE Nano later). Then wire power and the relay.
Power:
BLE Nano | Power Source |
---|---|
VIN | 3v - 12v |
GND | GND |
Relay:
BLE Nano | Relay |
---|---|
VDD | VCC |
GND | GND |
RTS / P0_8 | IN |
On your radio remote control, identify on the push button which two points need to be short circuited to trigger the radio. Solder wires to those points and connect the wires to the relay.
Fit everything inside a nice box 😊
Programming
Get the source code from https://developer.mbed.org/users/dgomes/code/Garagem/
Compile and upload it to your BLE nano using the MK20 board.
(don’t forget to fit the BLE nano back in the box 😉)
The mobile app
The source code to the mobile application is available on https://github.com/dgomes/garagemBLE
You will also be able to find the latest version on Google Play.
Administration
All communications between your smartphone and relay hardware are kept safe through an AES128 encrypted message with a shared password. This shared password is configured to the hardware on it’s first use, and will remain so until it loses power (will be reprogrammed next time someone accesses the garage). You can share the password with anyone you wish to grant access to the garage.
That’s it!
Enjoy your safe Bluetooth LE remote control!