Beaglebone green wireless

SeeedStudio BeagleBone Green Wireless is the first board in Beaglebone community with wireless connection and BLE enabled. SeeedStudio BeagleBone Green Wireless (BBG Wireless) is a joint effort by BeagleBoard.org and Seeed. The wireless and other on-board components make this board become a tiny laptop computer with router functions. The wireless components support MIMO (only dual input in dual out implemented) which makes data transmission quicker. You can also configure the AP mode of this development board to set it as a mobile router. We also provide highly adapted UPM libraries to make programming work easy and universal. Combined with rich Grove sensor, you can build more powerful and interesting IoT projects.

SeeedStudio BeagleBone Green Wireless is integrated with AM3358 1GHz ARM® Cortex-A8 processor, 512MB DDR3 RAM, 3D graphics accelerator, NEON floating-point accelerator, 2x PRU 32-bit microcontrollers, Wi-Fi 802.11 b/g/n 2.4GHz and Bluetooth 4.1 LE technology, four USB 2.0(host) ports, and two Grove sockets. It Supports AP and Station mode of communication. This board also complies with Bluetooth Advanced Audio Distribution Profile (A2DP). You can also use MRAA library to develop applications with this board.

Using this board is easy. For a beginner, we provided recoded and specialized UPM library for our dozens of sensors (We will add more of this kind APIs). With Grove modules, you can build your prototypes just by connect a module to BBG Wireless with Grove cables and call those highly abstracted APIs to execute intended behaviors. You can still use pin-connections and MRAA library, Bonescript and other capes (expansion functional boards in BeagleBone community). We also provide a Grove Base Cape for the situations of an amount of Grove modules to be connected.


Version Tracker

Product version Release date Support status Notes
SeeedStudio BeagleBone Green Wireless(v1.0, latest version) May 2016 Supported None




Features

Specifications

Processor Sitara AM3358BZCZ100 1GHz, 2000 MIPS
Power Source Micro type B USB Jack, 5 volts DC
Graphics Engine SGX530 3D, 20M Polygons/S
SDRAM Memory 512MB DDR3L 933 MHz
On-board Flash 4GB, 8-bit Embedded MMC
LED Indicators one for power, one for USB, one for WiFi, one for Bluetooth and four User Controllable LEDs
HS USB 2.0 Client Port Access to USB0, Client mode via Micro Type-B USB
HS USB 2.0 Host Port Access to USB1, Type A Socket, Total 1500mA LS/FS/HS, 4-Port hub
Serial Port UART0 access via 6 pin 3.3V TTL Header
WLAN/Bluetooth 2 MIMO Wi-Fi®, Bluetooth®, and Bluetooth Low Energy (LE)
SD/MMC Connector microSD , 3.3V
Grove sockets one UART, one I2C sockets
User Input Reset Button

Boot Button Power Button

Video Out none(HDMI socket removed)
Audio Out Via A2DP(Advanced Audio Distribution Profile)
Expansion Connectors McASP0, SPI1, I2C, GPIO (69 max), LCD, GPMC, MMC1, MMC2, 7 AIN (1.8V MAX), 4 Timers, 4 Serial Ports, CAN0, EHRPWM(0,2),XDMA Interrupt, Power button, Expansion Board ID (Up to 4 can be stacked)
Expansion Connectors voltage Power 5 volts, 3.3 volts, VDD_ADC (1.8 volts)
PCB dimensions 86.4 mm(length) x 53.3 mm(width) or 3.4 inches(length) × 2.1 inches(width)
Max height 19 mm(0.776 inches)
RoHS Compliant Yes
Weight 42 grams(1.48 oz)


Comparison with BeagleBone Green and BeagleBone Black

