A library for easier setup and prototyping of IoT devices (pucks), by collecting everything that is common for all pucks in one place.

Dependencies:   BLE_API nRF51822

Dependents:   ir-puck display-puck ir-puck2 BLE_ScoringDevice ... more



Raspberry Pi took the maker community by storm when it launched in 2012. With its internet access it allowed small projects to be internet-of-things enabled. We have created a platform to take this one step further.

Our platform, called the Puck platform, is an internet of things platform for mbed. mbed makes it easy to program embedded hardware for people new to embedded systems. Our platform is built upon the first mbed chip with Bluetooth, the nRF51822 created by Nordic Semiconductor. We hope to create a community around these BLE devices where people contribute to the project, and share their designs with each other. Everything is open-source, of course, with lots of supporting materials.

We make it easy to rapidly prototype and develop Bluetooth LE enabled devices - get up and running in under 10 lines of code.

Tutorials and in-depth documentation is available at the project's GitHub page


We've developed a handful of awesome examples to demonstrate the platform. These examples are named 'Pucks'. By talking to the internet through your smartphone, the barrier to creating your own Internet of Things device is lower than ever.


RevisionDateWhoCommit message
25:5ac5f1d1a11e 2015-07-24 Timmmm Update for latest nRF51822 repo. default tip
24:cd6703df9501 2015-03-09 aleksanb Add power usage note to log.h
23:21b5ecbc84ea 2015-03-09 aleksanb Correctly advertise Bluetooth LE connectivity.; ; Now pucks are connectable in master control panel for android again :D
22:7d728fed55ab 2015-03-03 sigveseb Add CharacteristicWriteCallback documentation
21:00a3567124e3 2015-03-03 sigveseb Uncomment accidental commenting
20:29b0143f3af3 2015-03-03 sigveseb Add setting of device name to puck init
19:e41c83f1430e 2015-03-01 stiaje Remove .orig file
18:4c95a470d778 2015-03-01 stiaje Merge documentation
17:23a05bd2fe2b 2014-08-01 aleksanb More documentation.
16:fb8678ee25b0 2014-08-01 aleksanb Document puck library.
15:bfc682889c15 2015-02-27 sigveseb Update data write callbacks to use new BLE_API flow
14:9eda2d99fc1d 2015-02-23 aleksanb Update Puck library to newest versions of BLE_API.h, mbed.h.
13:93d3574e9e36 2014-08-11 aleksanb Upgrade to newest BLE_API and nRF library.
12:8a8cc109f048 2014-08-05 cristea Add license
11:e620c41de9c3 2014-08-01 stiaje Remove .orig file
10:67e4694f2d74 2014-08-01 stiaje Merge 'Update display puck to use new lib'
9:ba0527c6b6d0 2014-07-29 sigveseb Update display puck to use new puck lib
8:49ffd38fb401 2014-07-24 sigveseb Add support for characteristic value updating from the mbed
7:c07c01c2a741 2014-07-24 cristea Hoist logging out of Puck.h; ; There was a problem with multiple definitions of functions in Puck.h if; used in two different files. The logger has been moved out so that we; have independent loggers for each file, which can have different verbosity.
6:211ffef3b88e 2014-07-23 sigveseb merge
5:2f2a2ac6b231 2014-07-23 stiaje return reference to ble instead of copy
4:91506772210d 2014-07-23 stiaje Fix memory issue
3:5432b38585ea 2014-07-23 sigveseb Add ble handling
2:38614fd0fcce 2014-07-17 stiaje Change to 'getVariable' function naming
1:29b2cca0d529 2014-07-17 stiaje Make all pucks connectable
0:718051934fdb 2014-07-15 stiaje Initial commit