Beaglebone Black

Beaglebone Black
The Beaglebone Black

This series of lessons will show you how to get up and running on the Beaglebone Black. An advantage of the Beaglebone Black over the Raspberry Pi is that it has analog input capability, which the Pi does not. The Beaglebone has a much smaller and less active user community, so it is harder to find examples and information for this platform. So, we will put together a series of lessons that will show you how to use this board in your projects. Our basic approach will be to do our programs, and control the pins using Python. In this way you can take advantage of the things you learned in our earlier series of tutorials. If you are going through these lessons with us, you can pick up your Beaglebone HERE.

Beaglebone Black LESSON 1: Understanding the Pinout on the Beaglebone.

Beaglebone Black LESSON 2: Getting Started with the Beaglebone Black. We will show you how to boot and connect your device, and then how to login via Putty, or run a remote desktop using tightVNC.

Beaglebone Black LESSON 3: In this lesson we show you how to edit and run a simple Python program on your Beaglebone Black. In this series of lessons we will be controlling the GPIO pins from Python, so you need to know how to open, edit, and run python programs.

Beaglebone Black LESSON 4: In this lesson we learn how to do digital writes to the GPIO pins from Python.

Beaglebone Black LESSON 5: In this lesson we learn how to blink LED from the GPIO pins using Python.

Beaglebone Black LESSON 6: In this lesson we learn how to get PWM signals on the output pins using Python. This allows simulation of Analog Voltages.

Beaglebone Black LESSON 7: This tutorial shows you how to control the brightness of LED using the PWM command in Python.

Beaglebone Black LESSON 8: This tutorial shows you how to read the state of push buttons using Python. We will be using an external pulldown resistor, and will be using digital reads.

Beaglebone Black LESSON 9: This tutorial shows you how to read analog values using the Analog In pins on the Beaglebone Black.

Beaglebone Black LESSON 10: This tutorial creates a dimable LED. We do analog reads from a potentiometer and then use those values to smoothly dim and brighten an LED.

Beaglebone Black LESSON 11: This lesson creates a dimable LED that is controlled by two digital push buttons.

Beaglebone Black LESSON 12: This lesson shows how to precisely control the position of a servo using PWM in Python.

Beaglebone Black GPS Tracker Project:

Beaglebone Black GPS Tracker LESSON 1: This lesson gets the GPS hooked up, and streaming data to the Beaglebone Black. Python is run on the Beaglebone to read and interpret the data.

Beaglebone Black GPS Tracker LESSON 2: This lesson shows how to send commands to the Adafruit Ultimate GPS to set baud rate, which MNEA sentences are reported, and how often data is taken and sent.

Beaglebone Black GPS Tracker LESSON 3: This lesson shows how to parse the NMEA sentences coming off the Adafruit Ultimate GPS into useful and readable data for latitude, longitude, velocity, altitude, time and number of satellites being tracked.

Beaglebone Black GPS Tracker LESSON 4: This lesson shows a quick and easy way to transfer files between the Beaglebone Black and a PC.

Beaglebone Black GPS Tracker LESSON 5: This lesson shows you how to display your GPS data on Google Earth by creating a KMZ file formatted properly for Google Earth.