BeagleBoneBlack (BBB)MSRP: US 55 Dollars SeeedStudioBeagleBoneGreen (BBG)MSRP: US 39 Dollars SeeedStudioBeagleBoneGreen Wireless(BBGWireless)MSRP: US 44.9 Dollars
Processor: AM3358 1GHz ARM® Cortex-A8 Processor: AM3358 1GHz ARM® Cortex-A8 Processor: AM3358 1GHz ARM® Cortex-A8
512MB DDR3 RAM 512MB DDR3 RAM 512MB DDR3 RAM
4GB 8-bit eMMC on-board flash storage 4GB8-bit eMMCon-board flash storage 4GB 8-bit eMMC on-board flash storage
3D graphics accelerator 3D graphics accelerator 3D graphics accelerator
NEON floating-point accelerator NEON floating-point accelerator NEON floating-point accelerator
2x PRU 32-bit microcontrollers 2x PRU 32-bit microcontrollers 2x PRU 32-bit microcontrollers
USB client for power & communications USB client for power & communications USB client for power & communications
One USB host One USB host Four USB host
Ethernet Ethernet Wi-Fi 802.11 b/g/n 2.4 GHz and Bluetooth 4.1 LE
2×46 pin headers 2×46 pin headers 2×46 pin headers
HDMI port Two Grove connectors Two Grove connectors

Hardware Overview

SeeedStudio BeagleBone Green Wireless hardware details

No. Name Function
1 LEDs Indicates the system status
2 Reset Button Allow the user to reset the processor
3 Power Button Initiate the power down sequence
4 P8 I/O expansion connector
5 eMMC On board MMC chip that holds up to 4GB of data
6 User & Boot Button Force to boot from Micro SD Card or Switch the Wi-Fi mode between AP and station mode
7 Grove Interface Grove – UART Port
8 Grove Interface Grove – I2C Port
9 DDR3 512MB DDR3 is the Dual Data Rate RAM memory
10 Processor Sitara AM3358BZCZ100 is the processor of the board
11 USB Hub Controller GL852G USB 2.0 MTT Hub Controller
12 Wi-Fi&BT Module TI WiLink 8(WL1835/WG7835-V0) IEEE 802.11b/g/n, Bluetooth.Bluetooth LE, SISO& MIMO supported
13 USB Host*4 Connect different USB interfaces such as Wi-Fi, BT, Keyboard, etc. Can power up to 1.5A
14 TPS65217C Provides the power rails to the various components on the board.
15 Serial Debug Serial Debug Port
16 P9 I/O expansion connector
17 Antenna base Increase the signal strength
18 Antenna base Increase the signal strength
19 USB Client Connect to a PC that can also power the board
20 Micro SD Slot A place where micro SD card can be installed

Note that DO take care as you handle the USB micro type-B socket, or you might break the socket off.

expansion Headers

Note that The expansion interface on the board is comprised of two 46 pin connectors. All signals on the expansion headers are 3.3V unless otherwise indicated.

Note that do not connect 5V logic level signals to these pins or the board will be damaged. We do not recommend that using other ways to power up this board except powering up with USB cable.

The expansion headers provide extensive I/O capabilities.

Expansion Headers

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

65 Possible Digital I/Os

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


PWMs and Timers

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

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.


UART

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.


I2C

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.


SPI

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

Package includes(main parts)

Parts name Quantity
SeeedStudio BeagleBone Green Wireless one piece
User manual(brief copy) one piece
USB cable (Type-A to micro Type-B) × 1 one piece

Preliminary work for programming

Use station mode to connect local web server

1. Once you have connected BBG Wireless to your computer or Mac with USB cables (type A to micro type B). A folder will pop up and you click the file START.htm. Then follow guidance to install driver. You can visit the site http://beagleboard.org/getting-started#step2 (only step2) to install driver. After you have driver installed successfully, you are connected to Internet with station mode. And you can visit the web server (a local server is built on BBG Wireless system) to by click: http://192.168.7.2.
Note that in some cases, you may need to change a web browser to login the local server.
2. Communicate with BBG Wireless system with SSH client. After login to local web server successful, Open an SSH client such as putty. Then select protocol SSH, input server IP 192.168.7.2 and use default port 22. Click Yes after that a confirming dialog pops up. Now you configure the embedded system (a Debian Linux distributions) on BBG Wireless. For other SSH clients, the responses from may differ, but you can still use the host information mentioned to connect with embedded system.
Note that And in general, you shall create a password of accessing your board's AP, the command to change password in terminal is: echo "xxxxxx" > /etc/wificonfig/password

