BEAGLEBONE
The BeagleBone is a low-cost, high-expansion board from the BeagleBoard product line. It uses the TI AM3358/9 SoC based on an ARM Cortex-A8 processor core using the ARMv7-A architecture. It is similar in purpose to earlier BeagleBoards, and can be used either standalone or as a USB or Ethernet-connected expansion for a BeagleBoard or any other system. The BeagleBone is small even by BeagleBoard standards yet still provides much of the performance and capabilities of the larger BeagleBoards.
Beaglebone Black
On 23rd April 2013, Beagleboard officially announced BeagleBone Black at a price approximately half that of the original BeagleBone.
The new board's most important new features include a AM3359 SoC upgraded to 1GHz, doubling of memory to 512MB, use of faster DDR3 memory in contrast to the DDR2 of the original BeagleBone, and a new HDMI audio/visual output. (The original BeagleBone required an additional cape daughterboard for graphic output).
Overview:
The BeagleBone Black a low cost ARM Cortex-A8 based processor size as small as a credit card. It has been equipped with a minimum set of features to allow the user to experience the power of the processor and is not intended as a full development platform as many of the features and interfaces supplied by the processor are not accessible from the BeagleBone Black via onboard support of some interfaces. It is not a complete product designed to do any particular function. It is a foundation for experimentation and learning how to program the processor and to access the peripherals by the creation of your own software and hardware. It 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.
What can these boards do?
· The Beagles are tiny open-hardware (you could make one yourself), open-software computers that plug into whatever you have around the house.
· Beagles mean big functionality in small packages because these little PCs can be used for all kinds of applications you've been tinkering with... and can handle many of the same tasks as your desktop PC.
Key Components
· processor dynamic RAM memory.
· Serial Debug is the serial debug port.
· PMIC provides the power rails to the various components on the board.
· DC Power is the main DC input that accepts 5V power.
· 10/100 Ethernet is the connection to the LAN.
· Ethernet PHY is the physical interface to the network.
· There are four blue LEDS that can be used by the user.
· Reset Button allows the user to reset the processor.
· eMMC is an onboard MMC chip that hold sup to 2GB of data.
· BOOT Button can be used to force a boot from the SD card or from the USB port.
· USB Host can be connected different USB interfaces such as Wifi, BT, Keyboard, etc
Functions of the Board
· The Beagles are small Open Sourced Hardware and open-software computers that plug into whatever you have around the house.
· Beagles mean big functionality in small packages because these little PCs can be used for all kinds of applications you've been tinkering with, and can handle many of the same tasks as your desktop PC.
Key Components
· The Sitara AM3358 is the processor.
· 512MB DDR3 is the processor dynamic RAM memory.
· Serial Debug is the serial debug port.
· PMIC provides the power rails to the various components on the board.
· DC Power is the main DC input that accepts 5V power.
· 10/100 Ethernet is the connection to the LAN.
· Ethernet PHY is the physical interface to the network.
· USB Client is a miniUSB connection to a PC that can also power the board.
· There are four blue LEDS that can be used by the user.
· Reset Button allows the user to reset the processor.
· eMMC is an onboard MMC chip that hold sup to 2GB of data.
· HDMI Framer provides control for an HDMI or DVI-D display.
· BOOT Button can be used to force a boot from the SD card or from the USB port.
uSD slot is where a uSD card can be installed.
· The microHDMI connector is where the display is connected.
· USB Host can be connected different USB interfaces such as Wifi, BT, Keyboard, etc
Component
Details :
Processor:
For the initial release, the board uses the Sitara XAM3359AZCZ processor in the 15x15 package. This is basically the same processor as used on the original BeagleBone. It does use the updated 2.0 revision with several fixes on this new processor as opposed to the original BeagleBone. A couple of important features from this new processor include:
1GHZ Operation
RTC fix
.
Eventually the board will move to the Sitara AM3358BZCZ100 device once released and readily available from TI. At this time we do not have a date when this will happen. We do not expect any benefit from moving to this device and there should be no impact seen as a result of making this move.
Memory
Three types of memory described below
512MB DDR3L
A single 256Mb x16 DDR3L 4Gb (512MB) memory device is used. The memory used is the MT41K512M16HA-125 from Micron. It will operate at a clock frequency of 303MHz yielding an effective rate of 606MHZ on the DDR3L bus allowing for 1.32GB/S of DDR3L memory bandwidth.
32KB EEPROM
A single 32KB EEPROM is provided on I2C0 that holds the board information. This information includes board name, serial number, and revision information. This will be the same as found on the original BeagleBone. It has a test point to allow the device to be programmed and otherwise to provide write protection when not grounded.
2GB Embedded MMC
for SD card booting. MMC0 cannot be used in 8Bit mode because the lower data pins are located on the pins used by the Ethernet port. This does not interfere with SD card operation but it does make it unsuitable for use as an eMMC port if the 8 bit feature is needed.
MicroSD Connector
The board is equipped with a single microSD connector to act as the secondary boot source for the board and, if not provided with the board. Booting from MMC0 will be used to flash the eMMC in the production environment selected as such, can be the primary boot source. The connector will support larger capacity SD cards. The SD card is or can be used by the user to update the SW as needed
Boot Modes
There are four boot modes:
eMMC Boot : This is the default boot mode and will allow for the fastest boot time and will enable the board to boot out of the box using the pre-flashed OS image without having to purchase an SD card or an SD card writer.
SD Boot : This mode will boot from the uSD slot. This mode can be used to override what is on the eMMC device and can be used to program the eMMC when used in the manufacturing process or for field updates.
Serial Boot : This mode will use the serial port to allow downloading of the software direct. A separate USB to serial cable is required to use this port.
USB Boot : This mode supports booting over the USB port.
A switch is provided to allow switching between the modes.
· Holding the boot switch down during boot without a SD card inserted will force the boot source to be the USB port and if nothing is detected on the USB client port, it will go to the serial port for download.
· Without holding the switch, the board will boot from eMMC. If it is empty, then it will try booting from the uSD slot, followed by the serial port, and then the USB port.
· If you hold the boot switch down during boot, and you have a microSD card inserted with a bootable image, the board will boot form the microSD card.
Power
Management
The TPS65217C power management device is used along with a separate LDO to provide power to the system. The TPS65217C version provides for the proper voltages required for the DDR3L. This is the same device as used on the original BeagleBone with the exception of the power rail configuration settings which will be changed in the internal EEPROM to the TPS65217 to support the new voltages. DDR3L requires 1.5V instead of 1.8V on the DDR2 as is the case on the original BeagleBone. The 1.8V regulator setting has been changed to 1.5V for the DDR3L. The LDO3 3.3V rail has been changed to 1.8V to support those rails on the processor. LDO4 is still 3.3V for the 3.3V rails on the processor. An external LDOTLV70233 provides the 3.3V rail for the rest of the board.
HDMI Interface
A single HDMI interface is connected to the 16 bit LCD interface on the processor. The 16b interface was used to preserve as many expansion pins as possible to allow for use by the user. The NXP TDA19988BHN is used to convert the LCD interface to HDMI and convert the audio as well. The signals are still connected to the expansion headers to enable the use of LCD expansion boards or access to other functions on the board as needed.
Operating System
Ångström Distribution
like handhelds, set top boxes and network-attached storage devices and more.
Ångström is versatile, it scales down to devices with 4MB of flash to devices with terabytes of RAID storage.
Kernel
Uses a 3.8 kernel which makes use of Device Trees. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called Capemgr which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot. Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black .
file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:
echo cape-bone-name > $SLOTS to install, and
echo -<slotnum> > $SLOTS to uninstall, (but read through the System Reference Manual first to see what $SLOT is set to).
UBUNTU 12.04
Ubuntu is a Debian-based Linux distribution ported to the ARM architecture. It is a great choice for development. As one of the most popular distributions, it has a great deal of support and available packages in its repository. We have used UBUNTU 12.04 in our host system.
Downloading Ubuntu
You can find it in : http://www.ubuntu.com/download
Download and Install / Try it from a CD or USB stick
Select whether you require the 32 bit or 64bit version
then click “Start download.
Installing Ubuntu
At least 5 GB of free space on your hard drive is required in order to install
Ubuntu; however, 15 GB or more is recommended.
http://www.ubuntu.com/download/desktop/install-desktop-latest to programming we use eclipse .You can find eclipse on ubuntu software centre, else u can do as shown below
How to install Eclipse 4.2 on Ubuntu 12.04
You can just download the tar.gz file from eclipse.org. And do as follow.
Download Eclipse.
If you downloaded eclipse-jee-juno-SR1-linux-gtk.tar.gz
Extract it by executing a command line
tar -xzf eclipse-jee-juno-SR1-linux-gtk.tar.gz
Or with Archive Manager extraction. Move extracted eclipse folder to /opt/ folder by executing
mv eclipse /opt/
sudo chown -R root:root /opt/eclipse
sudo chmod -R +r /opt/eclipse
Create an eclipse executable in your user path
sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
Create a file named eclipse in /usr/bin/ with your preferred editor (nano, gedit, vi...)
Copy this into it
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
$ECLIPSE_HOME/eclipse $*
And save the file.
Create a Gnome menu item
Create a file named eclipse.desktop in /usr/share/applications/ with your preferred editor (nano, gedit, vi...)
Copy this into it
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=EclipseIDE
Exec=eclipse
The BeagleBone is a low-cost, high-expansion board from the BeagleBoard product line. It uses the TI AM3358/9 SoC based on an ARM Cortex-A8 processor core using the ARMv7-A architecture. It is similar in purpose to earlier BeagleBoards, and can be used either standalone or as a USB or Ethernet-connected expansion for a BeagleBoard or any other system. The BeagleBone is small even by BeagleBoard standards yet still provides much of the performance and capabilities of the larger BeagleBoards.
Beaglebone Black
On 23rd April 2013, BeagleBoard officially announced BeagleBone Black at a price approximately half that of the original BeagleBone. The new board's most important new features include a AM3359 SoC upgraded to 1GHz, doubling of memory to 512MB, use of faster DDR3 memory in contrast to the DDR2 of the original BeagleBone, and a new HDMI audio/visual output. (The original BeagleBone required an additional cape daughterboard for graphic output).
Overview:
The BeagleBone Black has a low cost ARM Cortex-A8 based processor. It is as small as a credit card. It has been equipped with a minimum set of features to allow the user to experience the power of the processor and is not intended as a full development platform as many of the features and interfaces supplied by the processor are not accessible from the BeagleBone Black via onboard support of some interfaces. It is not a complete product designed to do any particular function. It is a foundation for experimentation and learning how to program the processor and to access the peripherals by the creation of your own software and hardware. It 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.
Functions of the Board
· The Beagles are small Open Sourced Hardware and open-software computers that plug into whatever you have around the house.
· Beagles mean big functionality in small packages because these little PCs can be used for all kinds of applications you've been tinkering with, and can handle many of the same tasks as your desktop PC.
Key Components
· The Sitara AM3358 is the processor.
· 512MB DDR3 is the processor dynamic RAM memory.
· Serial Debug is the serial debug port.
· PMIC provides the power rails to the various components on the board.
· DC Power is the main DC input that accepts 5V power.
· 10/100 Ethernet is the connection to the LAN.
· Ethernet PHY is the physical interface to the network.
· USB Client is a miniUSB connection to a PC that can also power the board.
· There are four blue LEDS that can be used by the user.
· Reset Button allows the user to reset the processor.
· eMMC is an onboard MMC chip that hold sup to 2GB of data.
· HDMI Framer provides control for an HDMI or DVI-D display.
· BOOT Button can be used to force a boot from the SD card or from the USB port.
· uSD slot is where a uSD card can be installed.
· The microHDMI connector is where the display is connected.
· USB Host can be connected different USB interfaces such as Wifi, BT, Keyboard, etc
Component
Details :
Processor:
For the initial release, the board uses the Sitara XAM3359AZCZ processor in the 15x15 package. This is basically the same processor as used on the original BeagleBone. It does use the updated 2.0 revision with several fixes on this new processor as opposed to the original BeagleBone. A couple of important features from this new processor include:
1GHZ Operation
RTC fix
.
Eventually the board will move to the Sitara AM3358BZCZ100 device once released and readily available from TI. At this time we do not have a date when this will happen. We do not expect any benefit from moving to this device and there should be no impact seen as a result of making this move.
Memory
Three types of memory described below
512MB DDR3L
A single 256Mb x16 DDR3L 4Gb (512MB) memory device is used. The memory used is the MT41K512M16HA-125 from Micron. It will operate at a clock frequency of 303MHz yielding an effective rate of 606MHZ on the DDR3L bus allowing for 1.32GB/S of DDR3L memory bandwidth.
32KB EEPROM
A single 32KB EEPROM is provided on I2C0 that holds the board information. This information includes board name, serial number, and revision information. This will be the same as found on the original BeagleBone. It has a test point to allow the device to be programmed and otherwise to provide write protection when not grounded.
2GB Embedded MMC
A single 2GB embedded MMC (eMMC) device is on the board. The device connects to the MMC1 port of the processor, allowing for 8bit wide access. Default boot mode for the board will be MMC1 with an option to change it to MMC0 for SD card booting. MMC0 cannot be used in 8Bit mode because the lower data pins are located on the pins used by the Ethernet port. This does not interfere with SD card operation but it does make it unsuitable for use as an eMMC port if the 8 bit feature is needed.
MicroSD Connector
The board is equipped with a single microSD connector to act as the secondary boot source for the board and, if not provided with the board. Booting from MMC0 will be used to flash the eMMC in the production environment selected as such, can be the primary boot source. The connector will support larger capacity SD cards. The SD card is or can be used by the user to update the SW as needed
Boot Modes
There are four boot modes:
eMMC Boot : This is the default boot mode and will allow for the fastest boot time and will enable the board to boot out of the box using the pre-flashed OS image without having to purchase an SD card or an SD card writer.
SD Boot : This mode will boot from the uSD slot. This mode can be used to override what is on the eMMC device and can be used to program the eMMC when used in the manufacturing process or for field updates.
Serial Boot : This mode will use the serial port to allow downloading of the software direct. A separate USB to serial cable is required to use this port.
USB Boot : This mode supports booting over the USB port.
A switch is provided to allow switching between the modes.
· Holding the boot switch down during boot without a SD card inserted will force the boot source to be the USB port and if nothing is detected on the USB client port, it will go to the serial port for download.
· Without holding the switch, the board will boot from eMMC. If it is empty, then it will try booting from the uSD slot, followed by the serial port, and then the USB port.
· If you hold the boot switch down during boot, and you have a microSD card inserted with a bootable image, the board will boot form the microSD card.
Power
Management
The TPS65217C power management device is used along with a separate LDO to provide power to the system. The TPS65217C version provides for the proper voltages required for the DDR3L. This is the same device as used on the original BeagleBone with the exception of the power rail configuration settings which will be changed in the internal EEPROM to the TPS65217 to support the new voltages. DDR3L requires 1.5V instead of 1.8V on the DDR2 as is the case on the original BeagleBone. The 1.8V regulator setting has been changed to 1.5V for the DDR3L. The LDO3 3.3V rail has been changed to 1.8V to support those rails on the processor. LDO4 is still 3.3V for the 3.3V rails on the processor. An external LDOTLV70233 provides the 3.3V rail for the rest of the board.
HDMI Interface
A single HDMI interface is connected to the 16 bit LCD interface on the processor. The 16b interface was used to preserve as many expansion pins as possible to allow for use by the user. The NXP TDA19988BHN is used to convert the LCD interface to HDMI and convert the audio as well. The signals are still connected to the expansion headers to enable the use of LCD expansion boards or access to other functions on the board as needed.
Operating System
Ångström Distribution
Ångström was started by a small group of people who worked on the OpenEmbedded, OpenZaurus and OpenSimpad projects to unify their effort to make a stable and user-friendly distribution for embedded devices like handhelds, set top boxes and network-attached storage devices and more.
Ångström is versatile, it scales down to devices with 4MB of flash to devices with terabytes of RAID storage.
Kernel
Uses a 3.8 kernel which makes use of Device Trees. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called Capemgr which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot. Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black .
file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:
echo cape-bone-name > $SLOTS to install, and
echo -<slotnum> > $SLOTS to uninstall, (but read through the System Reference Manual first to see what $SLOT is set to).
UBUNTU 12.04
Ubuntu is a Debian-based Linux distribution ported to the ARM architecture. It is a great choice for development. As one of the most popular distributions, it has a great deal of support and available packages in its repository. We have used UBUNTU 12.04 in our host system.
Downloading Ubuntu
You can find it in : http://www.ubuntu.com/download
Download and Install / Try it from a CD or USB stick
Select whether you require the 32 bit or 64bit version
then click “Start download.
Installing Ubuntu
At least 5 GB of free space on your hard drive is required in order to install
Ubuntu; however, 15 GB or more is recommended.
http://www.ubuntu.com/download/desktop/install-desktop-latest to programming we use eclipse .You can find eclipse on ubuntu software centre, else u can do as shown below
How to install Eclipse 4.2 on Ubuntu 12.04
You can just download the tar.gz file from eclipse.org. And do as follow.
Download Eclipse.
If you downloaded eclipse-jee-juno-SR1-linux-gtk.tar.gz
Extract it by executing a command line
tar -xzf eclipse-jee-juno-SR1-linux-gtk.tar.gz
Or with Archive Manager extraction. Move extracted eclipse folder to /opt/ folder by executing
mv eclipse /opt/
sudo chown -R root:root /opt/eclipse
sudo chmod -R +r /opt/eclipse
Create an eclipse executable in your user path
sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
Create a file named eclipse in /usr/bin/ with your preferred editor (nano, gedit, vi...)
Copy this into it
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
$ECLIPSE_HOME/eclipse $*
And save the file.
Create a Gnome menu item
Create a file named eclipse.desktop in /usr/share/applications/ with your preferred editor (nano, gedit, vi...)
Copy this into it
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=EclipseIDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categries=GNOME;Application;Development;
StartupNotify=true
And save the file
Launch Eclipse
/opt/eclipse/eclipse -clean &
Now you can Lock Eclipse to the launcher bar by clicking right button on Lock to Laucher
Using Terminal – Ubuntu
There are two ways to get to the terminal. You can open the Dash Home and search for “Terminal” to open it. or you can simply press (CTRL+ALT+T) at the same time and a terminal will pop up for you.
Here is what the Terminal looks like.
Now that you know how to open the terminal here are a few basic commands that will help you on your way to becoming a better Linux user, NOTE: be careful what you do here.
SOME BASIC COMMANDS
Managing Privileges & Rights to Files and Directories
» chmod — Change Mode
» cd — Change Directory
Managing Files and Text
» cp — Copy
Managing Packages
» apt-get update — refresh abailable updates
Managing System and Program Information
» cal — Calendar
System
while holding down ALT and PRINTSCRN type this command with about 1 second between each letter.
Managing Network Connections
» ping — Test Network Connections
Managing A Firewall
» ufw enable — turn on firewall
Manage Drives and Formats
» mount — Mount a Drive
Managing Users and Groups
» passwd — Create Password
SYSTEM SETUP AND USE
There are two modes of operation for the system: wired mode and wireless mode. In wired mode, the user needs to disconnect the USB Wi-Fi adaptor and plug the system into a router. In this configuration, the system can be accessed via the Internet for remote monitoring of the webcam. For wireless access point mode, the user should disconnect the wired cable, and connect the wireless USB module. Once powered on in this configuration, the system will broadcast an SSID that the user can connect to via a Wi-Fi enabled computer or smart-phone. In either configuration, to access the web page being hosted on the system, the user must flip the power switch located on the side of the case and wait for the system to power on. Once there is a green light on the webcam, in the wired mode, the user can connect to the network; navigate to the web address http://192.168.7.2/homewindow/mobile.php. On the website there are various pages that allow access to the different functions of the server.
· Gate: A small general description of the project, as well as basic descriptions of the functionality of different pages and the name of the administrators.
· Livecam: View a live stream of the webcam.
· Hall: control various light switches and fan.
High Level Features
MJPG-STREAMER
the user should disconnect the wired cable, and connect the wireless USB module. Once powered on in this configuration, the system will broadcast an SSID that the user can connect to via a Wi-Fi enabled computer or smart-phone. In either configuration, to access the web page being hosted on the system, the user must flip the power switch located on the side of the case and wait for the system to power on. Once there is a green light on the webcam, in the wired mode, the user can connect to the network; navigate to the web address http://192.168.7.2/homewindow/mobile.php. On the website there are various pages that allow access to the different functions of the server.
· Gate: A small general description of the project, as well as basic descriptions of the functionality of different pages and the name of the administrators.
· Livecam: View a live stream of the webcam.
· Hall: control various light switches and fan.
High Level Features
MJPG-STREAMER
The great feature of this software package is that it contains its own small web server that outputs the stream, as well as a great documentation on how to format and use the stream for different applications. For this project, any HTTP request that Lighttpd receives for the webcam stream is forwarded to the Mjpg streamer server to process. This allows for a very lightweight capture process that does not use a large amount of CPU cycles converting the raw webcam stream to other more traditional video formats.
MAKING ETHERNET CONNECTIVITY
· Connect the Beagle Bone to a router using Ethernet.
· Find the IP address of the BeagleBone by connecting to it using the serial console or by finding it in the client list of the router. Open a terminal and connect to the BeagleBone as root using ssh
EXPANSION CONNECTORS
The Beagle Bone provides two 46-pin dual-row expansion connectors "P9" and "P8" which are also known as "Expansion A" and "Expansion B", respectively. The location and pin out of these connectors is illustrated below. All signals on expansion headers are 3.3V except where indicated otherwise.
It provides Beaglebone the capability to add additional external memory devices. The External memory devices are interfaced via general purpose memory controller (GPMC) on the AM335x. Supported memory devices include NOR flash, NAND flash, or other memory devices that are asynchronous, synchronous, 8-bit or 16-bit.
BLINKING THE LEDS ON THE BEAGLEBONE AND TESTING THE GPIO PINS ON THE BONE
all controlled from the host chip, but the Linux kernel treats all GPIO as pins on external I/O chips. In keeping with the 32 bit nature of this processor the GPIO “chips” each control up to 32 individual pins and there are 4 controller chips. To access a specific pin we need to know the pin’s GPIO number, this is made up of the chip’s base I/O number (i.e. the number assigned to pin 0 of the chip) and the pin number itself. Since there are 32 I/O per chip, and 4 chips starting from zero the base number is the chip number times 32 i.e. GPIO0 base is 0, GPIO1 base is 32, GPIO2 base is 64 and GPIO3 base is 96. So to find the actual GPIO pin numbers simply take the chip number, multiply by 32 and add the pin.
In order to drive an LED the GPIO pin needs to be configured as output port. It is also helpful to apply a known state the pin. In this case we elected to make the pin low, which turns the LED off.
To turn a LED on it is just a matter of writing “1″ to the “value” of the selected GPIO pin, such as this for LED 3
echo 1 > /sys/class/gpio/gpio15/value // assigns value 1 to 15th Pin
To unexport any gpio pin type the following command
echo 44 > /sys/class/gpio/unexport // unexports 44th Pin
.
Functions of the Board
· The Beagles are small Open Sourced Hardware and open-software computers that plug into whatever you have around the house.
· Beagles mean big functionality in small packages because these little PCs can be used for all kinds of applications you've been tinkering with, and can handle many of the same tasks as your desktop PC.
Key Components
· The Sitara AM3358 is the processor.
· 512MB DDR3 is the processor dynamic RAM memory.
· Serial Debug is the serial debug port.
· PMIC provides the power rails to the various components on the board.
· DC Power is the main DC input that accepts 5V power.
· 10/100 Ethernet is the connection to the LAN.
· Ethernet PHY is the physical interface to the network.
· USB Client is a miniUSB connection to a PC that can also power the board.
· There are four blue LEDS that can be used by the user.
· Reset Button allows the user to reset the processor.
· eMMC is an onboard MMC chip that hold sup to 2GB of data.
· HDMI Framer provides control for an HDMI or DVI-D display.
· BOOT Button can be used to force a boot from the SD card or from the USB port.
uSD slot is where a uSD card can be installed.
· The microHDMI connector is where the display is connected.
· USB Host can be connected different USB interfaces such as Wifi, BT, Keyboard, etc
Component
Details :
Processor:
For the initial release, the board uses the Sitara XAM3359AZCZ processor in the 15x15 package. This is basically the same processor as used on the original BeagleBone. It does use the updated 2.0 revision with several fixes on this new processor as opposed to the original BeagleBone. A couple of important features from this new processor include:
1GHZ Operation
RTC fix
.
Eventually the board will move to the Sitara AM3358BZCZ100 device once released and readily available from TI. At this time we do not have a date when this will happen. We do not expect any benefit from moving to this device and there should be no impact seen as a result of making this move.
Memory
Three types of memory described below
512MB DDR3L
A single 256Mb x16 DDR3L 4Gb (512MB) memory device is used. The memory used is the MT41K512M16HA-125 from Micron. It will operate at a clock frequency of 303MHz yielding an effective rate of 606MHZ on the DDR3L bus allowing for 1.32GB/S of DDR3L memory bandwidth.
32KB EEPROM
A single 32KB EEPROM is provided on I2C0 that holds the board information. This information includes board name, serial number, and revision information. This will be the same as found on the original BeagleBone. It has a test point to allow the device to be programmed and otherwise to provide write protection when not grounded.
2GB Embedded MMC
A single 2GB embedded MMC (eMMC) device is on the board. The device connects to the MMC1 port of the processor, allowing for 8bit wide access. Default boot mode for the board will be MMC1 with an option to change it to MMC0
for SD card booting. MMC0 cannot be used in 8Bit mode because the lower data pins are located on the pins used by the Ethernet port. This does not interfere with SD card operation but it does make it unsuitable for use as an eMMC port if the 8 bit feature is needed.
MicroSD Connector
The board is equipped with a single microSD connector to act as the secondary boot source for the board and, if not provided with the board. Booting from MMC0 will be used to flash the eMMC in the production environment selected as such, can be the primary boot source. The connector will support larger capacity SD cards. The SD card is or can be used by the user to update the SW as needed
Boot Modes
There are four boot modes:
eMMC Boot : This is the default boot mode and will allow for the fastest boot time and will enable the board to boot out of the box using the pre-flashed OS image without having to purchase an SD card or an SD card writer.
SD Boot : This mode will boot from the uSD slot. This mode can be used to override what is on the eMMC device and can be used to program the eMMC when used in the manufacturing process or for field updates.
Serial Boot : This mode will use the serial port to allow downloading of the software direct. A separate USB to serial cable is required to use this port.
USB Boot : This mode supports booting over the USB port.
A switch is provided to allow switching between the modes.
· Holding the boot switch down during boot without a SD card inserted will force the boot source to be the USB port and if nothing is detected on the USB client port, it will go to the serial port for download.
· Without holding the switch, the board will boot from eMMC. If it is empty, then it will try booting from the uSD slot, followed by the serial port, and then the USB port.
· If you hold the boot switch down during boot, and you have a microSD card inserted with a bootable image, the board will boot form the microSD card.
Power
Management
The TPS65217C power management device is used along with a separate LDO to provide power to the system. The TPS65217C version provides for the proper voltages required for the DDR3L. This is the same device as used on the original BeagleBone with the exception of the power rail configuration settings which will be changed in the internal EEPROM to the TPS65217 to support the new voltages. DDR3L requires 1.5V instead of 1.8V on the DDR2 as is the case on the original BeagleBone. The 1.8V regulator setting has been changed to 1.5V for the DDR3L. The LDO3 3.3V rail has been changed to 1.8V to support those rails on the processor. LDO4 is still 3.3V for the 3.3V rails on the processor. An external LDOTLV70233 provides the 3.3V rail for the rest of the board.
HDMI Interface
A single HDMI interface is connected to the 16 bit LCD interface on the processor. The 16b interface was used to preserve as many expansion pins as possible to allow for use by the user. The NXP TDA19988BHN is used to convert the LCD interface to HDMI and convert the audio as well. The signals are still connected to the expansion headers to enable the use of LCD expansion boards or access to other functions on the board as needed.
Operating System
Ångström Distribution
Ångström was started by a small group of people who worked on the OpenEmbedded, OpenZaurus and OpenSimpad projects to unify their effort to make a stable and user-friendly distribution for embedded devices
like handhelds, set top boxes and network-attached storage devices and more.
Ångström is versatile, it scales down to devices with 4MB of flash to devices with terabytes of RAID storage.
Kernel
Uses a 3.8 kernel which makes use of Device Trees. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called Capemgr which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot. Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black .
file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:
echo cape-bone-name > $SLOTS to install, and
echo -<slotnum> > $SLOTS to uninstall, (but read through the System Reference Manual first to see what $SLOT is set to).
UBUNTU 12.04
Ubuntu is a Debian-based Linux distribution ported to the ARM architecture. It is a great choice for development. As one of the most popular distributions, it has a great deal of support and available packages in its repository. We have used UBUNTU 12.04 in our host system.
Downloading Ubuntu
You can find it in : http://www.ubuntu.com/download
Download and Install / Try it from a CD or USB stick
Select whether you require the 32 bit or 64bit version
then click “Start download.
Installing Ubuntu
At least 5 GB of free space on your hard drive is required in order to install
Ubuntu; however, 15 GB or more is recommended.
http://www.ubuntu.com/download/desktop/install-desktop-latest to programming we use eclipse .You can find eclipse on ubuntu software centre, else u can do as shown below
How to install Eclipse 4.2 on Ubuntu 12.04
You can just download the tar.gz file from eclipse.org. And do as follow.
Download Eclipse.
If you downloaded eclipse-jee-juno-SR1-linux-gtk.tar.gz
Extract it by executing a command line
tar -xzf eclipse-jee-juno-SR1-linux-gtk.tar.gz
Or with Archive Manager extraction. Move extracted eclipse folder to /opt/ folder by executing
mv eclipse /opt/
sudo chown -R root:root /opt/eclipse
sudo chmod -R +r /opt/eclipse
Create an eclipse executable in your user path
sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
Create a file named eclipse in /usr/bin/ with your preferred editor (nano, gedit, vi...)
Copy this into it
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
$ECLIPSE_HOME/eclipse $*
And save the file.
Create a Gnome menu item
Create a file named eclipse.desktop in /usr/share/applications/ with your preferred editor (nano, gedit, vi...)
Copy this into it
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=EclipseIDE
Exec=eclipse
Icon=/opt/eclipse/
The BeagleBone is a low-cost, high-expansion board from the BeagleBoard product line. It uses the TI AM3358/9 SoC based on an ARM Cortex-A8 processor core using the ARMv7-A architecture. It is similar in purpose to earlier BeagleBoards, and can be used either standalone or as a USB or Ethernet-connected expansion for a BeagleBoard or any other system. The BeagleBone is small even by BeagleBoard standards yet still provides much of the performance and capabilities of the larger BeagleBoards.
Beaglebone Black
On 23rd April 2013, BeagleBoard officially announced BeagleBone Black at a price approximately half that of the original BeagleBone. The new board's most important new features include a AM3359 SoC upgraded to 1GHz, doubling of memory to 512MB, use of faster DDR3 memory in contrast to the DDR2 of the original BeagleBone, and a new HDMI audio/visual output. (The original BeagleBone required an additional cape daughterboard for graphic output).
Overview:
The BeagleBone Black has a low cost ARM Cortex-A8 based processor. It is as small as a credit card. It has been equipped with a minimum set of features to allow the user to experience the power of the processor and is not intended as a full development platform as many of the features and interfaces supplied by the processor are not accessible from the BeagleBone Black via onboard support of some interfaces. It is not a complete product designed to do any particular function. It is a foundation for experimentation and learning how to program the processor and to access the peripherals by the creation of your own software and hardware. It 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.
Functions of the Board
· The Beagles are small Open Sourced Hardware and open-software computers that plug into whatever you have around the house.
· Beagles mean big functionality in small packages because these little PCs can be used for all kinds of applications you've been tinkering with, and can handle many of the same tasks as your desktop PC.
Key Components
· The Sitara AM3358 is the processor.
· 512MB DDR3 is the processor dynamic RAM memory.
· Serial Debug is the serial debug port.
· PMIC provides the power rails to the various components on the board.
· DC Power is the main DC input that accepts 5V power.
· 10/100 Ethernet is the connection to the LAN.
· Ethernet PHY is the physical interface to the network.
· USB Client is a miniUSB connection to a PC that can also power the board.
· There are four blue LEDS that can be used by the user.
· Reset Button allows the user to reset the processor.
· eMMC is an onboard MMC chip that hold sup to 2GB of data.
· HDMI Framer provides control for an HDMI or DVI-D display.
· BOOT Button can be used to force a boot from the SD card or from the USB port.
· uSD slot is where a uSD card can be installed.
· The microHDMI connector is where the display is connected.
· USB Host can be connected different USB interfaces such as Wifi, BT, Keyboard, etc
Component
Details :
Processor:
For the initial release, the board uses the Sitara XAM3359AZCZ processor in the 15x15 package. This is basically the same processor as used on the original BeagleBone. It does use the updated 2.0 revision with several fixes on this new processor as opposed to the original BeagleBone. A couple of important features from this new processor include:
1GHZ Operation
RTC fix
.
Eventually the board will move to the Sitara AM3358BZCZ100 device once released and readily available from TI. At this time we do not have a date when this will happen. We do not expect any benefit from moving to this device and there should be no impact seen as a result of making this move.
Memory
Three types of memory described below
512MB DDR3L
A single 256Mb x16 DDR3L 4Gb (512MB) memory device is used. The memory used is the MT41K512M16HA-125 from Micron. It will operate at a clock frequency of 303MHz yielding an effective rate of 606MHZ on the DDR3L bus allowing for 1.32GB/S of DDR3L memory bandwidth.
32KB EEPROM
A single 32KB EEPROM is provided on I2C0 that holds the board information. This information includes board name, serial number, and revision information. This will be the same as found on the original BeagleBone. It has a test point to allow the device to be programmed and otherwise to provide write protection when not grounded.
2GB Embedded MMC
A single 2GB embedded MMC (eMMC) device is on the board. The device connects to the MMC1 port of the processor, allowing for 8bit wide access. Default boot mode for the board will be MMC1 with an option to change it to MMC0 for SD card booting. MMC0 cannot be used in 8Bit mode because the lower data pins are located on the pins used by the Ethernet port. This does not interfere with SD card operation but it does make it unsuitable for use as an eMMC port if the 8 bit feature is needed.
MicroSD Connector
The board is equipped with a single microSD connector to act as the secondary boot source for the board and, if not provided with the board. Booting from MMC0 will be used to flash the eMMC in the production environment selected as such, can be the primary boot source. The connector will support larger capacity SD cards. The SD card is or can be used by the user to update the SW as needed
Boot Modes
There are four boot modes:
eMMC Boot : This is the default boot mode and will allow for the fastest boot time and will enable the board to boot out of the box using the pre-flashed OS image without having to purchase an SD card or an SD card writer.
SD Boot : This mode will boot from the uSD slot. This mode can be used to override what is on the eMMC device and can be used to program the eMMC when used in the manufacturing process or for field updates.
Serial Boot : This mode will use the serial port to allow downloading of the software direct. A separate USB to serial cable is required to use this port.
USB Boot : This mode supports booting over the USB port.
A switch is provided to allow switching between the modes.
· Holding the boot switch down during boot without a SD card inserted will force the boot source to be the USB port and if nothing is detected on the USB client port, it will go to the serial port for download.
· Without holding the switch, the board will boot from eMMC. If it is empty, then it will try booting from the uSD slot, followed by the serial port, and then the USB port.
· If you hold the boot switch down during boot, and you have a microSD card inserted with a bootable image, the board will boot form the microSD card.
Power
Management
The TPS65217C power management device is used along with a separate LDO to provide power to the system. The TPS65217C version provides for the proper voltages required for the DDR3L. This is the same device as used on the original BeagleBone with the exception of the power rail configuration settings which will be changed in the internal EEPROM to the TPS65217 to support the new voltages. DDR3L requires 1.5V instead of 1.8V on the DDR2 as is the case on the original BeagleBone. The 1.8V regulator setting has been changed to 1.5V for the DDR3L. The LDO3 3.3V rail has been changed to 1.8V to support those rails on the processor. LDO4 is still 3.3V for the 3.3V rails on the processor. An external LDOTLV70233 provides the 3.3V rail for the rest of the board.
HDMI Interface
A single HDMI interface is connected to the 16 bit LCD interface on the processor. The 16b interface was used to preserve as many expansion pins as possible to allow for use by the user. The NXP TDA19988BHN is used to convert the LCD interface to HDMI and convert the audio as well. The signals are still connected to the expansion headers to enable the use of LCD expansion boards or access to other functions on the board as needed.
Operating System
Ångström Distribution
Ångström was started by a small group of people who worked on the OpenEmbedded, OpenZaurus and OpenSimpad projects to unify their effort to make a stable and user-friendly distribution for embedded devices like handhelds, set top boxes and network-attached storage devices and more.
Ångström is versatile, it scales down to devices with 4MB of flash to devices with terabytes of RAID storage.
Kernel
Uses a 3.8 kernel which makes use of Device Trees. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called Capemgr which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot. Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black .
file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:
echo cape-bone-name > $SLOTS to install, and
echo -<slotnum> > $SLOTS to uninstall, (but read through the System Reference Manual first to see what $SLOT is set to).
UBUNTU 12.04
Ubuntu is a Debian-based Linux distribution ported to the ARM architecture. It is a great choice for development. As one of the most popular distributions, it has a great deal of support and available packages in its repository. We have used UBUNTU 12.04 in our host system.
Downloading Ubuntu
You can find it in : http://www.ubuntu.com/download
Download and Install / Try it from a CD or USB stick
Select whether you require the 32 bit or 64bit version
then click “Start download.
Installing Ubuntu
At least 5 GB of free space on your hard drive is required in order to install
Ubuntu; however, 15 GB or more is recommended.
http://www.ubuntu.com/download/desktop/install-desktop-latest to programming we use eclipse .You can find eclipse on ubuntu software centre, else u can do as shown below
How to install Eclipse 4.2 on Ubuntu 12.04
You can just download the tar.gz file from eclipse.org. And do as follow.
Download Eclipse.
If you downloaded eclipse-jee-juno-SR1-linux-gtk.tar.gz
Extract it by executing a command line
tar -xzf eclipse-jee-juno-SR1-linux-gtk.tar.gz
Or with Archive Manager extraction. Move extracted eclipse folder to /opt/ folder by executing
mv eclipse /opt/
sudo chown -R root:root /opt/eclipse
sudo chmod -R +r /opt/eclipse
Create an eclipse executable in your user path
sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
Create a file named eclipse in /usr/bin/ with your preferred editor (nano, gedit, vi...)
Copy this into it
#!/bin/sh
export ECLIPSE_HOME="/opt/eclipse"
$ECLIPSE_HOME/eclipse $*
And save the file.
Create a Gnome menu item
Create a file named eclipse.desktop in /usr/share/applications/ with your preferred editor (nano, gedit, vi...)
Copy this into it
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=EclipseIDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categries=GNOME;Application;Development;
StartupNotify=true
And save the file
Launch Eclipse
/opt/eclipse/eclipse -clean &
Now you can Lock Eclipse to the launcher bar by clicking right button on Lock to Laucher
Using Terminal – Ubuntu
There are two ways to get to the terminal. You can open the Dash Home and search for “Terminal” to open it. or you can simply press (CTRL+ALT+T) at the same time and a terminal will pop up for you.
Here is what the Terminal looks like.
Now that you know how to open the terminal here are a few basic commands that will help you on your way to becoming a better Linux user, NOTE: be careful what you do here.
SOME BASIC COMMANDS
Managing Privileges & Rights to Files and Directories
» chmod — Change Mode
» su — Switch User
» sudo — run command as root
» sudo -r — open a root shell as user
» sudo -r -u user — open a shell as user
» sudo -k — forget sudo passwords
» gksudo — visual sudo dialog (GNOME)
» kdesudo — visual sudo dialog (KDE)
» sudo visudo — edit /etc/sudoers
» gksudo nautilus — root file manager (GNOME)
» dkesudo konqueror — root file manager (KDE)
» cd — Change Directory
» pwd — Print Working Directory
Managing Files and Text
» cp — Copy
» ls — List
» mkdir – Make Directory
» mv — Move
» rm — Remove
» grep — Search for Text Strings
» head — Display Start of File
» less — Display Part of File
» more — Display Part of File
» tail — View the End of a File
Managing Packages
» apt-get update — refresh abailable updates
» apt-get upgrade — upgrade all packages
Managing System and Program Information
» cal — Calendar
» date — Date
System
while holding down ALT and PRINTSCRN type this command with about 1 second between each letter.
» REISUB — Your system will reboot
» lsb-release -a — get Ubuntu version
» uname -r — get kernel version
» uname -a — get all kernel information
Managing Network Connections
» ping — Test Network Connections
» ftp — file Transfer Protocol
» host — Check IP of Domain
» ifconfig — show network information
» iwconfig — show wireless incormation
» sudo iwlist scan — scan for wireless networks
» telnet — Connect to telnet
Managing A Firewall
» ufw enable — turn on firewall
» ufw disable — turn off firewall
Manage Drives and Formats
» mount — Mount a Drive
» umount — Unmount Drive
» fdisk — Format Disk
» dd — Dupliate Disk
» df — Disk Free Space
Managing Users and Groups
» passwd — Create Password
» groupadd — Add a Group
» groupmod — Modify a Group
» chgrp — Change Group
» groupdel — Delete Group
SYSTEM SETUP AND USE
There are two modes of operation for the system: wired mode and wireless mode. In wired mode, the user needs to disconnect the USB Wi-Fi adaptor and plug the system into a router. In this configuration, the system can be accessed via the Internet for remote monitoring of the webcam. For wireless access point mode, the user should disconnect the wired cable, and connect the wireless USB module. Once powered on in this configuration, the system will broadcast an SSID that the user can connect to via a Wi-Fi enabled computer or smart-phone. In either configuration, to access the web page being hosted on the system, the user must flip the power switch located on the side of the case and wait for the system to power on. Once there is a green light on the webcam, in the wired mode, the user can connect to the network; navigate to the web address http://192.168.7.2/homewindow/mobile.php. On the website there are various pages that allow access to the different functions of the server.
· Gate: A small general description of the project, as well as basic descriptions of the functionality of different pages and the name of the administrators.
· Livecam: View a live stream of the webcam.
· Hall: control various light switches and fan.
High Level Features
MJPG-STREAMER
To interface camera with beaglebone you need MJPG streamer. Mjpg-streamer is a software solution that takes raw frame data from the webcam and outputs a stream in the MJPG format, a series of JPEG images.

