PLEASE NOTE: This site is no longer being actively maintained. For frequently updated BeagleBone resources please visit

Red, Yellow and Green LEDs


In this tutorial you will learn how to create a simple LED sequencer circuit, access Cloud9 (the BeagleBone's coding interface), load and run a script. When you run the script the LEDs will blink. The code introduces the random function for the LED sequence and how to control multiple digital outputs.

Note: This tutorial uses a BeagleBone set up specifically for our BeagleBone Black Tinkerer Workshop. The BeagleBone Black you will use in the Tinkerer Workshop will be set up with a Display and a Keyboard with a trackball mouse, and the JavaScript Files will be saved to the board. The BeagleBone will be running Angstrom, which come pre-loaded when you get the board. If you are not in a Tinkerer Workshop and want to do these projects, you can find a guide on how to attach a keyboard with a trackball mouse and a display here. You will also need to add the JavaScript files, which can be found here, to the following directory on the BeagleBone Black: /var/lib/cloud9/workshop

Parts List

Wiring Diagram

Project 2 - Fritzing wiring diagram

Step 1

Wire the components as shown. The LED is polarized (only works one-way)
Note: The resistor is required to limit the current to the LED.

Step 2

Plug the DC power jack into the BeagleBone Black to power the device.

Step 3

Once the system is ready, click on BEAGLEBONE-workshop icon to open the Chromium browser and then start the Cloud9 IDE BeagleBone.local:3000 (

Step 4

In the Cloud9 workshop folder click on the file Project2.js to open the BoneScript program that will control the LED and make it blink.
The code should look like this:

var b = require('bonescript');  // Read library

var ledPin1 = "P9_14";  // Select pins
var ledPin2 = "P9_16";  
var ledPin3 = "P8_19";

b.pinMode(ledPin1, b.OUTPUT);  // Enable pins and set to output
b.pinMode(ledPin2, b.OUTPUT);
b.pinMode(ledPin3, b.OUTPUT);

setInterval(random, 300);  // Call function 'random' every 300ms

function random(){  // Define function 'random'
   b.digitalWrite(ledPin1, Math.round(Math.random()));
   b.digitalWrite(ledPin2, Math.round(Math.random()));
   b.digitalWrite(ledPin3, Math.round(Math.random()));

Step 5

Now press Run at the top of the Cloud9 interface. If this says "Debug", select "Run" from the drop down under this button.
Cloud 9 BeagleBone Black Run Button
The script should now run and the LEDs should blink randomly.