BeagleBone Black Wireless

BeagleBone Black Wireless is a community-supported development platform for developers and hobbyists. This version replaces the 10/100 Ethernet port with WiFi and Bluetooth.

The BeagleBone Black Wireless features:

  • Octavo Systems OSD3358 1GHz ARM Cortex-A8
  • 2x 200MHz ARM7 programmable real-time coprocessors
  • 512-MB DDR3L RAM
  • 4GB eMMC
  • PowerVR SGX 530 GPU, LCD expansion header, micro HDMI
  • Stereo audio-out via HDMI
  • 1x USB 2.0 host port
  • 1x USB 2.0 device port
  • 802.11b/g/n and Bluetooth 4.1 plus BLE
  • MicroSD slot
  • Add-on "capes" for expansion, compatible with original Bone capes
  • 1 power LED and 4 user controllable LEDs via GPIO
  • Industry standard 3.3V I/Os on the expansion headers with easy-to-use 0.1" spacing
  • Multiple I/O bus: GPMC (nand), MMC, SPI, I2C, CAN, McASP, MMC, 4 Timers, XDMA interrupt
  • 5 serial ports (1 via debug header, 4 more on side headers)
  • 65 GPIO pins
  • 8 PWM outputs
  • 7 12-bit A/D converters (1.8V max)
  • Board size: 3.4" x 2.1"
ARMv7 Cortex-A8
OSD3358 1.0GHz
Micro SD
B/G/N, Bluetooth
  • The installation process consists of creating a micro SD card from which to boot into Arch Linux ARM, then installing to eMMC if you choose to.
  • In order to boot to SD, you must hold down the switch on the top of the board near the micro SD slot as you apply power. This will tell the board to boot from SD first instead of eMMC, and it will remember this until you remove power so future reboots will always boot from SD.
  • The BeagleBone Black Wireless can draw more than 500mA through the micro-USB port, particularly when using an SD card. For this reason, we recommend using a USB charger that can supply more than this as opposed to a port on a computer.

SD Card Creation

Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.

  1. Zero the beginning of the SD card:
    dd if=/dev/zero of=/dev/sdX bs=1M count=8
  2. Start fdisk to partition the SD card:
    fdisk /dev/sdX
  3. At the fdisk prompt, delete old partitions and create a new one:
    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Now type n, then p for primary, 1 for the first partition on the drive, 2048 for the first sector, and then press ENTER to accept the default last sector.
    4. Write the partition table and exit by typing w.
  4. Create the ext4 filesystem:
    mkfs.ext4 /dev/sdX1
  5. Mount the filesystem:
    mkdir mnt
    mount /dev/sdX1 mnt
  6. Download and extract the root filesystem:
    bsdtar -xpf ArchLinuxARM-am33x-latest.tar.gz -C mnt
  7. Install the U-Boot bootloader:
    dd if=mnt/boot/MLO of=/dev/sdX count=1 seek=1 conv=notrunc bs=128k
    dd if=mnt/boot/u-boot.img of=/dev/sdX count=2 seek=1 conv=notrunc bs=384k
    umount mnt
  8. Insert the SD card into the BeagleBone and apply 5V power while holding down the switch on the top of the board near the micro SD slot.
  9. Use the serial console or SSH to the IP address given to the board by your router with a USB ethernet adapter.
    • The wifi-menu utility can be used to establish an initial wireless connection.
    • Login as the default user alarm with the password alarm.
    • The default root password is root.
  10. Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
    pacman-key --init
    pacman-key --populate archlinuxarm

Installing to eMMC

  1. After booting into Arch Linux ARM, follow the above steps 1 through 7 using the device /dev/mmcblk1.
  2. Power down the system, waiting until all the LEDs go out:
  3. Remove power, remove the micro SD card, then reapply power. The system will boot into eMMC. If an SD card created with the above steps is still in the system when it boots, it will boot to the SD card instead of eMMC.
  4. To use the micro SD slot for general storage, simply partition and format the device as a normal drive. Also note that the card must be inserted at boot for it to be recognized.

USB network interface

In order use the USB network interface you need to load the USB gadget kernel module:

sudo modprobe g_ether

Or, if you want to load this module every time you boot:

echo g_ether > /etc/modules-load.d/g_ether.conf

Then, the interface should be visible as usb0.


There is an extensive BeagleBone IO python library from Adafruit.

Copyright ©2009-2022 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.