Wednesday, 29 January 2014

Using the Adafruit_BBIO LibraryCreated by Justin Cooper

Using the Adafruit_BBIO Library - Created by Justin Cooper

http://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/using-the-bbio-library

This library has quite a few changes being made to it. Please read the CHANGELOG anytime you update the library to ensure it doesn't break your programs.

Using the Adafruit_BBIO library with the BeagleBone Black (BBB) is fairly simple, especially if you're familiar with the RPi.GPIO library for the Raspberry Pi.

To start, you'll want to import the libary. There are two different options at this time to import. The first one is for GPIO:

Copy Code

import Adafruit_BBIO.GPIO as GPIO

If you'd like to use PWM, then import as follows:

Copy Code

import Adafruit_BBIO.PWM as PWM

You can access the channels by either referencing the pin "key" or the name. If you look at your BeagleBone Black, you can see that each set of pin headers has a name, either P8 or P9. Then, you can see that there are pin numbers that start from 1, and go to 46.

When you count the pins, you don't go length-wise, but start at 1, then across to 2, and then back up to the next pin 3, and so on. The following image illustrates this a bit better:

 BBB_pin_example.jpeg

So, to access the first pin on P9, you'd use "P9_1". You can also use the name of the pin to access it, which would be . You wouldn't want to do this though, as P9_1 is actually gnd! You'll want to view the last page of this guide to see which pins are available to use.

Not all pins are necessarily available. HDMI, and the eMMC flash module take up quite a few of them by default.

I2C is only compatible with Python2 due to the python-smbus dependency.

.END

Installing Adafruit-BeagleBone-IO-Python on Ubuntu - Created by Justin Cooper

Installation of  Adafruit-BeagleBone-IO-Python on Ubuntu - Created by Justin Cooper

http://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/installation-on-ubuntu

The majority of this library will need to be run as sudo in Ubuntu.

Installing the Adafruit-BeagleBone-IO-Python (phew!) library is fairly simple. Let's make sure we have a good foundation setup first.

The most important part here is that you are using a Linux distribution with the 3.8 kernel. This kernel version made some fairly significant changes with how GPIO, PWM and ADC are accessed.

Connecting to your BeagleBone Black (SSH)

Let's ssh into the system so we can execute commands. Open your favorite terminal, and SSH into your BeagleBone Black (BBB). Note, Ubuntu does not come with Avahi-Daemon pre-installed. This means you need to use the IP address to connect and not the hostname.

Copy Code

ssh ubuntu@your.bbb.ip.address

Enter the the password (default is 'temppwd' most likely). You should now have a prompt available to enter commands.

Commands to setup and install BBIO

Now that you're connected to the BBB, you'll want to start with setting the date and time so that it's accurate. Copy and paste the following into your terminal (you may want to make it execute this on startup in the future):

Copy Code

sudo ntpdate pool.ntp.org

Next install the dependencies:

Copy Code

sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y

Now, execute the command to install BBIO:

Copy Code

sudo pip install Adafruit_BBIO

Test your Installation (optional)

You can optionally test if your installation was successful by simply trying to load one of the modules. Execute the following command from the console (not from within the python interpretor), it shouldn't throw any errors, but return one line:

Copy Code

sudo python -c "import Adafruit_BBIO.GPIO as GPIO; print GPIO"

#you should see this or similar:

<module 'Adafruit_BBIO.GPIO' from '/usr/local/lib/python2.7/dist-packages/Adafruit_BBIO/GPIO.so'>

