Here at Chirp, we have always been huge fans of Arduino due to its simple and intuitive interface, its extensive open source community, and its ability to inspire developers to create their own electronics projects.

That’s why we are delighted to announce the launch of the first Chirp SDK for official Arduino boards, enabled by the release of the new Nano 33 BLE Sense board.

The Nano 33 BLE Sense comes equipped with a multitude of different sensors, an on board microphone, and a more powerful processor with a floating point unit, making it the perfect fit for the Chirp SDK. We couldn’t wait to get our hands on the board and have created a simple demonstration of the capabilities of data-over-sound with this audio triggered light display.

Follow our tutorial for controlling an LED using sound over at the Arduino Project Hub.

Alternatively you can get started straight away by opening up the example projects that are bundled with the Chirp SDK library in the Arduino IDE. The example projects will show you how to send and receive simple unicode strings using Chirp. However, the example projects can be easily adapted to trigger any kind of action, whether it's switching on LEDs, controlling a motor or wherever your imagination takes you.

Further Arduino support

Alongside releasing support for the Nano 33 Sense, we have also added support for other Arduino devices. Due to lack of a floating point unit on these devices, they are only able to send data, and not receive.

Supported send only devices

  • Arduino MKR Zero
  • Arduino MKR Vidor 4000
  • Genuino Zero
  • MKR Fox 1200
  • MKR1000 WiFi

To make it possible to run the Chirp SDK on these lower end devices, we have spent some time over the last few months refactoring our code base to operate with fixed-point arithmetic. By doing so, we have reduced the execution time by nearly 10x on embedded devices that don’t have a floating point unit.

You can find examples for sending data with these devices after installing the Chirp SDK in the Arduino IDE. These examples demonstrate how to send data with an additional amplifier and speaker. These boards can also run on a LiPO battery so you are able to make your chirping device portable.

Coming soon

The first iteration of the Chirp SDK for Arduino operates only in the audible range. Over the coming months, we will also be working on an inaudible version that will work at near ultrasonic frequencies. With this you will be able to send data at frequencies that humans cannot hear, so you will also be able to embed the Chirp data inside existing audio such as songs or videos to trigger actions.

Let us know where you have used Chirp in your own Arduino projects by tagging us on Twitter @chirp or get in contact with us.