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
o
o
o
o
o
512MB DDR3 RAM
4GB 8-bit eMMC on-board flash storage
3D graphics accelerator
NEON floating-point accelerator
2x PRU 32-bit microcontrollers
Connectivity
o
o
o
o
o
o
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
o
o
o
o
o
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
MAKE IT NOW!
#4 How hot is it today?
MAKE IT NOW!
#2 Storm on your table
MAKE IT NOW!
#5 Where are you?
MAKE IT NOW!
#3 Speak Louuuuuudly
MAKE IT NOW!
#6 My Little alarm clock
MAKE IT NOW!
Funny Projects
Bluetooth Device Detection
MAKE IT NOW!
Hardware Overview
Home Control Center
MAKE IT NOW!
SAP HCP IoT Service
MAKE IT NOW!
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.
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.
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.
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.
SPI
Note
For shifting out data fast, you might consider using one of the SPI ports.
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 onboard 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.
Operati
ng
System
USB Drivers
Comments
Windows
(64-bit)
64-bit installer
http://beagleboard.org/static/Drivers/Windows/BONE_D64.exe
Windows
(32-bit)
32-bit installer
http://beagleboard.org/static/Drivers/Windows/BONE_DRV.exe
Mac OS
X
Network Serial
http://beagleboard.org/static/Drivers/MacOSX/FTDI/EnergiaFTD
IDrivers2.2.18.pkg
Install both sets of
drivers.
mkudevrule.sh
http://beagleboard.org/static/Drivers/Linux/FTDI/mkudevrule.sh
Driver installation
isn’t required, but
you might find a
few udev rules
helpful.
Linux
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.
https://support.microsoft.com/en-us/help/827218/how-to-determine-whether-a-computer-is-running-a32-bit-version-or-64-bit-version-of-the-windows-operating-system
On systems without the latest service release, you may get an error (0xc000007b). In that case, please install
and retry:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=13523
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.
STEP4. Cloud9 IDE
To begin editing programs that live on your board, you can use the Cloud9 IDE by click
http://192.168.7.2:3000/ide.html
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.
https://www.dropbox.com/s/9qsa75cazhjgb1x/BBGW-blank-debian-8.4-seeed-iot-armhf-201606-27-4gb1.zip?dl=0
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. http://www.7-zip.org/download.html
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.
https://sourceforge.net/projects/win32diskimager/files/latest/download
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.
Click on Write button, then the process is started.
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:
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. Powerdown 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
References and Resources
References
There’re many references to help you to get more information about the board.
BeagleBoard Main Page
BeagleBone Green Wireless info at BeagleBoard page
BeagleBoard Getting Started
Troubleshooting
Hardware documentation
Projects of BeagleBoard
Resources
BeagleBone_Green_Wireless Schematic(pdf)
https://github.com/SeeedDocument/BeagleBone_Green_Wireless/blob/master/resources/BeagleBone_
Green%20Wireless_V1.0_SCH_20160314.pdf
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
http://wiki.seeed.cc/BeagleBone_Green_Wireless/ 3/7/2017