BLE-Cube — A Bachelor Project

In spring 2016 four students from NTNU got an assignment from Nordic Semiconductor. To compliment this assignment, the students wrote a short article:

"What if controlling household appliances with your smart phone was easy? What if you could log on to a web page to open your blinds and adjust your thermostat? It may sound like a daunting task, but by combining Google’s Web Bluetooth API with Nordic Semiconductor’s nRF5-Series, it’s almost as easy as an Arduino. To demonstrate this exact technology, four students from NTNU set out to make a toy, controlled from the browser of a smart phone. The toy ended up being named “BLE-Cube".

image description

BLE-Cube is a puzzle game, based on the ability to visualize how a 2D object folds into 3D. The BLE-Cube constantly broadcasts a Beacon, making nearby smart phones aware of its presence. The beacon contains a URL where connection to the BLE-Cube is established. Upon connection the user can initialize a new game, or the cube can be put in a light show mode for demonstrational purposes.

image description

We are happy to inform that every aspect of BLE-Cube, except from Nordic Semiconductor’s SoftDevice, is open source. This means that everything from PCB layouts, source code for the web page, firmware stack for the nRF52 and 3D models are freely available for your use. We chose GitHub as a central for our source. Go to to visit our user, where you can find repositories for all four main parts of the project. Web site, firmware, 3D modelling and PCB design. The group decided to make a custom PCB to fit inside the cube. This PCB features shift registers for controlling the LEDs, an accelerometer and an nRF52832 SoC with the necessary peripherals. A 3D-representation of the cube can be seen below. Various other photos of the PCB can be found on the PCB repository of our Github user, as well as all manufactured files and documentation. Please refer to the for important disclaimers and further information on how to use these files."


image description