Loading...

Join Blues on June 3rd for Beyond the Prototype with Hello Everyday

Blues Developers
What’s New
Resources
Blog
Technical articles for developers
Connected Product Guidebook
In-depth guides for connected product development
Developer Certification
Get certified on wireless connectivity with Blues
Newsletter
The monthly Blues developer newsletter
Terminal
Connect to a Notecard in your browser
Webinars
Listing of Blues technical webinars
Blues.comNotehub.io
Shop
Docs
Button IconHelp
Support DocsNotehub StatusVisit our Forum
Button IconSign In
Docs Home
What’s New
Resources
Blog
Technical articles for developers
Connected Product Guidebook
In-depth guides for connected product development
Developer Certification
Get certified on wireless connectivity with Blues
Newsletter
The monthly Blues developer newsletter
Terminal
Connect to a Notecard in your browser
Webinars
Listing of Blues technical webinars
Blues.comNotehub.io
Shop
Docs
Quickstart
Solution Kit for Cell+WiFi Quickstart
Starter Kit for Cell+WiFi Quickstart
Feather Kit for Cell+WiFi Quickstart
LoRaWAN Quickstart
Starnote for Skylo Quickstart
Wireless for OPTA Quickstart
Notecard Quickstart
Notecard for LoRa Quickstart
Notecard for Skylo Quickstart
Starnote Quickstart
Cygnet Quickstart
Notecarrier CX Quickstart
PrerequisitesConfiguring Arduino IDEFlashing FirmwareStep Debugging with Arduino IDENext Steps
Swan Quickstart
Mojo Quickstart
Sparrow Quickstart
homechevron_rightDocschevron_rightQuickstartchevron_rightNotecarrier CX Quickstart

Notecarrier CX Quickstart

Watch a video of this tutorial

In this tutorial you'll learn how to set up and flash firmware to the Notecarrier CX's onboard STM32L433-based host MCU.

By the end of this guide you'll have flashed a working blink sketch to the Notecarrier CX's host. The guide covers two methods for flashing firmware—over USB and via an STLINK programmer—so you can choose the approach that works best for your setup. It also covers step debugging with the STLINK, so you can set breakpoints and inspect your firmware as it runs.

Notecarrier CX

note

This guide shows how to flash firmware to the Notecarrier CX using Arduino IDE because of its ease of use.

After completing this quickstart tutorial, you may wish to try out one of the following alternative platforms for writing Cygnet firmware:

  • Using PlatformIO with Cygnet
  • Using the STM32CubeIDE with Cygnet

Prerequisites

Before working with firmware in Arduino IDE, you must first complete the following prerequisites.

  1. Download and install Arduino IDE.

  2. Download and install STM32CubeCLT, which is a toolset that allows third-party environments to work with STM32-based host MCUs.

    note

    Alternatively, you may install both STM32CubeIDE and STM32CubeProgrammer. These are much larger software packages that may not be necessary for your local development environment. Be sure to also follow these installation notes when installing STM32CubeProgrammer.

  3. Set the DIP switch next to the USB-C connector to HST. If changing the switch from NC to HST, fully power down the Notecarrier CX and then power it back on to apply the change.

    dip switch on Notecarrier CX

