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. C/C++ is the most powerful of your options, and is often the only choice when running on memory- and resource-constrained devices. 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.
Official Libraries
The official Notecard libraries are fully maintained and 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.
C and 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.
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.
Experimental Libraries
Blues provides very limited support for experimental libraries. Consider the use of these libraries as a BETA experience. Only the official libraries are supported for usage in production applications.
C-Zero
note-c-zero
is a bare bones C interface for the Notecard that uses zero static
read-write memory nor does it require any dynamic allocator.
Node-RED
Node.js library with custom Node-RED package for communication with the Notecard
over I2C or serial (UART) connections. The note-nodered
package enables you to
control the Notecard by developing flows in Node-RED where a server is connected
to the Notecard. For I2C connections, a Raspberry Pi or similar host is
required.
TinyGo
A 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.
Community Libraries
Community libraries are not supported by Blues, but rather via the repository owners directly.
.NET
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
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.