Use AP mode to connect local web server

In rare cases, you might need to connect local server in a wireless manner. Once you have connected BBG Wireless to your computer or Mac with USB cables. On a Wi-Fi enabled computer or a laptop Mac, you can find an AP named BeagleBonexxxx. Connect this AP and click http://192.168.8.1. Then you will login to the local server in BBG Wireless.
Note that in some cases, you may need to change a web browser to login the local server.

Connect another device with AP provided by BBG Wireless

One of biggest feature of BBG Wireless is that it can be used a router. Connect your another Wi-Fi enabled device to the AP BeagleBonexxxx. Open your browser and type 192.168.8.1 in the address bar. Then select another Wi-Fi network name which can be connected to Internet and its password as following figure shows. Tip: use the arrow to up or bottom to switch different input box on phones.
Tip: In some device such as Iphone, you may not have to input 192.168.8.1 in Wi-Fi enabled device's browser address bar, the device will switch to Wi-Fi connection page in browser automatically.
Click OK and wait few seconds, after then your device are connected to the Local area network which is consist of BBG Wireless and your device. We will improve this functionality to make it connect to Internet rather than a local area network.


Update to latest image

You can find a guidance for updating to latest image at: https://beagleboard.org/getting-started#update.
Note that you need to select the image that is fit for BBG Wireless.
Note that only v8.4 or above versions of image file can be used flashed to SeeedStudio BeagleBone Green Wireless .
Tip You can find latest and stable images for BBGW at https://beagleboard.org/latest-images. You can find all newest and testing images at https://rcn-ee.net/rootfs/bb.org/testing/2016-06-06/seeed-iot/. For latter address in this paragraph, all images for BBG Wireless are under a folder named seeed-iot, you can change directory to find latest ones. Note that only the file with the string blank in its file name is suitable for updating.

Extra operations to updating BBG Wireless

1. Use the way mentioned to connect SSH client with BeagleBone Wireless to access operation system(Debian) embedded.
2. We suppose you that you have written fitting image to a micro SD card. And you have root privilege right now. Insert microSD card to the slot on the back side of BBG Wireless. Run following code in a terminal to before you insert microSD card, run following code again after you insert microSD card. You will find another MMC device which may contain string mmcblk1p1. So you have inserted correctly.
 ls /dev/mmc*
3. Run following code to mount the microSD card device.
mount /dev/mmcblk1p1 /mnt
Note that replace mmcblk1p1 to your actual device name. But the the device name must contains string p.
4. Use the utility Vim to edit a file named uEnv.txt under folder /mnt/boot/. Run following code.
vim /mnt/boot/uEnv.txt
5. Disable the last line cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh by add symbol # to the begin of the code line.
6. Save and exit. Visit web page http://unix.stackexchange.com/questions/93144/exit-vim-more-quickly to see how to do it. Now you can re-power your BBG wireless. And then the image updating process start automatically. You probably need to wait about eight minutes before updating process finish. After update process finishes, you can see USR LEDs light on in default configurations. Visit web page http://beagleboard.org/getting-started#step1 to know its default configurations.

Open IDEs

After login to the local web server, you can open IDEs at the left column by clicking Node-RED and Cloud9. We will describe how to use both IDE later. Note that in some cases, you may need to change a web browser to login the local server.

Programming on this board

Now let us get started with how to program on this board. For BeagleBone community, there are two main category libraries (or SDK): BoneScript, MRAA(UPM) library. BoneScript is a library developed by BeagleBone community and has Arduino-library-like JavaScript APIs. We have constructed local IDEs Node-RED and Cloud9 in BeagleBone Wireless system or build a JavaScript IDE by yourself to run codes written with BoneScript library. Because of that BoneScript only cover basic operations, so it may usually take more time for a big coding project.

