Skip to content

BeagleBone Installation (Debian Linux)

PuTTY (Current BBB Info for Ozone Project)

debian@192.168.7.2
BBB via SSH Password: “ozone67
BeagleBoard.org Debian Trixie Base Image 2025-10-29
BeagleBone Black Debian 13.1 2025-10-29 IoT (v6.17.x)

BeagleBone Software & Common Error Info Fixes

Start Here: BBB Instructions

README.md
428 B

Specific Board:

BeagleBone Black

Reading Software

Software Image: (Latest)


image.png

Installation Steps: How-to Guide for setting up a Beaglebone Black (BBB) for a CES instrument

Introduction

The CES instruments developed at NOAA CSL use the Beaglebone Black to control the electronics, save data, and communicate with the user. The BBB was originally selected in ~2020 over something like a Raspberry Pi because it had been previously used effectively in the NOAA POPS instrument development, and it was just easier to copy them. However, in retrospect, it also does have a lot more I/O ports than a Pi, as well as some other benefits, so we will likely keep using it, despite the smaller online community than the Pi.
The original mACES used a BBB with Debian 10 Linux and some custom code written in C. It was not especially robust, and so in 2025, we have been attempting to improve the code, with the first step being to update to the latest Linux kernel (Debian 13). There are a number of substantial changes that have occurred between Debian 10 and Debian 13, some of which have completely invalidated the Getting Started instructions on Beaglebone’s own website (!!), as well as many online help forums from before ~2023. Therefore, this document serves as a record of the optimized method for setting up a BBB for CES instruments.

4 Major Steps

Install the latest Debian OS
Install additional software needed for the CES instrument
Install additional python libraries needed for the CES instrument
Configure the BBB with certain overlays and autostart scripts

Require Items/Equipment

A BeagleBone Black
A USB-to-miniUSB cable, which should have come with in the BBB box. (Yes, a miniUSB cable, not a microUSB or a USB-C cable!)
An ethernet cord, and access to an ethernet plug (i.e. your router)
A microSD card with at least 8 GB storage
If you don’t have a microSD card slot on your computer, you will need an adapter. Something like this would probably work.

Step #1: Install the Latest Debian OS

Download the latest image by going here and choosing Beaglebone Black from the dropdown menu labeled Filter Software Distribution.
At the time of this writing, the latest version was BeagleBone Black Debian 13.1 2025-10-29 IoT (v6.17.x). It’s a lightweight Linux distribution that doesn’t provide a GUI, which is fine with us.
Download the image to your computer.
Install the free program on your computer (or use another similar program if you prefer).
Insert the microSD (via an adapter, if necessary) into your computer.
Open balenaEtcher, select the image file you downloaded, and choose the microSD as the location to write the image. Click “Flash!” and wait until it finishes.
Remove the microSD card from your computer, and insert into the microSD card slot on the BBB. Do not power the BBB on yet!
image.png
While holding down the BOOT button (see picture above), apply power
You can either do this with the 5V power jack, or just by connecting the USB-to-miniUSB to your computer via the USB Client port labeled above. (Don’t be tempted to use the port labeled USB Host yet. That’s for something else.)
The 4 blue LEDs will light up and stay solid. KEEP HOLDING THE BOOT BUTTON! Don’t release it until the 4 blue LEDs start blinking, which takes about 10 seconds or so. Then you can release it. Wait about few minutes.
The lights will turn off, then all four light up again during this period. Don’t panic, this is fine. You don’t need to be holding the BOOT button for that step.
Screenshot 2025-11-20 123703.png
Fig. 1: PuTTY opening warning
Connect to the BBB via SSH. It will ask for the password (BBBs ship with the default password “temppwd”, but will ask you to change the password immediately).
Confirm that you have successfully booted Debian 13 off the microSD card by typing “cat /etc/dogtag” and you should see something that matches the image you downloaded: BeagleBoard.org Debian Trixie Base Image 2025-10-29
Screenshot 2025-12-03 173235.png
Fig. 2: "cat /etc/dogtag"
Now you need to flash this version to the eMMC (i.e. the onboard memory), so that in the future, you don’t need to boot off the microSD card each time. Navigate to the /boot directory “cd /boot” and open up the uEnv.txt file with visudo vi uEnv.txt”. Scroll down to the very last two lines, which should be something like this:
Screenshot 2025-12-03 173735.png
Fig. 3: "sudo vi uEnv.txt"
Uncomment the Last Line:
Screenshot 2025-12-03 173549.png
Fig. 4: Uncommented last line
Save the file (type “:wq” and hit enter, if you are not familiar with vi)
Turn off the BBB (“sudo shutdown -h now”, followed by the new created password) and wait until the all the lights turn off. Do not remove the microSD card.
Screenshot 2025-12-03 173735.png
Fig. 5: "sudo shutdown -h now (password)
Now you need to boot off the microSD card one more time, so that this time it copies to the eMMC, as we instructed it to do when we changed the uEnv file. Repeat the step starting with “While holding down the BOOT button…”
In this case, your USB cable is still probably plugged in, so you can power up by pressing the POWER button (see picture) rather than unplugging and replugging the cable. You only have two hands, after all.
Unlike last time, the LEDs will soon enter a sequential siren-like pattern (left-to-right-to-left etc). This is a sign that the flashing to the eMMC is working correctly. Wait for this to finish. (It may take more than 15 minutes) The BBB will turn off when it is done and all the lights will be off.
Now, remove the microSD from the BBB. Start up the BBB again with the power button. Now you do NOT need to hold down the BOOT button, and won’t need the BOOT button again!
After it starts up, connect via SSH again, and read the dogtag again (BeagleBoard.org Debian Trixie Base Image 2025-10-29) to confirm the correct version is loaded. If so, you have successfully installed the latest Debian OS, and we are on to part 2.

