Try It

Video demo from hackday:

Here's our Github for the mobile app and the BLE-MQTT bridge:

Phone App

The idea is to use the Silicon Labs BGM111 BLE module (nice 8dBm output) to make a bunch of door, window, and light sensors for around the house. Then interface a BLE central to a Pi to capture this sensor data and publish to MQTT. A doll house size replica of the house will subscribe to these sensor status changes and mimic what the real house is doing. So...if a window gets opened, a servo in the doll house will open its tiny windows. Or if a light turns on, a corresponding LED in the doll house lights up. Stuff like that. You can put this little house on your coffee table and tell at a glance if your windows are opened before switching on the AC. Or set it at the corner of your desk at work ( w/ VPN connection to your home network) and you'll have a working physical model of your house. Lots of room for creativity with sensors and physical representations.

Software - mobile app developer to build out a Ionic project to interface with the BLE modules (send parameters, receive status) to make the BLE modules configurable.

Software - Python/Node.js on Pi to convert UART to MQTT, firmware on BGM111, ESP8266 or Pi for the doll house.

Mechanical Design - create CAD design for the house. I was thinking it would be made of panels that get assembled into the house, with mounting features for servos and operating doors/windows, maybe OLED for fancy stuff. Maybe 2 houses? The magic doll house and a stand-in for the house that has the sensors so it can be demo.


I tried to do this last year, but it was very hacky. It'd be fun to structure the components so the project can be replicated, hence the 3D printing and off-shelf BLE modules. On the sensor side, it's basically a BLE-to-MQTT bridge using the Silicon Labs Thunderboard React. From there, the rest of the project is over IP network for notifications and visual effects. The MQTT bridge enables lots of more use cases with user configurable low power BLE sensor modules.

Built With

Share this project: