Library to run the Bluetooth BLE113 Tessel Module.
Last updated 7 years ago by johnnyman727 .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install ble-ble113 
SYNC missed versions from official npm registry.

#Bluetooth Low Energy

##Under Development

The BLE Library is still under heavy development and most functionality isn't available but the functions outlined below work. You will need to update your firmware to our January 3 release (or later) in order to use this library. That's because this is a relatively bulky code package and our old USB driver code didn't allocate enough memory.

You can add more functionality if you want to look at the BlueGiga BLE113 Datasheet. You'll have to make an account on their website.


npm install ble-ble113

If you are using Tessel V1 (should say TM-00-00 on the back), you should wire the module to the GPIO port because UART isn't routed to the module ports in that hardware revision. GPIO 3, 2, and 1 on GPIO port goes to GPIO 3, 2, and 1 on module, respectively.

If you have Tessel V2, you can use module port a, b, or d.


var tessel = require('tessel');

// Pick one of the two lines based on which version Tessel you have:
// Tessel V1 (should say TM-00-00 on back) must use GPIO port
var hardware = tessel.port('gpio');

// Tessel V2 (should say TM-00-02 on back) can use any port but C
var hardware = tessel.port('a')

var ble = require('../');

var bleController = ble.connect(hardware, function(err) {
	if (err) return console.log(err);

	// Use the device as a peripheral
	// bleController.startAdvertising();

	// Use the device as a master
	// bleController.scanForPeripherals()

bleController.on('discoveredPeripheral', function(peripheral) {
    console.log("Discovered a Peripheral!");
    console.log("RSSI: ", peripheral.rssi);
    console.log("Sender: ", peripheral.sender);


  • "discoveredPeripheral"
  • "connectedPeripheral"
  • "disconnectedPeripheral"
  • "connectionStatus" for when you connect to a peripheral or a master connects to you
  • "completedProcedure" should be called after searching for peripheral handles
  • "readValue" should be called after reading the value of a handle
  • "foundInformation" called when information about characteristics is found
  • "booted"


writeValue(value, callback); // Write the value to be read by a master (only 1 value available now, will increase to 64 soon)
connectToPeripheral(address, address_type, conn_interval_min, conn_interval_max, timeout, latency, next);
disconnectFromPeripheral(connection_handle, next);
findInformation(connection_handle, start_handle, end_handle, next); // Used to find services/characteristics used by peripheral
readRemoteHandle(connection_handle, attHandle, next); // Used to read a remote value being advertised by slave.

When used in Master mode, typically, you connect to a peripheral, call findInformation to get a list of available characteristics to read, then call readRemoteHandle with the handle returned from the foundInformation event.

Email with any questions/concerns

Current Tags

  • 0.0.14                                ...           latest (7 years ago)

9 Versions

  • 0.0.14                                ...           7 years ago
  • 0.0.31                                ...           7 years ago
  • 0.0.30                                ...           7 years ago
  • 0.0.29                                ...           7 years ago
  • 0.0.28                                ...           7 years ago
  • 0.0.27                                ...           7 years ago
  • 0.0.26                                ...           7 years ago
  • 0.0.25                                ...           7 years ago
  • 0.0.2                                ...           7 years ago
Maintainers (2)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (1)
Dev Dependencies (0)
Dependents (0)

Copyright 2014 - 2016 © |