You can also validate by executing the 'python' command to enable the interpreter, and run the following code (you can tell you're in the right place when you see the ">>>" in your terminal):

Copy Code

import Adafruit_BBIO.GPIO as GPIO; print GPIO

#you should see this or similar:

<module 'Adafruit_BBIO.GPIO' from '/usr/local/lib/python2.7/dist-packages/Adafruit_BBIO/GPIO.so'>

Manual Installation (optional)

You can also install BBIO by cloning the git repository. The following commands should get it installed as well:

Copy Code

sudo ntpdate pool.ntp.org
sudo apt-get update
sudo apt-get install build-essential python-dev python-pip python-smbus -y
git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git
cd adafruit-beaglebone-io-python
sudo python setup.py install
cd ..
sudo rm -rf adafruit-beaglebone-io-python

.END

Tuesday, 28 January 2014

Adafruit-BeagleBone-IO-Python installation - written by Justin Cooper

Installation on Angstrom - Created by Justin Cooper

http://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/installation

Installing the Adafruit-BeagleBone-IO-Python (phew!) library is fairly simple. Let's make sure we have a good foundation setup first.

The most important part here is that you are using a Linux distribution with the 3.8 kernel. This kernel version made some fairly significant changes with how GPIO and PWM is accessed. The good news is that your BeagleBone Black came pre-installed with the proper kernel. It just may not be the latest and greatest. If you have some extra time, it may not be a bad idea to follow our installation guide for Angstrom, and flash your BeagleBone Black with the latest version.

Connecting to your BeagleBone Black (SSH)

Once you have the latest version of Angstrom on your BBB, let's ssh into the system so we can execute commands. The easiest way to gain access to the system is by using GateOne SSH. You can easily access GateOne by typing in the following into your browser window:

Copy Code

http://beaglebone.local

Once the page loads successully (you should see a green box that says "Your board is connected!"), you can click on the "GateOne SSH link to the upper left, in the sidebar. Then, click the "GateOne SSH client" link to get started. Some browsers may complain about invalid certificates, but you can proceed anyways.

 GateOne.jpeg

To sign into the beaglebone, type the following at the prompts (assuming root user on a fresh Angstrom installation):

Copy Code

Host/IP or SSH URL [localhost]:  beaglebone.local
Port [22]:  (just hit enter)
User: root

Connecting to ssh://root@beaglebone.local:22

 GateOneFilled.jpeg

Commands to setup and install Adafruit_BBIO

Now that you're connected to the BBB, you'll want to start with setting the date and time so that it's accurate. Copy and paste the following into your terminal (you may want to make it execute this on startup in the future):

Copy Code

/usr/bin/ntpdate -b -s -u pool.ntp.org

These commands will require internet access. If you get errors, please view the FAQ page for resolutions.
Next, execute each of the following lines. Copy and paste the following one-by-one into the terminal, and hit enter:

Copy Code

opkg update && opkg install python-pip python-setuptools python-smbus
pip install Adafruit_BBIO

Test your Installation (optional)

You can optionally test if your installation was successful by simply trying to load one of the modules. Execute the following command from the console (not from within the python interpretor), it shouldn't throw any errors, but return one line:

Copy Code

python -c "import Adafruit_BBIO.GPIO as GPIO; print GPIO"

#you should see this or similar:

<module 'Adafruit_BBIO.GPIO' from '/usr/local/lib/python2.7/dist-packages/Adafruit_BBIO/GPIO.so'>

You can also validate by executing the 'python' command to enable the interpreter, and run the following code (you can tell you're in the right place when you see the ">>>" in your terminal):

Copy Code

import Adafruit_BBIO.GPIO as GPIO; print GPIO

#you should see this or similar:

<module 'Adafruit_BBIO.GPIO' from '/usr/local/lib/python2.7/dist-packages/Adafruit_BBIO/GPIO.so'>

Manual Installation (optional)

You can also install Adafruit_BBIO by cloning the git repository. The following commands should get it installed as well:

Copy Code

git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git

#set the date and time

/usr/bin/ntpdate -b -s -u pool.ntp.org

#install dependency

opkg update && opkg install python-distutils python-smbus

cd adafruit-beaglebone-io-python

python setup.py install

.END

Adafruit_BBIO written by Justin Cooper

Adafruit_BBIO 0.0.19 - A module to control BeagleBone IO channels

https://pypi.python.org/pypi/Adafruit_BBIO

Download

Adafruit_BBIO-0.0.19.tar.gz

**PLEASE NOTE:  This library may have breaking changes as development continues.  Please read the changelog anytime you update the library!**

**The PWM Duty Cycle range was reversed in 0.0.15 from 100(off)-0(on) to 0(off)-100(on).  Please update your code accordingly.**

**Adafruit's BeagleBone IO Python Library**

This is a set of Python tools to allow GPIO, PWM, and ADC access on the BeagleBone using the Linux 3.8 Kernel and above (latest releases).

It has been tested on the 5-20 and 6-6 Angstrom image on the BeagleBone Black.

**Note: BBIO has been renamed to Adafruit_BBIO.**

**Installation on Angstrom**

Easiest::

    /usr/bin/ntpdate -b -s -u pool.ntp.org
    opkg update && opkg install python-pip python-setuptools
    pip install Adafruit_BBIO

Manual::

    git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git
    #set the date and time
    /usr/bin/ntpdate -b -s -u pool.ntp.org
    #install dependency
    opkg update && opkg install python-distutils
    cd adafruit-beaglebone-io-python
    python setup.py install

** Installation on Ubuntu/Debian **

Easiest::

    sudo ntpdate pool.ntp.org
    sudo apt-get update
    sudo apt-get install build-essential python-dev python-pip -y
    #easy_install -U distribute  //debian only
    sudo pip install Adafruit_BBIO

Manual::

    sudo ntpdate pool.ntp.org
    sudo apt-get update
    sudo apt-get install build-essential python-dev python-pip -y
    git clone git://github.com/adafruit/adafruit-beaglebone-io-python.git
    cd adafruit-beaglebone-io-python
    sudo python setup.py install
    cd ..
    sudo rm -rf adafruit-beaglebone-io-python

**Usage**

Using the library is very similar to the excellent RPi.GPIO library used on the Raspberry Pi. Below are some examples.

**GPIO Setup**

Import the library, and setup as GPIO.OUT or GPIO.IN::

    import Adafruit_BBIO.GPIO as GPIO
    GPIO.setup("P8_14", GPIO.OUT)

You can also refer to the pin names::

    GPIO.setup("GPIO0_26", GPIO.OUT)

**GPIO Output**

Setup the pin for output, and write GPIO.HIGH or GPIO.LOW. Or you can use 1 or 0.::

    import Adafruit_BBIO.GPIO as GPIO
    GPIO.setup("P8_14", GPIO.OUT) GPIO.output("P8_14", GPIO.HIGH)

**GPIO Input**

Inputs work similarly to outputs.::

    import Adafruit_BBIO.GPIO as GPIO
    GPIO.setup("P8_14", GPIO.IN)

Polling inputs::

    if GPIO.input("P8_14"):
      print("HIGH")
    else:
      print("LOW")

Waiting for an edge (GPIO.RISING, GPIO.FALLING, or GPIO.BOTH::

    GPIO.wait_for_edge(channel, GPIO.RISING)

Detecting events::

    GPIO.add_event_detect("P9_12", GPIO.FALLING)
    #your amazing code here
    #detect wherever:
    if GPIO.event_detected("P9_12"):
      print "event detected!"

**PWM**::

    import Adafruit_BBIO.PWM as PWM
    #PWM.start(channel, duty, freq=2000, polarity=0)
    #duty values are valid 0 (off) to 100 (on)
    PWM.start("P9_14", 50)
    PWM.set_duty_cycle("P9_14", 25.5)
    PWM.set_frequency("P9_14", 10)

    PWM.stop("P9_14")
    PWM.cleanup()

    #set polarity to 1 on start:
    PWM.start("P9_14", 50, 2000, 1)

**ADC**::

    import Adafruit_BBIO.ADC as ADC
    ADC.setup()

    #read returns values 0-1.0
    value = ADC.read("P9_40")

    #read_raw returns non-normalized value
    value = ADC.read_raw("P9_40")

**Running tests**

Install py.test to run the tests. You'll also need the python compiler package for py.test.::

    opkg update && opkg install python-compiler
    #Either pip or easy_install
    pip install -U pytest
    easy_install -U pytest

Execute the following in the root of the project::

    py.test

**Credits**

The BeagleBone IO Python library was originally forked from the excellent MIT Licensed [RPi.GPIO](https://code.google.com/p/raspberry-gpio-python) library written by Ben Croston.

**License**

Written by Justin Cooper, Adafruit Industries. BeagleBone IO Python library is released under the MIT License.

0.0.19
* Fix for SPI.xfer crashes python after 3 calls
* Added a retry to reading for the analog inputs to avoid a bug where reading back and forth between two analog inputs would cause the resource to be unavailable every 16 scans (zthorson)
* Updated the build_path to be more selective over what paths it chooses (zthorson)
* Update Debian installation instructions in README (justinledwards)
* Increase the size of the buffer used for storing device tree names (SaintGimp)

0.0.18
----
* UART - Include UART overlays, and compile upon installation
* UART - Rename UART overlays
* Adafruit_I2C - Remove readU16Rev and readS16Rev
* Adafruit_I2C - Updated readU16/readS16 for correct 16-bit reads

0.0.17
----
* Fix SPI memory leaks
* Clean up of PWM code (bit-hacker, jwcooper)
* Remove UART debug statements

0.0.16
----
* Add polarity as optional fourth parameter to PWM.start().  Valid values are 0 and 1.  Default is still 0.
* Fix for actually setting the polarity in start.
* Add new unit tests to check that the polarity is being set properly, and valid values passed in.

0.0.15
----
* Fix PWM duty cycle so 0 is off and 100 is on.  Set polarity to 0 by default.
* Give extra buffer space in export, and unexport functions for gpio that are more than 2 digits (Chris Desjardins)
* Add new test case for 3 digit gpio (Chris Desjardins)
* Fix for test_direction_readback. gpio_get_direction wasn't properly null terminating the direction string (Chris Desjardins)

0.0.14
----
* Fix GPIO.gpio_function to work with the IO name (zthorson)
* Fix IOErrors not getting raised when fopen fails while loading overlays into device tree (bradfordboyle, jwcooper)
* Add new UART tests

0.0.13
----
* Remove the gpio parameter from callbacks (cdesjardins)

0.0.12
----
* Bump version due to pypi issues

0.0.11
----
* New UART module to export UART overlays
* Alpha support for SPI
* Add small delay after loading any device tree overlays

0.0.10
____
* Fix direction for event detection code
* Fix for segmentation faults on add_event_detect

0.0.9
____
* Fix for ADC Segmentation Faults

0.0.8
____
* Temp remove overlay compilation.  Ubuntu failures.

0.0.7
____
* Refactor and clean up adc and pwm
* Fix tests for Adafruit_BBIO rename

0.0.6
____
* Include Adafruit_I2C.py as top-level module

0.0.5
----
* Rename from BBIO to Adafruit_BBIO to reduce library conflicts and confusion.

0.0.4
----
* Support for pip and easy_install

0.0.3
____
* ADC enabled

0.0.2
____
* PWM enabled

0.0.1
____

* Initial Commit

* GPIO mostly working

* Initial GPIO unit tests

* PWM in progress


File Type Py Version Uploaded on Size

Adafruit_BBIO-0.0.19.tar.gz (md5) Source 2013-11-25 35KB

Downloads (All Versions):

118 downloads in the last day

496 downloads in the last week

2437 downloads in the last month

Author: Justin Cooper

Home Page: https://github.com/adafruit/adafruit-beaglebone-io-python/

Keywords: Adafruit BeagleBone IO GPIO PWM ADC

License: MIT

Categories

Development Status :: 3 - Alpha

Intended Audience :: Developers

License :: OSI Approved :: MIT License

Operating System :: POSIX :: Linux

Programming Language :: Python :: 2.6

Programming Language :: Python :: 2.7

Programming Language :: Python :: 3

Topic :: Home Automation

Topic :: Software Development

Topic :: System :: Hardware

Package Index Owner: jwcooper, adafruit

DOAP record: Adafruit_BBIO-0.0.19.xml

Website maintained by the Python community

Real-time CDN by Fastly / hosting by Rackspace / design by Tim Parkin Copyright © 1990-2014, Python Software Foundation

.END





















Beaglebone Black HK$350 2014jan29 e14

CIRCUITCO - BB-BBLK-000 - BEAGLEBONE BLACK, CORTEX A8, DEV BOARD

http://hk.element14.com/jsp/search/productdetail.jsp?sku=2291620&COM=knode-beagleboneblack-space

Manufacturer: CIRCUITCO
Order Code: 2291620
Manufacturer Part No: BB-BBLK-000
Technical Data Sheet (5.34MB) EN

Product Information
 BEAGLEBONE BLACK, CORTEX A8, DEV BOARD
 Silicon Manufacturer: Texas Instruments
 Core Architecture: ARM
 Core Sub-Architecture: Cortex-A8
 Silicon Core Number: AM3359
 Silicon Family Name: Sitara - AM35x
 No. of Bits: 32 bit
 Kit Contents: Dev Board AM3359

Unit Price: HK$348.95  

Date of order: 1/29/14 12:20 PM

.END

BeagleBone Black IO Python Library setting up by Justin Cooper

Setting up IO Python Library on BeagleBone Black Created by Justin Cooper

http://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/overview

http://learn.adafruit.com/downloads/pdf/setting-up-io-python-library-on-beaglebone-black.pdf

Overview

The BeagleBone Black is unique in that it has quite a few pins that are available on easy to use pin headers, as well as being a fairly powerful little system. There are 2 x 46 pins available (well, not all of them are, but we'll get to that later) to use.

Some of the functionality that is available:

7 Analog Pins

65 Digital Pins at 3.3V

2x I2C

2x SPI

2x CAN Bus

4 Timers

4x UART

8x PWM

A/D Converter

...

.END

BeagleBone Black Pin Details by Justin Cooper













BeagleBone Black Pin Details by Justin Cooper

http://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/pin-details

.END

BeagleBone Black SPI, I2C, UART, GPIO learning notes

















BeagleBone Black System Reference Manual Revision A4 January 2, 2013 

http://www.farnell.com/datasheets/1685587.pdf


TI Sitara AM335x ARM Cortex-A8 Microprocessors (MPUs) datasheet

http://www.ti.com/lit/ds/symlink/am3358.pdf


.END

Monday, 27 January 2014

BeagleBone Black overview - Circuitco

BeagleBone Black Development Platform based on TI Sitara™ AM3358 Processor - Yiying Jan 2, 2014

http://www.element14.com/community/docs/DOC-54121?CMP=KNC-APAC-Knode-NGBeagleB-SiteLink

...

Overview

The BeagleBone Black is the newest member of the BeagleBoard family. It is a low cost, high-expansion focused BeagleBoard using a low cost Sitara™ AM335x ARM® Cortex™-A8 processor from Texas Instruments.

BeagleBone Black ships with the Ångström Linux distribution preinstalled on the onboard FLASH, ready to start evaluation and development. Many other Linux distributions and operating systems are also supported by BeagleBone Black including Ubuntu, Android,  and Fedora. Like its predecessors, the BeagleBone Black is designed to address the Open Source Community, early adopters, and anyone interested in a low cost ARM® Cortex™-A8 based processor. It has been equipped with a minimum set of features to allow the user to experience the power of the processor and also offers access to many of the interfaces and allows for the use of add-on boards called capes, to add many different combinations of features. A user may also develop their own board or add their own circuitry.

The BeagleBone Black features TI's Sitara™ AM3358AZCZ100 microprocessor (Note: For the initial release, the board uses the Sitara XAM3359AZCZ processor. But eventually the board will move to the Sitara AM3358BZCZ100 microprocessor.), which is based on ARM® Cortex™-A8 core with enhanced image, graphics processing, peripherals and industrial interface options such as EtherCAT and PROFIBUS.

The board is equipped with 256Mb x16 DDR3L 4Gb (512MB) SDRAM, 32KB EEPROM, and 2GB embedded MMC (eMMC) Flash as the default boot source. The board is also populated with a single microSD connector to act as a secondary boot source for the board and, if selected as such, can be the primary boot source. The BeagleBone Black supports four boot modes, including eMMC boot, microSD boot, serial boot, and USB boot. A switch is provided to allow switching between the modes.

In contrast to the original BeagleBone, the BeagleBone Black has an onboard HDMI interface to connect directly to TVs and monitors. Other features include a 10/100 Ethernet interface, a serial debug port, a PC USB interface, an USB 2.0 host port, a reset button, a power button, and five indicating blue LEDs. The BeagleBone Black has the ability to accept up to four expansion boards or capes that can be stacked onto the expansion headers. The majority of capes designed for the original BeagleBone will work on the BeagleBone Black.

Now element14 offers BB-View, an touchscreen TFT LCD expansion capes for BeagleBone Black (& BeagleBone) board. The BB-View is available in two LCD display variants, 4.3” LCD & 7” LCD, the TFT LCD display can display up to the resolution of 480x272/800x480 with a 4–wire resistive touchscreen interface.

Key Applications: Robotics, motor drivers, Twitter printer, data backup, SDR base station, USB data acquisition and more.

Development Tools

Software Development Tools

IDE

Texas Instruments Code Composer Studio (CCStudio) TI ARM MCUs

CCStudio is an integrated development environment (IDE) for TI embedded   processor families. CCStudio comprises a suite of tools used to develop and debug embedded applications. It includes   compilers for each of TI's device families, a source code editor, project build environment, debugger, profiler, simulators,  a real-time operating system and many other features.

IDE ARM DS-5 ARM Cortex™-A  / Cortex™-R / ARM9™ / ARM11™

The ARM Development Studio 5 (DS-5) tool enable developers to get the best from their ARM technology-based systems. Whether implementing an ARM processor-based SoC or writing software for an Application Specific Standard Product (ASSP), ARM tools enable you to deliver the best solution with the highest performance and lowest power consumption. Learn More

Hardware Development Tools

Debuggers, Emulators & JTAG Tools

ARM DSTRM-KT-0181A ARM7 / ARM9 / ARM11 / Cortex-A / Cortex-R / Cortex-M DSTREAM Debug and Trace Unit

Debuggers, Emulators & JTAG Tools

Segger J-Link ARM Cortex™-M  / Cortex-R4 / Cortex-A / ARM7™ / ARM9™ JTAG/SWD Emulator with USB interface

Programmer

Segger Flasher ARM ARM Cortex™-M  / Cortex-R4 / Cortex-A / ARM7™ / ARM9™ Flash Programmer for ARM and Cortex cores

Reference Manual Circuitco: Reference Manual for BeagleBone Black Development Platform

Datasheet TI: AM335x ARM Cortex-A8 Microprocessors (MPUs)

Design Elements

Schematics Circuitco: Schematics for BeagleBone Black Development Platform
Layout Circuitco: Layout and Gerber files for BeagleBone Black Development Platform
BOM Circuitco: Bill of Material for BeagleBone Black Development Platform
CAD Model Circuitco: CAD Model for BeagleBone Black Development Platform

Kit Features

Processor: TI Sitara AM3358AZCZ100, 1GHz, 2000 MIPS

1 GHz ARM Cortex™-A8

SGX530 Graphics Engine

Programmable Real-Time Unit Subsystem

Memory

SDRAM: 512MB DDR3L 800MHZ

Onboard Flash: 2GB, 8bit Embedded MMC (eMMC)

SD/MMC Connector for microSD

Power management: TPS65217C PMIC is used along with a separate LDO to provide power to the system

Debug Support: Optional Onboard 20-pin CTI JTAG, Serial Header

Power Source

miniUSB USB or DC Jack

5VDC External Via Expansion Header

Connectivity

High speed USB 2.0 Client port: Access to USB0, Client mode via miniUSB

High Speed USB 2.0 Host port: Access to USB1, Type A Socket, 500mA LS/FS/HS

Serial Port: UART0 access via 6 pin 3.3V TTL Header. Header is populated

10/100M Ethernet (RJ45)

User Input / Output

Reset Button

Boot Button

Power Button

LED power indicator

4 user configurable LEDs

Video/Audio Interfaces

HDMI D type interface

LCD interface

Stereo audio over HDMI interface

Expansion Interfaces

LCD,  UART, eMMC

ADC, I2C, SPI, PWM

Operating Power: 5V@0.35A

Board Size: 3.4” x 2.1”

Kit Contents

The BeagleBone Black will ship with the following components:

BeagleBone Black Board

miniUSB to USB Type A Cable

Instruction Card

.END

BBB Road Test news

Design engineers get to experiment on internet radio in element14 Challenge using BeagleBone Black - MENAFN 1/27/2014

Jan 27, 2014 (Menafn - M2 PRESSWIRE via COMTEX) --element14 announced today that its 'BeagleBone Black Radio Challenge', a design competition for participants to develop an innovative internet radio has received early entries from Australia, Japan and India.

In this Challenge for the creation of an innovative, fully-featured internet / digital radio, the BeagleBone Black has been bundled with a 4.3" LCD screen cape, compact USB wi-fi adapter with 4" antenna, Adafruit power adapter, Adafruit BBB case, and Adafruit Software Defined Radio Receiver USB Stick. Community members can submit before 3 February 2014 their most innovative proposal at

http://www.element14.com/community/roadTests/1235

Since its launch in May 2013, the BeagleBone Black, a lower-cost, high-expansion board, has been a popular new member of the BeagleBoard family. Designed to address the Open Source Community and anyone interested in ARM Cortex A8 based processor, it can connect with the Internet and run software such as Angstrom and Ubuntu.

Selected participants will start their reviews and blog on 17 February and complete by 28 March details of their project as they progress; including videos, diagrams and code samples. The most intriguing, engaging materials for a fully operational internet / digital radio will win a Grand Prize from Texas Instruments.

Ravi Pagar, Regional Director -- South Asia, element14 Asia-Pacific said, "There are hundreds of interesting radio stations in Asia broadcasting from India, Malaysia and Vietnam among others, and through this challenge, participants will get to share with our 200,000 member-strong Community their progress in developing an easy-to-use internet radio. It would be quite exciting to be able to easily listen to music or news from any of the 44,000 radio stations in the world."

...

.END

Node.js - Wikipedia

Node.js - Wikipedia

Type Event-driven networking

Node.js is a software platform that is used to build scalable network (especially server-side) applications. Node.js utilizes JavaScript as its scripting language, and achieves high throughput via non-blocking I/O and a single-threaded event loop.

Node.js contains a built-in HTTP server library, making it possible to run a web server without the use of external software, such as Apache or Lighttpd, and allowing more control of how the web server works.

Node.js was created by Ryan Dahl starting in 2009. Its development and maintenance is sponsored by Joyent.[4] Dahl was inspired to create Node.js after seeing a file upload progress bar on Flickr. The browser did not know how much of the file uploaded and had to query the web server. Dahl wanted an easier way.[5] Ruby's Mongrel web server was another source of inspiration for Dahl.[6] Originally Dahl had several failed projects in C, Lua, and Haskell, but when Google's V8 engine was released, Dahl began to examine JavaScript.[7] Even though his original idea was non-blocking he "backed out of that (a bit) in the module system and a few other areas" as it made loading external libraries troublesome.[8]

On January 30, 2012 Dahl stepped aside, promoting coworker and NPM creator Isaac Schlueter to the gatekeeper position. Dahl wrote on Google groups,

Now that the rewrite on top of libuv is largely complete, I am ceding my position as gatekeeper to Isaac Schlueter. Our energy will now be largely focused over the next few months on improving the third party module system experience including a website for browsing modules, a new addon build system, and binary installations from npm. Isaac is in the unique position to bridge the gap between core and external modules to ensure a pleasant experience. After three years of working on Node, this frees me up to work on research projects. I am still an employee at Joyent and will advise from the sidelines but I won't be involved in the day-to-day bug fixes. Isaac has final say over what makes it into the releases. Appeals for new features, changes, and bug fixes should now be directed at him.[9]

Dahl continues to work for Joyent and as an advisor for node.[10]

On January 15, 2014 Schlueter announced he was making NPM his main focus and Timothy J Fontaine would be Node.js new project lead. Isaac wrote on the Node.js blog,
Over the last year, TJ Fontaine has become absolutely essential to the Node.js project. He's been building releases, managing the test bots, fixing nasty bugs and making decisions for the project with constant focus on the needs of our users. ... Anyone who's been close to the core project knows that he's been effectively leading the project for a while now, so we're making it official. Effective immediately, TJ Fontaine is the Node.js project lead. I will remain a Node core committer, and expect to continue to contribute to the project in that role. My primary focus, however, will be npm.[11]

The next day, January 16, 2014, Timothy J Fontaine made a followup post outlining the road ahead where he, among other things, mention bug fixing, performance tuning, staying up to date with V8 engine and tooling.[12]

Overview

Node.js is a packaged compilation of Google's V8 JavaScript engine, the platform abstraction layer, and a core library, which is itself primarily written in JavaScript.

Dahl's original goal was to create web sites with push capabilities as seen in web applications like Gmail. After trying solutions in several other programming languages he chose JavaScript because of the lack of an existing I/O API. This allowed him to define a convention of non-blocking, event-driven I/O.[13]

Similar environments written in other programming languages include Tornado and Twisted for Python; Perl Object Environment for Perl; libevent for C; Vert.x for Java, JavaScript, Groovy, Python and Ruby; Akka for Java and Scala; EventMachine for Ruby and vibe.d for D. Unlike most JavaScript programs, Node.js is not executed in a web browser, but instead as a server-side JavaScript application. Node.js implements some CommonJS specifications.[14] It also provides a REPL environment for interactive testing.

Examples

This is an implementation of a "hello world" HTTP server in Node.js:

var http = require('http');

http.createServer(
  function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
  }
).listen(8000);

console.log('Server running at http://localhost:8000/');
The following code is a simple TCP server which listens on port 8000 and echoes 'hello' upon connection:
var net = require('net');

net.createServer(
  function (stream) {
    stream.write('hello\r\n');

    stream.on('end',
      function () {
        stream.end('goodbye\r\n');
      }
    );

    stream.pipe(stream);
  }
).listen(8000);

Tools and IDEs

Cloud9 IDE (cloud service)

JetBrains WebStorm or IntelliJ IDEA (commercial products)

Microsoft WebMatrix (free) or Visual Studio (commercial product) with Node.js Tools for Visual Studio (free)

Nodeclipse (Eclipse-based)

Community

Node.js has a developer community primarily centered on two mailing lists, nodejs,[15] nodejs-dev,[16] and the IRC channel #node.js on freenode. The community gathers at NodeConf,[17] an annual developer conference focused on Node.js.[18]

Node.js is currently used by a number of large companies including LinkedIn,[19][20]Microsoft,[21][22] Yahoo!,[23] Walmart[24] and PayPal.[25]

.END

Cloud9 IDE - Wikipedia

Cloud9 IDE - Wikipedia

Cloud9

Developer(s) Cloud9 IDE, Inc

Written in JavaScript

Platform Web

Type IDE

License GNU GPL v3[1]

Website c9.io

Cloud9 IDE is an open source web-based cloud integrated development environment that supports several programming languages, with a focus on the web stack (specifically JavaScript and NodeJS). It is written almost entirely in JavaScript, and uses Node.js on the back-end. The editor component uses Ace.

Cloud9 IDE, Inc. is the company that actively maintains Cloud9 IDE. The company has offices in San Francisco and Amsterdam.

Features

Code completion for snippets and identifiers[2]

Code reformatting via JSBeautify and CSSLint

Parenthesis, bracket, and quote character matching

Line numbers, warnings, and errors in the gutter

Full-screen coding

Ability to drag-and-drop files into your project

Vim mode[3]

Tabbed file management [4]

Real-time language analysis for JavaScript (marking common JavaScript pitfalls)

Variable/function name refactoring for JavaScript

Support for npm (via the console)

Support for basic Unix commands (via the console)

Support for the following code repositories:

GitHub

Bitbucket

Mercurial repositories

Git repositories

FTP servers

Support for deployment to:

Heroku

Joyent

Openshift

Windows Azure [5]

Google App Engine [6]

SFTP/FTP [7]

Support for public and private projects

Plug-in support

Syntax highlighting for the following languages: C#, C/C++, Clojure, CoffeeScript, ColdFusion, CSS, Groovy, Java, Javascript, LaTeX, Lua, Markdown, OCaml, PHP, Perl, Powershell, Python, Ruby, Scala, SCSS, SQL, Textile, X(HTML), XML

About the Company

Founded in 2010 by Ruben Daniels and Rik Arends, Cloud9 IDE has raised $5.5 million in Series A funding from Accel Partners and product development software company Atlassian Software.[8]

.END

Beaglebone Android lecture

















Mobile OS: Android, Binder, BeagleBone Black Published on Oct 25, 2013

http://www.youtube.com/watch?v=iUCKrJ1ZVxE

This is a guest lecture that I recently gave to a Mobile Operating Systems class (CIS700/CSE791) at Syracuse University. The students are all in the computer science and computer engineering graduate programs. In the lecture, I spoke about the Android kernel boot process, Android's Binder IPC, and my recent port of Android to the BeagleBone Black embedded ARM platform.

Android on the BeagleBone Black: http://icculus.org/~hendersa/android/

Category Education License Standard YouTube License

.END



Beaglebone Black availability check

In Stock Notification - donotreply@farnell.com 27/1/2014 (週一) 15:42 

Hello Fong ******,

Thank you for showing an interest in the following product.

Order Code Product Description 
2291620         BEAGLEBONE BLACK, CORTEX A8, DEV BOARD 

We will notify you by eMail when the product becomes available

Please visit the "Notification Preferences" section of the website to view your current notifications

Kind regards,

The element14 Team

.END

Bonescript learning notes

Bonescript references

http://beagleboard.org/support/bonescript


BoneScript Library

BoneScript is a Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser. Get started exploring the BoneScript Library to discover the great simplicity that is made possible by utilizing Linux.

References


Web-based learning

Books


Functions

The BoneScript library provides several functions useful for interacting with your hardware. Browse the menu to the left for examples to get you started.


JavaScript

Performing physical computing tasks in JavaScript is a rather different than C on microcontrollers. JavaScript and the Node.JS interpreter like to do everything asynchronously using callbacks. An event loop runs waiting on whatever the next system-blocking event is, such as waiting for a keypress or a file load to complete. The callbacks are then executed to completion before other event handlers are run.


Timers

Timing operations in JavaScript are provided by setting timers with callback event handlers. A nice overview of JavaScript timers can be found on www.w3schools.com.
  • var timer = setTimeout(callback, milliseconds)
  • clearTimeout(timer)
  • var timer = setInterval(callback, milliseconds)
  • clearInterval(timer)

Libraries

The BoneScript Library runs in Node.JS. You can run it directly on the board using the 'node' interpreter or the Cloud9 IDE that invokes the 'node' interpreter. You can also run it using the bonescript.js script within your browser via remote procedure calls using Socket.io and served up by the web server running on your Beagle.
Access to the library functions is provided through the "require('bonescript')" function call. The call returns an object containing all of the functions and constants exported by the library. The Node.JS API documentation onmodules provides more information on the usage of 'require' within the 'node' interpreter.

Other JavaScript topics

The Chrome browser has a rather nice JavaScript debugger you can use to examine your code. You might also get good benefit out of 'console.log()'.

Because JavaScript is dynamically typed, you might find the 'typeof operator' rather useful to determine the type of a variable at run-time. A nice overview of the JavaScript typeof operator can be found atdeveloper.mozilla.org.


Resources

To learn more about Cloud9 IDE and to synchronize the software on your board with cloud-hosted services, seewww.c9.io.

For more information on Node.JS, the JavaScript interpreter, see www.nodejs.org. You can find the api documentation at www.nodejs.org/docs/v0.8.22/api.


The source code for BoneScript is hosted at Github.com/jadonk/bonescript.

.END

BB-Black 学习和开发参考资料 - turmary

BB-Black学习和开发,必需参考的资料!!! - turmary 2013-11-21 

英蓓特技术社区 » 交流论坛 › 明星产品专栏 › 中国版BB-Black›BB-Black 学习和开发,必需参考的资料!!! ...

1 BB-Black用户手册

http://www.embest-tech.cn/cms/zh/download/item/zhong-guo-ban-bb-black-yong-hu-shou-ce.html

用户手册包含使用BB-Black的所有最常见问题,是中文的。

2 BeagleBoard社区

http://beagleboard.org/Products/BeagleBone Black

BeagleBoard社区提供很原始的资料,包括原理图,BB-Black扩展板,Ubuntu Angstrom Android等各系统的支持。
不过都是E文的。

3 处理器资料

http://www.ti.com/product/am3359

编写Linux驱动或裸机代码必须参考AM3359的资料特别是AM335X技术参考手册。

4 armhf

http://www.armhf.com/

这里有BB-Black上运行的Ubuntu系统下载,还有一些使用技巧,包括操作BB-Black的GPIO和串口。

5 BBB维基百科

http://elinux.org/Beagleboard:BeagleBoneBlack

这里的BBB资料多而全,都显的杂乱了。

6 C++编程

http://elinux.org/Beagleboard:C/C++_Programming

C++程序操作一个LED。

7 adafruit

http://learn.adafruit.com/category/beaglebone

BBB温度测量、亮度测量、马达控制等小制作的图文教程,
可惜的是开发语言是Python,楼主也不熟。

8 crashcourse

http://www.crashcourse.ca/wiki/index.php/BeagleBone_Black

又一个维基地址,资料比elinux.org还全,这里有BBB上的u-boot, PWM, SPI 和串口等驱动介绍。

先发这么多 不断更新中。。。。。。

其它要学习的东西不再是BBB专用了,像Linux内核编程,Shell编程,裸机驱动开发,
它们需要参考专著,花时间一点点深入的学习。

.END

Sunday, 26 January 2014

中国版 BeagleBone Black - 英蓓特

TI 联合英蓓特推出 399元 1 GHz 中国版BB-Black 开源 Linux 计算机 - 英蓓特 2013may07 

http://www.embest-tech.cn/news/20130507268.html

日前,BeagleBoard 组织宣布推出新一代产品 BeagleBone Black,从电子技术爱好者到工程师的每个人都能够以仅 45 美元的价格获得一款即用型 1GHz 计算机。该信用卡大小的 Linux 计算机是一款开放式软硬件开发平台,可以使得客户的任何一个构想都可能转化为产品。

为了让中国区客户能同步享有BeagleBone Black 的技术优势,TI联合英蓓特科技发布了中国版BB-Black,该产品硬件与BeagleBone Black全球发售版本完全兼容,软件 配置与BeagleBone Black全球发售版本完全一致,同BeagleBone Black全球发售版本一样,支持全部的“standard BeagleBone Cape Plug-in boards and software”,拥有中国版BB-Black的工程师们不仅可以获得TI官方支持、英蓓特BB-Black社区的完善的技术支持,还可以充分利用 BeagleBoard 组织社区极其活跃的热心用户的构想与知识,这些用户可在从概念到开发的整个过程中彼此提供支持,创新机遇延绵不断!

单个产品满足所有需求

售价仅 399元的 中国版BB-Black 包括所有必要组件,可连接显示器、键盘及网络,不仅拥有无可比拟的低成本优势,还可迅速启动开发。 中国区客户可以在英蓓特官网或者element14官网享受一站式服务,省去了海外渠道购买的各种麻烦,399元含税包邮哦!

中国版BB-Black 采用德州仪器 (TI) 1 GHz Sitara™ AM335x ARM® Cortex™-A8 处理器,此处理器不但支持高级图形用户界面而且在性能方面比 ARM11™ 高出 2 倍以上,用户体验大大增强。中国版BB-Black BB-Black 提供运行预加载 Linux 软件的 2GB 板载存储以及为电路板供电的USB 线缆,板卡提供 USB、以太网以及 HDMI 接口等丰富的外设接口,可连接鼠标、键盘以及 LCD 显示屏等各种外部设备。中国版BB Black还提供了高灵活性的扩展排针接口,不但支持 65 组数字 I/O 与 7 组模拟输入,而且还可接入各种模拟与数字外设。除此之外英蓓特还提供中文资料与文档提供英蓓特开发的配套扩展模块支持,如USB WiFI,HDMI转VGA适配器、LCD显示模块、…

开源软硬件加速开发进程

中国版BB-Black 建立在生产就绪型软硬件基础之上,可帮助全球开发人员、制造商、业余爱好者与学生加速开发进程。此外,中国版BB-Black上包括 TI Sitara AM335x 处理器在内的所有组件均已上市,中国区客户可以在element14官网购买到绝大多数中国版BB Black所使用的各种元器件。

中国版BB Black 预加载了 Linux 操作系统与 Cloud9 IDE,不但可快速启动开发,而且还可保持 microSD 插槽扩大存储容量。经过优化的软件可帮助新用户探索嵌入式 Linux,快速成为专业人士。产业环境还提供免费文档、范例代码以及为 Ubuntu、Android 以及 Fedora 等其它软件发布提供的主流内核支持。中国版BB Black内核与驱动器的高灵活性可帮助用户便捷集成新的软硬件。

为了方便广大中国区工程师更好地利用、开发中国版BB Black,英蓓特科技专门开辟了一个BB Black社区,由英蓓特具备多年TI Sitara系列MPU软件开发经验的工程师提供本地技术服务,工程师们可以和我们的资深技术工程师零障碍交流沟通或者需求帮助。此外,还有BeagleBone Black社区称之为“capes”的 30 多款插件板兼容于 中国版BB Black,今后还将提供更多 capes。中国版BB Black与这些 capes 集成(如 3D 打印机、DMX 照明控制器、盖革计数器、遥控机器人潜艇以及 LCD 触摸屏等)可扩大电路板功能,支持更广泛创新项目并加速开发进程。

社区活动推动创新发展

要最大限度发挥 中国版BB Black的全部潜力,就要充分利用英蓓特科技BB Black社区 和BeagleBoard 组织这个业界最活跃社区之一提供的丰富信息。在英蓓特科技BB Black社区您可同其他开发人员互动交流,学习知识、回答问题、分享构想,也可潜水看贴子激发灵感,也可利用BeagleBoard 组织开源开发人员的创意思维,开展您的基于中国版BB  Black的新设计。

《企业家杂志》年度最佳企业家、Adafruit Industries 创始人 Limor Fried 表示:“仅售 399元的单个解决方案包含启动开发所需的一切组件,BeagleBone Black 不愧为硬件骇客的卓越高价值平台。中国版BB  Black 与 英蓓特科技BB Black社区以及BeagleBoard 组织社区可帮助从新手到专业开发人员的几乎所有电子技术爱好者将其独特的项目构想变为现实。”

立即订购产品!

您有没有可让世界变得更美好的创意项目构想?立即订购 中国版BB  Black,让该构想成为现实!首批出货量有限。中国版BB  Black预计将在 5 月底批量出货

访问以下站点,与我们保持联系:

英蓓特科技BB Black社区

http://www.embest-tech.cn/community/forum-61-1.html

About Embest 关于英蓓特

英蓓特公司(Embest) 成立于2000年初,是一家全球性的嵌入式硬件和软件 供应商,2012年由全球知名电子元器件目录分销商Premier Farnell(LSE: PFL,亚太区简称易络盟element14)收购,成为其旗下独立运作全资子公司 。在发展迅速的高端嵌入式系统市场中,英蓓特提供全面的服务包括开发工 具、参考设计、嵌入式单板机、解决方案、定制设计和生产,帮助客户实现 技术创新和产品特色。可按客户需求在短时间内实现产品原型并最终转化成 终端产品,以此缩短新产品上市时间,并可将生产成本降至最低。英蓓特公 司面向全球提供产品销售与嵌入式系统设计服务。公司总部在深圳,在武汉 设有研发中心,北京、上海设有销售办事处。公司在美国、日本、韩国、台 湾、新加坡、意大利、法国、俄罗斯、印度、波兰、加拿大、巴西等多个国 家和地区有销售代理渠道,已进军海外市场年多,客户覆盖海外60多个国家 和地区,Embest已经成为一个全球性的嵌入式开发领域领先的知名技术服务 与产品提供商。公司为ARM、TI、Freescale、ST、NXP、ADI、Atmel等半导 体公司技术合作伙伴。公司致力于嵌入式产业已超过13年,产品在国内外已 累计销售近万家客户,并为国内外几十家客户提供了基于ARM处理器的产品 设计服务。

我们的网站:
CN:www.embest-tech.cn

EN:www.embest-tech.com

为什么RMB399元比USD45美金更有优势? - 英蓓特科技

http://www.embest-tech.cn/news/20130606276.html
 
自TI官方和英蓓特科技在5月7号发布中国版BB-back以来,很多客户,网友一边在惊叹于399元单板机的便宜,一边又在疑惑为什么399元中国版BB-black比45美金Beaglebone Black贵那么多?

按现在的美金换人民币汇率,USD45*6.1281=275.7645人民币 < 399元,这不是亏了吗,这不是还亏了一百多元吗?

事实远非于此,大家都知道,从国外邮递一个物件到大陆来,各种杂七杂八的费用要交不说还要各种流程,各种突发的等待。

从价格角度(按照大家都会用的联邦快递费用算),需要加上运费、燃油附加费、海关进口增值税。通过在联邦上面的操作最终的出来,如果从6月6号从TI Texas寄出45美金的Beaglebone Black单板机的话,最终收取的费用(按最便宜的计算)是537.03,需要花差不多一周的时间才能收到货物。这个还不包括海关进口增值税费用。从这一点出发就已经比中国版BB-Black贵很多。

而另外要强调的一点是中国版BB-Black399元是包含22元的顺丰快递费用和17%个点的增值税,从价格和服务速度来说都占强大的优势。

所以这就是为什么RMB399元比USD45美金更具有优势。

关于中国版BB-Black的介绍

TI官方支持

 英蓓特科技中国本地独家生产销售

 硬件与BeagleBone Black全球发售版本完全兼容

 软件与BeagleBone Black全球发售版本完全一致

 配置与BeagleBone Black全球发售版本完全一致

 同BeagleBone Black全球发售版本一样,支持全部的“standard BeagleBone Cape Plug-in boards and software”

差异化服务

  中国本土化销售线上线下订购服务

  适应中国本地化生产采购需要,更换了少量被动元器件

  提供中文资料与文档资源

  提供英蓓特开发的配套扩展模块系列支持,如USB WiFI,HDMI转VGA适配器、  LCD显示模块、…

  由英蓓特具备多年TI Sitara系列MPU软件开发经验的工程师提供本地技术服务

  通过中文社区提供在线技术服务

  提供基于TI Sitara AM335x系列软硬件设计方案定制服务

.END

Everything You Need to Know about The Beaglebone Black - Alex Castle

The Making Of BeagleBone Black - Circuitco Jun 14, 2013

http://www.youtube.com/watch?v=FcqQvH41OR4


Everything You Need to Know about The Beaglebone Black -  Alex Castle 2013dsec04

http://www.tested.com/art/makers/459278-everything-you-need-know-about-beaglebone-black/

For some projects, you need more than just an electronics controller board, you need a full computer system. In this guide, I’ll take an in-depth look at the Beaglebone Black, discussing what it is, what you can do with it, and how to get started.

In the past, I’ve exclusively covered Arduino-based projects, but that platform is far from the only option for makers and anyone into D-I-Y electronics. Sometimes, you need more than just an electronics controller board, you need a full computer system. Among other options, the most significant single-board computers today are the Raspberry Pi and the Beaglebone Black. There’s been a lot of digital ink spilt about the Raspberry Pi since it launched early last year, but the Beaglebone Black hasn’t enjoyed nearly the same level of coverage (even though it's used in projects like OpenROV). I think that’s a shame, because the board actually has a lot to offer the amateur builder, and for many is a compelling alternative to the Pi. In this guide, I’ll take an in-depth look at the Beaglebone Black, discussing what it is, what you can do with it, and how to get started.

What is the Beaglebone Black

First, a bit of vocab: the Beaglebone Black is a single-board computer, like the Raspberry Pi. A single-board computer is pretty much what it sounds like—all the hardware you would expect to find in a desktop or laptop computer, shrunken down and soldered to a single circuit board. A processor, memory, and graphics acceleration are all present as chips on the board.

To contrast, Arduino boards also have a processor and memory on board, but are orders of magnitude less powerful, and lack the specialized I/O hardware you need to connect the board to a monitor. In more concrete terms, you can hook a Beagleboard Black up to a display, speakers, a keyboard and mouse and an Ethernet network, and boot into a Linux-based operating system. From there, you can do anything you could do with a (low-powered) Linux computer. You can’t do that with Arduino.


The original Beagleboard, launched in 2008 and was a little bit bigger and a lot more expensive. By 2012, the Beaglebone was released, which brought the size in line with the credit-card-shaped Raspberry Pi, but still cost $90. The Beaglebone Black came along earlier this year, and finally brought the price down to just $45, making it suddenly very competitive with the Raspberry Pi and other DIY-oriented Single-board computers.

What’s It Good For?

It won't replace your primary PC, but Beaglebone Black can be a powerful tool for sophisticated projects.
The Beaglebone Black has a 1GHz ARM-based CPU, 512MB of RAM and 2GB of onboard storage, expandable with a MicroSD slot. In practical terms, this is enough to run a Linux OS, along with a web browser and other desktop applications, though with limited performance. Don’t think that it will replace your primary PC, but it can be a powerful tool for sophisticated projects, and a good way to learn about Linux-based operating systems.

You can use the Beaglebone Black as nothing more than a small, standalone Linux computer, but the hardware is designed for use as an embedded system—a computer installed inside of a larger electronics project. The main evidence of this is in the two rows of GPIO (general purpose Input/Output) pins mounted along either side of the board. These pins allow the Beaglebone Black to communicate with a wide range of sensors, servos, outputs and other hardware, letting it act as the brain of a large, complex project.


When to use the BeagleBone Black

Building an electronics project is hard enough even without having to pick from a ton of different microcontroller/microprocessor options. Here’s some quick guidelines on when to pick the Beaglebone Black:

When an Arduino isn’t good enough

For a number of reasons, I still tend to recommend Arduino as the best choice for those getting started with DIY electronics. The platform is cheap, incredibly well supported, and has an enormous community, making it a great board to learn on. Even though most Arduino boards’ specs are miniscule compared to the Beaglebone Black, you may find that you don’t actually need the extra power. It comes in handy for the heavy lifting of running an operating system and other software, but for many embedded applications the Arduino will perform just as well as the fancier boards. Some of the Arduino boards are also substantially smaller, which comes in handy when you’re trying to make every cubic centimeter count.

When you want to connect a lot of hardware to your project

The one area in which the Beaglebone Black blows the Raspberry Pi out of the water is in GPIO connectivity. The Pi has a single 26-pin header that can be used as 8 GPIO pins, or as a serial bus. The Beaglebone Black, on the other hand, has two 48-socket headers that can be used for virtually limitless I/O hardware and includes a number of analog I/O pins that allow it to connect to a variety of sensor hardware that can’t be used with an out-of-the-box Raspberry Pi.

When your project isn’t media-heavy

Though the specs of the Beaglebone Black and the Raspberry Pi are quite similar, the latter has a major advantage when it comes to graphics processing. The Pi can output video at a full 1080p resolution, while the Beaglebone Black caps out at 1280 x 1024. Video decoding, 3D rendering and general GUI performance are all better on the Raspberry Pi.

Further, the Raspberry Pi features both a full-sized HDMI port and an S-Video connector, making it easy to connect it to a display. The Beaglebone has only a single micro-HDMI port, which is located uncomfortably close to the board’s USB port.

For media-heavy projects, or if you just want to use the board primarily as a small Linux computer, you’re better off going with the Raspberry Pi.

When you want to get started without much fuss

A major advantage of the Beaglebone Black is that it takes very little to get up and running. Unlike the Raspberry Pi, the Beaglebone ships with a Linux distro already installed, so getting the board up and running takes all of a few minutes. With the Raspberry Pi, you have to download and install a distro before you can get started—an inconvenient first step.

How to Get Started with the Beagle Black

If you think the Beaglebone Black is right for you, getting started is easy. Unlike the complicated Arduino ecosystem, there’s not much to choose from—just get the newest Beaglebone Black from your favorite electronics components store (Digi-Key, Maker Shed, Adafruit and a bunch of others carry it, all for the same $45), and make sure to pick up any accessories you might need. That will include a micro-HDMI cable for most people, and a MicroSD card if you don’t already have one. You’ll also want some way to read and write to the MicroSD card using your computer.

The Beaglebone Black can be powered off of a USB connection, but if you want to use components with a high power draw, or you want to use the Beagleboard away from a USB power source, you will need a power adapter. Any 5V 10W power adapter with a 5.5mm barrel connector will work—Beagleboard notes this adapter as an example, though you should be able to find a compatible adapter on any site.

Finally, you will probably also want a USB hub if you intend to use the Beaglebone Black as a computer. It ships with only a single port for USB peripherals, so the hub is necessary to be able to use a mouse and a keyboard at the same time.

All you have to do is take it out of the box and plug it into your computer using the included mini USB cable.
As previously mentioned, getting the Beaglebone Black up and running is an incredibly quick process. All you have to do is take it out of the box and plug it into your computer using the included mini USB cable. It will power up and boot into its included Linux distro, Angstrom. You could now hook it up to a display and USB peripherals.

However, you may want to be able to control the Beaglebone Black through your computer, connecting to it with a web browser. To do this, you’ll have to install a driver, located here. Unfortunately, the driver is unsigned, so in Windows 8 you’ll have to boot into the mode that allows you to install unsigned driver. Here’s a quick explanation about how to do that.

Once you’ve installed the driver, you can control the Beagleboard Black as long it’s connected via USB to your computer. You now should upgrade to the latest version of the Angstrom OS. It’s not strictly necessary, but it’s a good idea, and it should take less than an hour, much of it unattended.

First, you’ll need to download the latest Angstrom release (just under 400 MB) from this page. Then, decompress it with 7zip, and use Image Writer to write the image to the microSD card. Finally, reboot the Beaglebone Black with the microSD card inserted. The board will flash its onboard memory with the data from the microSD card, which can take up to 45 minutes. When it’s done, all the lights on the board will glow steadily, and the latest version of the OS is successfully installed. For a longer description of this process, with screenshots, check the Beaglebone Black getting started page.

From here, the sky’s the limit. You can hook the Beaglebone up to a monitor and get acquainted with using a Linux operating system, if you’re not already. You can write custom software for the Beaglebone using Python and libraries to manage all the GPIO pins. Programming the Beaglebone Black is a subject with way too much depth to cover here, but a good place to get started is Adafruit’s in-depth tutorial here. Like Arduino, you can wire hardware components directly to the Beaglebone, or you can add more sophisticated functionality by connecting a “shield,” a daughterboard that sits on top of the Beaglebone and adds features like Wi-Fi or a color LCD screen.

Like with any good project, the fun is in figuring out where to go once you’ve found your footing. Good luck, and let us know what you make!

.END