Linux-only setup required for accessing the device in DFU mode and virtual COM port.
  1. Create a /etc/udev/rules.d/ rule for the device in DFU mode.

    (echo '# DFU (Internal bootloader for STM32 MCUs)';  echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="plugdev"') | sudo tee /etc/udev/rules.d/49-stdfu-permissions.rules > /dev/null
  2. Create a /etc/udev/rules.d/ rule for the device's virtual COM port.

    (echo '# Virtual COM Port for STM32 MCUs'; echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE="0664", GROUP="plugdev"') | sudo tee /etc/udev/rules.d/49-stvcp-permissions.rules > /dev/null
  3. Add active user to plugdev group in /etc/group.

    sudo usermod -aG plugdev $USER
Using the Arduino CLI

As an alternative to using Arduino IDE to configure and build your project, you can use the Arduino CLI.

  1. In order to specify Cygnet as the board, you need to first install the STM32duino core. You'll need a minimum of version 2.9.0 of the STM32duino core installed.

    arduino-cli core install STMicroelectronics:stm32
  2. You can then specify the Cygnet by using the board part number. For example:

    arduino-cli compile --fqbn STMicroelectronics:stm32:Blues:pnum=CYGNET blinky.ino

Configuring Arduino IDE

With Arduino IDE installed, you next need to configure your environment to build and flash code to your Notecarrier CX.

Installing STM32duino in the Arduino IDE

  1. Within Arduino IDE open your Settings/Preferences.

  2. Locate the Additional boards manager URLs (see screenshot below), and add the following URL: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

    Update ArduinoIDE preferences

  3. Click OK to save your changes, and then restart Arduino IDE.

  4. Next, click the Boards Manager icon (second icon down in the left panel), search for STM32 MCU based boards, and install version 2.9.0 or greater. Board manager in Arduino IDE

  5. Restart Arduino IDE.

Using STM32duino in the Arduino IDE

  1. Under Tools > Board, select STM32 MCU based boards, and then Blues boards.

    Select STM32 Board

  2. Next, under Tools > Board part number, select Cygnet.

    Select STM32 Board Part

  3. Lastly, under Tools > USB support (if available), select CDC (generic 'Serial' supersede U(S)ART).

Flashing Firmware

Now that you have Arduino IDE configured to work with the Notecarrier CX, you're ready to flash firmware.

To do so, we recommend using a programmer like the STLINK-V3MINI, however, you may also program the Notecarrier CX via a USB cable connected to your computer.

Programming the Notecarrier CX with the STLINK-V3MINI (Recommended)

  1. In Arduino IDE, under Tools > Upload method, select STM32CubeProgrammer (SWD).

  2. Plug the STLINK-V3MINI into your computer over USB.

  3. Plug the Notecarrier CX into a power source (e.g. a LiPo battery or your computer via USB).

    NOTE: If you want to see Serial output from the Notecarrier CX, you need to either use a USB cable as the power source or customize your sketch to use the STLINK-V3MINI for Serial output.

  4. Plug the Cortex-Debug connector from the STLINK-V3MINI into the Notecarrier CX.

    notecarrier cx to stlink

  5. Skip to the Blink the Onboard LED instructions below.

Programming the Notecarrier CX without the STLINK-V3MINI

  1. In Arduino IDE, under Tools > Upload method, select STM32CubeProgrammer (DFU).

  2. Connect the Notecarrier CX's USB-C port to your computer with a USB cable.

    notecarrier cx usb c

  3. Press and hold the BOOT button on the Notecarrier CX, press and release RST (reset), then release BOOT to cause the Notecarrier CX to jump into its bootloader. This sequence must be done every time you want to upload firmware to the Notecarrier CX.

  4. Proceed to the Blink the Onboard LED instructions below.

Blink the Onboard LED

  1. In the Arduino IDE, use File > New Sketch to create a new sketch.

  2. Overwrite the provided boilerplate code with the following to cause the onboard LED to blink repeatedly:

    // the setup function runs once when you press reset or power the board
    void setup() {
      // initialize digital pin LED_BUILTIN as an output.
      pinMode(LED_BUILTIN, OUTPUT);
    }
    
    // the loop function runs over and over again forever
    void loop() {
      digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);                       // wait for a second
      digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);                       // wait for a second
    }
  3. Use the Upload button to upload this sketch to your Notecarrier CX.

If the Notecarrier CX's LED blinks on and off every second—you're good to go! Follow the next section if you have an STLINK programmer and want to learn about step debugging, or move on to the next steps.

Step Debugging with Arduino IDE

The Notecarrier CX supports step debugging with Arduino Native Debugging on Arduino IDE when used with an attached STLINK programmer/debugger.

  1. Set one or more breakpoints on your sketch.

    cygnet set breakpoints

  2. In the Sketch menu, select Optimize for Debugging.

    cygnet optimize for debugging in arduino ide

  3. Upload the sketch to the Notecarrier CX.

  4. Click the Start Debugging button.

    cygnet start debugging

  5. When a breakpoint is hit, use the Arduino IDE to step through relevant code blocks and inspect variables, view the call stack, and watch expressions.

    cygnet step debugging

Next Steps

Congratulations! You've configured your Notecarrier CX and flashed new firmware to it using Arduino IDE.

If you're following a Cell+WiFi Quickstart, next we recommend building your first IoT app:

  1. Use the Notecard to Send Data
  2. Set Up Your Microcontroller
  3. Build Your First IoT App With Blues
  4. Send Data to Your Cloud

At any time, if you find yourself stuck, please reach out on the community forum.

Can we improve this page? Send us feedback
© 2026 Blues Inc.
© 2026 Blues Inc.
TermsPrivacy