If you're developing an IoT solution, you will likely have evaluated Espressif's ESP32 family of microcontrollers. Their vast selection of features and affordable price points make them a popular choice for IoT applications. Espressif's ESP-IDF is their official development framework for the ESP32, providing a robust foundation for building professional projects.

Today, we're excited to introduce our official ESP-IDF component, note-espidf, making it easier than ever to add robust multi-RAT connectivity to your ESP32-based projects.
What is the Notecard ESP-IDF Component?
note-espidf is our official ESP-IDF component for communicating with the Notecard over serial or I2C interfaces. This component is specifically designed for developers who want to leverage the full power of ESP-IDF's advanced features while maintaining a simple, and easy to use, API for the Notecard.
Under the hood, the component uses the note-c SDK to communicate with the Notecard. This means that you can use the same API for the Notecard as you would with the other Blues firmware libraries, such as note-zephyr.
You can find the component along with a complete set of examples on the ESP-IDF Component Registry.

Why use the ESP-IDF for building IoT products?
The ESP-IDF provides a robust foundation for building professional IoT applications, offering:
- FreeRTOS integration for real-time multitasking
- Advanced memory management and optimization tools
- Professional debugging capabilities with comprehensive logging
- Extensive hardware abstraction layers for precise control
- A comprehensive build system for all ESP32 devices and configurations
On top of this, the ESP-IDF also supports the ESP component registry, a vast library of third-party components that can be easily integrated into your project. These components include sensor drivers, communication protocols, as well as our new Notecard component.
Supported ESP32 Devices
The Notecard ESP-IDF component supports the entire ESP32 family, including:
- ESP32
- ESP32-S2
- ESP32-C3
- ESP32-S3
- ESP32-C2
- ESP32-C6
- ESP32-H2
- ESP32-P4
- ESP32-C5
- ESP32-C61
While we ensure that the Notecard component is compatible with ESP-IDF 5.5 and later, it may also work with previous versions.
Features and Benefits
Configuration for I2C and UART
The component provides pre-configured macros that handle setup:
// I2C configuration
notecard_config_t config = NOTECARD_I2C_CONFIG_DEFAULT();
// UART configuration
notecard_config_t config = NOTECARD_UART_CONFIG_DEFAULT();By default, these macros will configure the ESP32 to match the pinout on Adafruit's ESP32 Feather, which works great with our Notecarrier F. If you're using a different ESP32 DevKit, you can easily override the default configuration.

Flexible Customization
When you need more control, the component allows you to override any parameter:
// Custom I2C configuration
notecard_config_t config = NOTECARD_I2C_CONFIG_DEFAULT();
config.i2c.port = 0;
config.i2c.sda_pin = 22;
config.i2c.scl_pin = 20;
config.i2c.frequency = 100000;
config.i2c.address = 0x17;
config.i2c.internal_pullup = false;FreeRTOS Integration
The component is designed with FreeRTOS in mind, ensuring thread safe memory allocation and task management. This is critical for applications that need reliable, concurrent operation.
Kconfig Configuration
All default parameters are also configurable through ESP-IDF's standard configuration system, menuconfig:
idf.py menuconfigThis integration means you can adjust Notecard settings through the same UI you use for all other ESP-IDF components.

Outboard Firmware Update (ODFU) Support
Out of the box, Notecard supports Outboard Firmware Update (ODFU) for ESP32 devices. This means that you can update the firmware of your ESP32 directly from Notecard, adding a layer of security and flexibility to the deployment and maintenance of your IoT products.
Check out the ESP32 ODFU Example for more information on how to use ODFU with the ESP32.
Getting Started Examples
The component includes a streamlined project creation process. With just one command, you can create a complete working example:
idf.py create-project-from-example "blues/notecard:basic_usage_i2c"Professional Development Experience
The component also integrates seamlessly with the VS Code ESP-IDF extension, providing:
- Integrated building, flashing, and monitoring through VS Code
- Real-time serial output for logging
- Debugging tools for tracing and troubleshooting
- Project templates that follow ESP-IDF best practices
- Dependency management for easily managing components and libraries
When to Choose ESP-IDF Over Arduino
While our note-arduino library remains popular for rapid prototyping, the ESP-IDF component is ideal when you need:
- Deterministic real-time behavior for industrial applications
- Advanced memory management for resource-constrained devices
- Professional debugging tools for complex applications
- Custom hardware drivers and precise timing control
- Production-scale deployment with advanced security features
Looking Forward
The Notecard ESP-IDF component represents our commitment to supporting professional IoT developers who need the full power of ESP-IDF. Whether you're building industrial monitoring systems, remote asset tracking, or machine learning applications, this component provides the foundation you need.
Check out the complete documentation and join thousands of developers who are building the next generation of connected devices with Notecard and the ESP32.