MRAA library is development by Intel and we recoded it to make it more convenient to use. UPM library is just a more abstracted and encapsulated library from MRAA library. This library covers more detailed and complicated operations for BBG wireless. UPM library is targeted for programming on different functional modules such as a sensor, actuator or motors. We recommend that you use UPM library to develop applications or projects. Also, you can use embedded IDE Node-RED or Cloud9 or build your own IDE.

Tip: Down a MRAA mapping reference to find Pin mapping between MRAA and BBGW.

We will show the details to build an application with different libraries as following.


A example with BoneScript and Node-RED

This example shows a hello world like demo in elections domain.

1. After login to local web server, open Node-RED IDE by click http://192.168.7.2:1880/ if you use USB-cable connection. Click only http://192.168.8.1:1880 if you use AP mode connection to your development environments. We use cable-connection in this case.
2. Select a inject node in input category, drag it to workspace. Double click it and type information as follows. The node will be input of this flow.
Tip: you can find enough information about current node in info tab in right column of this IDE.
3. Create another inject node on workspace and input following information. The node will be input of this flow.
4. Select a BBB discrete(output) node in BeagleBone category. Drag it to workspace on right of previous nodes as following image shows.
5. Configure the BBB discrete node as following image shows.
6. Connect input and output nodes. Place cursor to the right square of inject node until it is filled red color. Drag cursor onto the left square of BBB discrete(output) node and release cursor. Then you have made a connection between input and output nodes. And you can make another connection between lower inject node with BBB discrete(output) node in the same way.
7. Click the deploy button (in red background) on top-right of IDE to run code on BBG Wireless.
8. Click the buttons (the square filled with blue color lies left of an arrow) on left side of the input nodes, you can find a the USR3 LED is turned on or off. Note that if the USR3 is already blink, use USR2 LED or other USR LEDs instead in coding.

A example with BoneScript and Cloud9

This example shows you

1. After login to local web server, open Cloud9 IDE by clicking http://192.168.7.2:3000/ if you use a USB cable connection. Click http://192.168.8.1:3000 if you use AP mode connection to your development environments. We use cable-connection in this case.
2. You can a visit http://beagleboard.org/Support/bone101/#cloud9 to know how to run a basic example in Cloud9.

A example with UPM and Node-RED

Material required

Coding work

1. After you login to local web server, open Node-RED IDE.
2. Select a Grove Button node in Grove_sensors category, drag it to workspace. Double click it and type information as follows.
3. Soldering jumper wires to Grove-button pins.
4. Select a BBB discrete(output) node in BeagleBone category. Drag it to workspace on right of previous nodes as following image shows.
5. Connect Grove Button node to BBB discrete(output) node in the way mentioned before.
6. Plug GNG jumper wire (the jumper wire be connected to GND pin on Grove - Button LED) to GND pins on BBG Wireless expansion headers such as pin 1 in the P9 connector. Plug SIG jumper wire (the jumper wire be connected to SIG pin on Grove - button) to pin 12 on the P9 connector of BBG Wireless expansion headers. Plug VCC jumper wire (the jumper wire be connected to VCC pin on Grove - button) to VDD pins on BBG Wireless expansion headers such as pin 4 in the P9 connector.
7. Click deploy in Node-RED IDE to run codes on BBG Wireless.
8. Press and release button, you can see LED on and off respectively.

A example with UPM and Cloud9

Material required

Coding work

This example shows how to read signal from a digital pin.

1. After login to local web server, open Cloud9 IDE.
2. You can find more demo sketch at https://github.com/Seeed-Studio/upm and development library at https://github.com/Seeed-Studio/upm/tree/BBGW/src.
Note that only several modules (listed in Grove_sensors category of Node-RED IDE)' UPM libraries and its examples have been tested, other modules' UPM libraries and its examples have not been tested yet. We will catch up as soon as possible.
3. Soldering jumper wires to Grove-button pins.
4. Connect Grove Button node to BBB discrete(output) node in the way mentioned.
5. Copy following code to Cloud9, save it to a .js file.
/*
 Get input form Grove-button and print its current state one time in a second
 */
 
