BeagleBone Green Wireless is an IoT device with Wi-Fi and BLE. The wireless components support MIMO which makes data transmission quicker.

In this post, you’ll learn how to program your BeagleBone Green Wireless and connect it to the Ubidots cloud.



1.- Connect your BeagleBone Green Wireless to your PC via USB.

2.- BeagleBone will appear in your PC as an USB pendrive, go to “BeagleBone” folder.

3.- Click on “Drivers” and select your OS:

  • MacOSX: Install both sets of drivers.
  • Linux: Driver installation isn’t required, but you might find a few udev rules helpful.
  • Windows: Select “BONE_D64.exe” if you have 64 bits distribution, or “BONE_DRV.exe” if you have 32 bits distribution.

4.- Using either Chrome or Firefox (Internet Explorer will NOT work) type

If you do all these steps you will obtain see something like this:

Now, we need to setup the WiFi in the BeagleBone Green Wireless.

5.- Scan for a WiFi network named BeagleBoneXXXXXXX.

6.- When you are connected to BeagleBone Network, go to your web browser and type

7.- Select the SSID where you want to connect the BeagleBone and type the password, then click on OK.

Now your BeagleBone Green Wireless should connect to your WiFi network.

Send values from analog inputs

The easiest way to interact with analog inputs is using Node-RED.

  1. Go to your web browser and type
  2. Click on Node-RED in the left menu, then click on the picture.
  3. Node-RED will open in your browser, click on Node-RED menu in the upper right corner, then “Import” -> “Clipboard”.
  4. Paste the following code.
[{"id":"1dc93aec.27a665","type":"mqtt-broker","z":"5600d8f5.a42228","broker":"","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willRetain":null,"willPayload":"","birthTopic":"","birthQos":"0","birthRetain":null,"birthPayload":""},{"id":"bf41b1b8.c3d03","type":"mqtt out","z":"5600d8f5.a42228","name":"","topic":"","qos":"1","retain":"","broker":"1dc93aec.27a665","x":524,"y":292,"wires":[]},{"id":"d5607a01.4326a8","type":"bbb-analogue-in","z":"5600d8f5.a42228","pin":"P9_39","topic":"","breakpoints":[{"input":0,"output":0,"mutable":false},{"input":1,"output":1,"mutable":false}],"averaging":false,"name":"Analog Pin 0","x":366,"y":261,"wires":[["f8cbc76e.347e68"]]},{"id":"964042fa.b6bb8","type":"inject","z":"5600d8f5.a42228","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"4","crontab":"","once":true,"x":220,"y":261,"wires":[["d5607a01.4326a8"]]},{"id":"f8cbc76e.347e68","type":"function","z":"5600d8f5.a42228","name":"Parse Function","func":"var response = {};\nresponse.payload = {\"temperature\": msg.payload};\nresponse.topic = \"/v1.6/devices/BeagleBoneGW\";\nreturn response;","outputs":1,"noerr":0,"x":367,"y":292,"wires":[["bf41b1b8.c3d03"]]}]

You’ll need to specify your Ubidots token, the analog input where your sensor is connected, the label identifier of Ubidots’ data source and the label identifier of the variable. In the code we wrote “BeagleBoneGW” in data source label, “Temperature” as the variable label and “AIN0” for analog pin 0.

5.- Double click on “Analog Pin 0” and in “Input pin” select the pin that you want and click “Ok”.

6.- Double click on “Parse Function” and change “Temperature” for the identifier of your variable, and change “BeagleBoneGW” for the identifier of your Ubidots data source.

7.- Double click on “mqtt” then click on the pen, select “Security” tab, in the “Username” put your Ubidots TOKEN.

8.- Finally, click on “Deploy”.

Did this answer your question?