- Localize skip-to-content accessibility link and breadcrumb navigation - Convert section layouts to dynamic generateMetadata with English titles, descriptions, and structured data - Eliminate mixed language expressions and translate remaining SoC connection pin warnings and descriptions - Translate component registry items, categories, tags, and IDF Component Manager guide - Add strict identical string verification to scripts/check-i18n.mjs with technical allowlist Co-Authored-By: Antigravity <noreply@google.com>
851 lines
35 KiB
JavaScript
851 lines
35 KiB
JavaScript
/**
|
|
* Official Curated Database: ESP Component Registry & IDF Component Manager
|
|
*
|
|
* The ESP Component Registry (https://components.espressif.com) is the central
|
|
* distribution ecosystem for modular libraries targeting ESP-IDF v4.4+ / v5.x+.
|
|
*/
|
|
|
|
export const CATEGORIAS_COMPONENTES = [
|
|
{
|
|
id: "todos",
|
|
nome: "All Components",
|
|
icone: "Layers",
|
|
descricao: "Explore the curated catalog of libraries and drivers"
|
|
},
|
|
{
|
|
id: "ui_display",
|
|
nome: "UI, Displays & Graphics",
|
|
icone: "Monitor",
|
|
descricao: "Graphics libraries (LVGL), LCD/OLED display drivers, touch controllers and decoders"
|
|
},
|
|
{
|
|
id: "cloud_conectividade",
|
|
nome: "Cloud & Connectivity",
|
|
icone: "Cloud",
|
|
descricao: "ESP RainMaker, AWS IoT, MQTT, WebSockets, Mesh-Lite and ESP-Hosted coprocessing"
|
|
},
|
|
{
|
|
id: "audio_voz_ia",
|
|
nome: "Audio, Voice & AI",
|
|
icone: "Brain",
|
|
descricao: "ESP-SR speech recognition, DSP processing, audio codecs, DVP cameras and TinyML"
|
|
},
|
|
{
|
|
id: "smart_home_mesh",
|
|
nome: "Smart Home & Mesh",
|
|
icone: "Home",
|
|
descricao: "Matter SDK, Zigbee 3.0 (ZBOSS) stacks, Thread and ESP-NOW networks"
|
|
},
|
|
{
|
|
id: "drivers_perifericos",
|
|
nome: "Drivers & Sensors",
|
|
icone: "Cpu",
|
|
descricao: "Buttons, encoders, RGB LEDs, Ethernet (W5500/CH390), native USB and environmental/IMU sensors"
|
|
},
|
|
{
|
|
id: "bsp_placas",
|
|
nome: "BSPs (Board Support Packages)",
|
|
icone: "CircuitBoard",
|
|
descricao: "Direct board support packages for official boards like ESP-BOX-3, Korvo, EYE and M5Stack"
|
|
},
|
|
{
|
|
id: "sistema_utilitarios",
|
|
nome: "System & Utilities",
|
|
icone: "Wrench",
|
|
descricao: "LittleFS file systems, modern C++ wrappers, CBOR and networking utilities"
|
|
}
|
|
];
|
|
|
|
export const COMPONENTES_REGISTRY = [
|
|
// ==========================================
|
|
// 1. UI, Displays & Graphics
|
|
// ==========================================
|
|
{
|
|
id: "espressif-esp_lvgl_port",
|
|
namespace: "espressif",
|
|
name: "esp_lvgl_port",
|
|
versao: "^2.4.0",
|
|
categoria: "ui_display",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP LVGL Port",
|
|
descricao: "Official thread-safe LVGL (Light and Versatile Graphics Library) port for ESP-IDF with hardware acceleration and multi-display support.",
|
|
tags: ["LVGL", "GUI", "Display", "Touch", "HMI"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-P4", "ESP32-C3", "ESP32-C6"],
|
|
dependenciasSugeridas: ["lvgl/lvgl^9.1.0"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_lvgl_port",
|
|
urlRepo: "https://github.com/espressif/esp-bsp/tree/master/components/esp_lvgl_port",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_lvgl_port: "^2.4.0"
|
|
lvgl/lvgl: "^9.1.0"`
|
|
},
|
|
{
|
|
id: "lvgl-lvgl",
|
|
namespace: "lvgl",
|
|
name: "lvgl",
|
|
versao: "^9.1.0",
|
|
categoria: "ui_display",
|
|
oficial: false,
|
|
popular: true,
|
|
titulo: "LVGL Graphics Library Core",
|
|
descricao: "Most popular open-source C graphics library for embedded systems. Provides rich widgets, smooth animations, and modern layout support.",
|
|
tags: ["LVGL 9", "Graphics", "Widgets", "GUI", "Embedded UI"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-P4", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/lvgl/lvgl",
|
|
urlRepo: "https://github.com/lvgl/lvgl",
|
|
exemploYaml: `dependencies:
|
|
lvgl/lvgl: "^9.1.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp32_display_panel",
|
|
namespace: "espressif",
|
|
name: "esp32_display_panel",
|
|
versao: "^0.2.0",
|
|
categoria: "ui_display",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP32 Display Panel Driver",
|
|
descricao: "Unified driver for LCD controllers (RGB, SPI, QSPI, MIPI-DSI) and capacitive touch panels tailored for ESP32-S3 and ESP32-P4.",
|
|
tags: ["LCD", "MIPI-DSI", "QSPI", "Touch", "ST7789", "ILI9341"],
|
|
chips: ["ESP32-S3", "ESP32-P4", "ESP32-S2", "ESP32"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp32_display_panel",
|
|
urlRepo: "https://github.com/esp-arduino-libs/ESP32_Display_Panel",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp32_display_panel: "^0.2.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp_lcd_touch",
|
|
namespace: "espressif",
|
|
name: "esp_lcd_touch",
|
|
versao: "^1.1.2",
|
|
categoria: "ui_display",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP LCD Touch Framework",
|
|
descricao: "Core touch panel abstraction component for LCDs. Supports coordinate calibration, multi-touch tracking, and direct LVGL integration.",
|
|
tags: ["Touchscreen", "Capacitive", "Resistive", "I2C Touch", "Coordinates"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-P4", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_lcd_touch",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution/tree/master/components/display/touch_panel/esp_lcd_touch",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_lcd_touch: "^1.1.2"`
|
|
},
|
|
{
|
|
id: "espressif-esp_lcd_touch_gt911",
|
|
namespace: "espressif",
|
|
name: "esp_lcd_touch_gt911",
|
|
versao: "^1.1.2",
|
|
categoria: "ui_display",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "GT911 Capacitive Touch Driver",
|
|
descricao: "Specialized I2C driver for Goodix GT911 capacitive touch controllers, widely used in 4.3\", 5.0\", and 7.0\" LCD modules.",
|
|
tags: ["GT911", "Goodix", "Touch I2C", "Capacitive"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-P4", "ESP32-S2"],
|
|
dependenciasSugeridas: ["espressif/esp_lcd_touch^1.1.2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_lcd_touch_gt911",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution/tree/master/components/display/touch_panel/esp_lcd_touch_gt911",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_lcd_touch_gt911: "^1.1.2"
|
|
espressif/esp_lcd_touch: "^1.1.2"`
|
|
},
|
|
{
|
|
id: "espressif-esp_lcd_touch_ft5x06",
|
|
namespace: "espressif",
|
|
name: "esp_lcd_touch_ft5x06",
|
|
versao: "^1.1.2",
|
|
categoria: "ui_display",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "FocalTech FT5x06 / FT6x36 Touch Driver",
|
|
descricao: "Capacitive touch panel driver for FocalTech controllers commonly integrated into maker displays and development modules.",
|
|
tags: ["FT6236", "FT5406", "Touchscreen", "I2C"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3"],
|
|
dependenciasSugeridas: ["espressif/esp_lcd_touch^1.1.2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_lcd_touch_ft5x06",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution/tree/master/components/display/touch_panel/esp_lcd_touch_ft5x06",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_lcd_touch_ft5x06: "^1.1.2"`
|
|
},
|
|
{
|
|
id: "espressif-esp_jpeg",
|
|
namespace: "espressif",
|
|
name: "esp_jpeg",
|
|
versao: "^1.0.5",
|
|
categoria: "ui_display",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP JPEG Decoder (TJpgDec)",
|
|
descricao: "High-speed JPEG decoder and encoder optimized with assembly and SIMD instructions for rapid rendering on RGB and SPI displays.",
|
|
tags: ["JPEG", "TJpgDec", "Image Decoder", "Display", "SIMD"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_jpeg",
|
|
urlRepo: "https://github.com/espressif/esp-jpeg",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_jpeg: "^1.0.5"`
|
|
},
|
|
|
|
// ==========================================
|
|
// 2. Cloud & Connectivity
|
|
// ==========================================
|
|
{
|
|
id: "espressif-esp_rainmaker",
|
|
namespace: "espressif",
|
|
name: "esp_rainmaker",
|
|
versao: "^1.4.0",
|
|
categoria: "cloud_conectividade",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP RainMaker Agent",
|
|
descricao: "Official firmware agent for Espressif's serverless AIoT cloud platform. Handles dynamic data modeling, OTA, and mobile app integration.",
|
|
tags: ["RainMaker", "AWS IoT", "Cloud", "App Control", "Zero-Code-Backend"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
dependenciasSugeridas: ["espressif/net_connect^0.1.0"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_rainmaker",
|
|
urlRepo: "https://github.com/espressif/esp-rainmaker",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_rainmaker: "^1.4.0"`
|
|
},
|
|
{
|
|
id: "espressif-mesh_lite",
|
|
namespace: "espressif",
|
|
name: "mesh_lite",
|
|
versao: "^1.0.2",
|
|
categoria: "cloud_conectividade",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP Mesh-Lite Network Stack",
|
|
descricao: "Lightweight Wi-Fi mesh network where every node maintains IP connectivity, communicating directly with local servers or cloud platforms.",
|
|
tags: ["Mesh-Lite", "Wi-Fi Mesh", "IoT Network", "No-Gateway"],
|
|
chips: ["ESP32", "ESP32-C3", "ESP32-S3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/mesh_lite",
|
|
urlRepo: "https://github.com/espressif/esp-mesh-lite",
|
|
exemploYaml: `dependencies:
|
|
espressif/mesh_lite: "^1.0.2"`
|
|
},
|
|
{
|
|
id: "espressif-esp_modbus",
|
|
namespace: "espressif",
|
|
name: "esp_modbus",
|
|
versao: "^2.0.0",
|
|
categoria: "cloud_conectividade",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP-Modbus Industrial Stack",
|
|
descricao: "Complete industrial Modbus stack (Master/Slave) over Serial RS485 (RTU/ASCII) and Ethernet/Wi-Fi (TCP) for PLC and SCADA integration.",
|
|
tags: ["Modbus RTU", "Modbus TCP", "RS485", "PLC", "Industrial IoT"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_modbus",
|
|
urlRepo: "https://github.com/espressif/esp-modbus",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_modbus: "^2.0.0"`
|
|
},
|
|
{
|
|
id: "espressif-net_connect",
|
|
namespace: "espressif",
|
|
name: "net_connect",
|
|
versao: "^0.1.1",
|
|
categoria: "cloud_conectividade",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "Network Connect Helper",
|
|
descricao: "Unified helper module to establish and monitor Wi-Fi, Ethernet, and Thread connections with automatic reconnection and event callbacks.",
|
|
tags: ["Wi-Fi Connect", "Ethernet", "Thread", "Network Manager"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/net_connect",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution",
|
|
exemploYaml: `dependencies:
|
|
espressif/net_connect: "^0.1.1"`
|
|
},
|
|
{
|
|
id: "espressif-esp_hosted",
|
|
namespace: "espressif",
|
|
name: "esp_hosted",
|
|
versao: "^2.0.0",
|
|
categoria: "cloud_conectividade",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "ESP-Hosted Network Coprocessor",
|
|
descricao: "Turns the ESP32 into a Wi-Fi and Bluetooth wireless network card for external Linux hosts (Raspberry Pi) or MCUs via SPI/SDIO/UART.",
|
|
tags: ["Network Coprocessor", "SDIO", "SPI Slave", "Linux Wireless"],
|
|
chips: ["ESP32", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_hosted",
|
|
urlRepo: "https://github.com/espressif/esp-hosted",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_hosted: "^2.0.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp-now",
|
|
namespace: "espressif",
|
|
name: "esp-now",
|
|
versao: "^2.5.0",
|
|
categoria: "cloud_conectividade",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP-NOW Connectionless Protocol",
|
|
descricao: "Direct peer-to-peer wireless protocol by Espressif enabling ultra-fast, low-power communication without a Wi-Fi router.",
|
|
tags: ["ESP-NOW", "P2P", "Low Power", "Quick Pairing", "Sub-10ms"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C2", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-now",
|
|
urlRepo: "https://github.com/espressif/esp-now",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-now: "^2.5.0"`
|
|
},
|
|
|
|
// ==========================================
|
|
// 3. Audio, Voice & AI
|
|
// ==========================================
|
|
{
|
|
id: "espressif-esp-sr",
|
|
namespace: "espressif",
|
|
name: "esp-sr",
|
|
versao: "^2.0.0",
|
|
categoria: "audio_voz_ia",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP-SR Speech Recognition Framework",
|
|
descricao: "Complete offline voice recognition framework: wake word detection (WakeNet), command recognition (MultiNet), acoustic echo cancellation (AEC), and beamforming.",
|
|
tags: ["WakeNet", "MultiNet", "Voice Assistant", "AEC", "Offline AI", "Audio DSP"],
|
|
chips: ["ESP32-S3", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-sr",
|
|
urlRepo: "https://github.com/espressif/esp-sr",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-sr: "^2.0.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp_codec_dev",
|
|
namespace: "espressif",
|
|
name: "esp_codec_dev",
|
|
versao: "^1.3.0",
|
|
categoria: "audio_voz_ia",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP Audio Codec Device Driver",
|
|
descricao: "Unified hardware abstraction layer for audio DACs, ADCs, and Codecs (ES8311, ES8388, TAS5805M, Everest) communicating over I2S and I2C.",
|
|
tags: ["Audio Codec", "DAC", "I2S", "Microphone", "Speaker", "ES8311"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-P4", "ESP32-C3"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_codec_dev",
|
|
urlRepo: "https://github.com/espressif/esp-codec-dev",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_codec_dev: "^1.3.0"`
|
|
},
|
|
{
|
|
id: "espressif-es8311",
|
|
namespace: "espressif",
|
|
name: "es8311",
|
|
versao: "^0.2.0",
|
|
categoria: "audio_voz_ia",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "Everest ES8311 Low-Power Audio Codec Driver",
|
|
descricao: "Low-power mono audio codec driver with analog microphone input and class-D speaker output, standard on ESP-BOX and LyraT boards.",
|
|
tags: ["ES8311", "Mono Codec", "Microphone Preamp", "ESP-BOX"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-S2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/es8311",
|
|
urlRepo: "https://github.com/espressif/esp-bsp/tree/master/components/es8311",
|
|
exemploYaml: `dependencies:
|
|
espressif/es8311: "^0.2.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp32-camera",
|
|
namespace: "espressif",
|
|
name: "esp32-camera",
|
|
versao: "^2.0.9",
|
|
categoria: "audio_voz_ia",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP32 Camera Driver",
|
|
descricao: "Official driver for DVP CMOS camera sensors (OV2640, OV3660, OV5640, GC0308). Delivers DMA-accelerated JPEG and RGB565 streaming.",
|
|
tags: ["Camera", "OV2640", "OV5640", "DVP", "Video Streaming", "ESP32-CAM"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-S2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp32-camera",
|
|
urlRepo: "https://github.com/espressif/esp32-camera",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp32-camera: "^2.0.9"`
|
|
},
|
|
{
|
|
id: "espressif-esp-dsp",
|
|
namespace: "espressif",
|
|
name: "esp-dsp",
|
|
versao: "^1.5.0",
|
|
categoria: "audio_voz_ia",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP-DSP Digital Signal Processing Library",
|
|
descricao: "Digital signal processing library with vector-accelerated FFTs, IIR/FIR filtering, and matrix math for audio and vibration analysis.",
|
|
tags: ["DSP", "FFT", "Matrix", "FIR Filter", "IIR Filter", "Assembly SIMD"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-dsp",
|
|
urlRepo: "https://github.com/espressif/esp-dsp",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-dsp: "^1.5.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp-nn",
|
|
namespace: "espressif",
|
|
name: "esp-nn",
|
|
versao: "^1.1.0",
|
|
categoria: "audio_voz_ia",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "ESP-NN Neural Network Kernel Kernels",
|
|
descricao: "Optimized neural network convolution, depthwise-conv, and activation kernels for TensorFlow Lite for Microcontrollers and TinyML models.",
|
|
tags: ["Neural Network", "TinyML", "TFLite Micro", "Vector Math", "Convolution"],
|
|
chips: ["ESP32-S3", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-nn",
|
|
urlRepo: "https://github.com/espressif/esp-nn",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-nn: "^1.1.0"`
|
|
},
|
|
|
|
// ==========================================
|
|
// 4. Smart Home & Mesh
|
|
// ==========================================
|
|
{
|
|
id: "espressif-esp-matter",
|
|
namespace: "espressif",
|
|
name: "esp-matter",
|
|
versao: "^1.3.0",
|
|
categoria: "smart_home_mesh",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP-Matter SDK",
|
|
descricao: "Official Matter SDK by Espressif built on Connected Home IP. Create Matter over Wi-Fi and Matter over Thread smart devices with Apple Home, Alexa, and Google Home interoperability.",
|
|
tags: ["Matter", "CHIP", "Thread", "Smart Home", "Apple Home", "Google Home"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6", "ESP32-H2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-matter",
|
|
urlRepo: "https://github.com/espressif/esp-matter",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-matter: "^1.3.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp-zigbee-lib",
|
|
namespace: "espressif",
|
|
name: "esp-zigbee-lib",
|
|
versao: "^1.4.0",
|
|
categoria: "smart_home_mesh",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP-Zigbee 3.0 Stack Library",
|
|
descricao: "Certified Zigbee 3.0 (ZBOSS) stack supporting Coordinator, Router, and End Device roles on IEEE 802.15.4 radios.",
|
|
tags: ["Zigbee 3.0", "ZBOSS", "802.15.4", "Coordinator", "Router", "End Device"],
|
|
chips: ["ESP32-C6", "ESP32-H2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-zigbee-lib",
|
|
urlRepo: "https://github.com/espressif/esp-zigbee-sdk",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-zigbee-lib: "^1.4.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp_rcp_update",
|
|
namespace: "espressif",
|
|
name: "esp_rcp_update",
|
|
versao: "^0.1.2",
|
|
categoria: "smart_home_mesh",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "Thread Radio Co-Processor (RCP) Update",
|
|
descricao: "Firmware manager and updater for Thread RCP architectures, used in OpenThread Border Routers (OTBR) combining ESP32-S3 and ESP32-H2.",
|
|
tags: ["OpenThread", "RCP", "Border Router", "OTBR", "802.15.4"],
|
|
chips: ["ESP32-S3", "ESP32-C6", "ESP32-H2"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_rcp_update",
|
|
urlRepo: "https://github.com/espressif/esp-thread-lib",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_rcp_update: "^0.1.2"`
|
|
},
|
|
|
|
// ==========================================
|
|
// 5. Drivers & Sensors
|
|
// ==========================================
|
|
{
|
|
id: "espressif-led_indicator",
|
|
namespace: "espressif",
|
|
name: "led_indicator",
|
|
versao: "^0.9.3",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "LED Indicator & Blink Pattern Driver",
|
|
descricao: "Visual status engine managing simple and RGB LEDs with non-blocking blink sequences, breathing effects, and priority queues.",
|
|
tags: ["LED Blink", "RGB Status", "Breathing Effect", "User Feedback"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C2", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/led_indicator",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution/tree/master/components/led/led_indicator",
|
|
exemploYaml: `dependencies:
|
|
espressif/led_indicator: "^0.9.3"`
|
|
},
|
|
{
|
|
id: "espressif-button",
|
|
namespace: "espressif",
|
|
name: "button",
|
|
versao: "^3.3.0",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "Advanced Button & Event Handler (IoT Button)",
|
|
descricao: "Robust debounce and event engine for physical buttons: detects single-click, double-click, long-press, repeat events, and ADC resistor ladder keys.",
|
|
tags: ["Debounce", "Double Click", "Long Press", "ADC Button", "GPIO Key"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/button",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution/tree/master/components/button",
|
|
exemploYaml: `dependencies:
|
|
espressif/button: "^3.3.0"`
|
|
},
|
|
{
|
|
id: "espressif-led_strip",
|
|
namespace: "espressif",
|
|
name: "led_strip",
|
|
versao: "^2.5.3",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "Addressable RGB LED Strip Driver (RMT / SPI)",
|
|
descricao: "Official driver for addressable RGB/RGBW LED strips (WS2812B, SK6812, APA102) utilizing hardware RMT or SPI peripherals without CPU overhead.",
|
|
tags: ["WS2812", "NeoPixel", "SK6812", "RMT", "RGB Strip", "Addressable LED"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C3", "ESP32-C6", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/led_strip",
|
|
urlRepo: "https://github.com/espressif/idf-extra-components/tree/master/led_strip",
|
|
exemploYaml: `dependencies:
|
|
espressif/led_strip: "^2.5.3"`
|
|
},
|
|
{
|
|
id: "espressif-esp_tinyusb",
|
|
namespace: "espressif",
|
|
name: "esp_tinyusb",
|
|
versao: "^1.4.5",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "TinyUSB Hardware Native USB Stack",
|
|
descricao: "Complete native USB stack (Device and Host): emulates HID (Keyboard/Mouse), CDC (Virtual Serial), MSC (Mass Storage Flash Drive), and MIDI.",
|
|
tags: ["USB OTG", "TinyUSB", "USB CDC", "USB HID", "USB Flash Drive", "Mass Storage"],
|
|
chips: ["ESP32-S2", "ESP32-S3", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_tinyusb",
|
|
urlRepo: "https://github.com/espressif/esp-tinyusb",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_tinyusb: "^1.4.5"`
|
|
},
|
|
{
|
|
id: "espressif-w5500",
|
|
namespace: "espressif",
|
|
name: "w5500",
|
|
versao: "^1.1.0",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "WIZnet W5500 SPI Ethernet Driver",
|
|
descricao: "Official driver for WIZnet W5500 SPI Ethernet controllers, integrating seamlessly into ESP-IDF's lwIP network stack with high throughput.",
|
|
tags: ["Ethernet", "W5500", "SPI LAN", "lwIP", "Wired Network"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/w5500",
|
|
urlRepo: "https://github.com/espressif/esp-eth-drivers/tree/master/w5500",
|
|
exemploYaml: `dependencies:
|
|
espressif/w5500: "^1.1.0"`
|
|
},
|
|
{
|
|
id: "espressif-ch390",
|
|
namespace: "espressif",
|
|
name: "ch390",
|
|
versao: "^0.1.2",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "WCH CH390 SPI 10/100M Ethernet Driver",
|
|
descricao: "Cost-effective 10/100Mbps Ethernet MAC/PHY driver for WCH CH390 chips communicating over high-speed SPI.",
|
|
tags: ["CH390", "Ethernet SPI", "WCH", "Cost Effective", "lwIP"],
|
|
chips: ["ESP32", "ESP32-C3", "ESP32-S3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/ch390",
|
|
urlRepo: "https://github.com/espressif/esp-eth-drivers",
|
|
exemploYaml: `dependencies:
|
|
espressif/ch390: "^0.1.2"`
|
|
},
|
|
{
|
|
id: "espressif-usb_host_uvc",
|
|
namespace: "espressif",
|
|
name: "usb_host_uvc",
|
|
versao: "^1.0.3",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "USB Host UVC Video Camera Driver",
|
|
descricao: "Native USB Host driver allowing connection to standard USB UVC webcams directly from ESP32-S2/S3/P4.",
|
|
tags: ["USB Host", "UVC", "Webcam USB", "Video Streaming"],
|
|
chips: ["ESP32-S2", "ESP32-S3", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/usb_host_uvc",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution",
|
|
exemploYaml: `dependencies:
|
|
espressif/usb_host_uvc: "^1.0.3"`
|
|
},
|
|
{
|
|
id: "espressif-sensor_hub",
|
|
namespace: "espressif",
|
|
name: "sensor_hub",
|
|
versao: "^0.5.2",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "Sensor Hub Data Acquisition Architecture",
|
|
descricao: "Modular sensor abstraction framework with event-driven sampling, buffer management, and automatic calibration for environmental and IMU sensors.",
|
|
tags: ["Sensor Hub", "I2C Sensor", "Sampling Event", "IMU"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/sensor_hub",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution/tree/master/components/sensors/sensor_hub",
|
|
exemploYaml: `dependencies:
|
|
espressif/sensor_hub: "^0.5.2"`
|
|
},
|
|
{
|
|
id: "espressif-bmi270_sensor",
|
|
namespace: "espressif",
|
|
name: "bmi270_sensor",
|
|
versao: "^0.1.2",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "Bosch BMI270 6-Axis IMU Sensor Driver",
|
|
descricao: "Driver for Bosch BMI270 6-axis ultra-low-power IMU (accelerometer and gyroscope) featuring built-in step counter and gesture detection.",
|
|
tags: ["BMI270", "IMU 6-Axis", "Accelerometer", "Gyroscope", "Bosch"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/bmi270_sensor",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution",
|
|
exemploYaml: `dependencies:
|
|
espressif/bmi270_sensor: "^0.1.2"`
|
|
},
|
|
{
|
|
id: "espressif-ds18b20",
|
|
namespace: "espressif",
|
|
name: "ds18b20",
|
|
versao: "^0.1.1",
|
|
categoria: "drivers_perifericos",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "Dallas DS18B20 1-Wire Temperature Sensor",
|
|
descricao: "RMT-accelerated 1-Wire temperature sensor driver providing non-blocking precision multi-sensor reading on a single bus line.",
|
|
tags: ["DS18B20", "1-Wire", "Temperature", "RMT", "Waterproof"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/ds18b20",
|
|
urlRepo: "https://github.com/espressif/esp-iot-solution",
|
|
exemploYaml: `dependencies:
|
|
espressif/ds18b20: "^0.1.1"`
|
|
},
|
|
{
|
|
id: "esp-idf-lib-scd4x",
|
|
namespace: "esp-idf-lib",
|
|
name: "scd4x",
|
|
versao: "^1.0.0",
|
|
categoria: "drivers_perifericos",
|
|
oficial: false,
|
|
popular: true,
|
|
titulo: "Sensirion SCD40 / SCD41 CO2 Photoacoustic Sensor",
|
|
descricao: "Driver for Sensirion SCD40/SCD41 true CO2 sensors with integrated relative humidity and ambient temperature measurements.",
|
|
tags: ["SCD40", "SCD41", "CO2 Sensor", "Air Quality", "I2C Sensirion"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/esp-idf-lib/scd4x",
|
|
urlRepo: "https://github.com/UncleRus/esp-idf-lib",
|
|
exemploYaml: `dependencies:
|
|
esp-idf-lib/scd4x: "^1.0.0"`
|
|
},
|
|
|
|
// ==========================================
|
|
// 6. BSPs (Board Support Packages)
|
|
// ==========================================
|
|
{
|
|
id: "espressif-esp-box-3",
|
|
namespace: "espressif",
|
|
name: "esp-box-3",
|
|
versao: "^1.3.1",
|
|
categoria: "bsp_placas",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP32-S3-BOX-3 Board Support Package (BSP)",
|
|
descricao: "Comprehensive BSP for the ESP-BOX-3 development kit: configures display, capacitive touch, ES8311 codec, dual microphones, sensor dock, and PCIe connector out-of-the-box.",
|
|
tags: ["ESP-BOX-3", "ESP32-S3", "BSP", "Touch LCD", "Voice AI", "Sensors"],
|
|
chips: ["ESP32-S3"],
|
|
dependenciasSugeridas: ["espressif/esp_lvgl_port^2.4.0"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-box-3",
|
|
urlRepo: "https://github.com/espressif/esp-bsp/tree/master/bsp/esp-box-3",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-box-3: "^1.3.1"`
|
|
},
|
|
{
|
|
id: "espressif-esp32_s3_korvo_2",
|
|
namespace: "espressif",
|
|
name: "esp32_s3_korvo_2",
|
|
versao: "^1.0.2",
|
|
categoria: "bsp_placas",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "ESP32-S3-Korvo-2 Audio Development Board BSP",
|
|
descricao: "Official BSP for the multi-microphone Korvo-2 board: initializes dual ES7210 ADCs, ES8311 DAC, far-field beamforming, and AEC processing.",
|
|
tags: ["Korvo-2", "Audio Board", "Microphone Array", "AEC", "ESP-ADF"],
|
|
chips: ["ESP32-S3"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp32_s3_korvo_2",
|
|
urlRepo: "https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s3_korvo_2",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp32_s3_korvo_2: "^1.0.2"`
|
|
},
|
|
{
|
|
id: "espressif-esp32_s3_eye",
|
|
namespace: "espressif",
|
|
name: "esp32_s3_eye",
|
|
versao: "^1.1.0",
|
|
categoria: "bsp_placas",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP32-S3-EYE Vision AI Board BSP",
|
|
descricao: "BSP for the ESP32-S3-EYE computer vision kit: auto-initializes the OV2640 camera, 1.3\" SPI display, microphone, and on-board digital sensors.",
|
|
tags: ["S3-EYE", "Camera AI", "OV2640", "Face Recognition", "ESP-WHO"],
|
|
chips: ["ESP32-S3"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp32_s3_eye",
|
|
urlRepo: "https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s3_eye",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp32_s3_eye: "^1.1.0"`
|
|
},
|
|
{
|
|
id: "espressif-m5stack_core_s3",
|
|
namespace: "espressif",
|
|
name: "m5stack_core_s3",
|
|
versao: "^0.2.0",
|
|
categoria: "bsp_placas",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "M5Stack CoreS3 BSP for ESP-IDF",
|
|
descricao: "BSP for the popular M5Stack CoreS3: configures ILI9342C display, FT6336 touch controller, AXP2101 power management PMIC, camera, and dual microphones.",
|
|
tags: ["M5Stack", "CoreS3", "AXP2101", "ILI9342C", "Modular IoT"],
|
|
chips: ["ESP32-S3"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/m5stack_core_s3",
|
|
urlRepo: "https://github.com/espressif/esp-bsp/tree/master/bsp/m5stack_core_s3",
|
|
exemploYaml: `dependencies:
|
|
espressif/m5stack_core_s3: "^0.2.0"`
|
|
},
|
|
{
|
|
id: "waveshare-esp32_p4_wifi6_touch_lcd_7b",
|
|
namespace: "waveshare",
|
|
name: "esp32_p4_wifi6_touch_lcd_7b",
|
|
versao: "^0.1.0",
|
|
categoria: "bsp_placas",
|
|
oficial: false,
|
|
popular: true,
|
|
titulo: "Waveshare ESP32-P4 7-inch Touch LCD BSP",
|
|
descricao: "Support package for Waveshare's flagship ESP32-P4 board featuring 7.0\" MIPI-DSI (1024x600) display, GT911 touch controller, and Wi-Fi 6 coprocessor.",
|
|
tags: ["ESP32-P4", "MIPI-DSI", "Waveshare 7B", "1024x600", "High Performance HMI"],
|
|
chips: ["ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/waveshare/esp32_p4_wifi6_touch_lcd_7b",
|
|
urlRepo: "https://github.com/waveshare/esp32-p4-bsp",
|
|
exemploYaml: `dependencies:
|
|
waveshare/esp32_p4_wifi6_touch_lcd_7b: "^0.1.0"`
|
|
},
|
|
|
|
// ==========================================
|
|
// 7. System & Utilities
|
|
// ==========================================
|
|
{
|
|
id: "joltwallet-littlefs",
|
|
namespace: "joltwallet",
|
|
name: "littlefs",
|
|
versao: "^1.14.8",
|
|
categoria: "sistema_utilitarios",
|
|
oficial: false,
|
|
popular: true,
|
|
titulo: "LittleFS Resilient Embedded File System",
|
|
descricao: "Power-failure resilient file system designed for microcontrollers with wear leveling, zero RAM leaks on unexpected resets, and high speed.",
|
|
tags: ["LittleFS", "File System", "VFS", "Flash Wear Leveling", "Power Safe"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C2", "ESP32-C3", "ESP32-C6", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/joltwallet/littlefs",
|
|
urlRepo: "https://github.com/joltwallet/esp_littlefs",
|
|
exemploYaml: `dependencies:
|
|
joltwallet/littlefs: "^1.14.8"`
|
|
},
|
|
{
|
|
id: "espressif-esp-idf-cxx",
|
|
namespace: "espressif",
|
|
name: "esp-idf-cxx",
|
|
versao: "^0.2.1",
|
|
categoria: "sistema_utilitarios",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "Modern C++ (C++17/20/23) ESP-IDF Wrappers",
|
|
descricao: "Modern type-safe C++ wrappers for ESP-IDF primitives: RAII locks, exceptions, tasks, queues, GPIOs, and I2C/SPI buses.",
|
|
tags: ["C++20", "C++17", "RAII", "Object Oriented", "Type Safe"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6", "ESP32-P4"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp-idf-cxx",
|
|
urlRepo: "https://github.com/espressif/esp-idf-cxx",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp-idf-cxx: "^0.2.1"`
|
|
},
|
|
{
|
|
id: "espressif-cbor",
|
|
namespace: "espressif",
|
|
name: "cbor",
|
|
versao: "^0.6.0",
|
|
categoria: "sistema_utilitarios",
|
|
oficial: true,
|
|
popular: false,
|
|
titulo: "TinyCBOR Binary Serialization Library",
|
|
descricao: "Compact binary object serialization library (RFC 8949) offering lightweight alternative to JSON for low-bandwidth constrained IoT communication.",
|
|
tags: ["CBOR", "Binary JSON", "Compact Serialization", "RFC 8949", "CoAP"],
|
|
chips: ["ESP32", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/cbor",
|
|
urlRepo: "https://github.com/intel/tinycbor",
|
|
exemploYaml: `dependencies:
|
|
espressif/cbor: "^0.6.0"`
|
|
},
|
|
{
|
|
id: "espressif-esp_websocket_client",
|
|
namespace: "espressif",
|
|
name: "esp_websocket_client",
|
|
versao: "^1.2.3",
|
|
categoria: "sistema_utilitarios",
|
|
oficial: true,
|
|
popular: true,
|
|
titulo: "ESP WebSocket Client (WS / WSS)",
|
|
descricao: "Full-duplex real-time WebSocket client supporting text and binary frames over secure TLS connections (WSS) and automatic reconnections.",
|
|
tags: ["WebSocket", "WSS", "TLS", "Real-Time", "Full Duplex"],
|
|
chips: ["ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C3", "ESP32-C6"],
|
|
urlRegistry: "https://components.espressif.com/components/espressif/esp_websocket_client",
|
|
urlRepo: "https://github.com/espressif/esp-protocols/tree/master/components/esp_websocket_client",
|
|
exemploYaml: `dependencies:
|
|
espressif/esp_websocket_client: "^1.2.3"`
|
|
}
|
|
];
|
|
|
|
export const GUIA_COMPONENT_MANAGER = {
|
|
titulo: "How to Use the ESP Component Registry in ESP-IDF",
|
|
resumo: "Starting with ESP-IDF v4.4 and established in v5.x+, Espressif adopted a modular package architecture managed by the IDF Component Manager. Forget complex git submodules: declare libraries in your project's idf_component.yml manifest file.",
|
|
vantagens: [
|
|
{
|
|
titulo: "Automatic and Decoupled Installation",
|
|
descricao: "The build system downloads, compiles, and manages library versions automatically during 'idf.py build' or 'idf.py reconfigure'."
|
|
},
|
|
{
|
|
titulo: "Strict Semantic Versioning",
|
|
descricao: "Control exactly when to update using version operators (^ for minor compatibility, ~ for patches, or exact fixed versions)."
|
|
},
|
|
{
|
|
titulo: "Lighter and Cleaner Projects",
|
|
descricao: "Your project repository stays clean, without embedding third-party code in your Git history."
|
|
},
|
|
{
|
|
titulo: "Enterprise or Community Sharing",
|
|
descricao: "Publish your own components to the public Espressif cloud registry or your company's private internal registries."
|
|
}
|
|
],
|
|
comandosCli: [
|
|
{
|
|
comando: "idf.py add-dependency \"namespace/component^version\"",
|
|
exemplo: "idf.py add-dependency \"espressif/esp_lvgl_port^2.4.0\"",
|
|
explicacao: "Automatically creates or updates the 'main/idf_component.yml' file by adding the specified dependency."
|
|
},
|
|
{
|
|
comando: "idf.py reconfigure",
|
|
exemplo: "idf.py reconfigure",
|
|
explicacao: "Forces CMake and Component Manager to re-resolve the dependency tree and download pending packages."
|
|
},
|
|
{
|
|
comando: "compote component upload --name <component_name> --namespace <your_org>",
|
|
exemplo: "compote component upload --name my_sensor_driver --namespace myteam",
|
|
explicacao: "Publishes your open-source or proprietary component to the ESP Component Registry using the official Compote CLI tool."
|
|
}
|
|
],
|
|
sintaxeManifesto: "# Typical file structure: main/idf_component.yml\ndependencies:\n # Download from official Espressif registry\n espressif/esp_lvgl_port: \"^2.4.0\"\n espressif/button: \"~3.4.0\"\n \n # Exact version\n espressif/led_indicator: \"1.2.0\"\n \n # Community dependency\n joltwallet/littlefs: \"^1.14.8\"\n \n # Local disk dependency (optional)\n # my_local_driver:\n # path: \"../../components/my_driver\""
|
|
};
|
|
|