Provide a Linux Userspace environment for compiling Arduino style wiring/process sketches to run under Linux
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Arduino Libraries for Embedded Linux platforms

This project is dedicated to document the implementation of Arduino Libraries for Linux Userspace. It is part of two GSOC projects at

Getting Started


Make sure you have the latest production image of the Angstrom Distribution on the Beaglebone Black here.

If you prefer working on your host machine, go on. If you would prefer using the Beaglebone in a standalone environment, skip to development on a Beaglebone Black

Development on a linux host machine

  • Get the Angstrom toolchain from here

  • Extract it to / (or any other place you prefer):

      sudo tar -C / -xjf angstrom-2011.03-x86_64-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2
  • Set up the environment variables

      export PATH=/usr/local/angstrom/arm/bin:$PATH # or wherever you extracted the toolchain
      export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
  • Get this repository

      git clone && cd Userspace-Arduino
  • Copy the Bacon-overlay to the Beaglebone Black

      scp overlay/BB-BONE-BACONE-00A0.dtbo root@

    The default username is root and password is blank. The above syntax will change if you have the Beaglebone connected over Ethernet instead of USB. In that case, you need to know the IP address of the Bone and change the syntax accordingly

  • Run an example

      cd arduino-makefile/examples/BlinkUserspace/
      make upload # will compile on the host machine and execute on the Beaglebone Black

    You should see one of the 4 LEDs blinking at a steady interval

Development on a Beaglebone Black

	git clone

Change directory to the examples/BlinkUserspace folder in the downloaded project

   cd Userspace-Arduino/arduino-makefile/examples/BlinkUserspace

Compile the code


Change to new directory that is created, which contains the executable file

   cd build-userspace

Execute code


You will now see USR LED 1 blinking at one second intervals. Press Ctrl-C to break from the loop.


The project uses the pin map found here


This project will be worked upon by two students, Parav and Anuj; David Anders, Matt Porter and Andrew Bradford have been assigned as the mentors.

project pages: