Flash your BeagleBone Black Wireless with Ubuntu 18.04 and don’t worry about changing the OS for at least next several years. This long-term-support (LTS) Ubuntu version enables you to install LTS versions of several software, for example, robotics middle-ware ROS.
In this post, let’s go over step-by-step instructions to flash the new BeagleBone Black Wireless eMMC with Ubuntu 18.04 LTS and enable on-board Wi-Fi. The instructions are easy to follow even for those just getting started with BBB.
Please leave any questions or feedback in the comments section.
Required Hardware
- BeagleBone Black Wireless
- 5V/2A DC power adapter
- MicroSD Card (with adaptor) of capacity 2 GB or more
- FTDI USB to Serial Cable
- Ubuntu/Windows PC
Required Software
- Install Etcher on your PC.
Prepare microSD Card
Connect microSD card to the PC. Use SD card adapter if your PC has a SD card slot. Or, use USB SD card adapter to plug it into one of the USB slots. Either way works fine. Download and save the pre-built Ubuntu 18.04 LTS image from elinux.org to your PC. Open Etcher and select the downloaded BBB image file with extension .img.xz.
Select the drive that represents your SD card or USB SD card adapter. In Ubuntu terminal, do ls /dev/ to note the inserted device name. In my case, it was /dev/sdb. On a Windows, a new drive will appear in My Computer.

Be sure to select the correct drive. Choosing a wrong drive may wipe out even your hard drive. Hit Flash!

Eject SD card once Etcher finishes flashing. Now, SD card is ready for the next step.
Flash BeagleBone Black eMMC
With BBB powered off, insert micro SD card into its slot. The slot for microSD is beneath the board on the opposite end of Ethernet connector.
Insert USB-Serial cable into the J1 Serial Debug header as show in the video. Connect other end of the cable to a free USB slot of the PC.
WARNING !!
Remove all the capes and use a fully charged power supply or ac adapter. Don’t power it on yet!
Setup the serial program (screen) on the PC. This shows progress messages coming from BBB serial debug header.
Press & hold the boot select button (S2) and apply power. Once powered on, release the button.
Boot messages should appear on the PC serial terminal. There is also a visual sign on BBB indicating flashing procedure in progress. 4 User LEDs (D2-D5) next to the Ethernet jack will show a Cyclone-Sweep pattern (see video). Once the flashing process is complete the board is powered down.
Boot from eMMC
Manually remove power if BBB is not powered-down at the end of above procedure. Remove microSD card from its slot. Keep Serial Debug header connected so you can see boot messages. Finally, power on the board by pressing POWER button .
Voila! BBB boots Ubuntu 18.04 from eMMC.
Enabling Wi-Fi
Wi-Fi might be enabled by default with some Linux images. However, you can use connmanctl
utility to enable it manually.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | ubuntu@arm:~$ sudo connmanctl [sudo] password for ubuntu: Error getting VPN connections: The name net.connman.vpn was not provided by any connmanctl> enable wifi Error wifi: Already enabled connmanctl> scan wifi Scan completed for wifi connmanctl> services WIFIEB6EC7 wifi_38d269d11b40_57494649454236454337_managed_psk Divya 213 2.4G wifi_38d269d11b40_44697679612032313320322e3447_managed_psk Beatles wifi_38d269d11b40_426561746c6573_managed_psk DIRECT-cR[TV]Time killer wifi_38d269d11b40_4449524543542d63525b54565d54696d65206b696c6c6572_managed_psk MySpectrumWiFi30-2G wifi_38d269d11b40_4d79537065637472756d5769466933302d3247_managed_psk ATTipFFrCI wifi_38d269d11b40_41545469704646724349_managed_psk connmanctl> agent on Agent registered // Connect to your Wi-Fi hotspot connmanctl> connect wifi_38d269d11b40_44697679612032313320322e3447_managed_psk Passphrase? xxxxxxxx connected wifi_38d269d11b40_44697679612032313320322e3447_managed_psk connmanctl> quit // Find out IP address of BeagleBone Black Wireless ubuntu@arm:~$ ifconfig wlan0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500 inet *192.168.1.16* netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::3ad2:69ff:fed1:1b40 prefixlen 64 scopeid 0x20<link> ether 38:d2:69:d1:1b:40 txqueuelen 1000 (Ethernet) RX packets 38 bytes 4684 (4.6 KB) RX errors 0 dropped 6 overruns 0 frame 0 TX packets 56 bytes 8886 (8.8 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 // Ping Google to confirm connection ubuntu@arm:~$ ping www.google.com PING www.google.com (216.58.219.4) 56(84) bytes of data. 64 bytes from lax17s03-in-f4.1e100.net (216.58.219.4): icmp_seq=1 ttl=53 time=26.5 ms 64 bytes from lax17s03-in-f4.1e100.net (216.58.219.4): icmp_seq=2 ttl=53 time=37.2 ms 64 bytes from lax17s03-in-f4.1e100.net (216.58.219.4): icmp_seq=3 ttl=53 time=25.2 ms --- www.google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 25.218/29.658/37.205/5.365 ms |
References
- How to flash BeagleBone Black eMMC with Ubuntu 16.04 – Kiran Palla
- BeagleBoardUbuntu – eLinux.org
- How to Setup WiFi on the BeagleBone Black Wireless – DigiKey Maker.io