BeagleBone Green Wireless

Introduction

SeeedStudio BeagleBone Green Wireless (BBGW) is a joint effort by BeagleBoard.org and Seeed Studio. It is based on the open-source hardware design of BeagleBone Black and developed into this differentiated version. SeeedStudio BeagleBone Green Wireless has included a high-performance flexible WiFi/Bluetooth interface and two Grove connectors, making it easier to connect to the large family of Grove sensors. The on-board HDMI and Ethernet are removed to make room for these wireless features and Grove connectors.

Features


  • Fully Compatiable with BeagleBone Black
  • Processor: AM335x 1GHz ARM® Cortex-A8

    • 512MB DDR3 RAM
    • 4GB 8-bit eMMC on-board flash storage
    • 3D graphics accelerator
    • NEON floating-point accelerator
    • 2x PRU 32-bit microcontrollers
  • Connectivity

    • USB client for power & communications
    • USB host with 4-port hub
    • WiFi 802.11 b/g/n 2.4GHz
    • Bluetooth 4.1 with BLE
    • 2x 46 pin headers
    • 2x Grove connectors (I2C and UART)
  • Software Compatibility

    • Debian
    • Android
    • Ubuntu
    • Cloud9 IDE on Node.js w/ BoneScript library
    • plus much more

Specification


Item Value
Processor AM335x 1GHz ARMR Cortex-A8
RAM 512MB DDR3
on-board Flash Storage 4GB eMMC
CPU Supports NEON floating-point & 3D graphics accelerator
Micro USB Supports powering & communications
USB USB2.0 Host *4
Grove Connectors 2 (One I2C and One UART)
GPIO 2 x 46 pin headers
Ethernet Wi-Fi 802.11b/g/n 2.4GHz and Bluetooth 4.1 LE
Operating Temperature 0 ~ 75

Application Ideas

  • Internet of Things
  • Smart House
  • Industrial
  • Automation & Process Control
  • Human Machine Interface
  • Sensor Hub
  • Robot

BBGW Starter Tutorial #1-#6

Here are some tutorials for the starters to use some Grove modules to realize their interesting ideas with BeagleBone Green Wireless(BBGW). The tutorials are based on Python and mraa/upm library.

#1 The Breath LED #2 Storm on your table #3 Speak Louuuuuudly
MAKE IT NOW! MAKE IT NOW! MAKE IT NOW!
#4 How hot is it today? #5 Where are you? #6 My Little alarm clock
MAKE IT NOW! MAKE IT NOW! MAKE IT NOW!

Funny Projects

Bluetooth Device Detection Home Control Center SAP HCP IoT Service
MAKE IT NOW! MAKE IT NOW! MAKE IT NOW!

Hardware Overview

Pin map

Each digital I/O pin has 8 different modes that can be selected, including GPIO.

65 Possible Digital I/Os

Note

In GPIO mode, each digital I/O can produce interrupts.

enter image description here

PWMs and Timers

Note

Up to 8 digital I/O pins can be configured with pulse-width modulators (PWM) to produce signals to control motors or create pseudo analog voltage levels, without taking up any extra CPU cycles.

Analog Inputs

Note

Make sure you don’t input more than 1.8V to the analog input pins. This is a single 12-bit analog-to-digital converter with 8 channels, 7 of which are made available on the headers.

enter image description here

UART

Note

There is a dedicated header for getting to the UART0 pins and connecting a debug cable. Five additional serial ports are brought to the expansion headers, but one of them only has a single direction brought to the headers.

enter image description here

I2C

Note

The first I2C bus is utilized for reading EEPROMS on cape add-on boards and can’t be used for other digital I/O operations without interfering with that function, but you can still use it to add other I2C devices at available addresses. The second I2C bus is available for you to configure and use.

enter image description here

SPI

Note

For shifting out data fast, you might consider using one of the SPI ports.

enter image description here

Getting Started


Note

This chapter is writing under Win10. The steps are familiar for the other operate systems.

STEP1. Plug in your BBGW via USB

Use the provided micro USB cable to plug your BBGW into your computer. This will both power the board and provide a development interface. BBGW will boot Linux from the on-board 2GB or 4GB eMMC.

BBGW will operate as a flash drive providing you with a local copy of the documentation and drivers. Note that this interface may not be used to re-configure the microSD card with a new image, but may be used to update the boot parameters using the uEnv.txt file.

You’ll see the PWR LED lit steadily. Within 10 seconds, you should see the other LEDs blinking in their default configurations.

  • D2 is configured at boot to blink in a heartbeat pattern
  • D3 is configured at boot to light during microSD card accesses
  • D4 is configured at boot to light during CPU activity
  • D5 is configured at boot to light during eMMC accesses

STEP2. Install Drivers

Install the drivers for your operating system to give you network-over-USB access to your Beagle. Additional drivers give you serial access to your board.

Operating System USB Drivers Comments
Windows (64-bit) 64-bit installer
Windows (32-bit) 32-bit installer
Mac OS X Network Serial Install both sets of drivers.
Linux mkudevrule.sh Driver installation isn’t required, but you might find a few udev rules helpful.

Note

For window system, please note that:

  • Windows Driver Certification warning may pop up two or three times. Click “Ignore”, “Install” or “Run”
  • To check if you’re running 32 or 64-bit Windows see this.
  • On systems without the latest service release, you may get an error (0xc000007b). In that case, please install and retry:
  • You may need to reboot Windows.
  • These drivers have been tested to work up to Windows 10

STEP3. Browse to your Beagle

Using either Chrome or Firefox (Internet Explorer will NOT work), browse to the web server running on your board. It will load a presentation showing you the capabilities of the board. Use the arrow keys on your keyboard to navigate the presentation.