Step #2: Install additional software needed for the CES instrument

Connect to your BBB via SSH
Connect your ethernet cable from the BBB to your ethernet port or router and confirm your internet is working (i.e. type “ping google.com” in the terminal and you should get a response back)
Screenshot 2025-11-25 191636.png
Fig. 6: "ping google.com"
First, check for any updates to the BBB that have been released since the Debian image was release (Oct. 29th, 2025, in this example). Typesudo apt update” and wait for it to give you a list of upgrades available. Then typesudo apt upgrade” to actually install them. Follow the prompts!
Screenshot 2025-11-25 191636.png
Fig. 7: "sudo apt update"
Screenshot 2025-12-04 113105.png
Fig. 8: "sudo apt upgrade"
Screenshot 2025-12-04 113332.png
Fig. 9: Package configuration: Select "UTF-8"
Screenshot 2025-12-04 113423.png
Fig. 10: Package configuration: Select "Guess optimal character set"
Screenshot 2025-12-04 113708.png
Fig. 11: Download Progress Bar
Screenshot 2025-12-04 114019.png
Fig. 12: Download Complete
Now let’s install vim: sudo apt install vim
Screenshot 2025-12-04 114053.png
Fig. 13: "sudo apt install vim"
Screenshot 2025-12-04 114125.png
Fig. 14: Download Progress Bar
Screenshot 2025-12-04 114234.png
Fig. 15: Download Complete
Now you can use arrow keys within vim to your heart’s delight.
Next is installing the updated python virtual environment software, which you can read more about here : Typesudo apt install python3.13-venv
Screenshot 2025-12-04 114350.png
Fig. 16: "sudo apt install python3.13-venv"
Screenshot 2025-12-04 114431.png
Fig. 17: Download Complete
Next is installing libopenblas-dev, which you’ll need for the spectrometer to open: “sudo apt install libopenblas-dev
Screenshot 2025-12-04 114529.png
Fig. 18: "sudo apt install libonpenblas-dev"
Screenshot 2025-12-04 114545.png
Fig. 19: Download Progress Bar
Screenshot 2025-12-04 114600.png
Fig. 20: Download Complete
WILL FILL THIS IN MORE LATER

Step #3: Install additional python libraries needed for the CES instrument

You now need to create a python virtual environment in the home folder. Navigate to, by typing, “/home/debian” and typepython -m venv .CES-env”. It takes about 30 seconds to do it.
Screenshot 2025-12-04 114902.png
Fig. 21: "/home/debian" & "python -m venv .CES-env"
Typesource .CES-env/bin/activate” and then your command line should look like this: (.CES-env) debian@BeagleBone:~$
Screenshot 2025-12-04 114902.png
Fig. 22: "source .CES-env/bin/activate"
Install numpy: “pip install numpy
Screenshot 2025-12-04 115030.png
Fig. 23: "pip install numpy"
Install seabreeze: “pip install seabreeze[pyseabreeze]
Screenshot 2025-12-04 115142.png
Fig. 24: "pip install seabreeze[pyseabreeze]"
Then you need to run its extra installation script: typeseabreeze_os_setup” and type “y” when it asks you if it can install 10.oceanoptics.rules.
Screenshot 2025-12-04 115259.png
Fig. 25: "seabreeze_os_setup"
Screenshot 2025-12-04 115321.png
Fig. 26: "y"
Install gpiod: “pip install gpiod
Screenshot 2025-12-04 115423.png
Fig. 27: "pip install gpiod"
WILL FILL THIS IN MORE LATER

Step #4: Configure the BBB with certain overlays and autostart scripts

Go back to the /boot folder and open the uEnv file again (sudo vi uEnv.txt)
Screenshot 2025-12-04 120907.png
Fig. 28: "sudo vi uEnv.txt"
Uncomment the line that says: “#enable_uboot_overlays=1” by removing the “#” sign
Screenshot 2025-12-04 121456.png
Fig. 29: "#enable_uboot_overlays=1"
A few lines below that, you’ll see the following text:
Uncomment the first two by removing the “#” and add the following dtbo file namesBB-UART1-00A0” & “BB-UART2-00A0”, which will enable the uart ports we need. (They are already installed, the BBB just needs to know to read them)
Then scroll further down to where you see this text:
Remove the “#” signs in front of the 2nd, 3rd, and 4th lines (disable the video, audio, and wireless, because we need those ports for other things)
Screenshot 2025-12-04 122321.png
Fig. 30: "/boot" drive complete changes
Save the file and reboot by typing sudo reboot
THERE WILL BE MORE HERE LATER


Load content from 1drv.ms?
Loading external content may reveal information to 3rd parties. Learn more
Allow
Load content from python-seabreeze.readthedocs.io?
Loading external content may reveal information to 3rd parties. Learn more
Allow
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.