user needs to disconnect the USB Wi-Fi adaptor and plug the system into a router. In this configuration, the system can be accessed via the Internet for remote monitoring of the webcam. For wireless access point mode,
the user should disconnect the wired cable, and connect the wireless USB module. Once powered on in this configuration, the system will broadcast an SSID that the user can connect to via a Wi-Fi enabled computer or smart-phone. In either configuration, to access the web page being hosted on the system, the user must flip the power switch located on the side of the case and wait for the system to power on. Once there is a green light on the webcam, in the wired mode, the user can connect to the network; navigate to the web address http://192.168.7.2/homewindow/mobile.php. On the website there are various pages that allow access to the different functions of the server.
· Gate: A small general description of the project, as well as basic descriptions of the functionality of different pages and the name of the administrators.
· Livecam: View a live stream of the webcam.
· Hall: control various light switches and fan.
High Level Features
MJPG-STREAMER
To interface camera with beaglebone you need MJPG streamer. Mjpg-streamer is a software solution that takes raw frame data from the webcam and outputs a stream in the MJPG format, a series of JPEG images.
The great feature of this software package is that it contains its own small web server that outputs the stream, as well as a great documentation on how to format and use the stream for different applications. For this project, any HTTP request that Lighttpd receives for the webcam stream is forwarded to the Mjpg streamer server to process. This allows for a very lightweight capture process that does not use a large amount of CPU cycles converting the raw webcam stream to other more traditional video formats.
MAKING ETHERNET CONNECTIVITY
· Connect the Beagle Bone to a router using Ethernet.
· Find the IP address of the BeagleBone by connecting to it using the serial console or by finding it in the client list of the router. Open a terminal and connect to the BeagleBone as root using ssh
EXPANSION CONNECTORS
The Beagle Bone provides two 46-pin dual-row expansion connectors "P9" and "P8" which are also known as "Expansion A" and "Expansion B", respectively. The location and pin out of these connectors is illustrated below. All signals on expansion headers are 3.3V except where indicated otherwise.
It provides Beaglebone the capability to add additional external memory devices. The External memory devices are interfaced via general purpose memory controller (GPMC) on the AM335x. Supported memory devices include NOR flash, NAND flash, or other memory devices that are asynchronous, synchronous, 8-bit or 16-bit.
BLINKING THE LEDS ON THE BEAGLEBONE AND TESTING THE GPIO PINS ON THE BONE
GPIO pins on the OMAP processor are know n by their “GPIO chip number” and then pin number. In fact the on-board pins are