Click http://192.168.7.2 to launch to your BBGW. Older software images require you to EJECT the BEAGLE_BONE drive to start the network. With the latest software image, that step is no longer required.

Click to view larger image

STEP4. Cloud9 IDE

To begin editing programs that live on your board, you can use the Cloud9 IDE by click

enter image description here

STEP5. Connect your BBGW to Wi-Fi

Using your smart phone or computer to scan local Wi-Fi network and connect to the AP named “BeagleBone XXX”

After connection succeeded, it will head to the login page automatically. Select the SSID of your Wi-Fi and enter the passwd, click OK.

Now your BBGW is connected to Wi-Fi.

STEP6. Connect your BBGW to your Bluetooth Device

Connect to Cloud9 IDE and start a new terminal. Start the bluetooth config with the command:

bb-wl18x-bluetooth
bluetoothctl

Type scan on to scan local bluetooth devices. My device named “jy” is found.

Copy the device mac address, then contect to the device with the command:

pair 0C:xx:xx:xx:xx:0B
trust 0C:xx:xx:xx:xx:0B
connect 0C:xx:xx:xx:xx:0B

Now your BBGW is connected to your bluetooth device. Type quit back to the terminal. Play music on BBGW, then you will hear music on your bluetooth speaker device.

Update to latest software


You need to update the board to latest software to keep a better performance, here we will show you how to make it step by step.

STEP1. Download the latest software image

First of all, you have to download the suitable image here.

enter image description here

Note

Due to sizing necessities, this download may take about 30 minutes or more.

The file you download will have an .img.xz extension. This is a compressed sector-by-sector image of the SD card.

STEP2. Install compression utility and decompress the image

Download and install 7-zip.

Note

Choose a version that suitable for your system.

Use 7-zip to decompress the SD card .img file

STEP3. Install SD card programming utility

Download and install Image Writer for Windows. Be sure to download the binary distribution.

STEP4. Write the image to your SD card

You need a SD adapter to connect your microSD card to your computer at the first. Then use the software Image Write for Windows to write the decompressed image to your SD card.

enter image description here

Click on Write button, then the process is started.

enter image description here

Note

  • You may see a warning about damaging your device. This is fine to accept as long as you are pointing to your SD card for writing.
  • You should not have your BeagleBone connected to your computer at this time.
  • This process may need up to 10 minutes.

STEP5. Boot your board off of the SD card

Insert SD card into your (powered-down first) board. Then the board will boot from the SD card.

Note

If you don’t need to write the image to your on-board eMMC, you don’t need to read the last of this chapter. Otherwise pleas go ahead.

If you desire to write the image to your on-board eMMC, you need to launch to the board, and modify a file.

In /boot/uEnv.txt:

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Change to:

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Then you will find the 4 user led light as below:

enter image description here

Note

If you don’t find the upper tracing light, please power down and power up the board.

When the flashing is complete, all 4 USRx LEDs will be off. The latest Debian flasher images automatically power down the board upon completion. This can take up to 10 minutes. Power-down your board, remove the SD card and apply power again to be complete.

Program Grove Module with Mraa and UPM

We have provided Mraa library and UPM library to make it easy for developers and sensor manufacturers to map their sensors & actuators on top of supported hardware and to allow control of low level communication protocol by high level languages & constructs.

What are Mraa and UPM?

Mraa is a C/C++ library with bindings to Python, Javascript and Java to interface with the I/O on BBG, BBGW and other platforms, with a structured and sane API where port names/numbering matches the board that you are on. Use of Mraa does not tie you to specific hardware with board detection done at runtime you can create portable code that will work across the supported platforms. UPM is a high level repository for sensors that use MRAA. Each sensor links to MRAA and are not meant to be interlinked although some groups of sensors may be. Each sensor contains a header which allows to interface with it. Typically a sensor is represented as a class and instantiated.The constructor is expected to initialise the sensor and parameters may be used to provide identification/pin location on the board.

Install and update

Mraa and UPM are already installed in the system image of BBGW, so you don’t need to install it. However if you want to update the library, or want to upgrade the library, use apt-get update and apt-get upgrade please. Refer to https://github.com/intel-iot-devkit/mraa and https://github.com/intel-iot-devkit/upm for more information.

Mraa Example

  • light a led
import mraa
import time
#mraa.gpio60 = P9_14 = GPIO_50
led = mraa.Gpio(60)
led.dir(mraa.DIR_OUT)

while True:
    led.write(1)
    time.sleep(1)
    led.write(0)
    time.sleep(1)

  • Grove - PIR Sensor
import mraa
import time
#mraa.gpio73 = P9_27 = GPIO_115
pir = mraa.Gpio(73)
pir.dir(mraa.DIR_IN)

while True:
    print (pir.read())
    time.sleep(1)
  • Grove - Rotary Angle Sensor
import mraa
import time
#mraa.aio1 = AIN0
rotary = mraa.Aio(1)

while True:
    print(rotary.read())
    time.sleep(1)
  • More Tutorials

Grove - 3-Axis Digital Accelerometer(±16g) Grove - Variable Color LED

Grove - Mini Fan Grove - PIR Motion Sensor Grove - Rotary Angle Sensor

Grove - Relay Grove - Sound Sensor

Grove - OLED Display 0.96” Grove - Light Sensor Grove - Temperature Sensor

Grove - GPS Grove - Button(P) Grove - Buzzer Grove - RTC v2.0

Mraa Map for BBGW

GPIO

I2C

PWM

ADC_IN

UART

References and Resources

References


There’re many references to help you to get more information about the board.

Resources


Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:

  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.

An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.

Happy hacking