Arduino libraries

Arduino libraries

I’ve been working on a few Arduino libraries lately. Since there is no package manager for Arduino1 you have to install libraries manually. Generally, this is not a big deal as you just need to plop the library in your /Arduino/libraries/ folder. If you are writing a library, spend the extra effort and make the library conform to the Arduino IDE 1.5 Library Specification. This will make it even easier to plop libraries in that folder and plus, your library and examples, will nicely display in the IDE.

This is an Arduino Library. Punny :)
This is an Arduino Library. Punny 🙂

However, the documentation is very sparse about what keywords are. Basically, keywords are used by the IDE to perform syntax highlighting and thankfully, this post provides some clarification. I also submitted an issue so hopefully they improve that page. I guess I could have edited the wiki directly, but I couldn’t find a link to the actual keyword definitions.

Lastly, if you do create an Arduino library, pretty please, with sugar on top, pick an OSI Approved License. It may be fun to pick something else, but consider that there may be somebody who wants to seriously use your library and unless you pick a clear license, it will be unclear how to incorporate your library with their larger work.

Enjoy the snow while it lasts.


  1. Feel free to run off with this good idea. 

Programming the ATmega328P from a BeagleBone Black

Update 15 May 2014

I wrote a much more detailed version of this in the May 2014 article of Linux Journal. That article goes into more detail about the device tree, how to build the hardware on a proto-cape, and how to add a webserver frontend.

We now return you back to your originally scheduled programming.


This tutorial will explain how to program an ATmega328P (the microcontroller used in the Arduino Uno) from a BeagleBone Black (BBB).  For those who can’t wait for the Arduino Tre, I’ll walk you through how to breadboard your ATmega328P to your BBB so you can be ready for its release!  The motivation for this tutorial is that I’m looking to put an ATmega328P on my CryptoCape, since there are few crypto libraries written for 8-bit AVRs, namely NaCl. Continue reading “Programming the ATmega328P from a BeagleBone Black”