BeagleBone Blue and Black

Jarret B

Well-Known Member
Staff member
Joined
May 22, 2017
Messages
340
Reaction score
367
Credits
11,754
Previously I wrote an article on the BeagleBone PocketBeagle which was a very small single-board computer. In this article I will go over the specs on two slightly larger boards.

BeagleBone Blue

The main specs for BeagleBone Blue are:
  • AM335x 1GHz ARM® Cortex-A8 processor
  • 512MB DDR3 RAM
  • 4GB 8-bit eMMC flash storage
  • Integrated power management
  • 2×32-bit 200-MHz programmable real-time units (PRUs)
  • NEON floating-point accelerator
  • ARM Cortex-M3
  • USB2 client for power & communications, USB2 host
  • Battery support: 2-cell LiPo with balancing, LED state-of-charge monitor
  • Charger input: 9-18V
  • Wireless: 802.11bgn, Bluetooth 4.1 and BLE
  • Motor control: 8 6V servo out, 4 bidirectional DC motor out, 4 quadrature encoder in
  • Sensors: 9 axis IMU (accels, gyros, magnetometer), barometer, thermometer
  • User interface: 11 user programmable LEDs, 2 user programmable buttons
  • Easy connect JST interfaces for adding additional buses and peripherals including: GPS, DSM2 radio, UARTs, SPI, I2C, 1.8V analog, 3.3V GPIOs
You may be looking at the RAM and thinking it seems limited. This little board, like the PocketBeagle, can be used for many projects. It will run Ubuntu 18.04 which will be covered later in this article.

The board is also good for those who may want to look into robotics or programming.

NOTE: Realize that the Blue board contains Wireless connectivity as well as Bluetooth. You can check out any information you may need on these boards at BeagleBoard.org.

BeagleBone Black

The BeagleBone Black board has the same processor but slightly different specs:

  • AM335x 1GHz ARM® Cortex-A8 processor
  • 512MB DDR3 RAM
  • 4GB 8-bit eMMC on-board flash storage
  • 3D graphics accelerator
  • NEON floating-point accelerator
  • 2x PRU 32-bit micro-controllers
  • USB client for power & communications
  • USB host
  • Ethernet
  • HDMI (micro)
  • 2x 46 pin headers
NOTE: The Black Board has an On-The-Go (OTG) USB port (mini-USB) like the PocketBeagle. The BeagleBone Blue has an OTG micro-USB port. Many of the processes used in the previous PocketBeagle article will work on BeagleBone Blue and Black.

Notice that the Black has a micro-HDMI connector so it can easily connect to a TV or monitor.

Now that we can see the hardware for these two boards, let’s look at installing an Operating System on them. Since I covered Debian on the PocketBeagle we can look at Ubuntu 18.04 for the Blue and Black boards.

Ubuntu

The version we will install is Ubuntu 18.04.2. You will need to open a Terminal and switch to the folder where you want to save the image file. Once you are in the correct directory you issue the following command:

wget https://rcn-ee.com/rootfs/2019-04-10/elinux/ubuntu-18.04.2-console-armhf-2019-04-10.tar.xz

Once the file has been downloaded you can issue the next two commands to
extract the image and move into the extracted folder:

tar xf ubuntu-18.04.2-console-armhf-2019-04-10.tar.xz
cd ubuntu-18.04.2-console-armhf-2019-04-10

At this point you need to connect the SD Card that you will be using to boot the BeagleBoard. Once inserted you need find the mount point for the SD Card, such as ‘/dev/sdb’.

Now you can issue the following command (change the mount from ‘sdb’
to what it is for your system):

sudo ./setup_sdcard.sh --mmc /dev/sdb --dtb beaglebone

The ‘dtb’ parameter allows you to specify the device board, which in this case is a ‘beaglebone’. This should work as easily for the PocketBeagle as well.

Once the process is completed you can unmount the SD Card, place it in the BeagleBoard you have and power it on.

Tether it to your system with a Micro-USB (BeagleBone Blue) or a mini-USB (BeagleBone Black). Use SSH to connect to the device using Remmina as instructed in the article PocketBeagle Single Board Review. Once
you have connected using SSH you can then bridge the USB OTG network through your Host system and let the BeagleBone device connect to the
Internet. Once bridged you can update the Ubuntu OS. Use the
following commands on the Host system:

sudo iptables --table nat --append POSTROUTING --out-interface wlo1 -j MASQUERADE
sudo iptables --append FORWARD --in-interface enx0479b7ecfaab -j ACCEP
T

In your SSH Terminal you need to issue the command:

sudo route add default gw 192.168.6.1

Finally you need to to edit ‘/etc/resolv.conf’ with Root privileges and add the line ‘nameserver 8.8.8.8’. At this point you should be able to access the Internet from Remmina and perform and update and upgrade:

sudo apt update
sudo apt upgrade


Next you can upgrade the kernel if you wish. The current version in the Ubuntu image is 4.14.108-ti-r104. At the time of this writing the current version is 4.14.108-ti-r122. You can perform the following in SSH to upgrade it as long as you are connected to the Internet through the bridge previously set up.

cd /opt/scripts/tools
sudo bash update_kernel.sh


