Once you have updated to the latest debian, you will want to get your Beaglebone to operate without a keyboard and monitor. This is called ‘headless operation’ and it is used by many embedded systems.

On a macOS system, connect the Beaglebone to the computer using the supplied micro-USB to USB cable. Connect a wireless dongle to the regular USB port on the Beaglebone. Restart the Beaglebone. (NOTE: a picture might be helpful here.)

Open a terminal on the macOS system, and locate the Beaglebone using the command “ls /dev | grep BBB“.

Access the Beaglebone from the terminal by typing “screen /dev/cu.usbmodemxxxxBBBKyyyyy” where xxxx and yyyyy are strings of numbers from the earlier step. Login using the debian:temppwd credentials.

On the Beaglebone in the screen, things will look just like the macOS terminal (which is why I like the macOS system). Type “sudo connmanctl” to open the connection manager program. You will be prompted for administrator credentials (debian: temppwd).

Inside the connman prompt, type “connmanctl>scan wifi“. Shortly, the system will respond “scan completed.”

Inside the connman prompt, type “connmanctl>services“. The system will respond with the available wifi services. You should see one or more devices from your wireless internet, such as wifi_long_number_managed_psk.

Inside the connman prompt, type “connmanctl>agent on“. The system will respond “agent on.” The agent will allow you to send your wireless network’s credentials to log into the wireless network.

Inside the connman prompt, type “connmanctl>connect wifi_long_number_managed_psk“. The system will respond with “passphrase?” Type your wireless network’s password. After a bit, the system will respond, “connected wifi_long_number_managed_psk”.

Your Beaglebone will now connect to your wireless internet whenever you boot it up.

In order to get into your Beaglebone from the wireless network, you need to know it’s identity (IP address). By default, you are probably using DHCP, which means that your wireless network will assign the IP address whenever the Beaglebone connects.

Type “connmanctl> config wifi_long_number_managed_psk –ipv4 manual <ip> <nm> <gt>

where <ip> will be the manual IP address you want to assign (e.g.,, <nm> is the net mask (e.g., and <gt> is the gateway (e.g.

type “connmanctl> config wifi_long_number_managed_psk –nameservers <ns>” to add a name server. Either use the server for your ISP or use a public name server, like

To view what you’ve done, type connmanctl> services wifi_long_number_managed_psk

and you will see all the settings for this service.

Exit connman by typing “connmanctl> quit

These changes survive reboots.

If you want to cite your Beaglebone from the macOS computer by a name, rather than an IP address, create a config file.

You will first have to ssh to the Beaglebone by IP address. Open a terminal on the macOS computer, and type “ssh <ip> -l debian” where <ip> is the address you gave to the Beaglebone in the step above. You will be asked for the password (temppwd).

Logout of the Beaglebone (exit). When you talked to the Beaglebone through ssh, ssh created a directory under your home directory, called .ssh.

Change directory to the .ssh directory, by typing “chdir .ssh” and create a config file by typing “nano config“. Inside the nano window, add the lines:

Host Beagle1
 HostName <ip>
 User debian

Save (ctrl-o) and exit (ctrl-x). You can now ssh to the Beaglebone using ssh Beagle1 and entering debian’s password (temppwd). If you want a user other than debian, enter that next to User in the config file. If you want a hostname other than Beagle1, enter that in the config file.

If you have multiple Beaglebone devices, you can have multiple hosts in the config file.