// Load Grove module
var groveSensor = require('jsupm_grove');
 
// Create the button object using GPIO pin 60
var button = new groveSensor.GroveButton(60);
 
// Read the input and print, waiting one second between readings
function readButtonValue() {
    console.log(button.name() + " value is " + button.value());
}
setInterval(readButtonValue, 1000);
6. Click Run in Cloud9 IDE to run codes on BBG Wireless.
7. Wait about 10 seconds to view output at the bottom of Cloud9 IDE. The output probably looks like following image showing.
Tip: for more advanced demos, please visit http://www.seeed.cc/projects.html?t=BeagleBone.
Tip: in UPM and MRAA libraries, you rarely can find that a library or example file's name is same with our products' name. Because we have to write code for the chip used inside a product rather than for the whole product.

A example with MRAA library and Cloud9

This example will make little noise with a buzzer.

Material required

Coding work

1. After login to local web server, open Cloud9 IDE.
2. You can find more demo sketch at https://github.com/Pillar1989/mraa/tree/BBGW/examples.
3. Soldering jumper wires to Grove-button pins.
4. Connect Grove - Buzzer to BBG Wireless.
5. Create a Python file named buzzing.py in Cloud9 IDE and save it.
6. Copy and paste following code into the file buzzing.py and Click Run button to run the code.
import mraa
import time
 
# Using BBG Wireless pin P9_14
x = mraa.Gpio(60)
x.dir(mraa.DIR_OUT)
 
while True:
    x.write(1) //send a high level digital signal to pin P9_14
    time.sleep(0.5) //set duration 
    x.write(0)//send a low level digital signal to pin P9_14
    time.sleep(0.5)//set duration

Play music over Bluetooth

This board features blooth communicatioin. And this example will show you how to play music over bluetooth.

====Material required====

Steps to play music with BBG Wireless

1. Power your BBG Wireless up with USB cable.
2. Build serial communication between BBG Wireless and host computer through SSH terminal emulators. In this case we use xshell.
3. Run following command to start Bluetooth service.
'''bb-wl18xx-bluetooth'''
4. Run follwing command to enter Bluetooth configuration environment.
 
bluetoothctl
5. Run following command to scan your Bluetooth devices. It will take several minutes to find out your Bluetooth speaker. You can use device identifier number or device name to recognize your device. In this case, our device name is 301. The output of terminal emulator probably like following image.
scan on
6. Run following command to stop scanning devices.
scan off
7. Run following command to pair your Bluetooth with BBG Wireless. The output of terminal emulator probably like following image.
pair 78:09:73:C8:77:50
Note that replace device identifier number to actual device identifier number of your Bluetooth speaker.
8. Run following command to ensure your Bluetooth speaker is trusted by BBG Wireless.
trust 78:09:73:C8:77:50
9. Run following command to let BBG Wireless connect to Bluetooth speaker. The output of terminal emulator probably like following image.
connect 78:09:73:C8:77:50
10. Run following command to quit Bluetooth configuration environment.
quit
11. Run following command to find your device file in Linux files system, after you insert your MicroSD into SD card slot.
 ls /dev/mmc*
12. Run following command to mount MicroSD card to files the directory /mnt/.
 mount /dev/mmcblk0p5 /mnt/
Note that replace mmcblk1p1 to your actual device name.
13. Run following command to play your music. The output of terminal emulator probably like following image.
mpg123 /mnt/1.mp3
Note that mpg123 is utility in Linux environment to open a music file of MP3 format. And replace the music filename 1.mp3 with actual music file names.

Make an Acrylic Case for BBGW

If you need an acrylic case to protect your BBGW.

There's a tutorial to help you to make one. (click image)

Resources

Is this page helpful

Copyright (c) 2008-2016 Seeed Development Limited (www.seeedstudio.com / www.seeed.cc)
This static html page was created from http://www.seeedstudio.com/wiki