Big Mable

Big Mable – The Crystal Ball Extraordinaire

by Nooshin Mohtashami

The crystal ball is a mysterious thing and so is the reason why I got to build one for this project. I started with a very different idea for this experiment but all my attempts for the other ideas failed except for this one.

Big Mable in action

Big Mable is a “crystal ball” shape that is the housing to an Arduino Nano Ble 33 sense connected to an RGB LED. The Nano board is activated and controlled wirelessly by a web interface running a P5js script.

Web Interface to Big Mabel

This is a very basic setup of connecting a web interface to the Arduino wirelessly and controlling the peripheral BLE to turn on and off the LED that is connected to it.

What’s inside the crystal ball

Big Mable

Big Mable

Inside Big MableHow it works:

A BLE device configured in the central mode scans and detects nearby BLE devices and determines their available services. In this case, the central BLE is a web page running a P5js script that scans and detects nearby BLE devices. The user can initiate scanning for other BLE devices using this P5js script running on a web page. After scanning and discovering the peripheral BLE with a specific UUID, the user pairs the 2 BLE devices and uses the web interface to interact with the peripheral device. The user interaction results in the central BLE to write a characteristic value to the peripheral BLE and depending on this value the peripheral BLE turns on or off an RGB LED that is connected to it.

Videos and Source Code


Potential extensions:

  • Use a mobile device as the central BLE to interface with the peripheral instead of a laptop computer
  • Use a bluetooth speaker connected to the Arduino and have Big Mabel respond by voice coming out of the bluetooth speakers when a question is asked.
  • I can easily modify the web interface of this experiment to create a very different and useful (to me) concept. By slightly changing the web page that connects to the peripheral BLE, and using the exact same hardware setup, I can communicate different messages to my son who is usually sitting in his room with headphones on, using blinking LEDs that change colour. For example, I can turn on the light to Green when it’s time to eat dinner or purple when it’s time to take the dog out for a walk. The bluetooth signal strength of the 2 devices are strong enough so that I can connect to the peripheral device from my laptop from anywhere in the house.