Scaling an IoT deployment? Join our webinar on May 28th where we dive into real-world scaling pain points and how to overcome them.

Blues Developers
What’s New
Resources
Blog
Technical articles for developers
Newsletter
The monthly Blues developer newsletter
Terminal
Connect to a Notecard in your browser
Developer Certification
Get certified on wireless connectivity with Blues
Webinars
Listing of Blues technical webinars
Blues.comNotehub.io
Shop
Docs
Button IconHelp
Notehub StatusVisit our Forum
Button IconSign In
Sign In
Sign In
Docs Home
What’s New
Resources
Blog
Technical articles for developers
Newsletter
The monthly Blues developer newsletter
Terminal
Connect to a Notecard in your browser
Developer Certification
Get certified on wireless connectivity with Blues
Webinars
Listing of Blues technical webinars
Blues.comNotehub.io
Shop
Docs
Tools & SDKs
Notecard CLI
Firmware Libraries
Libraries Overview
ArduinoC and C++GoPythonZephyrC-ZeroNode-REDTinyGo.NETRust
Arduino Library
Python Library
Zephyr Library
Notehub SDKs
SDKs Overview
Notehub JS Library
Notehub Py Library
homechevron_rightDocschevron_rightTools & SDKschevron_rightFirmware Librarieschevron_rightFirmware Overview

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.

  • View the Arduino library documentation

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.

  • View the C/C++ library documentation

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.

  • View the Go library documentation

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.

  • View the Python library documentation

Zephyr

The official Zephyr library 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.

  • View the Zephyr documentation

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.

  • View note-c-zero

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.

  • View the Node-RED library documentation

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.

  • View the TinyGo library documentation

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 .

Can we improve this page? Send us feedback
© 2025 Blues Inc.
© 2025 Blues Inc.
TermsPrivacy
Notecard Disconnected
Having trouble connecting?

Try changing your USB cable as some cables do not support transferring data. If that does not solve your problem, contact us at support@blues.com and we will get you set up with another tool to communicate with the Notecard.

Advanced Usage

The help command gives more info.

Connect a Notecard
Use USB to connect and start issuing requests from the browser.
Try Notecard Simulator
Experiment with Notecard's latest firmware on a Simulator assigned to your free Notehub account.

Don't have an account? Sign up