46 thoughts on “Beaglebone Black”

  1. Hello,
    thanks for doing these lessons on BBB. Yes it seems to be slightly superior to the pi, but a lot more work to set it up. And unfortunately it seems to work only with python 2.7.
    Do you use Debian or Angstrom ? Should i flash to get Debian installed?
    I cannot wait to get started!

    1. I am using Desbian, which is what is shipping with the BBB right now. I think Debian is worth the upgrade if you do not have it. So far, I have been pretty impressed with BBB. Hope you will follow along with the lessons

  2. Hi Paul,

    Thanks for these tutorials. Really cool stuff.
    I am using python on angstrom as i had no success trying to flash Debian, but that still works well.

    Having a ball with that BBB , thanks to you!

    1. I’d really like to see this too !
      I’m currently finding using I2C on the BBB really difficult so if you could make a one-off add on the the series I think it’d help a lot of people 🙂

      PS; cannot thank you enough for this whole series :), it has quite literally changed the course of my life. THANK YOU

  3. Hello
    I wonder if that you have some tutorial or example to explain how to work with CAN BUS protocol for example with a MAX13041 or other driver, making use of libraries.
    grateful for your tutorials are very helpful.


  4. Hi Paul,
    I loved your tutorials on the BBB. I wanted to know wether it is possible to interface a high speed adc to the BBB? I am making a high speed data acquisition system as a project. Any suggestion from your side would be very useful. Thanks

    1. I would like to find out how things went in making a high speed data acquisition system. Can you share your experience and results?

  5. Hi Mr. Mcwhorter.
    It would be very interesting to see how to connect the BBB to an Arduino Yun through an IP network using an API that both supports. Is it possible to do it via REST?
    Thanks for all your lessons!

  6. Hey paul ,
    Thanks for your tutorial it is realy helpfull.
    Do you recomend to work with “Bonescript” on the BBB? or do you think linux is better?
    I’m trying to work with BBB on LCD touch screen and I have no idea how to start with it or what should I do with it as an project in my college and also I just recently bought my BBB so does the library of Debian should be installed already?
    cause I tried to install but I failled.

    Thanks you very much and please answer to em back :]

  7. Hello,
    I am high school student and I have question how can i make this program like this?
    Write a program for Arduino that has the following functionality based on input in the Arduino terminal:
    When ‘a’ is entered the Arduino should print out the number of characters in “Hello there!” (defined as a global variable)
    When ‘b’ is entered the Arduino prints the number of milliseconds since the last time ‘a’ was called
    When ‘c’ is entered the Arduino prints the value of a sensor connected to A0 mapped to 0-100, it continues to do this while the sensor value is below/above x ( depending on sensor type).
    Use a switch case structure to determine functionality

  8. Just wanted to say thanks for the lessons.
    I have got more out of my BBB following these lessons than anything else on the net.
    Servo lesson 12 was great fun got that working great and fixed the servo up to some of my sons leggo to get it moving something.
    Thanks again
    Jamie uk

  9. Excellent tutorials. I have all the boards you go over here, but was REALLY grateful to find this when I decided to try a Beaglebone green for the first time today.

  10. Hey! Greetings from Mexico.
    Thanks for posting these BBB tutorials! It really helped me get started on using the board and understand it a little better. I’m not to savvy when it comes to hardware/electronics because my specialty is in software (I’m still a student) but these tutorials helped me big time! Thanks for everything Paul!

  11. Paul,
    Your teaching style is amazing. I love the tutorials! I’m sure you are a great teacher in school as well. Its rare to find a teacher that can get thier students to engage in lessons and want to learn. There is hope for our future yet.

    Thanks for all the efforts.

  12. Dear Paul,

    your communication skills are excellent, thanks for sharing details of your fascinating project. I was wondering, how do you track real time where the balloon is in space? How do you know where to find the balloon when it lands on the ground after its mission? I suspect there should be a way for the electronics to communicate home the coordinates in real time (at least when the balloon is close to earth). I guess the quick, dirty, and not so exciting solution would be to place a mobile phone on the balloon and track its position through one out of many track locations apps. But, I was aiming to know of a simple device able to communicate home the coordinate data without the aid of a smartphone. Maybe just a dying internet to 3G-USB stick, the coordinate data can be uploaded on a website, and used for real time analysis. Then, the question is: how to bring internet on board? Do you think a 3G-USB stick can do the job? I found this very interesting article on a blog:
    [link removed]
    Did you try using any 3G-USB stick on a beaglebone black (or on a arduino, or on a raspberry pi)? Any specific opinion?


    1. Yes, the object is to have live telemetry, or live streaming of the data back. I believe it is against the law to fly a phone on a balloon. We use ubiquite radios, and high gain antenna on the ground. Be very careful to ensure you are compliant with all FCC and FAA laws. Lots of ways to get in trouble.

      1. Dear Paul,
        Thanks for the quick reply! Ubiquiti radios and high gain antenna sounds like a brilliant idea, thanks for sharing! And also thanks for raising the regulation concern. Tho – I was just asking out of curiosity, I’m not even sure I will ever implement such a thing. While I am here, I have another curiosity about the camera you guys use, is it a regular camera sensor, or you guys are using (or considering using) other sensors for detecting other electromagnetic frequencies up there?!? Did you guys try infrared sensors? I was wondering how the dark side of the moon would look like pictured by ultraviolet/infrared sensors! Anyway, you guys keep up the good&inspiring work!


        1. Yes the Ubiquiti radios work well at 2.4 GHz, but to use High Gain antenna, you need a HAM license. It is very easy to get in trouble with FCC, so knowing the rules is important.

          We are using a GoPro camera, and then also using a camera module on the Raspberry Pi. We have a FLIR camera chip, but have not flown it yet. We have a radiation detector and hope to fly it one day.

  13. Dear Paul,

    We have a small project that we need to acquire an analog signal that has a frequency of about 200 kHz (from a photodetector+amplification), and then do some signal processing on it (preferably in Python). What board do you recommend for this? It seems Arduino has a low sampling rate, and I’m not sure about Beaglebone.

  14. Hi Paul,

    Thank you for this tutorials, you are awesome.

    I was wondering if you could orient me on how to read the PPM signal from a RC Transmitter using BBB? I know that it uses interrupts and timers but I don’t know how to.

    I’m based on this way of reading RC Transmitter, where you can read all the channels in one pin.

  15. thank you sir
    can i use beaglebone for industrial purpose??
    i want it to be turn on for years without restarting or shutting it down…

  16. Howdy,
    I love your videos, you have been an inspiration. I recently bought an RPi and a BBB to master. Do you have plans to do an I2C, SPI, or UART tutorial for the BBB, I am trying to make a mini weather station for fun, and incorporating some of the sensors and their protocols have been challenging. Or any sources you may use.

    1. I hope to make some videos this summer. Right now teaching school keeps me busy, but hopefully will find time this summer.

      1. Hello Mr McWhorter,
        Thanks for your tutorials, I’ve learnt so much in the last week with Arduino, R-Pi, & BBB, and am looking forward to your next ones in the summer. Best wishes from UK.

  17. Hi,
    i am using beaglebone black for my project, i need to save sampled values to a file. can you please help me with file operations.
    thank you,
    Sharmila K

  18. I like your BBB tutorial videos a lot… And they just e**awesome. I never had my hands on hands on any hardware coding.. But the way you explain… I just felt I knew much of python, whereas I just did coding in C++ and VB and never touched python. I struggled a few days to get tutorials for BBB and python.

    I would suggest every begginer to go through your videos.

    I have one request for you Paul, and would like to see more tutorials on interfacing BBB with other sensors accelerometer, gyroscope, compass, temperature sensors, humidity, camera, telemetry etc..

    My view for BBB was “that’s not my cup of tea”, which completely changed after watching your tutorial videos and now is like “I wanna learn still more!!”. Thanks a lot Paul for your work.

  19. Hey! I m glad to find these videos but i wanted to know about BBB and QNX neutrino RTOS . Help for this combination is hard to find.Can you put some videos on this combo

  20. i am not familiar with python programming..I am using C project for debugging adc project into beaglebone. Could you please suggest me suitable C code for reading analog values from internal adc of beaglebone black( sitara AM3358 processor)

  21. Any I2C bus interface project with beagle bone black like VEML6070 or Si1145 of Adafruit? I have here a Beaglebone black wireless. how to enable its bluetooth? please make a tutorial of that.

  22. Hello Paul,
    i found your video tutorials on beagle bone black extremely helpful for my current project, it would be very helpful if i could extract a little information out of you regarding the M2M cape for beaglebone black and its interfacing.
    Thank You.

  23. hello sir,
    i never worked earlier in any boards like arduino, raspberry pi and beagle board. the past three months i working on beagle bone black, your videos is the only guide for me . the way you presenting the videos is very helpful to understand the concepts easily.
    thank u so much sir.

  24. hello sir,

    In arduino tutorials u experimented bmp085 sensor connection and working conditions. i have a doubt in that, is it possible to connect bmp085 sensor in beagle bone black???

  25. Hi Mr. McWhorter,
    Thank you for posting this lesson. I am a complete newbie, but eager to get started. Based on your exceptional communication skills and helpful visuals in this lesson alone, I feel confident that I would be able to buy all the supplies and follow your instructions to project completion. However, before I do that, can you tell me, at the end of lesson 5, when I am finished, how big will the device be and could it be worn while playing a sport such as softball, soccer, etc.? The end goal is to track our player movements in the field with date and time stamps plus gps coordinates for later analysis. All the parts and pieces shown in the video look a little big and fragile to be worn on the body, but I have yet to see or hold any of it in person so maybe I don’t fully understand. Thank you kindly. It’s refreshing to find someone who presents information of interest to me in such a way that is encouraging and inviting!

  26. Hi i am started to work with BeagleBone Black using python program. As per lesson 2 tutorial video i downloaded and installed TightVNC Viewer program. but when i am opening tightVNC viewier, in that i am not able get LX terminal option. please help me how to get that.

  27. Hi Mr. McWhorter,
    I got same problem as Yuvaraj too. I can not get LX terminal on pc’s TightVNC Viewer at the lower left corner.
    I notice what I downloaded is Version 2.8.8 but in the lesson 2 that was 2.7.10. Would this be the issue?

  28. am highly grateful for you wonderful tutorials on arduino. in fact am a beginner but after watching your tutorials my interest level on arduino has increased. please is there a way i can get in touch with you personally through email.

  29. Hello,
    I really appreciate the tutorial on using the Beagle bone Black.Probably the best tutorials to get started from a complete freshers point of view.
    If its not too much trouble could you please show me how to set up the SPI bus on the BBB.
    I would like to read the values of an external ADC over SPI.
    Many Thanks

Comments are closed.

Making The World a Better Place One High Tech Project at a Time. Enjoy!