Sending data over Bluetooth Low Energy with a cheap nRF24L01+ module

nRF24L01+ modules like the one shown above are a great way to send data wirelessly between your projects. They can be found on many websites for less than $1.50

a piece and many libraries exist for them. After having thoroughly looked at the Bluetooth Low Energy (BLE) specifications, [Dimitry] managed to find a way to broadcast BLE data with an nRF24L01+.

Luckily enough, BLE and nRF24L01+ data packets have the same preambles. However, the latter can’t send more than 32bytes in a packet and can’t hop between frequencies as fast as the BLE specification wants. [Dimitry] found the solution when he discovered that he could send unsolicited advertisements on three specific channels. In the end, considering the 32 bytes the nRF24L01+ can send, you’ll need to use 3 bytes for the CRC, 2 for the packet header, 6 for the MAC address and 5 for devices attributes. This leaves us with 16 bytes of pure data or 14 bytes to split between data and name if you want your project to have one.

Fail of the Week: Smoking pulse sensor and BLE disappointment

fotw-ble-and-pulse-sensor

We think [Thomas Brittain] is onto something. We often post to our personal blogs so that we have a reference to how we did something. But he also keeps a long post that documents his abandoned projects. It ends up serving as a quick start if he ever decides to pick up the torch once again. Lucky for us he’s included his failures in the write up. This Fail of the Week features the top two posts on his Incomplete Works page. The first is an attempt to make his own pulse sensor. The second is a miserable experience with a cheap Bluetooth Low Energy module.

[Read more...]

Bluetooth Low Energy weather lamp

bluetooth_low_energy_ble_weather_lamp

This is a well-executed proof of concept which [Aaron Jeromin] threw together in a couple of hours. This lamp hosts a Bluetooth Low Energy weather display. The project was a way for him to get used to using the BLE module. But to make the most out of that hardware this should really be refined into an actual low energy circuit. We do think the timing is perfect to feature this project since we just looked at a BLE primer yesterday.

He’s using a BLE Mini board from RedBearLab. It uses a Texas Instruments CC2540 SoC. We’d love to see a follow-up that does away with the Arduino in lieu of code running on the TI chip. But we would have done the same thing (use the uC we were most familiar with) when testing the BLE board out for the first time. It gets weather data from an iPhone. The forecast is projected as one of three icons using an LED bulb and a stencil which is positioned by a hobby servo.

Other inanimate objects that can tell you if it’s storming include this color-coded umbrella stand.

[Read more...]

Primer on Bluetooth Low Energy

bluetooth-low-energy

We’re sure that, like us, you’ve heard at least something about Bluetooth Low Energy (BLE). Blutooth 4.0 is another name for BLE and it’s already available in some smartphones; starting with the iPhone 4S, BlackBerry 10, and with Android support added in 4.3 — Jelly Bean. Here’s your chance to get acquainted which what the specification brings to the table. The source material (which we’ll talk about below) provides a ton of background. But if you want a succinct overview check out [Gervasi's] summary of Bluetooth Low Energy.

We won’t republish the technical details here as both articles do a great job of covering those. Here’s what you should take away from BLE: It’s meant for use with devices running off of a tiny power source. The one outlined in both articles is a coin-cell. But we prefer to think of the future that is energy harvesting. Peak current is limited to 15 mA. This does limit the throughput, but think sensors, not Bluetooth headsets. You just don’t need to push all that much data from these devices. A cleverly designed energy harvesting circuit should be able to implement BLE devices with no battery whatsoever.

We did mention a deeper exploration of the standard. The image above comes from this BLE Primer for Developers. Add it to your weekend reading.

[via Reddit]