bluetooth low energy

22 Articles

It is a good bet that you have at least one Bluetooth device hanging around. Headsets, mice, keyboards, and speakers have become increasingly common. Bluetooth forms a short range wireless network and can also perform file transfers and create virtual serial ports.

If you have ever had to stop listening to music to recharge a Bluetooth headphone, you know Bluetooth won’t run long on batteries. In 2006, Nokia introduced Wibree, which would later become Bluetooth Low Energy (or BLE). These days it’s used in everything and it’s well worth your time to gather a basic understanding of this technology.

With the launch of the Raspberry Pi 3, Bluetooth Low Energy (BLE) is now at our disposal. With BLE, there are a few technologies for implementing one-way beacons that broadcast data. Apple has been pushing iBeacon since 2013, and Google just launched their Eddystone solution last year.

If you’re looking to target Google’s Eddystone on your RPi 3, [Yamir] has you covered. He’s put together a guide on setting up an Eddystone-URL beacon within Raspbian. This type of beacon just broadcasts a URL. Users within range will get a notification that the URL is available, and can navigate through to it. Eddystone-URL works on both iOS and Android.

The process for setting this up is pretty simple. The hciconfig and hcitool commands do all the work. [Yamir] was even nice enough to make a calculator tool that generates the hcitool command for your own URL. While is hack is a simple one, it’s a nice five-minute project. It’s also handy for broadcasting the URL of your Raspberry Pi if it’s running a web server as part of a more intricate hack.

What the Internet of Things really needs is more things, and the more ridiculous the better. At least, that’s the opinion of [Eric] who has created a tongue-in-cheek gadget to add to the growing list of connected devices. It’s a Bluetooth-enabled pregnancy test that automatically releases the results to the world. Feeling lucky?

The theory of operation is fairly straightforward. A Bluetooth low-energy module is integrated into the end of a digital pregnancy test. These tests have a set of photo detectors to read the chemical strip after the test is conducted. If the test is positive, the module sends a signal to a Raspberry Pi which tweets the results out for the world to see. It also has an option to send a text message to your mom right away!

[Eric]’s project to live-tweet a pregnancy test also resulted in a detailed teardown of a digital pregnancy test, so if you need any technical specifications for pregnancy tests (for whatever reason) his project site has a wealth of information. He does note that his device can be used on other similar devices with directly driven LCD screens, too. The fun doesn’t end there, though! Once the pregnancy is a little further along you’ll be able to get the baby on Twitter, too.

Like many programmers, [Daniel Nugent] loves his old mechanical keyboard (a WASD Code Keyboard). What he didn’t love was the cord. Sure, you can get a modern wireless keyboard, but it won’t be the same as the keyboard you’ve spent so much time with. Armed with a Bluetooth Low Energy (BLE) module, a rechargeable battery and some coding, he kept his keyboard but got rid of the wires.

Although he has some specific handling for the WASD, the code would very likely handle any PS/2 keyboard. The PS/2 interface is a simple synchronous serial port with a single clock and single data line. Handling it with a microcontroller isn’t very difficult.

Everyone’s heard of the “World’s Smallest Violin,” but we think it’s time for something more upbeat. [Simone Giertz] of Punch Through Design has created a mini electric ukulele using a LightBlue Bean. The Bean is an Arduino-compatible microcontroller that you can wirelessly program using Bluetooth low energy (BLE).

The ukulele’s frame is made of laser-cut plywood. Four 1M ohm resistors are soldered to individual wire strings. A different set of wire strings in the ukulele’s neck are connected to the same ground as the Bean. In order to play this tiny instrument, a finger must be kept on the “ground” strings while the other “tone” strings are touched by a different finger. [Simone] uses Arduino’s Capacitive Sensing Library to determine which string is being touched and what the tone will be (indicated in Hz). A piezo buzzer provides the sound. There is no need to fret when the battery is depleted from using this at an all-night luau: the frame can be unscrewed with easy access to the battery. [Simone] has uploaded the Bean’s code to GitHub.

There’s no shame going solo, but we’d enjoy a show of dueling mini-ukuleles. A duet with the 3D-printed ukulele is always a possibility. Or, play this little guy while running up and down some piano stairs while the kettle fife blows off some steam. It’ll be a musical way to brighten anyone’s day. Check out the video of the mini ukelele after the break. You can also see more of [Simone’s] work at her website.

There are a ton of apps out there for taking notes and recording ideas, but sometimes the humble pen is best. However, if you have the tendency to lose, crumple, or spill caffeinated beverages on your pen and paper notes, having a digital copy is quite nice.

The NoteOn Smartpen by [Nick] aims to digitize your writing on the fly while behaving like a normal pen. It does this by using the ST LSM9DS0TR: a 9-axis inertial measurement unit (IMU). These inertial measurements are processed by a STM32 Cortex M4F processor and stored on the internal flash memory.

To retrieve your notes, the Nordic nRF8001 Bluetooth Low Energy radio pairs the MCU with a phone or computer. The USB port is only used to charge the device, and the user interface is a single button and LED.

The major hardware challenge of this device is packaging it in something as small as a pen. Impressively, the board is a cheap 2 layer PCB from OSHPark. The assembled device has a 10 mm diameter, which is similar to that of ‘dumb’ pens.

The NoteOn doesn’t require special paper, and relies only on inertial measurements to reconstruct writing. With the hardware working, [Nick] is now tackling the firmware that will make the device usable.

There’s a lot more to those fancy radio modules you use with your Arduino projects than meets the eye. Many of them are systems on a chip, complete with their own microcontroller and memory that can control your entire blinking LEDs project. Developing for these radio modules is a bit of a challenge, as the IDEs and compilers cost several thousand dollars. [Tim]’s entry for the Hackaday Prize looks at one of these Bluetooth LE modules – Texas Instrument’s CC2540 and CC2541 – and puts an embedded BASIC interpreter right on the chip.

[Tim]’s inspiration for this project came from looking at a few popular devices using the CC254X chip. Many of these included a microcontroller and the added costs, complexity, and power requirements that come along with an additional chip. This radio module could easily run any code an ATMega could, and adding another chip to a product seemed like a terrible waste, and certainly not in the spirit of open hardware and software.

The alternative is writing an interpreter for the CC254X chip. He’s chosen BASIC, but added a little bit of Arduino language syntax to make it even easier to develop on. Having already run through a few successful tests involving SPI, I2C and 1-wire devices, [Tim] has a basic system working, but [Tim] admits it does need a little rework to make it easier to use.

It’s a great project, and personally astonishing that it didn’t make the quarterfinal selection for The Hackaday Prize. [Tim] is still working on his project, though, in a great example of extrinsic motivation; he doesn’t need a trip to space to convince him to build something cool.