Skip to content
ArduinoKit Cover

Swift on the Arduino

ArduinoKit

A Swift standard library for AVR microcontrollers, grown out of my internship at Swift for Arduino and still maintained in the open.

The internship that started it

ArduinoKit is a result of my internship at Swift for Arduino. During those three months I worked on CoreAVR, a hardware abstraction layer for AVR microcontrollers, written completely in Swift. CoreAVR is the low-level piece. What was missing was a higher-level library to sit on top of it.

A familiar API on a tiny chip

ArduinoKit is a standard library for AVR-based microcontrollers, written in Swift, based on CoreAVR. It exists because of the need for a higher-level library to complement the lower-level CoreAVR, allowing users to use an easier, more familiar Arduino-like API.

What I still do

Swift for Arduino gave me permission to keep maintaining ArduinoKit myself, which also meant I could stay close to the team after the internship. I kept contributing, and at some point became an internship supervisor there, until I had to stop supervising after starting another job.

Lessons learned

ArduinoKit is the clearest picture of how I like to work: pick a hard constraint (Swift, on a tiny 8-bit chip), build the unglamorous foundation, then put a usable API on top of it. Embedded work leaves very little room to hide.