This article is split into the following parts:
- Guidelines for assigning tags – gives you some background information
- Assign tags – instructs you on how to and what tags to assign
Guidelines for assigning tags#
In this section, you will find the following guidelines:
Once you familiarize yourself with these guidelines, go to Assign tags.
Choosing tags#
- Carefully choose tags and make sure they give a rough idea of who the article is for and what it is about. If the current tagging system does not cover important aspects, please share your feedback.
- To avoid unnecessary specificity, prefer broader taxonomy terms, or omit tags entirely, when the content applies across multiple items in the same classification:
- For content applicable to both
ZephyrandNuttX, consider using the broader tagRTOS. - Do not add a specific SoC tag, such as
ESP32, to content applicable toESP32-C3or other Espressif SoCs.
- For content applicable to both
- To avoid overly granular tagging, use only widely known hardware and software product names as tags. For lesser known hardware or software, use higher-level taxonomy terms instead:
- ❌ (
ESP32-C3-DevKit-RUST-1→ ✅DevKit - ❌
Esp-Audio-Effects→ ✅ESP-IDF component - If a higher-level term is too broad and multiple articles fit a more specific tag, feel free to introduce such a tag (for example, use
face recognitioninstead of the broadermachine vision).
- ❌ (
Spelling tags#
- Use lower case letters.
Exceptions: Capitalize proper nouns and established terms, such as:- Product names:
ESP32-P4,ESP-IDF,NuttX - Terms, protocols, and features:
SoC,Ethernet,WebRTC - Abbreviations:
IDE,LED,LLVM
- Product names:
- Use tags in singular.
Exceptions: Singular (uncountable) words that end ins:- Mass nouns:
graphics,robotics - Established terms:
ESP Insights,DevOps
- Mass nouns:
- Use spaces to separate words.
Exceptions: Use hyphens only in established terms:- Compound terms:
ESP32-C3,esp-idf-kconfig,Wi-Fi
- Compound terms:
Assign tags#
Take the following steps:
- Choose appropriate tags as explained in Tagging process.
- In your article’s YAML frontmatter, add these tags as follows:
tags: - tag1 - tag2 - ...
Tagging process#
Navigate to mandatory and lower-priority tag category subsections listed below and choose four to six tags in total that best describe your content. Please note that the actual tags are marked in monospace, the rest is taxonomy words and comments to assist in choosing tags.
Mandatory categories:
- Hardware type / Software framework / OS / IDE
- Complexity (optional for in-depth explanations)
- Content type
Lower-priority categories:
- Community involvement
- Additional hardware information
- Additional software information
- Security
- Application domains
- Industry keywords
- Third-party products and titles
- Other
Hardware type / Software framework / OS / IDE#
- hardware type
- SoC
- module
DevKit– use for Espressif boardsdevelopment board– use for 3rd party boardsM5Stack- BSP
- software framework
ESP-IDFESP RainMakerESP-ADFArduino
- OS
bare metalLinux(POSIX?)WindowsRTOSFreeRTOSNuttXZephyr
IDEEspressif-IDEESP-IDF Extension for VS Code
Complexity#
beginner– assumes no prior domain knowledgepractitioner– assumes familiarity with core conceptsexpert– assumes strong domain knowledge
Content type#
If content is a mixture of overview and how-to / tutorial, how-to and tutorial tags take precedence.
new product(NPI)announcement(news, newsletter)release(software releases)overviewhow-totutorialworkshop- roadmap
- benchmarks / performance
- product development
- DIY project
Community involvement#
community software– overview of community software for Espressif productscommunity hardware– overview of community hardware based on Espressif productscommunity contribution– contribution from outside Espressifcommunity event– announcement or overview of a community event
Additional hardware information#
- Hardware peripheral
display:LCD,MIPI-CSI- communication bus:
I2C,SPI,USB,Ethernet,CAN - debug interface:
JTAG,UART ADCcameraLEDmotorIMUPIE
- Hardware concept
- CPU architecture:
RISC-V,Xtensa drivermemory(PSRAM, flash)low power(power efficiency, low power core, deep sleep)memory managementbootloaderMCUboot
- CPU architecture:
Additional software information#
- Programming language
AssemblyPythonMicroPythonLuaRustSwiftCC++
- ESP-IDF tool or part
build systemESP-IDF componentESP-IDF toolidf.pyesp-idf-kconfigEIMesptoolsdkconfig
- Communication protocol (Wireless)
Wi-Fi(Wi-Fi 6?)BluetoothBLEBLE MeshMQTTMatterThreadESP-NOWZigbeeWebRTC
CompilingGCCCMakeLLVMpartition tablecross-compilation
- Software concepts
simulationQEMUWokwi
graphicsGUIQtlvgl
HTTP serverportinglibrary– use for 3rd party librarieszero-codelow-codeCLIdebuggingmultimedia processing(multimedia)video processing(H.264, H.265, motion detection)image processing(JPEG)audio processing(speech recognition, voice assistant)
Security#
Secure BootFlash EncryptionESP-TEENVS encryptionESP Privilege Separation
Application domains#
IoTsmart homeindustrial automationwearablessmart agricultureprogrammingroboticsmachine visionaudio
Industry keywords#
HMIdeep learningAILLMMCPedge computing(neural networks)AIoT
Third-party products and titles#
OpenOCDChatGPTGitHub CoPilotKiCadCLionJupyter Notebooks(Jupyter)WLEDEclipseVS CodeAlexaHome Assistant
Other#
infrastructureCI/CDembedded DevOpsAPICloudphone appOTA
- Artifact
bookexample codereference design
EventDevCon
DocumentationdatasheetTRMESP Insights


