Firmware Libraries
Start building your Notecard-powered app using one of our official libraries. Each library allows you to connect to the Notecard, and to issue requests using the Notecard API.
Not sure where to start? Arduino is a widely used platform and a great starting point for any new IoT project, although you'll need to know a bit of C++ once you get beyond the basics. Python is a popular and easy-to-use option that's great for beginners, as well as anyone that wants to leverage the advantages of an interpreted language. C/C++ is the most powerful of your options, and is often the only choice when running on memory- and resource-constrained devices.
The Blues community has created .NET and Rust libraries as well. Please note that community libraries are not supported by Blues.
Arduino
The official Arduino firmware library for communicating with the Notecard over serial or I2C. This library works on any Arduino compatible microcontroller, and can be installed from the Arduino Library Manager or PlatformIO.
Python
The official Python library for communicating with the Notecard over serial or I2C. This library works in a desktop setting, on single-board computers like the Raspberry Pi, and on microcontrollers with MicroPython or CircuitPython support.
Zephyr
The official Zephyr SDK for communicating with the Notecard over serial or I2C. While not mandatory, a full development environment is provided with VS Code Dev Containers, complete with all the tools and SDKs necessary to get started with Zephyr. If you already have a Zephyr project, then we guide you through the minimal changes to bring Notecard support to your project.
C/C++
The official C/C++ library that allows you to control a Notecard by writing a C or C++ program. Your program can programmatically configure a Notecard and work with the Notecard API.
Go
The official Go library for communicating with the Notecard over serial or I2C. This library allows you to control a Notecard by coding in Go. Your program can configure a Notecard and work with the Notecard API.
TinyGo
The official TinyGo library for communicating with the Notecard over serial or I2C. This library allows you to control a Notecard by coding in Go. Your program can configure a Notecard and work with the Notecard API.
.NET (Community)
C# developers using either TinyCLR OS or .NET nanoFramework can use this community-supported library, which may also be installed via nuget.
A quickstart experience demonstrating using .NET with the Notecard is available on the Blues blog.
Rust (Community)
Rust developers can use this community-supported library to use the Notecard with Rust. The library is also available on crates.io.
In addition, a quickstart for using Rust with the Blues Swan is available on GitHub.