If you issue the command ‘hostnamectl’ you can see that the active kernel is still the older one. To get the new kernel active you need to reboot ‘sudo reboot now’. Once restarted you can run the ‘sudo route add default gw 192.168.6.1’ and edit the ‘resolv.conf’ file to get the bridge reconnected. Issuing the command ‘hostnamectl’ should now show the newer kernel is active.

For the BeagleBone Black it can be connected to the network with an Ethernet cable. The BeagleBone Blue can have the Wi-Fi activated.

Wi-Fi on BeagleBone Blue

Tethering either BeagleBone board to a system makes it kind of inconvenient to continually run the necessary commands to create a bridge. The BeagleBone Black can easily be connected by an Ethernet cable to a network, but the Blue has a Wi-Fi adapter.

To activate the Wi-Fi adapter on our Ubuntu system we do this in the same way as a Debian OS. We edit the file ‘/etc/network/interfaces’. You can use the following command to edit the file from your SSH Terminal:

sudo nano /etc/network/interfaces

You need to find the lines as follows and uncomment them:

#connmanctl
#connmanctl> tether wifi off
#connmanctl> enable wifi
#connmanctl> scan wifi
#connmanctl> services
#connmanctl> agent on
#connmanctl> connect wifi_*_managed_psk
#connmanctl> quit


The second last line contains ‘wifi_*_managed_psk’ which needs to be replaced with your SSID PSK name. To get the SSID PSK name you can run the commands:

connmanctl
enable wifi
scan wifi
services
agent on
connect (paste SSID PSK)
quit


NOTE: After the ‘connect’ command you should be prompted for the Wi-Fi password if there is one.

The command ‘services’ should list the SSID network names along with the PSK name. Highlight and copy the PSK name to paste in the place of ‘wifi_*_managed_pski’. Save the file after you remove all of the hashtags (#) from the listed lines.

After you perform all of the above steps you should see a green light come on on the Blue board. The green light shows that Wi-Fi has been activated.

If your Wi-Fi network is controlled by DHCP then we will need to determine the IP Address so we can SSH back into the board. I will cover how to do this in the next section after the board has been flashed.

Now we need to write the files to eMMC so the SD Card is not needed at boot.

EMMC

The EMMC is a flashable storage space for using to boot the BeagleBone board. Looking at the above specs both the Blue and Black boards have a 4 GB EMMC.

Now that your OS is up to date it is ready to be flashed for booting.

NOTE: Keep the SD Card to be used for updating the EMMC if it should be corrupted. You can update files on the EMMC without flashing the whole thing from the SD Card.

Perform the following two commands in Remmina:

cd /boot
sudo nano uEnv.txt


While editing the ‘uEnv.txt’ file you need to remove the ‘#’ from the last line so it looks like:

cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Save the file and reboot. Once restarted the OS should automatically start to flash the EMMC with the files on the SD Card.

After rebooting the ‘heartbeat’ should be noticeable. After the OS gets to the point that it is ready to start the flash the heartbeat will stop. The lights should starts coming on and going off in an alternating pattern bouncing back and forth.

The flashing process can take as long as 30 minutes depending on the amount of files to be copied. Let the board continue to perform the flashing until the lights power off. Now you can remove the SD card and boot without it. Remove the USB cable and reattach it to let the Beagle Bone board boot.

NOTE: If you want to boot from the SD Card again you need to comment the line ‘cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh’ in the ‘uEnv.txt’ file.

Keep in mind that after the reboot the file ‘/etc/resolv.conf’ will be deleted and will not exist on the EMMC. If you want to connect to the Internet through the tether you will have to recreate it.

Hopefully the board has booted and the green light is on to show the Wi-Fi is active.

Now to SSH to it you need its IP Address (especially if you have used a separate power cord and not tether it to another system).

I could easily check my DHCP Device and find the assigned IP Address to the BeagleBone Blue. In some situations this is not an easy task if you do not have access to a DHCP Server or Router to check it. To do this from another system you need the IP Address range you want to check. My Wi-Fi network starts at 192.168.0.1 and ends at 192.168.0.254. I can remove 192.168.0.1 since it is my Gateway and not the BeagleBone Blue board. So we will scan the network from 192.168.0.2-192.168.0.254 or for the command it is 192.168.0.2-254. The command is as follows and you can replace the network range with the one for your network:

sudo nmap -sP 192.168.0.2-254

The response should include three lines for each device on your network. The first line will include the IP Address. The second line shows if the device (Host) is on as well as the latency between you and it. The third line is the MAC Address and the manufacturer. A sample output as follows:

Nmap scan report for 192.168.0.26
Host is up (0.071s latency).
MAC Address: E0:E5:CF:8A:BB:0A (Texas Instruments)


The giveaway here is that the manufacturer is Texas Instruments. If you have multiple Texas Instrument devices show up then you may have to SSH into each of them and determine which is correct.

NOTE: The command can also help you find the Beagle Black IP Address as well.

Now I can SSH into the device at 192.168.0.26 and perform any tasks I want on the BeagleBone Blue (or Black) remotely.

This should get you started with the BeagleBone Blue and Black. You can look over the PocketBeagle article and install a GUI so you can RDP into it (if you want the BeagleBone Black does not have to be headless but can have a monitor).
 



Members online


Top