PLATFORMIO(1)

NAME
platformio - PlatformIO Documentation

A place where Developers and Teams have true Freedom! No more hardware or software lock-ins!

    •   Open source, maximum permissive Apache 2.0 license

    •   Cross-platform IDE and Unified Debugger

    •   Static Code Analyzer and Remote Unit Testing

    •   Multi-platform and Multi-architecture Build System

    •   Firmware File Explorer and Memory Inspection.

Social: Twitter | LinkedIn | Facebook | Bintray | Community

CONTENTS

  What is PlatformIO?

A place where Developers and Teams have true Freedom! No more hardware or software lock-ins!

  Contents

    •   Awards

    •   Philosophy

    •   Technologies

    •   Problematic

    •   How does it work?

PlatformIO is a cross-platform, cross-architecture, multiple framework, professional tool for embedded systems engineers and for software developers who write applications for embedded products.

  Awards

PlatformIO was nominated for the year's best Software and Tools in the 2015/16 IoT Awards.

A native PlatformIO IDE extension for Microsoft ide_vscode editor is the most rated/reviewed extension with over 800 five-star reviews in the whole Microsoft Marketplace. It also was installed by over 750,000 unique developers around the world.

  Philosophy

PlatformIO's unique philosophy in the embedded market provides developers with a modern integrated development environment (ide) that works cross-platform, supports many different software development kits (SDKs) or frameworks, and includes sophisticated debugging (piodebug), unit testing (unit_testing), automated code analysis (piocheck), and remote management (pioremote). It is architected to maximize flexibility and choice by developers, who can use either graphical or command line editors (piocore), or both.

PlatformIO is a must-have tool for professional embedded systems engineers who develop solutions on more than one specific platform. In addition, by having a decentralized architecture, PlatformIO offers both new and existing developers a quick integration path for developing commercial-ready products, and reduces the overall time-to-market.

And it runs on any one of your favorite modern operating systems (macOS, MS Windows, Linux, FreeBSD).

  Technologies

PlatformIO applies the latest scalable and flexible software technology to the embedded market – an area traditionally served by complex software tools that experienced hardware engineers have learned over time (often painfully so). Instead, with PlatformIO, users can be hobbyists or professionals. They can import the classic Arduino "Blink" sketch or develop a sophisticated low-level embedded C program for a commercial product. Example code for any supported framework can be compiled and uploaded to a target platform in minutes.

The build system structure automatically tags software dependencies and applies them using a modular hierarchy that takes away the usual complexity and pain. Developers no longer have to manually find and assemble an environment of toolchains, compilers, and library dependencies to develop applications for a specific target. With PlatformIO, clicking the compile button will bring in all necessary dependencies automatically. It's analogous to if you were a furniture designer, and your CAD program had a "build" button that caused a robot to fetch all the necessary pieces and fasteners and correctly assemble them.

piocore is a unique, developed-from-scratch build system that removes the usual pain of software integration, packaging, and library dependencies that developers encounter when they move beyond the bounds of a specific SDK or example embedded application. It can be used with a variety of code development environments and allows easy integration with numerous cloud platforms and web services feeds. The user experiences no barriers to getting started quickly: no license fees, no legal contracts. The user maintains full flexibility of the build environment because the tools are open source and permissively licensed (no permission needed to modify them, and no requirement to share changes.)

  Problematic

    •   The main problem which repulses people from the embedded world is a complicated process to setup development software for a specific MCU/board: toolchains, proprietary vendor's IDE (which sometimes isn't free) and what is more, to get a computer with OS where that software is supported.

    •   Multiple hardware platforms (MCUs, boards) require different toolchains, IDEs, etc, and, respectively, spending time on learning new development environments.

    •   Finding proper libraries and code samples showing how to use popular sensors, actuators, etc.

    •   Sharing embedded projects between team members, regardless of an operating system they prefer to work with.

  How does it work?

Without going too deep into PlatformIO implementation details, work cycle of the project developed using PlatformIO is as follows:

    •   Users choose board(s) interested in projectconf

    •   Based on this list of boards, PlatformIO downloads required toolchains and installs them automatically.

    •   Users develop code and PlatformIO makes sure that it is compiled, prepared and uploaded to all the boards of interest.

  PlatformIO IDE

PlatformIO IDE is the next-generation integrated development environment for IoT.

    •   Cross-platform build system without external dependencies to the OS software:

                •   800+ boards

                •   35+ platforms

                •   20+ frameworks

    •   piodebug

    •   pioremote

    •   unit_testing

    •   C/C++ Intelligent Code Completion

    •   C/C++ Smart Code Linter for rapid professional development

    •   Library Manager for the hundreds popular libraries

    •   Multi-projects workflow with multiple panes

    •   Themes support with dark and light colors

    •   Serial Port Monitor

    •   Built-in Terminal with piocore and CLI tool (pio, platformio)

    •   Built-in piohome.

----

We provide official packages (plugins, extensions) for the most popular IDEs and text editors.

NOTE:
        In our experience, ide_vscode offers better system performance, and users have found it easier to get started

  PlatformIO for VSCode

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Python, PHP, Go) and runtimes (such as .NET and Unity).

Install PlatformIO for VSCode / Get started .SS PlatformIO for CLion

The CLion is a cross-platform C/C++ IDE for Linux, OS X, and Windows. CLion includes such features as a smart editor, code generation, code quality assurance, automated refactorings, on-the-fly code analysis, project manager, integrated version control systems and debugger.

Install PlatformIO for CLion / Get started .SS PlatformIO Core (CLI)

PlatformIO Core (CLI tool) is a heart of whole PlatformIO ecosystem and consists of

    •   Multi-platform Build System

    •   Development platform and package managers

    •   librarymanager

    •   ldf

    •   Serial Port Monitor

    •   Integration components (ide and ci).

PlatformIO Core is written in Python and works on Windows, macOS, Linux, FreeBSD and ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, etc.).

PlatformIO Core provides a rich and documented Command Line Interface (CLI). The other PlatformIO-based software and IDEs are based on PlatformIO Core CLI, such as pioide. In other words, they wrap PlatformIO Core with own GUI.

NOTE:
        Please note that you do not need to install PlatformIO Core if you are going to use pioide. PlatformIO Core is built into PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.

        If you need PlatformIO Core commands outside PlatformIO IDE, please piocore_install_shell_commands.

  Demo

  Contents

    •   "Blink Project"

        •   Used in demo

    •   Platform Manager

        •   Used in demo

    •   Library Manager

        •   Used in demo

    •   Over-the-Air update for ESP8266

        •   Used in demo

  Blink Project
[image]

  Used in demo

    1.  Source code of Wiring Blink Example

    2.  cmd_run command

    3.  platformio run -t upload command.

  Platform Manager
[image]

  Used in demo

    1.  userguide_platform

    2.  cmd_platform_list command

    3.  platformio platform search avr command

    4.  platformio platform show teensy command

    5.  cmd_platform_update command.

  Library Manager
[image]

  Used in demo

    1.  cmd_lib

    2.  platformio lib search 1-wire command

    3.  platformio lib install 54 command

    4.  platformio lib search -f mbed command

    5.  platformio lib search -k rf command

    6.  platformio lib search radiohead command

    7.  platformio lib install 124 --version "1.40" command

    8.  platformio lib show 124 command

    9.  cmd_lib_update command.

  Over-the-Air update for ESP8266
.SS Used in demo

    1.  cmd_run command

    2.  platformio run -t upload command.

  Installation

NOTE:
        Please note that you do not need to install piocore if you are going to use pioide. piocore is built into PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.

        If you need piocore outside PlatformIO IDE, please Install Shell Commands.

PlatformIO Core is written in Python and works on Windows, macOS, Linux, FreeBSD and ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, etc.).

    •   System requirements

    •   Installation Methods

        •   Installer Script

            •   Super-Quick (Mac / Linux)

            •   Local Download (Mac / Linux / Windows)

        •   Python Package Manager

        •   macOS Homebrew

        •   Virtual Environment

            •   Prerequisites

            •   Creating

    •   Development Version

    •   Install Shell Commands

        •   Unix and Unix-like

            •   Method 1

            •   Method 2

        •   Windows

    •   Uninstall PIO Core and dependent packages

    •   Integration with custom applications (extensions, plugins)

        •   Prerequisite

            •   Python Interpreter

            •   Installer Script

        •   Workflow

            •   Step 1. Where is PlatformIO Core installed?

            •   Step 2. Install PlatformIO Core

    •   Troubleshooting

  System requirements

    Operating System
        Windows, macOS, Linux, FreeBSD, Linux ARMv6+

    Python Interpreter
        Python 3.5+ (Python 2.7 is not recommended, support for it will be removed in the next releases). See detailed instruction on how to faq_install_python for Windows.

    Terminal Application
        All commands below should be executed in Command-line application (Terminal). For macOS and Linux OS - Terminal application, for Windows OS – cmd.exe application.

    Access to Serial Ports (USB/UART)
        Windows Users: Please check that you have correctly installed USB driver from board manufacturer

        Linux Users:

        •   Please install faq_udev_rules

        •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

  Installation Methods

Please choose ONE of the following methods:

    •   Installer Script

        •   Super-Quick (Mac / Linux)

        •   Local Download (Mac / Linux / Windows)

    •   Python Package Manager

    •   macOS Homebrew

    •   Virtual Environment

        •   Prerequisites

        •   Creating

  Installer Script

WARNING:
        PlatformIO DOES NOT require administrative/sudo permissions. Please install using default user account WITHOUT EXTRA PERMISSIONS.

  Super-Quick (Mac / Linux)

To install or upgrade PlatformIO Core paste that at a Terminal prompt:

        python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)"

        # or using `curl`

        curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py -o get-platformio.py
        python3 get-platformio.py

        # or using `wget`

        wget https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py -O get-platformio.py
        python3 get-platformio.py

  Local Download (Mac / Linux / Windows)

To install or upgrade PlatformIO Core, download (save as...) get-platformio.py script. Then run the following:

        # change directory to folder where is located downloaded "get-platformio.py"
        cd /path/to/dir/where/is/located/get-platformio.py/script

        # run it
        python get-platformio.py

On Windows OS it may look like:

        # change directory to folder where is located downloaded "get-platformio.py"
        cd C:\path\to\dir\where\is\located\script\get-platformio.py

        # run it
        python.exe get-platformio.py

NOTE:
        If you need to have access to platformio or platformio.exe commands from other applications or terminal in your OS, please Install Shell Commands.

  Python Package Manager

WARNING:
        We recommend using this method ONLY FOR ci use cases or where your have full permissions to install PlatformIO Core into the global scope of your OS.

        For personal using, and avoiding maintenance and upgrade issues, we HIGHLY RECOMMEND using Installer Script which installs PlatformIO Core into an isolated virtual environment and does not affect your OS.

The latest stable version of PlatformIO Core may be installed or upgraded via Python Package Manager (pip) as follows:

        pip install -U platformio

  macOS Homebrew

The latest stable version of PlatformIO may be installed or upgraded via macOS Homebrew Packages Manager (brew) as follows:

        brew install platformio

  Virtual Environment

PlatformIO Core may be installed into isolated Python environment. This method is very good if you don't want to install PlatformIO Core Python's dependencies (packages) into your global system scope. pioide uses this method to install PlatformIO Core.

Default and recommended environment folder is "projectconf_pio_core_dir/penv". You can print environment folder path using the next command in your system terminal:

        python -c "import os; print(os.path.join(os.getenv('PLATFORMIO_CORE_DIR', os.path.join(os.path.expanduser('~'), '.platformio')), 'penv'))"

        ######################## Examples
        # Windows
        # C:\Users\UserName\.platformio\penv

        # Linux
        # ~/.platformio/penv
        # /home/username/.platformio/penv

        # macOS
        # ~/.platformio/penv
        # /Users/username/.platformio/penv

  Prerequisites

    1.  Please remove existing PlatformIO Core environment folder if exists. See above command how to get path to environment folder.

    2.  Please check that you have a valid Python interpreter running a next command in system terminal. Python 2.7.9+ or Python 3.5+ is recommended.

            python --version

            # or, for Unix (Linux, Mac), you can use `python2` or `python3` aliases
            python2 --version
            python3 --version

    WARNING:
            Windows Users: If you already tried to install pioide and did not get success, please open system's Control Panel > Installed Programs, and check if PlatformIO IDE tried to install an own isolated Python 2.7 version. Please uninstall it. Also is good to uninstall all Python interpreters from a system and install manually the latest Python using faq_install_python guide.

    3.  Make sure virtualenv --help command exists in a system, otherwise, please install it manually using pip install virtualenv or pip2 install virtualenv command.

        If pip (Python Package Manager) does not exists, you have to install it manually. See https://pip.pypa.io/en/stable/installing/

  Creating

    1.  Create a folder which contains all the necessary executables to use the packages that PIO Core would need using virtualenv command:

            virtualenv /path/to/.platformio/penv

            # If you want to use a custom Python interpreter
            virtualenv --python=/path/to/custom/python /path/to/.platformio/penv

            # EXAMPLES
            # Windows
            virtualenv C:\Users\UserName\.platformio\penv
            virtualenv --python=C:\Python27\python.exe  C:\Users\UserName\.platformio\penv

            # Unix (Linux, Mac)
            virtualenv ~/.platformio/penv
            virtualenv -p python3 ~/.platformio/penv

    2.  Activate virtual environment

            # Windows
            C:\Users\UserName\.platformio\penv\Scripts\activate

            # Unix (Linux, Mac)
            source /path/to/.platformio/penv/bin/activate
            # or
            . /path/to/.platformio/penv/bin/activate

    3.  Install PIO Core into virtual environment

            pip install -U platformio

If you plan to use PIO Core commands outside virtual environment, please Install Shell Commands.

  Development Version

WARNING:
        If you use pioide, please enable development version:

            •   ide_atom: "Menu PlatformIO: Settings > PlatformIO IDE > Use development version of PlatformIO Core"

            •   ide_vscode: Set platformio-ide.useDevelopmentPIOCore to true in ide_vscode_settings.

Install the latest PlatformIO from the develop branch:

        # uninstall existing version
        pip uninstall platformio

        # install the latest development version of PlatformIO
        pip install -U https://github.com/platformio/platformio-core/archive/develop.zip

If you want to be up-to-date with the latest develop version of PlatformIO, then you need to re-install PlatformIO each time you see a new commits in PlatformIO GitHub repository (branch: develop) like so:

        pip install -U https://github.com/platformio/platformio-core/archive/develop.zip

Or:

        pio upgrade --dev

To revert to the latest stable version:

        pip uninstall platformio
        pip install -U platformio

  Install Shell Commands

piocore consists of 2 standalone tools in a system:

    •   platformio or pio (short alias) - piocore_userguide

    •   piodebuggdb - alias of cmd_debug

If you have pioide already installed, you do not need to install piocore separately. Just link these tools with your shell:

    •   Unix and Unix-like

        •   Method 1

        •   Method 2

    •   Windows

  Unix and Unix-like

In Unix and Unix-like systems, there are multiple ways to achieve this.

  Method 1

You can export PlatformIO executables' directory to the PATH environmental variable. This method will allow you to execute platformio commands from any terminal emulator as long as you're logged in as the user PlatformIO is installed and configured for.

If you use Bash as your default shell, you can do it by editing either ~/.profile or ~/.bash_profile and adding the following line:

        export PATH=$PATH:~/.platformio/penv/bin

If you use Zsh, you can either edit ~/.zprofile and add the code above, or for supporting both, Bash and Zsh, you can first edit ~/.profile and add the code above, then edit ~/.zprofile and add the following line:

        emulate sh -c '. ~/.profile'

After everything's done, just restart your session (log out and log back in) and you're good to go.

If you don't know the difference between the two, check out this page.

  Method 2

You can create system-wide symlinks. This method is not recommended if you have multiple users on your computer because the symlinks will be broken for other users and they will get errors while executing PlatformIO commands. If that's not a problem, open your system terminal app and paste these commands (MAY require administrator access sudo):

        ln -s ~/.platformio/penv/bin/platformio /usr/local/bin/platformio
        ln -s ~/.platformio/penv/bin/pio /usr/local/bin/pio
        ln -s ~/.platformio/penv/bin/piodebuggdb /usr/local/bin/piodebuggdb

After that, you should be able to run PlatformIO from terminal. No restart is required.

  Windows

Please read one of these instructions How do I set or change the PATH system variable?

You need to edit system environment variable called Path and append C:\Users\UserName\.platformio\penv\Scripts; path in the beginning of a list (please replace UserName with your account name).

  Uninstall PIO Core and dependent packages

    •   Uninstall PIO Core tool

                    # uninstall standalone PIO Core installed via `pip`
                    pip uninstall platformio

                    # uninstall Homebrew's PIO Core (only macOS users if you installed it via Homebrew before)
                    brew uninstall platformio

    •   Dependent packages, global libraries are installed to projectconf_pio_core_dir folder (in user's HOME directory). Just remove it.

  Integration with custom applications (extensions, plugins)

We recommend using PlatformIO Core Installer Script when you integrate PlatformIO Core into an application, such as extension or plugin for IDE. Examples that use this installer are:

    •   platformio-node-helpers, is used by PlatformIO IDE for VSCode and PlatformIO IDE for Atom

  Prerequisite

  Python Interpreter

PlatformIO Core Installer Script is written in Python and is compatible with Python 2.7+ and Python 3.5+. We highly recommend using Python 3.

Python is installed by default on the most popular Unix OS (macOS, Linux, FreeBSD). If there is no Python on a user machine (you can check running python --version), we have 2 options:

    1.  Ask the user to install Python 3 using our guide faq_install_python

    2.  You can automatically Download Portable Python 3 and unpack it in a cache folder of your application. Later, you can use unpacked_protable_python_dir/python.exe for the installer script.

  Installer Script

There are 2 options on how to work with PlatformIO Core Installer Script:

    1.  Bundle get-platformio.py file into your application

    2.  Download get-platformio.py file on demand.

In both cases, you will need to have get-platformio.py script on the end-user machine. You can copy or download it to a cache/temporary folder.

A list of arguments and options for the installer script is available via

        python get-platformio.py --help

  Workflow

We will describe a simple workflow on how to automatically install piocore for end-user of your application/extension. We assume that get-platformio.py script is already copied/downloaded and exists on the end-user machine. See above how to get it.

  Step 1. Where is PlatformIO Core installed?

You should check the PlatformIO Core installation state each time when the user starts your application. You need to call the Installer Script with check core arguments:

        python get-platformio.py check core

This command returns 0 "exit code" when PlatformIO Core is already installed and is ready for use, otherwise, the non-zero code of subprocess will be returned and you need to install PlatformIO Core (see Step #2 below).

If you need to have full information about PlatformIO Core installation state, please run with --dump-state option and specify a folder or a full path where to save data in JSON format:

        get-platformio.py check core --dump-state tmpdir/pioinstaller-state.json

Now, read JSON file and use platformio_exe binary to call PlatforIO Core using CLI (see piocore_userguide). You can also export penv_bin_dir into system environment PATH variable and platformio command will be available without a full path.

Example of pioinstaller-state.json run on macOS:

        {
          "cache_dir": "/Users/Freedom/.platformio/.cache",
          "core_dir": "/Users/Freedom/.platformio",
          "core_version": "4.3.1",
          "installer_version": "0.2.0",
          "is_develop_core": false,
          "penv_bin_dir": "/Users/Freedom/.platformio/penv/bin",
          "penv_dir": "/Users/Freedom/.platformio/penv",
          "platformio_exe": "/Users/Freedom/.platformio/penv/bin/platformio",
          "python_exe": "/Users/Freedom/.platformio/penv/bin/python",
          "system": "darwin_x86_64"
        }

  Step 2. Install PlatformIO Core

To install PlatformIO Core into the virtual environment in an automatic mode, please call installer script without any arguments:

        python get-platformio.py

Available options:

    •   --verbose, verbose output

    •   --dev, install the latest development version of PlatformIO Core

    •   --ignore-python, a path to Python to be ignored (multiple options and unix wildcards are allowed)

More options are available at python get-platformio.py --help.

Installer Script will return exit code 0 on success, otherwise non-zero code and error explanation.

Next time just use again python get-platformio.py check core as described in Step #1 (see above).

  Troubleshooting

NOTE:
        Linux OS: Don't forget to install "udev" rules file 99-platformio-udev.rules (an instruction is located in the file).

        Windows OS: Please check that you have correctly installed USB driver from board manufacturer

For further details, frequently questions, known issues, please refer to faq.

If you find any issues with PlatformIO Core Installer Script, please report to https://github.com/platformio/platformio-core-installer/issues

  Quick Start

This tutorial introduces you to the basics of piocore Command Line Interface (CLI) workflow and shows you a creation process of a simple cross-platform “Blink” Project. After finishing you will have a general understanding of how to work with the multiple development platforms and embedded boards.

  Setting Up the Project

piocore provides special cmd_project_init command for configuring your projects. It allows one to initialize new empty project or update existing with the new data.

What is more, cmd_project_init can be used for ide. It means that you will be able to import pre-generated PlatformIO project using favorite IDE and extend it with the professional instruments for IoT development.

This tutorial is based on the next popular embedded boards and development platforms using framework_arduino:
Platform | Board | Framework
platform_atmelavr | board_atmelavr_uno | framework_arduino
platform_espressif8266 | board_espressif8266_nodemcuv2 | framework_arduino
platform_teensy | board_teensy_teensy31 | framework_arduino

  Board Identifier

cmd_project_init command requires to specify board identifier ID. It can be found using boards catalog, Boards Explorer or cmd_boards command. For example, using cmd_boards let's try to find Teensy boards:

        > platformio boards teensy

        Platform: teensy
        ---------------------------------------------------------------------------
        ID                    MCU            Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        teensy20              atmega32u4     16MHz     31K    2.5K  Teensy 2.0
        teensy30              mk20dx128      48MHz     128K   16K   Teensy 3.0
        teensy31              mk20dx256      72MHz     256K   64K   Teensy 3.1 / 3.2
        teensylc              mkl26z64       48MHz     62K    8K    Teensy LC
        teensy20pp            at90usb1286    16MHz     127K   8K    Teensy++ 2.0

According to the table above the ID for board_teensy_teensy31 is teensy31. Also, the ID for board_atmelavr_uno is uno and for board_espressif8266_nodemcuv2 is nodemcuv2.

  Initialize Project

PlatformIO ecosystem contains big database with pre-configured settings for the most popular embedded boards. It helps you to forget about installing toolchains, writing build scripts or configuring uploading process. Just tell PlatformIO the Board ID and you will receive full working project with pre-installed instruments for the professional development.

    1.  Create empty folder where you are going to initialize new PlatformIO project. Then open system Terminal and change directory to it:

            # create new directory
            > mkdir path_to_the_new_directory

            # go to it
            > cd path_to_the_new_directory

    2.  Initialize project for the boards mentioned above (you can specify more than one board at time):

            > platformio project init --board uno --board nodemcuv2 --board teensy31

            The current working directory *** will be used for the new project.
            You can specify another project directory via
            `platformio project init -d %PATH_TO_THE_PROJECT_DIR%` command.

            The next files/directories will be created in ***
            platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
            src - Put your source files here
            lib - Put here project specific (private) libraries
            Do you want to continue? [y/N]: y
            Project has been successfully initialized!
            Useful commands:
            `platformio run` - process/build project from the current directory
            `platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
            `platformio run --target clean` - clean project (remove compiled files)

Congrats! You have just created the first PlatformIO based Project with the next structure:

    •   projectconf

    •   src directory where you should place source code (*.h, *.c, *.cpp, *.S, *.ino, etc.)

    •   lib directory can be used for the project specific (private) libraries. More details are located in lib/README file.

    •   Miscellaneous files for VCS and ci support.

NOTE:
        If you need to add new board to the existing project please use cmd_project_init again.

The result of just generated platformio.ini:

        ; PlatformIO Project Configuration File
        ;
        ;   Build options: build flags, source filter, extra scripting
        ;   Upload options: custom port, speed and extra flags
        ;   Library options: dependencies, extra library storages
        ;
        ; Please visit documentation for the other options and examples
        ; https://docs.platformio.org/page/projectconf.html

        [env:uno]
        platform = atmelavr
        framework = arduino
        board = uno

        [env:nodemcuv2]
        platform = espressif8266
        framework = arduino
        board = nodemcuv2

        [env:teensy31]
        platform = teensy
        framework = arduino
        board = teensy31

Now, we need to create main.cpp file and place it to src folder of our newly created project. The contents of src/main.cpp:

        /**
         * Blink
         *
         * Turns on an LED on for one second,
         * then off for one second, repeatedly.
         */
        #include "Arduino.h"

        #ifndef LED_BUILTIN
        #define LED_BUILTIN 13
        #endif

        void setup()
        {
          // initialize LED digital pin as an output.
          pinMode(LED_BUILTIN, OUTPUT);
        }

        void loop()
        {
          // turn the LED on (HIGH is the voltage level)
          digitalWrite(LED_BUILTIN, HIGH);

          // wait for a second
          delay(1000);

          // turn the LED off by making the voltage LOW
          digitalWrite(LED_BUILTIN, LOW);

           // wait for a second
          delay(1000);
        }

The final Project structure:

        project_dir
        ├── lib
        │   └── README
        ├── platformio.ini
        └── src
            └── main.cpp

  Process Project

piocore provides special cmd_run command to process project. If you call it without any arguments, PlatformIO Build System will process all project environments (which were created per each board specified above). Here are a few useful commands:

    •   platformio run. Process (build) all environments specified in projectconf

    •   platformio run --target upload. Build project and upload firmware to the all devices specified in projectconf

    •   platformio run --target clean. Clean project (delete compiled objects)

    •   platformio run -e uno. Process only uno environment

    •   platformio run -e uno -t upload. Build project only for uno and upload firmware.

Please follow to platformio run --target documentation for the other targets.

Finally, demo which demonstrates building project and uploading firmware to Arduino Uno: [image]

  Further Reading

    •   Project examples

    •   piocore_userguide for piocore commands

  CLI Guide

  Contents

    •   CLI Guide

        •   Usage

        •   Options

        •   Commands

  Usage

        pio [OPTIONS] COMMAND
        platformio [OPTIONS] COMMAND

        # "pio" is the alias of "platformio" command

  Options

    --no-ansi

Do not print ANSI control characters.

See also PLATFORMIO_NO_ANSI and PLATFORMIO_FORCE_ANSI environment variables.

    --version

Show the version of PlatformIO

    --help, -h

Show help for the available options and commands

        $ platformio --help
        $ platformio COMMAND --help

  Commands

  platformio account

CLI helper command for pioaccount.

To print all available commands and options use:

        pio account --help
        platformio account --help
        platformio account COMMAND --help

  platformio account forgot

  Contents

    •   platformio account forgot

        •   Usage

        •   Description

            •   Options

  Usage

        platformio account forgot [OPTIONS]
        pio account forgot [OPTIONS]

  Description

Allows you to reset password for pioaccount using username or email which were specified for registration.

  Options

    --username, -u

Username or email. You can omit this option and enter username or email in Forgot Wizard later.

  platformio account login

  Contents

    •   platformio account login

        •   Usage

        •   Description

            •   Options

  Usage

        platformio account login [OPTIONS]
        pio account login [OPTIONS]

  Description

Log in to pioaccount. If you are not able to provide authentication credentials manually you can use PLATFORMIO_AUTH_TOKEN. This is very useful for ci systems and pioremote operations.

  Options

    --username, -u

Username or email. You can omit this option and enter username or email in Login Wizard later.

    --password, -p

You can omit this option and enter securely password in Login Wizard later.

  platformio account logout

  Contents

    •   platformio account logout

        •   Usage

        •   Description

  Usage

        platformio account logout
        pio account logout

  Description

Log out of pioaccount.

  platformio account password

  Contents

    •   platformio account password

        •   Usage

        •   Description

  Usage

        platformio account password
        pio account password

  Description

Change password for pioaccount.

  platformio account register

  Contents

    •   platformio account register

        •   Usage

        •   Description

            •   Options

  Usage

        platformio account register [OPTIONS]
        pio account register [OPTIONS]

  Description

Create a new pioaccount.

  Options

You can omit these options and enter them later in Register Wizard.

    --username, -u

A username. You can use it later for cmd_account_login, cmd_account_update, and cmd_account_forgot commands.

The username must contain at least 4 characters including single hyphens, and cannot begin or end with a hyphen.

    --email, -e

An email. Please enter existing email, you will receive a confirmation letter.

    --password, -p

A password. You will need it for cmd_account_login, cmd_account_password, cmd_account_token, and cmd_account_update commands.

    --firstname

A first name.

    --lastname

A last name.

  platformio account show

  Contents

    •   platformio account show

        •   Usage

        •   Description

            •   Options

  Usage

        platformio account show
        pio account show

  Description

Show detailed information about pioaccount:

    •   Active subscriptions

    •   Available packages and services

  Options

    --json-output

Return the output in JSON format

  platformio account token

  Contents

    •   platformio account token

        •   Usage

        •   Description

            •   Options

  Usage

        platformio account token
        pio account token

  Description

Get or regenerate Personal Authentication Token. It is very useful for ci systems, pioremote operations where you are not able to authorize manually.

PlatformIO handles Personal Authentication Token from environment variable PLATFORMIO_AUTH_TOKEN.

  Options

    --regenerate
        If this option is specified a new authentication token will be generated.

    --json-output

Return the output in JSON format

  platformio account update

  Contents

    •   platformio account update

        •   Usage

        •   Description

            •   Options

  Usage

        platformio account update [OPTIONS]
        pio account update [OPTIONS]

  Description

Update pioaccount profile.

  Options

You can omit these options and enter them later in update Wizard.

    --username, -u

A username that must contain at least 4 characters including single hyphens, and cannot begin or end with a hyphen.

    --email, -e

An email. Please enter existing email, you will receive a confirmation letter.

    --firstname

A first name.

    --lastname

A last name.

    --current-password

A current password to confirm this operation.

  platformio boards

  Contents

    •   platformio boards

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio boards [OPTIONS] [FILTER]
        pio boards [OPTIONS] [FILTER]

  Description

List pre-configured Embedded Boards

  Options

    --installed

List boards only from the installed platforms

    --json-output

Return the output in JSON format

  Examples

    1.  Show all available pre-configured embedded boards

        $ platformio boards

        Platform: atmelavr
        ---------------------------------------------------------------------------
        ID                    MCU           Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        btatmega168           atmega168     16MHz     14K    1K    Arduino BT ATmega168
        btatmega328           atmega328p    16MHz     28K    2K    Arduino BT ATmega328
        diecimilaatmega168    atmega168     16MHz     14K    1K    Arduino Duemilanove or Diecimila ATmega168
        diecimilaatmega328    atmega328p    16MHz     30K    2K    Arduino Duemilanove or Diecimila ATmega328
        esplora               atmega32u4    16MHz     28K    2K    Arduino Esplora
        ethernet              atmega328p    16MHz     31K    2K    Arduino Ethernet
        ...

    2.  Filter Arduino-based boards

        $ platformio boards arduino

        Platform: atmelavr
        ---------------------------------------------------------------------------
        ID                    MCU           Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        btatmega168           atmega168     16MHz     14K    1K    Arduino BT ATmega168
        btatmega328           atmega328p    16MHz     28K    2K    Arduino BT ATmega328
        diecimilaatmega168    atmega168     16MHz     14K    1K    Arduino Duemilanove or Diecimila ATmega168
        diecimilaatmega328    atmega328p    16MHz     30K    2K    Arduino Duemilanove or Diecimila ATmega328
        esplora               atmega32u4    16MHz     28K    2K    Arduino Esplora
        ethernet              atmega328p    16MHz     31K    2K    Arduino Ethernet
        ...

    3.  Filter mbed-enabled boards

        $ platformio boards mbed

        Platform: freescalekinetis
        ---------------------------------------------------------------------------
        ID                    MCU            Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        frdm_k20d50m          mk20dx128vlh5  48MHz     128K   16K   Freescale Kinetis FRDM-K20D50M
        frdm_k22f             mk22fn512vlh12 120MHz    512K   128K  Freescale Kinetis FRDM-K22F
        ...

        Platform: nordicnrf51
        ---------------------------------------------------------------------------
        ID                    MCU            Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        wallBotBLE            nrf51822       16MHz     128K   16K   JKSoft Wallbot BLE
        nrf51_dk              nrf51822       32MHz     256K   32K   Nordic nRF51-DK
        ...

        Platform: nxplpc
        ---------------------------------------------------------------------------
        ID                    MCU            Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        blueboard_lpc11u24    lpc11u24       48MHz     32K    8K    BlueBoard-LPC11U24
        dipcortexm0           lpc11u24       50MHz     32K    8K    DipCortex M0
        lpc11u35              lpc11u35       48MHz     64K    10K   EA LPC11U35 QuickStart Board
        ...

        Platform: ststm32
        ---------------------------------------------------------------------------
        ID                    MCU            Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        disco_f401vc          stm32f401vct6  84MHz     256K   64K   32F401CDISCOVERY
        nucleo_f030r8         stm32f030r8t6  48MHz     64K    8K    ST Nucleo F030R8
        ...

    4.  Filter boards which are based on ATmega168 MCU

        $ platformio boards atmega168

        Platform: atmelavr
        ---------------------------------------------------------------------------
        ID                    MCU           Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        btatmega168           atmega168     16MHz     14K    1K    Arduino BT ATmega168
        diecimilaatmega168    atmega168     16MHz     14K    1K    Arduino Duemilanove or Diecimila ATmega168
        miniatmega168         atmega168     16MHz     14K    1K    Arduino Mini ATmega168
        atmegangatmega168     atmega168     16MHz     14K    1K    Arduino NG or older ATmega168
        nanoatmega168         atmega168     16MHz     14K    1K    Arduino Nano ATmega168
        pro8MHzatmega168      atmega168     8MHz      14K    1K    Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)
        pro16MHzatmega168     atmega168     16MHz     14K    1K    Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)
        lilypadatmega168      atmega168     8MHz      14K    1K    LilyPad Arduino ATmega168
        168pa16m              atmega168p    16MHz     15K    1K    Microduino Core (Atmega168PA@16M,5V)
        168pa8m               atmega168p    8MHz      15K    1K    Microduino Core (Atmega168PA@8M,3.3V)

    5.  Show boards by platform_timsp430

        $ platformio boards timsp430

        Platform: timsp430
        ---------------------------------------------------------------------------
        ID                    MCU           Frequency  Flash   RAM    Name
        ---------------------------------------------------------------------------
        lpmsp430fr5739        msp430fr5739  16MHz     15K    1K    FraunchPad w/ msp430fr5739
        lpmsp430f5529         msp430f5529   16MHz     128K   1K    LaunchPad w/ msp430f5529 (16MHz)
        lpmsp430f5529_25      msp430f5529   25MHz     128K   1K    LaunchPad w/ msp430f5529 (25MHz)
        lpmsp430fr5969        msp430fr5969  8MHz      64K    1K    LaunchPad w/ msp430fr5969
        lpmsp430g2231         msp430g2231   1MHz      2K     128B   LaunchPad w/ msp430g2231 (1MHz)
        lpmsp430g2452         msp430g2452   16MHz     8K     256B   LaunchPad w/ msp430g2452 (16MHz)
        lpmsp430g2553         msp430g2553   16MHz     16K    512B   LaunchPad w/ msp430g2553 (16MHz)

  platformio check

Helper command for piocheck.

  Contents

    •   platformio check

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio check [OPTIONS]
        pio check [OPTIONS]

  Description

Perform static analysis check on PlatformIO based project. By default check_tool_cppcheck analysis tool is used.

More details about PlatformIO piocheck.

  Options

    -e, --environment

Process specified environments.

    --pattern

You can specify which source files or folders should be included/excluded from check process. By default only projectconf_pio_src_dir and projectconf_pio_include_dir are checked. Multiple --pattern options and GLOB Patterns are allowed.

Example: platformio check --pattern="tests" --pattern="src/*.cpp"

    --flags

Specify additional flags that need to be passed to the analysis tool. If multiple tools set in projectconf_check_tool option, the flags are passed to all of them. Individual flags for each tool can be added using a special suffix with the tool name.
Flag | Meaning
--addon=<addon> | Execute addon. i.e. cert.
-D<ID> | Define preprocessor symbol.

Multiple --flags options are allowed.

Example: platformio check --flags "-DDEBUG cppcheck: --std=c++11 --platform=avr8"

    --severity

Specify the check_severity types which will be reported by the check_tools. Possible values described in check_severity section. Multiple --severity options are allowed.

Example: platformio check --severity=high

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to the current working directory (CWD).

    -c, --project-conf

Process project with a custom projectconf.

    --json-output

Return the output in JSON format.

    --fail-on-defect

Fail (exit with non-zero code) if there is a defect found with specified severity. By default exit code is the same as the exit code returned by a tool selected for performing check. Possible values described in check_severity section. Multiple --fail-on-defect options are allowed.

Example: platformio check --fail-on-defect=low --fail-on-defect=medium

    -s, --silent

Suppress progress reporting and show only defects with high severity. See check_severity.

    -v, --verbose

Show detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

  Examples

For the examples please follow to piocheck page.

  platformio ci

  Contents

    •   platformio ci

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio ci [OPTIONS] [SRC]
        pio ci [OPTIONS] [SRC]

  Description

platformio ci command is conceived of as "hot key" for building project with arbitrary source code structure. In a nutshell, using SRC and platformio ci --lib contents PlatformIO initializes via cmd_project_init new project in platformio ci --build-dir with the build environments (using platformio ci --board or platformio ci --project-conf) and processes them via cmd_run command.

platformio ci command accepts multiple SRC arguments, platformio ci --lib and platformio ci --exclude options which can be a path to directory, file or Glob Pattern. Also, you can omit SRC argument and set path (multiple paths are allowed denoting with :) to PLATFORMIO_CI_SRC Environment variable

For more details as for integration with the popular Continuous Integration Systems please follow to ci page.

NOTE:
        platformio ci command is useful for library developers. It allows one to build different examples without creating own project per them. Also, is possible to upload firmware to the target device. In this case, you need to pass additional option --project-option="targets=upload". What is more, you can specify custom upload port using --project-option="upload_port=<port>" option. See platformio ci --project-option for details.

  Options

    -l, --lib

Source code which will be copied to <BUILD_DIR>/lib directly.

If platformio ci --lib is a path to file (not to directory), then PlatformIO will create temporary directory within <BUILD_DIR>/lib and copy the rest files into it.

    --exclude

Exclude directories and/-or files from platformio ci --build-dir. The path must be relative to PlatformIO project within platformio ci --build-dir.

For example, exclude from project src directory:

    •   examples folder

    •   *.h files from foo folder

        platformio ci --exclude=src/examples --exclude=src/foo/*.h [SRC]

    -b, --board

Build project with automatically pre-generated environments based on board settings.

For more details please look into platformio project init --board.

    --build-dir

Path to directory where PlatformIO will initialise new project. By default it's temporary directory within your operating system.

NOTE:
        This directory will be removed at the end of build process. If you want to keep it, please use platformio ci --keep-build-dir.

    --keep-build-dir

Don't remove platformio ci --build-dir after build process.

    -c, --project-conf

Build project using pre-configured projectconf.

    -O, --project-option

Pass additional options from projectconf to cmd_project_init command. For example, automatically install dependent libraries platformio ci --project-option="lib_deps=ArduinoJSON" or ignore specific library platformio ci --project-option="lib_ignore=SomeLib".

NOTE:
        Use multiple --project-option to pass multiple options to projectconf. One option per one argument. For example, platformio ci --project-option="build_unflags = -std=gnu++11" --project-option="build_flags = -std=c++14"

    -v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

  Examples

For the others examples please follow to ci page.

  platformio debug

Helper command for piodebug.

  Contents

    •   platformio debug

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio debug [OPTIONS]
        pio debug [OPTIONS]

        # A binary shortcut for "platformio debug --interface=gdb" command
        piodebuggdb [GDB OPTIONS]

  Description

Prepare PlatformIO project for debugging or launch debug server.

  Options

    -e, --environment

Debug specified environments.

You can also specify which environments should be used for debugging by default using projectconf_pio_default_envs option from projectconf.

    -d, --project-dir

Specify the path to a project directory. By default, --project-dir is equal to a current working directory (CWD).

    -c, --project-conf

New in version 4.0.

Process project with a custom projectconf.

    --interface

PIO Debugging Interface. Valid values:

    •   gdb - GDB: The GNU Project Debugger

    -v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

  Examples

    1.  Prepare a project for debugging

        > platformio debug

        [Sun Apr 30 01:34:01 2017] Processing mzeropro (platform: atmelsam; debug_extra_cmds: b main.cpp:26; board: mzeropro; framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 26 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/mzeropro/src/main.o
        Compiling .pio/build/mzeropro/FrameworkArduinoVariant/variant.o
        Compiling .pio/build/mzeropro/FrameworkArduino/IPAddress.o
        Compiling .pio/build/mzeropro/FrameworkArduino/Print.o
        Archiving .pio/build/mzeropro/libFrameworkArduinoVariant.a
        Indexing .pio/build/mzeropro/libFrameworkArduinoVariant.a
        ...
        Compiling .pio/build/mzeropro/FrameworkArduino/wiring_analog.o
        Compiling .pio/build/mzeropro/FrameworkArduino/wiring_digital.o
        Compiling .pio/build/mzeropro/FrameworkArduino/wiring_private.o
        Compiling .pio/build/mzeropro/FrameworkArduino/wiring_shift.o
        Archiving .pio/build/mzeropro/libFrameworkArduino.a
        Indexing .pio/build/mzeropro/libFrameworkArduino.a
        Linking .pio/build/mzeropro/firmware.elf
        Calculating size .pio/build/mzeropro/firmware.elf
        Building .pio/build/mzeropro/firmware.bin
        text       data     bss     dec     hex filename
        11512       256    1788   13556    34f4 .pio/build/mzeropro/firmware.elf
        =========================== [SUCCESS] Took 7.82 seconds ===========================

    2.  Launch GDB instance and load initial configuration per a project

        > platformio debug --interface=gdb -x .pioinit

        ...
        Loading section .text, size 0x2c98 lma 0x4000
        Loading section .ramfunc, size 0x60 lma 0x6c98
        Loading section .data, size 0x100 lma 0x6cf8
        Start address 0x47b0, load size 11768
        Transfer rate: 4 KB/sec, 3922 bytes/write.
        target halted due to debug-request, current mode: Thread
        xPSR: 0x81000000 pc: 0x000028f4 msp: 0x20002c00
        target halted due to debug-request, current mode: Thread
        xPSR: 0x81000000 pc: 0x000028f4 msp: 0x20002c00
        Breakpoint 2 at 0x413a: file src/main.cpp, line 26.

  Device Manager CLI

To print all available commands and options use:

        pio device --help
        platformio device --help
        platformio device COMMAND --help

  platformio device list

  Contents

    •   platformio device list

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio device list [OPTIONS]
        pio device list [OPTIONS]

  Description

List available devices. Default is set to --serial and all available Serial Ports will be shown.

  Options

    --serial

List available Serial Ports, default.

    --logical

List available logical devices.

    --mdns

List multicast DNS services.

    --json-output

Return the output in JSON format.

  Examples

    1.  Unix OS

        $ platformio device list
        /dev/cu.SLAB_USBtoUART
        ----------
        Hardware ID: USB VID:PID=10c4:ea60 SNR=0001
        Description: CP2102 USB to UART Bridge Controller

        /dev/cu.uart-1CFF4676258F4543
        ----------
        Hardware ID: USB VID:PID=451:f432 SNR=1CFF4676258F4543
        Description: Texas Instruments MSP-FET430UIF

    2.  Windows OS

        $ platformio device list
        COM4
        ----------
        Hardware ID: USB VID:PID=0451:F432
        Description: MSP430 Application UART (COM4)

        COM3
        ----------
        Hardware ID: USB VID:PID=10C4:EA60 SNR=0001
        Description: Silicon Labs CP210x USB to UART Bridge (COM3)

    3.  List multicast DNS services and logical devices

        $ platformio device list --mdns --logical
        Multicast DNS Services
        ======================

        PlatformIO._bttremote._tcp.local.
        ------------------------------
        Type: _bttremote._tcp.local.
        IP: ...
        Port: 62941
        Properties: ...

        Time for PlatformIO._adisk._tcp.local.
        ---------------------------------
        Type: _adisk._tcp.local.
        IP: 192.168.0.1
        Port: 9
        Properties: ...

        PlatformIO._ssh._tcp.local.
        ------------------------
        Type: _ssh._tcp.local.
        IP: ...
        Port: 22

        PlatformIO._sftp-ssh._tcp.local.
        -----------------------------
        Type: _sftp-ssh._tcp.local.
        IP: ...
        Port: 22

        Logical Devices
        ===============
        /
        -
        Name:

        /Volumes/PIO
        -------------
        Name: PIO

        /Volumes/PLUS
        --------------
        Name: PLUS

  platformio device monitor

  Contents

    •   platformio device monitor

        •   Usage

        •   Description

        •   Options

        •   Filters

        •   Capture output to a file

        •   Device Monitor Filter API

        •   Examples

  Usage

        platformio device monitor [OPTIONS]

  Description

This is a console application that provides a small terminal application. It is based on Miniterm and itself does not implement any terminal features such as VT102 compatibility. However it inherits these features from the terminal it is run. For example on GNU/Linux running from an xterm it will support the escape sequences of the xterm. On Windows the typical console window is dumb and does not support any escapes. When ANSI.sys is loaded it supports some escapes.

Miniterm supports RFC 2217 remote serial ports and raw sockets using URL Handlers such as rfc2217://<host>:<port> respectively socket://<host>:<port> as port argument when invoking.

To control monitor please use these "hot keys":

    •   Ctrl+C Quit

    •   Ctrl+T Menu

    •   Ctrl+T followed by Ctrl+H Help

  Options

    -p, --port

Port, a number or a device name, or valid URL Handlers.

Can be customized in projectconf using projectconf_monitor_port option.

URL Handlers

    •   rfc2217://<host>:<port>[?<option>[&<option>...]]

    •   socket://<host>:<port>[?logging={debug|info|warning|error}]

    •   loop://[?logging={debug|info|warning|error}]

    •   hwgrep://<regexp>[&skip_busy][&n=N]

    •   spy://port[?option[=value][&option[=value]]]

    •   alt://port?class=<classname>

    -b, --baud

Set baud rate, default 9600.

Can be customized in projectconf using projectconf_monitor_speed option.

    --parity

Set parity (None, Even, Odd, Space, Mark), one of [N, E, O, S, M], default N

    --rtscts

Enable RTS/CTS flow control, default Off

    --xonxoff

Enable software flow control, default Off

    --rts

Set initial RTS line state (0 or 1).

Can be customized in projectconf using projectconf_monitor_rts option.

    --dtr

Set initial DTR line state (0 or 1).

Can be customized in projectconf using projectconf_monitor_dtr option.

    --echo

Enable local echo, default Off

    --encoding

Set the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default UTF-8.

    -f, --filter

Add text transformation. See available filters at Filters.

    --eol

End of line mode (CR, LF or CRLF), default CRLF

NEW: Available in Miniterm/PySerial 3.0

    --raw

Do not apply any encodings/transformations

    --exit-char

ASCII code of special character that is used to exit the application, default 3 (DEC, Ctrl+C).

For example, to use Ctrl+] run platformio device monitor --exit-char 29.

    --menu-char

ASCII code of special character that is used to control miniterm (menu), default 20 (DEC)

    ---quiet

Diagnostics: suppress non-error messages, default Off

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    -e, --environment

Process specified environments.

You can also specify which environments should be processed by default using projectconf_pio_default_envs option from projectconf.

  Filters

New in version 4.3.

A list of filters that can be applied for monitor output using platformio device monitor --filter or projectconf and projectconf_monitor_filters options. option.
Name | Description
default | Remove typical terminal control codes from input
colorize | Apply different colors for received and echo
debug | Print what is sent and received
direct | Do-nothing: forward all data unchanged
hexlify | Show a hexadecimal representation of the data (code point of each character)
log2file | Log data to a file "platformio-device-monitor-%date%.log" located in the current working directory
nocontrol | Remove all control codes, incl. CR+LF
printable | Show decimal code for all non-ASCII characters and replace most control codes
time | Add timestamp with milliseconds for each new line
send_on_enter | Send a text to device on ENTER
esp32_exception_decoder | Custom filter for platform_espressif32 which decodes crash exception
esp8266_exception_decoder | Custom filter for platform_espressif8266 which decodes crash exception

  Capture output to a file

New in version 4.3.

You need to use a log2file filter from Filters:

        $ platformio device monitor -f log2file -f default

or using projectconf and projectconf_monitor_filters

        [env:log_output_to_file]
        ...
        platform = ...
        monitor_filters = log2file, default

  Device Monitor Filter API

piocore provides an API to extend device monitor with a custom filter declared in "monitor" folder of platforms. See examples:

    •   https://github.com/platformio/platform-espressif32/tree/develop/monitor

    •   https://github.com/platformio/platform-espressif8266/tree/develop/monitor

  Examples

    1.  Show available options for monitor

        $ platformio device monitor --help
        Usage: platformio device monitor [OPTIONS]

        Options:
          -p, --port TEXT       Port, a number or a device name
          -b, --baud INTEGER    Set baud rate, default=9600
          --parity [N|E|O|S|M]  Set parity, default=N
          --rtscts              Enable RTS/CTS flow control, default=Off
          --xonxoff             Enable software flow control, default=Off
          --rts [0|1]           Set initial RTS line state, default=0
          --dtr [0|1]           Set initial DTR line state, default=0
          --echo                Enable local echo, default=Off
          --encoding TEXT       Set the encoding for the serial port (e.g. hexlify,
                                Latin1, UTF-8), default: UTF-8
          -f, --filter TEXT     Add filters / text transformation
          --eol [CR|LF|CRLF]    End of line mode, default=CRLF
          --raw                 Do not apply any encodings/transformations
          --exit-char INTEGER   ASCII code of special character that is used to exit
                                the application, default=29 (DEC)
          --menu-char INTEGER   ASCII code of special character that is used to
                                control miniterm (menu), default=20 (DEC)
          --quiet               Diagnostics: suppress non-error messages, default=Off
          -h, --help            Show this message and exit.

    2.  Communicate with serial device and print help inside terminal

        $ platformio device monitor

        --- Available ports:
        --- /dev/cu.Bluetooth-Incoming-Port n/a
        --- /dev/cu.Bluetooth-Modem n/a
        --- /dev/cu.SLAB_USBtoUART CP2102 USB to UART Bridge Controller
        --- /dev/cu.obd2ecu-SPPDev n/a
        Enter port name:/dev/cu.SLAB_USBtoUART
        --- Miniterm on /dev/cu.SLAB_USBtoUART: 9600,8,N,1 ---
        --- Quit: Ctrl+C  |  Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
        Hello PlatformIO!
        ---
        --- Ctrl+]   Exit program
        --- Ctrl+T   Menu escape key, followed by:
        --- Menu keys:
        ---    Ctrl+T  Send the menu character itself to remote
        ---    Ctrl+]  Send the exit character itself to remote
        ---    Ctrl+I  Show info
        ---    Ctrl+U  Upload file (prompt will be shown)
        --- Toggles:
        ---    Ctrl+R  RTS          Ctrl+E  local echo
        ---    Ctrl+D  DTR          Ctrl+B  BREAK
        ---    Ctrl+L  line feed    Ctrl+A  Cycle repr mode
        ---
        --- Port settings (Ctrl+T followed by the following):
        ---    p          change port
        ---    7 8        set data bits
        ---    n e o s m  change parity (None, Even, Odd, Space, Mark)
        ---    1 2 3      set stop bits (1, 2, 1.5)
        ---    b          change baud rate
        ---    x X        disable/enable software flow control
        ---    r R        disable/enable hardware flow control
        --- exit ---

  platformio home

Helper command for piohome.

  Contents

    •   platformio home

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio home
        pio home

  Description

Launch piohome Web-server.

  Options

    --port

Web-server HTTP port, default is 8008.

    --host

Web-server HTTP host, default is 127.0.0.1. You can open PIO Home for inbound connections using host 0.0.0.0.

    --no-open

Do not automatically open PIO Home in a system Web-browser.

    --shutdown-timeout

Automatically shutdown server on timeout (in seconds) when no clients are connected. Default is 0 which means never auto shutdown.

  Examples

        > platformio home

          ___I_
         /\-_--\   PlatformIO Home
        /  \_-__\
        |[]| [] |  http://127.0.0.1:8008
        |__|____|_______________________

        Open PIO Home in your browser by this URL => http://127.0.0.1:8008
        PIO Home has been started. Press Ctrl+C to shutdown.

  Library Manager CLI

  Usage

        platformio lib [OPTIONS] COMMAND

        # To print all available commands and options use
        platformio lib --help
        platformio lib COMMAND --help

  Options

    -d, --storage-dir

Manage custom library storage. It can be used later for the projectconf_lib_extra_dirs option from projectconf. Multiple options are allowed.

    -g, --global

Manage global PlatformIO's library storage ( "projectconf_pio_core_dir/lib") where ldf will look for dependencies by default.

    -e, --environment

Manage libraries for the specific project build environments declared in projectconf. Works for --storage-dir which is valid PlatformIO project.

  Demo
[image]

  Commands

  platformio lib builtin

  Contents

    •   platformio lib builtin

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio lib builtin [OPTIONS]
        pio lib builtin [OPTIONS]

  Description

List built-in libraries based on installed platforms and their frameworks, SDKs, etc.

  Options

    --storage

List libraries from specified storages. For example, framework-arduinoavr.

    --json-output

Return the output in JSON format

  Examples

        > platformio lib builtin

        framework-arduinoavr
        ********************

        Bridge
        ======
        Enables the communication between the Linux processor and the microcontroller. For Arduino/Genuino Yún, Yún Shield and TRE only.

        Version: 1.6.1
        Homepage: http://www.arduino.cc/en/Reference/YunBridgeLibrary
        Keywords: communication
        Compatible frameworks: arduino
        Compatible platforms: *
        Authors: Arduino

        EEPROM
        ======
        Enables reading and writing to the permanent board storage.

        Version: 2.0
        Homepage: http://www.arduino.cc/en/Reference/EEPROM
        Keywords: data, storage
        Compatible frameworks: arduino
        Compatible platforms: atmelavr
        Authors: Arduino, Christopher Andrews

        ...

        framework-arduinosam
        ********************

        Audio
        =====
        Allows playing audio files from an SD card. For Arduino DUE only.

        Version: 1.0
        Homepage: http://arduino.cc/en/Reference/Audio
        Keywords: signal, input, output
        Compatible frameworks: arduino
        Compatible platforms: atmelsam
        Authors: Arduino

        ...

        framework-arduinoespressif32
        ****************************

        SPI
        ===
        Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus. For all Arduino boards, BUT Arduino DUE.

        Version: 1.0
        Homepage: http://arduino.cc/en/Reference/SPI
        Keywords: signal, input, output
        Compatible frameworks: arduino
        Compatible platforms:
        Authors: Hristo Gochkov

        ...

        framework-arduinoespressif8266
        ******************************

        ArduinoOTA
        ==========
        Enables Over The Air upgrades, via wifi and espota.py UDP request/TCP download.

        Version: 1.0
        Keywords: communication
        Compatible frameworks: arduino
        Compatible platforms: espressif8266
        Authors: Ivan Grokhotkov and Miguel Angel Ajo

        DNSServer
        =========
        A simple DNS server for ESP8266.

        Version: 1.1.0
        Keywords: communication
        Compatible frameworks: arduino
        Compatible platforms: espressif8266
        Authors: Kristijan Novoselić

        ...

        framework-arduinointel
        **********************

        Adafruit NeoPixel
        =================
        Arduino library for controlling single-wire-based LED pixels and strip.

        Version: 1.0.3
        Homepage: https://github.com/adafruit/Adafruit_NeoPixel
        Keywords: display
        Compatible frameworks: arduino
        Compatible platforms: *
        Authors: Adafruit

        CurieBLE
        ========
        Library to manage the Bluetooth Low Energy module with Curie Core boards.

        Version: 1.0
        Keywords: communication
        Compatible frameworks: arduino
        Compatible platforms: intel_arc32
        Authors: Emutex

        CurieEEPROM
        ===========
        Enables reading and writing to OTP flash area of Curie

        Version: 1.0
        Homepage: http://www.arduino.cc/en/Reference/EEPROM
        Keywords: data, storage
        Compatible frameworks: arduino
        Compatible platforms: intel_arc32
        Authors: Intel

        ...

        framework-arduinomicrochippic32
        *******************************

        Firmata
        =======
        Enables the communication with computer apps using a standard serial protocol. For all Arduino boards.

        Version: 2.4.4
        Homepage: https://github.com/firmata/arduino
        Keywords: device, control
        Compatible frameworks: arduino
        Compatible platforms: *
        Authors: Firmata Developers

        framework-arduinoteensy
        ***********************

        Adafruit CC3000 Library
        =======================
        Library code for Adafruit's CC3000 WiFi breakouts.

        Version: 1.0.1
        Homepage: https://github.com/adafruit/Adafruit_CC3000_Library
        Keywords: communication
        Compatible frameworks: arduino
        Compatible platforms: *
        Authors: Adafruit

        ...

        framework-energiamsp430
        ***********************

        AIR430BoostEuropeETSI
        =====================
        Library for the CC110L Sub-1GHz radio BoosterPack for use in Europe

        Version: 1.0.0
        Homepage: http://energia.nu/reference/libraries/
        Keywords: communication
        Compatible frameworks: arduino
        Compatible platforms:
        Authors: Energia

        ...

        framework-energiativa
        *********************

        aJson
        =====
        An Arduino library to enable JSON processing with Arduino

        Keywords: json, rest, http, web
        Compatible frameworks: arduino
        Compatible platforms: atmelavr

  platformio lib install

  Contents

    •   platformio lib install

        •   Usage

        •   Description

        •   Storage Options

        •   Options

        •   Version control

            •   Git

            •   Mercurial

            •   Subversion

        •   Examples

  Usage

        platformio lib [STORAGE_OPTIONS] install [OPTIONS] [LIBRARY...]
        pio lib [STORAGE_OPTIONS] install [OPTIONS] [LIBRARY...]

        # install all project dependencies declared via "lib_deps"
        # (run it from a project root where is located "platformio.ini")
        platformio lib install [OPTIONS]

        # install project dependent library
        # (run it from a project root where is located "platformio.ini")
        platformio lib install [OPTIONS] [LIBRARY...]

        # install dependencies for the specific project build environment
        # (run it from a project root where is located "platformio.ini")
        platformio lib -e myenv install [OPTIONS] [LIBRARY...]
        platformio lib -d /path/to/platformio/project -e myenv install [OPTIONS] [LIBRARY...]

        # install to global storage
        platformio lib --global install [OPTIONS] [LIBRARY...]
        platformio lib -g install [OPTIONS] [LIBRARY...]

        # install to custom storage
        platformio lib --storage-dir /path/to/dir install [OPTIONS] [LIBRARY...]
        platformio lib -d /path/to/dir1 -d /path/to/dir2 install [OPTIONS] [LIBRARY...]

        # [LIBRARY...] forms
        platformio lib [STORAGE_OPTIONS] install (with no args, project dependencies)
        platformio lib [STORAGE_OPTIONS] install <id>
        platformio lib [STORAGE_OPTIONS] install id=<id>
        platformio lib [STORAGE_OPTIONS] install <id>@<version>
        platformio lib [STORAGE_OPTIONS] install <id>@<version range>
        platformio lib [STORAGE_OPTIONS] install <name>
        platformio lib [STORAGE_OPTIONS] install <name>@<version>
        platformio lib [STORAGE_OPTIONS] install <name>@<version range>
        platformio lib [STORAGE_OPTIONS] install <zip or tarball url>
        platformio lib [STORAGE_OPTIONS] install file://<zip or tarball file>
        platformio lib [STORAGE_OPTIONS] install file://<folder>
        platformio lib [STORAGE_OPTIONS] install <repository>
        platformio lib [STORAGE_OPTIONS] install <name>=<repository> (name it should have locally)
        platformio lib [STORAGE_OPTIONS] install <repository#tag> ("tag" can be commit, branch or tag)

WARNING:
        If some libraries are not visible in pioide and Code Completion or Code Linting does not work properly, please perform

            •   Atom: "Menu: PlatformIO > Rebuild C/C++ Project Index (Autocomplete, Linter)"

            •   VSCode: "Menu: View > Command Palette... > PlatformIO: Rebuild C/C++ Project Index"

  Description

Install a library, and any libraries that it depends on using:

    1.  Library id or name from PlatformIO Library Registry

    2.  Custom folder, repository or archive.

The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:

    •   1.2.3 - an exact version number. Use only this exact version

    •   ^1.2.3 - any compatible version (exact version for 1.x.x versions)

    •   ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version

    •   >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible

    •   >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

PlatformIO supports installing from local directory or archive. Need to use file:// prefix before local path. Also, directory or archive should contain .library.json manifest (see library_config).

    •   file:///local/path/to/the/platform/dir

    •   file:///local/path/to/the/platform.zip

    •   file:///local/path/to/the/platform.tar.gz

  Storage Options

See base options for cmd_lib.

  Options

    --save

Save installed libraries into the projectconf dependency list (projectconf_lib_deps).

You can save libraries for the specific project environment using -e, --environment option from platformio lib command. For example, platformio lib -e myenv install [LIBRARY...].

    -s, --silent

Suppress progress reporting

    --interactive

Allow one to make a choice for all prompts

    -f, --force

Reinstall/redownload library if it exists

  Version control

PlatformIO supports installing from Git, Mercurial and Subversion, and detects the type of VCS using url prefixes: "git+", "hg+", or "svn+".

NOTE:
        PlatformIO requires a working VCS command on your path: git, hg or svn.

  Git

The supported schemes are: git, git+https and git+ssh. Here are the supported forms:

    •   user/library (short version for GitHub repository)

    •   https://github.com/user/library.git

    •   git+git://git.server.org/my-library

    •   git+https://git.server.org/my-library

    •   git+ssh://git.server.org/my-library

    •   git+ssh://user@git.server.org/my-library

    •   [user@]host.xz:path/to/repo.git

Passing branch names, a commit hash or a tag name is possible like so:

    •   https://github.com/user/library.git#master

    •   git+git://git.server.org/my-library#master

    •   git+https://git.server.org/my-library#v1.0

    •   git+ssh://git.server.org/my-library#7846d8ad52f983f2f2887bdc0f073fe9755a806d

  Mercurial

The supported schemes are: hg+http, hg+https and hg+ssh. Here are the supported forms:

    •   https://developer.mbed.org/users/user/code/library/ (install ARM mbed library)

    •   hg+hg://hg.server.org/my-library

    •   hg+https://hg.server.org/my-library

    •   hg+ssh://hg.server.org/my-library

Passing branch names, a commit hash or a tag name is possible like so:

    •   hg+hg://hg.server.org/my-library#master

    •   hg+https://hg.server.org/my-library#v1.0

    •   hg+ssh://hg.server.org/my-library#4cfe2fa00668

  Subversion

The supported schemes are: svn, svn+svn, svn+http, svn+https and svn+ssh. Here are the supported forms:

    •   svn+svn://svn.server.org/my-library

    •   svn+https://svn.server.org/my-library

    •   svn+ssh://svn.server.org/my-library

You can also give specific revisions to an SVN URL, like so:

    •   svn+svn://svn.server.org/my-library#13

  Examples

    1.  Install the latest version of library to a global storage using ID or NAME

        > platformio lib -g install 4

        Library Storage: /storage/dir/...
        LibraryManager: Installing id=4
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        IRremote @ 2.2.1 has been successfully installed!

        # repeat command with name
        > platformio lib -g install IRRemote

        Library Storage: /storage/dir/...
        Looking for IRRemote library in registry
        Found: https://platformio.org/lib/show/4/IRremote
        LibraryManager: Installing id=4
        IRremote @ 2.2.1 is already installed

    2.  Install specified version of a library to a global storage

        > platformio lib -g install ArduinoJson@5.6.7

        Library Storage: /storage/dir/...
        Looking for ArduinoJson library in registry
        Found: https://platformio.org/lib/show/64/ArduinoJson
        LibraryManager: Installing id=64 @ 5.6.7
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        ArduinoJson @ 5.6.7 has been successfully installed!

    3.  Install library with dependencies to custom storage

        > platformio lib --storage-dir /my/storage/dir install DallasTemperature

        Library Storage: /my/storage/dir
        Looking for DallasTemperature library in registry
        Found: https://platformio.org/lib/show/54/DallasTemperature
        LibraryManager: Installing id=54
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        DallasTemperature @ 3.7.7 has been successfully installed!
        Installing dependencies
        Looking for OneWire library in registry
        Found: https://platformio.org/lib/show/1/OneWire
        LibraryManager: Installing id=1
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        OneWire @ 8fd2ebfec7 has been successfully installed!

    4.  Install ARM mbed library to the global storage

        > platformio lib -g install https://developer.mbed.org/users/simon/code/TextLCD/

        Library Storage: /storage/dir/...
        LibraryManager: Installing TextLCD
        Mercurial Distributed SCM (version 3.8.4)
        (see https://mercurial-scm.org for more information)

        Copyright (C) 2005-2016 Matt Mackall and others
        This is free software; see the source for copying conditions. There is NO
        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        requesting all changes
        adding changesets
        adding manifests
        adding file changes
        added 9 changesets with 18 changes to 6 files
        updating to branch default
        2 files updated, 0 files merged, 0 files removed, 0 files unresolved
        TextLCD @ 308d188a2d3a has been successfully installed!

    5.  Install from archive using URL

        > platformio lib -g install  https://github.com/adafruit/DHT-sensor-library/archive/master.zip

        Library Storage: /storage/dir/...
        LibraryManager: Installing master
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        DHT sensor library @ 1.2.3 has been successfully installed!

  platformio lib list

  Contents

    •   platformio lib list

        •   Usage

        •   Description

        •   Storage Options

        •   Options

        •   Examples

  Usage

        platformio lib [STORAGE_OPTIONS] list [OPTIONS]
        pio lib [STORAGE_OPTIONS] list [OPTIONS]

        # list project dependent libraries
        # (run it from a project root where is located "platformio.ini")
        platformio lib list [OPTIONS]

        # list libraries from global storage
        platformio lib --global list [OPTIONS]
        platformio lib -g list [OPTIONS]

        # list libraries from custom storage
        platformio lib --storage-dir /path/to/dir list [OPTIONS]
        platformio lib -d /path/to/dir list [OPTIONS]

  Description

List installed libraries

  Storage Options

See base options for cmd_lib.

  Options

    --json-output

Return the output in JSON format

  Examples

        > platformio lib -g list

        Library Storage: /storage/dir/...

        Adafruit Unified Sensor
        =======================
        #ID: 31
        Required for all Adafruit Unified Sensor based libraries.

        Version: 1.0.2
        Keywords: sensors
        Compatible frameworks: arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430
        Authors: Adafruit

        ArduinoJson
        ===========
        #ID: 64
        An elegant and efficient JSON library for embedded systems

        Version: 5.8.0
        Keywords: web, json, http, rest
        Compatible frameworks: arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430
        Authors: Benoit Blanchon

        ArduinoJson
        ===========
        #ID: 64
        An elegant and efficient JSON library for embedded systems

        Version: 5.6.7
        Keywords: web, json, http, rest
        Compatible frameworks: arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430
        Authors: Benoit Blanchon

        ArduinoJson
        ===========
        #ID: 64
        An elegant and efficient JSON library for embedded systems

        Version: 5.7.2
        Keywords: web, json, http, rest
        Compatible frameworks: arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430
        Authors: Benoit Blanchon

        Blynk
        =====
        #ID: 415
        Build a smartphone app for your project in minutes. Blynk allows creating IoT solutions easily. It supports  WiFi, BLE, Bluetooth, Ethernet, GSM, USB, Serial. Works with many boards like ESP8266, ESP32, Arduino UNO, Nano, Due, Mega, Zero, MKR100, Yun, Raspberry Pi, Particle, Energia, ARM mbed, Intel Edison/Galileo/Joule, BBC micro:bit, DFRobot, RedBearLab, Microduino, LinkIt ONE ...

        Version: 0.4.3
        Homepage: http://blynk.cc
        Keywords: control, gprs, protocol, communication, app, bluetooth, serial, cloud, web, usb, m2m, ble, 3g, smartphone, http, iot, device, sensors, data, esp8266, mobile, wifi, ethernet, gsm
        Compatible frameworks: energia, wiringpi, arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, linux_arm, microchippic32, nordicnrf51, teensy, timsp430, titiva
        Authors: Volodymyr Shymanskyy

        Bounce2
        =======
        #ID: 1106
        Debouncing library for Arduino or Wiring

        Version: 2.1
        Keywords: input, signal, output, bounce
        Compatible frameworks: arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430
        Authors: Thomas O Fredericks

        Homie
        =====
        #ID: 555
        ESP8266 framework for Homie, a lightweight MQTT convention for the IoT

        Version: 1.5.0
        Keywords: home, mqtt, iot, esp8266, automation
        Compatible frameworks: arduino
        Compatible platforms: espressif8266
        Authors: Marvin Roger

        JustWifi
        ========
        #ID: 1282
        Wifi Manager for ESP8266 that supports multiple wifi networks and scan for strongest signal

        Version: 1.1.1
        License: GPL-3.0
        Keywords: manager, wifi, scan
        Compatible frameworks: arduino
        Compatible platforms: espressif8266
        Authors: Xose Perez

        LiquidCrystal
        =============
        #ID: 136
        LiquidCrystal Library is faster and extensable, compatible with the original LiquidCrystal library

        Version: 1.3.4
        Keywords: lcd, hd44780
        Compatible frameworks: arduino
        Compatible platforms: atmelavr
        Authors: F Malpartida

        TextLCD
        =======
        hg+https://developer.mbed.org/users/simon/code/TextLCD/

        Version: 308d188a2d3a
        Keywords: uncategorized

        Time
        ====
        #ID: 44
        Time keeping library

        Version: 1.5
        Homepage: http://playground.arduino.cc/Code/Time
        Keywords: week, rtc, hour, year, month, second, time, date, day, minute
        Compatible frameworks: arduino
        Compatible platforms:
        Authors: Michael Margolis, Paul Stoffregen

        Timezone
        ========
        #ID: 76
        Arduino library to facilitate time zone conversions and automatic daylight saving (summer) time adjustments

        Version: 510ae2f6b6
        Keywords: zone, time
        Compatible frameworks: arduino
        Compatible platforms: atmelavr
        Authors: Jack Christensen

        U8g2
        ====
        #ID: 942
        Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1322, SSD1325, SSD1327, SSD1606, SH1106, T6963, RA8835, LC7981, PCD8544, PCF8812, UC1604, UC1608, UC1610, UC1611, UC1701, ST7565, ST7567, NT7534, ST7920, LD7032, KS0108. Interfaces: I2C, SPI, Parallel.

        Version: 2.11.4
        Homepage: https://github.com/olikraus/u8g2
        Keywords: display
        Compatible frameworks: arduino
        Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430
        Authors: oliver

        USB-Host-Shield-20
        ==================
        #ID: 59
        Revision 2.0 of MAX3421E-based USB Host Shield Library

        Version: 1.2.1
        License: GPL-2.0
        Keywords: usb, spp, mass storage, pl2303, acm, ftdi, xbox, host, hid, wii, buzz, ps3, bluetooth, adk, ps4
        Compatible frameworks: spl, arduino
        Compatible platforms: atmelavr, atmelsam, teensy, nordicnrf51, ststm32
        Authors: Oleg Mazurov, Alexei Glushchenko, Kristian Lauszus, Andrew Kroll

  platformio lib register

  Contents

    •   platformio lib register

        •   Usage

        •   Description

        •   Examples

  Usage

        platformio lib register [MANIFEST_URL]
        pio lib register [MANIFEST_URL]

  Description

Register new library in PlatformIO Library Registry.

PlatformIO Library Registry supports the next library manifests:

    •   PlatformIO library_config

    •   Arduino library.properties

    •   ARM mbed yotta module.json.

  Examples

        platformio lib register https://raw.githubusercontent.com/bblanchon/ArduinoJson/master/library.json
        platformio lib register https://raw.githubusercontent.com/adafruit/DHT-sensor-library/master/library.properties
        platformio lib register https://raw.githubusercontent.com/ARMmbed/ble/master/module.json

  platformio lib search

  Contents

    •   platformio lib search

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio lib search [OPTIONS] [QUERY]
        pio lib search [OPTIONS] [QUERY]

  Description

Search for library in PlatformIO Library Registry by library_config fields in the boolean mode.

The boolean search capability supports the following operators:
Operator | Description
+ | A leading or trailing plus sign indicates that this word must be present in library fields (see above) that is returned.
- | A leading or trailing minus sign indicates that this word must not be present in any of the libraries that are returned.
(no operator) | By default (when neither + nor - is specified), the word is optional, but the libraries that contain it are rated higher.
> < | These two operators are used to change a word's contribution to the relevance value that is assigned to a library. The > operator increases the contribution and the < operator decreases it.
( ) | Parentheses group words into subexpressions. Parenthesized groups can be nested.
~ | A leading tilde acts as a negation operator, causing the word's contribution to the library's relevance to be negative. This is useful for marking "noise" words. A library containing such a word is rated lower than others, but is not excluded altogether, as it would be with the - operator.
* | The asterisk serves as the truncation (or wildcard) operator. Unlike the other operators, it is appended to the word to be affected. Words match if they begin with the word preceding the * operator.
" | A phrase that is enclosed within double quote (") characters matches only libraries that contain the phrase literally, as it was typed.

For more detail information please go to MySQL Boolean Full-Text Searches.

  Options

    --id

Filter libraries by registry ID

    -n, --name

Filter libraries by specified name (strict search)

    -a, --author

Filter libraries by specified author

    -k, --keyword

Filter libraries by specified keyword

    -f, --framework

Filter libraries by specified framework

    -p, --platform

Filter libraries by specified keyword

    -i, --header

Filter libraries by header file (include)

For example, platformio lib search --header "OneWire.h"

    --json-output

Return the output in JSON format

    --page

Manually paginate through search results. This option is useful in pair with --json-output.

  Examples

    1.  List all libraries

        > platformio lib search

        Found N libraries:

        ArduinoJson
        ===========
        #ID: 64
        An elegant and efficient JSON library for embedded systems

        Keywords: web, json, http, rest
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430
        Authors: Benoit Blanchon

        DHT sensor library
        ==================
        #ID: 19
        Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors

        Keywords: unified, dht, sensor, temperature, humidity
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Adafruit Industries

        PubSubClient
        ============
        #ID: 89
        A client library for MQTT messaging. MQTT is a lightweight messaging protocol ideal for small devices. This library allows you to send and receive MQTT messages. It supports the latest MQTT 3.1.1 protocol and can be configured to use the older MQTT 3.1...

        Keywords: ethernet, mqtt, iot, m2m
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430
        Authors: Nick O'Leary

        ...

        ESPAsyncWebServer
        =================
        #ID: 306
        Asynchronous HTTP and WebSocket Server Library for ESP8266 and ESP32

        Keywords: async, websocket, http, webserver
        Compatible frameworks: Arduino
        Compatible platforms: Espressif 8266
        Authors: Hristo Gochkov

        Show next libraries? [y/N]:
        ...

    2.  Search for 1-Wire libraries

        > platformio lib search "1-wire"

        Found N libraries:

        DS1820
        ======
        #ID: 196
        Dallas / Maxim DS1820 1-Wire library. For communication with multiple DS1820 on a single 1-Wire bus. Also supports DS18S20 and DS18B20.

        Keywords: ds18s20, 1-wire, ds1820, ds18b20
        Compatible frameworks: mbed
        Compatible platforms: Freescale Kinetis, Nordic nRF51, NXP LPC, ST STM32, Teensy
        Authors: Michael Hagberg

        OneWire
        =======
        #ID: 1
        Control 1-Wire protocol (DS18S20, DS18B20, DS2408 and etc)

        Keywords: onewire, temperature, bus, 1-wire, ibutton, sensor
        Compatible frameworks: Arduino
        Compatible platforms:
        Authors: Paul Stoffregen, Jim Studt, Tom Pollard, Derek Yerger, Josh Larios, Robin James, Glenn Trewitt, Jason Dangel, Guillermo Lovato, Ken Butcher, Mark Tillotson, Bertrik Sikken, Scott Roberts

        Show next libraries? [y/N]:
        ...

    3.  Search for Arduino-based "I2C" libraries

        > platformio lib search "i2c" --framework="arduino"

        Found N libraries:

        I2Cdevlib-AK8975
        ================
        #ID: 10
        AK8975 is 3-axis electronic compass IC with high sensitive Hall sensor technology

        Keywords: i2c, i2cdevlib, sensor, compass
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Jeff Rowberg

        I2Cdevlib-Core
        ==============
        #ID: 11
        The I2C Device Library (I2Cdevlib) is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to I2C devices.

        Keywords: i2cdevlib, i2c
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Jeff Rowberg

        Adafruit 9DOF Library
        =====================
        #ID: 14
        Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)

        Keywords: magnetometer, unified, accelerometer, spi, compass, i2c, sensor, gyroscope
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Adafruit Industries

        Show next libraries? [y/N]:
        ...

    4.  Search for libraries by "web" and "http" keywords.

        > platformio lib search --keyword="web" --keyword="http"

        Found N libraries:

        ArduinoJson
        ===========
        #ID: 64
        An elegant and efficient JSON library for embedded systems

        Keywords: web, json, http, rest
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430
        Authors: Benoit Blanchon

        ESPAsyncWebServer
        =================
        #ID: 306
        Asynchronous HTTP and WebSocket Server Library for ESP8266 and ESP32

        Keywords: async, websocket, http, webserver
        Compatible frameworks: Arduino
        Compatible platforms: Espressif 8266
        Authors: Hristo Gochkov

        ESP8266wifi
        ===========
        #ID: 1101
        ESP8266 Arduino library with built in reconnect functionality

        Keywords: web, http, wifi, server, client, wi-fi
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Jonas Ekstrand

        Blynk
        =====
        #ID: 415
        Build a smartphone app for your project in minutes. Blynk allows creating IoT solutions easily. It supports  WiFi, BLE, Bluetooth, Ethernet, GSM, USB, Serial. Works with many boards like ESP8266, ESP32, Arduino UNO, Nano, Due, Mega, Zero, MKR100, Yun,...

        Keywords: control, gprs, protocol, communication, app, bluetooth, serial, cloud, web, usb, m2m, ble, 3g, smartphone, http, iot, device, sensors, data, esp8266, mobile, wifi, ethernet, gsm
        Compatible frameworks: Arduino, Energia, WiringPi
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Linux ARM, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430, TI Tiva
        Authors: Volodymyr Shymanskyy

        Show next libraries? [y/N]:
        ...

    5.  Search for libraries by "Adafruit Industries" author

        > platformio lib search --author="Adafruit Industries"

        Found N libraries:

        DHT sensor library
        ==================
        #ID: 19
        Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors

        Keywords: unified, dht, sensor, temperature, humidity
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Adafruit Industries

        Adafruit DHT Unified
        ====================
        #ID: 18
        Unified sensor library for DHT (DHT11, DHT22 and etc) temperature and humidity sensors

        Keywords: unified, dht, sensor, temperature, humidity
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Adafruit Industries

        Show next libraries? [y/N]:
        ...

    6.  Search for libraries which are compatible with Dallas temperature sensors like DS18B20, DS18S20 and etc.

        > platformio lib search "DS*"

        Found N libraries:

        DS1820
        ======
        #ID: 196
        Dallas / Maxim DS1820 1-Wire library. For communication with multiple DS1820 on a single 1-Wire bus. Also supports DS18S20 and DS18B20.

        Keywords: ds18s20, 1-wire, ds1820, ds18b20
        Compatible frameworks: mbed
        Compatible platforms: Freescale Kinetis, Nordic nRF51, NXP LPC, ST STM32, Teensy
        Authors: Michael Hagberg

        I2Cdevlib-DS1307
        ================
        #ID: 99
        The DS1307 serial real-time clock (RTC) is a low-power, full binary-coded decimal (BCD) clock/calendar plus 56 bytes of NV SRAM

        Keywords: i2cdevlib, clock, i2c, rtc, time
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Jeff Rowberg

        Show next libraries? [y/N]:
        ...

    7.  Search for Energia-based *nRF24* or *HttpClient* libraries. The search query that is described below can be interpreted like energia nRF24 OR energia HttpClient

        > platformio lib search "+(nRF24 HttpClient)" --framework="arduino"

        Found N libraries:

        RadioHead
        =========
        #ID: 124
        The RadioHead Packet Radio library which provides a complete object-oriented library for sending and receiving packetized messages via RF22/24/26/27/69, Si4460/4461/4463/4464, nRF24/nRF905, SX1276/77/78, RFM95/96/97/98 and etc.

        Keywords: rf, radio, wireless
        Compatible frameworks: Arduino, Energia
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Infineon XMC, Intel ARC32, Kendryte K210, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, ST STM8, Teensy, TI MSP430, TI Tiva
        Authors: Mike McCauley

        ArduinoHttpClient
        =================
        #ID: 798
        [EXPERIMENTAL] Easily interact with web servers from Arduino, using HTTP and WebSocket's.

        Keywords: communication
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, ST STM8, Teensy, TI MSP430
        Authors: Arduino

        HttpClient
        ==========
        #ID: 66
        Library to easily make HTTP GET, POST and PUT requests to a web server.

        Keywords: communication
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, Teensy, TI MSP430
        Authors: Adrian McEwen

        Show next libraries? [y/N]:
        ...

    8.  Search for the all sensor libraries excluding temperature.

        > platformio lib search "sensor -temperature"

        Found N libraries:

        SparkFun VL6180 Sensor
        ======================
        #ID: 407
        The VL6180 combines an IR emitter, a range sensor, and an ambient light sensor together for you to easily use and communicate with via an I2C interface.

        Keywords: sensors
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430
        Authors: Casey Kuhns@SparkFun, SparkFun Electronics

        I2Cdevlib-AK8975
        ================
        #ID: 10
        AK8975 is 3-axis electronic compass IC with high sensitive Hall sensor technology

        Keywords: i2c, i2cdevlib, sensor, compass
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Jeff Rowberg

        Adafruit 9DOF Library
        =====================
        #ID: 14
        Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)

        Keywords: magnetometer, unified, accelerometer, spi, compass, i2c, sensor, gyroscope
        Compatible frameworks: Arduino
        Compatible platforms: Atmel AVR
        Authors: Adafruit Industries

        Show next libraries? [y/N]:
        ...

  platformio lib show

  Contents

    •   platformio lib show

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio lib show [LIBRARY]
        pio lib show [LIBRARY]

  Description

Show detailed info about a library using PlatformIO Library Registry.

The possible values for [LIBRARY]:

    •   Library ID from Registry (preferred)

    •   Library Name

  Options

    --json-output

Return the output in JSON format

  Examples

        > platformio lib show OneWire

        PubSubClient
        ============
        #ID: 89
        A client library for MQTT messaging. MQTT is a lightweight messaging protocol ideal for small devices. This library allows you to send and receive MQTT messages. It supports the latest MQTT 3.1.1 protocol and can be configured to use the older MQTT 3.1...

        Version: 2.6, released 10 months ago
        Manifest: https://raw.githubusercontent.com/ivankravets/pubsubclient/patch-2/library.json
        Homepage: http://pubsubclient.knolleary.net
        Repository: https://github.com/knolleary/pubsubclient.git

        Authors
        -------
        Nick O'Leary https://github.com/knolleary

        Keywords
        --------
        ethernet
        mqtt
        iot
        m2m

        Compatible frameworks
        ---------------------
        Arduino

        Compatible platforms
        --------------------
        Atmel AVR
        Atmel SAM
        Espressif 8266
        Intel ARC32
        Microchip PIC32
        Nordic nRF51
        Teensy
        TI MSP430

        Headers
        -------
        PubSubClient.h

        Examples
        --------
        http://dl.platformio.org/libraries/examples/0/89/mqtt_auth.ino
        http://dl.platformio.org/libraries/examples/0/89/mqtt_basic.ino
        http://dl.platformio.org/libraries/examples/0/89/mqtt_esp8266.ino
        http://dl.platformio.org/libraries/examples/0/89/mqtt_publish_in_callback.ino
        http://dl.platformio.org/libraries/examples/0/89/mqtt_reconnect_nonblocking.ino
        http://dl.platformio.org/libraries/examples/0/89/mqtt_stream.ino

        Versions
        --------
        2.6, released 10 months ago

        Downloads
        ---------
        Today: 25
        Week: 120
        Month: 462

  platformio lib stats

  Contents

    •   platformio lib stats

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio lib stats
        pio lib stats

  Description

Show PlatformIO Library Registry statistics:

    •   Recently updated

    •   Recently added

    •   Recent keywords

    •   Popular keywords

    •   Featured: Today

    •   Featured: Week

    •   Featured: Month

This information is the same that is shown on this page:

    •   https://platformio.org/lib

  Options

    --json-output

Return the output in JSON format

  Examples

        RECENTLY UPDATED
        ****************
        Name                     Date                    Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        GroveEncoder             12 hours ago            https://platformio.org/lib/show/1382/GroveEncoder
        RF24G                    12 hours ago            https://platformio.org/lib/show/1381/RF24G
        Sim800L Library Revised  12 hours ago            https://platformio.org/lib/show/1380/Sim800L%20Library%20Revised
        ArduinoSTL               12 hours ago            https://platformio.org/lib/show/750/ArduinoSTL
        hd44780                  13 hours ago            https://platformio.org/lib/show/738/hd44780

        RECENTLY ADDED
        **************
        Name                     Date                    Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        GroveEncoder             12 hours ago            https://platformio.org/lib/show/1382/GroveEncoder
        RF24G                    12 hours ago            https://platformio.org/lib/show/1381/RF24G
        Sim800L Library Revised  12 hours ago            https://platformio.org/lib/show/1380/Sim800L%20Library%20Revised
        DS3231                   a day ago               https://platformio.org/lib/show/1379/DS3231
        ArduboyPlaytune          4 days ago              https://platformio.org/lib/show/1378/ArduboyPlaytune

        RECENT KEYWORDS
        ***************
        Name                     Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        cobs                     https://platformio.org/lib/search?query=keyword%3Acobs
        packet                   https://platformio.org/lib/search?query=keyword%3Apacket
        framing                  https://platformio.org/lib/search?query=keyword%3Aframing
        3g                       https://platformio.org/lib/search?query=keyword%3A3g
        tdd                      https://platformio.org/lib/search?query=keyword%3Atdd

        POPULAR KEYWORDS
        ****************
        Name                     Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        display                  https://platformio.org/lib/search?query=keyword%3Adisplay
        lcd                      https://platformio.org/lib/search?query=keyword%3Alcd
        sensors                  https://platformio.org/lib/search?query=keyword%3Asensors
        graphics                 https://platformio.org/lib/search?query=keyword%3Agraphics
        communication            https://platformio.org/lib/search?query=keyword%3Acommunication
        oled                     https://platformio.org/lib/search?query=keyword%3Aoled
        tft                      https://platformio.org/lib/search?query=keyword%3Atft
        control                  https://platformio.org/lib/search?query=keyword%3Acontrol
        device                   https://platformio.org/lib/search?query=keyword%3Adevice
        glcd                     https://platformio.org/lib/search?query=keyword%3Aglcd
        displaycore              https://platformio.org/lib/search?query=keyword%3Adisplaycore
        font                     https://platformio.org/lib/search?query=keyword%3Afont
        other                    https://platformio.org/lib/search?query=keyword%3Aother
        i2c                      https://platformio.org/lib/search?query=keyword%3Ai2c
        input                    https://platformio.org/lib/search?query=keyword%3Ainput
        signal                   https://platformio.org/lib/search?query=keyword%3Asignal
        sensor                   https://platformio.org/lib/search?query=keyword%3Asensor
        output                   https://platformio.org/lib/search?query=keyword%3Aoutput
        spi                      https://platformio.org/lib/search?query=keyword%3Aspi
        data                     https://platformio.org/lib/search?query=keyword%3Adata
        timing                   https://platformio.org/lib/search?query=keyword%3Atiming
        serial                   https://platformio.org/lib/search?query=keyword%3Aserial
        temperature              https://platformio.org/lib/search?query=keyword%3Atemperature
        http                     https://platformio.org/lib/search?query=keyword%3Ahttp
        wifi                     https://platformio.org/lib/search?query=keyword%3Awifi
        rf                       https://platformio.org/lib/search?query=keyword%3Arf
        i2cdevlib                https://platformio.org/lib/search?query=keyword%3Ai2cdevlib
        processing               https://platformio.org/lib/search?query=keyword%3Aprocessing
        storage                  https://platformio.org/lib/search?query=keyword%3Astorage
        radio                    https://platformio.org/lib/search?query=keyword%3Aradio
        web                      https://platformio.org/lib/search?query=keyword%3Aweb
        accelerometer            https://platformio.org/lib/search?query=keyword%3Aaccelerometer
        wireless                 https://platformio.org/lib/search?query=keyword%3Awireless
        protocol                 https://platformio.org/lib/search?query=keyword%3Aprotocol
        server                   https://platformio.org/lib/search?query=keyword%3Aserver
        wi-fi                    https://platformio.org/lib/search?query=keyword%3Awi-fi
        ethernet                 https://platformio.org/lib/search?query=keyword%3Aethernet
        mbed                     https://platformio.org/lib/search?query=keyword%3Ambed
        openag                   https://platformio.org/lib/search?query=keyword%3Aopenag
        led                      https://platformio.org/lib/search?query=keyword%3Aled
        esp8266                  https://platformio.org/lib/search?query=keyword%3Aesp8266
        humidity                 https://platformio.org/lib/search?query=keyword%3Ahumidity
        time                     https://platformio.org/lib/search?query=keyword%3Atime
        iot                      https://platformio.org/lib/search?query=keyword%3Aiot
        json                     https://platformio.org/lib/search?query=keyword%3Ajson
        timer                    https://platformio.org/lib/search?query=keyword%3Atimer
        client                   https://platformio.org/lib/search?query=keyword%3Aclient
        driver                   https://platformio.org/lib/search?query=keyword%3Adriver
        button                   https://platformio.org/lib/search?query=keyword%3Abutton
        mbed-official            https://platformio.org/lib/search?query=keyword%3Ambed-official

        FEATURED: TODAY
        ***************
        Name                     Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        PubSubClient             https://platformio.org/lib/show/89/PubSubClient
        Adafruit Unified Sensor  https://platformio.org/lib/show/31/Adafruit%20Unified%20Sensor
        DHT sensor library       https://platformio.org/lib/show/19/DHT%20sensor%20library
        ESPAsyncUDP              https://platformio.org/lib/show/359/ESPAsyncUDP
        NtpClientLib             https://platformio.org/lib/show/727/NtpClientLib
        Embedis                  https://platformio.org/lib/show/408/Embedis
        Blynk                    https://platformio.org/lib/show/415/Blynk
        SimpleTimer              https://platformio.org/lib/show/419/SimpleTimer
        Adafruit DHT Unified     https://platformio.org/lib/show/18/Adafruit%20DHT%20Unified
        RTClib                   https://platformio.org/lib/show/83/RTClib

        FEATURED: WEEK
        **************
        Name                     Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        DHT sensor library       https://platformio.org/lib/show/19/DHT%20sensor%20library
        Adafruit Unified Sensor  https://platformio.org/lib/show/31/Adafruit%20Unified%20Sensor
        Blynk                    https://platformio.org/lib/show/415/Blynk
        ESPAsyncWebServer        https://platformio.org/lib/show/306/ESPAsyncWebServer
        Adafruit GFX Library     https://platformio.org/lib/show/13/Adafruit%20GFX%20Library
        I2Cdevlib-Core           https://platformio.org/lib/show/11/I2Cdevlib-Core
        TimeAlarms               https://platformio.org/lib/show/68/TimeAlarms
        PubSubClient             https://platformio.org/lib/show/89/PubSubClient
        Timer                    https://platformio.org/lib/show/75/Timer
        esp8266_mdns             https://platformio.org/lib/show/1091/esp8266_mdns

        FEATURED: MONTH
        ***************
        Name                     Url
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        ArduinoJson              https://platformio.org/lib/show/64/ArduinoJson
        DHT sensor library       https://platformio.org/lib/show/19/DHT%20sensor%20library
        Adafruit Unified Sensor  https://platformio.org/lib/show/31/Adafruit%20Unified%20Sensor
        PubSubClient             https://platformio.org/lib/show/89/PubSubClient
        OneWire                  https://platformio.org/lib/show/1/OneWire
        ESPAsyncTCP              https://platformio.org/lib/show/305/ESPAsyncTCP
        Time                     https://platformio.org/lib/show/44/Time
        DallasTemperature        https://platformio.org/lib/show/54/DallasTemperature
        ESPAsyncWebServer        https://platformio.org/lib/show/306/ESPAsyncWebServer
        WifiManager              https://platformio.org/lib/show/567/WifiManager

  platformio lib uninstall

  Contents

    •   platformio lib uninstall

        •   Usage

        •   Description

        •   Storage Options

        •   Examples

  Usage

        platformio lib [STORAGE_OPTIONS] uninstall [LIBRARY...]
        pio lib [STORAGE_OPTIONS] uninstall [LIBRARY...]

        # uninstall project dependent library
        # (run it from a project root where is located "platformio.ini")
        platformio lib uninstall [LIBRARY...]

        # uninstall library from global storage
        platformio lib --global uninstall [LIBRARY...]
        platformio lib -g uninstall [LIBRARY...]

        # uninstall library from custom storage
        platformio lib --storage-dir /path/to/dir uninstall [LIBRARY...]
        platformio lib -d /path/to/dir uninstall [LIBRARY...]

        # [LIBRARY...] forms
        platformio lib [STORAGE_OPTIONS] uninstall <id>
        platformio lib [STORAGE_OPTIONS] uninstall <id>@<version>
        platformio lib [STORAGE_OPTIONS] uninstall <id>@<version range>
        platformio lib [STORAGE_OPTIONS] uninstall <name>
        platformio lib [STORAGE_OPTIONS] uninstall <name>@<version>
        platformio lib [STORAGE_OPTIONS] uninstall <name>@<version range>

  Description

Uninstall specified library

The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:

    •   1.2.3 - an exact version number. Use only this exact version

    •   ^1.2.3 - any compatible version (exact version for 1.x.x versions)

    •   ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version

    •   >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible

    •   >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

  Storage Options

See base options for cmd_lib.

  Examples

        > platformio lib -g uninstall AsyncMqttClient

        Library Storage: /storage/dir/...
        Uninstalling AsyncMqttClient @ 0.2.0:   [OK]

  platformio lib update

  Contents

    •   platformio lib update

        •   Usage

        •   Description

        •   Storage Options

        •   Options

        •   Examples

  Usage

        platformio lib [STORAGE_OPTIONS] update [OPTIONS]
        pio lib [STORAGE_OPTIONS] update [OPTIONS]

        # update all project libraries
        # (run it from a project root where is located "platformio.ini")
        platformio lib update [OPTIONS]

        # update project dependent library
        platformio lib [STORAGE_OPTIONS] update [OPTIONS] [LIBRARY...]

        # update library in global storage
        platformio lib --global update [OPTIONS] [LIBRARY...]
        platformio lib -g update [OPTIONS] [LIBRARY...]

        # update library in custom storage
        platformio lib --storage-dir /path/to/dir update [OPTIONS] [LIBRARY...]
        platformio lib -d /path/to/dir update [OPTIONS] [LIBRARY...]

        # [LIBRARY...] forms
        platformio lib [STORAGE_OPTIONS] update <id>
        platformio lib [STORAGE_OPTIONS] update <id>@<version>
        platformio lib [STORAGE_OPTIONS] update <id>@<version range>
        platformio lib [STORAGE_OPTIONS] update <name>
        platformio lib [STORAGE_OPTIONS] update <name>@<version>
        platformio lib [STORAGE_OPTIONS] update <name>@<version range>

  Description

Check or update installed libraries.

The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:

    •   1.2.3 - an exact version number. Use only this exact version

    •   ^1.2.3 - any compatible version (exact version for 1.x.x versions)

    •   ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version

    •   >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible

    •   >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

  Storage Options

See base options for cmd_lib.

  Options

    -c, --only-check

DEPRECATED. Please use --dry-run instead.

    --dry-run

Do not update, only check for the new versions

    --json-output

Return the output in JSON format

  Examples

    1.  Update all installed libraries in global storage

        > platformio lib -g update

        Library Storage: /storage/dir/...
        Updating ESP8266_SSD1306 @ 3.2.3:   [Up-to-date]
        Updating EngduinoMagnetometer @ 3.1.0:  [Up-to-date]
        Updating IRremote @ 2.2.1:  [Up-to-date]
        Updating Json @ 5.4.0:  [Out-of-date]
        LibraryManager: Installing id=64 @ 5.6.4
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        Json @ 5.6.4 has been successfully installed!
        Updating PJON @ 1fb26fd:    [Checking]
        git version 2.7.4 (Apple Git-66)
        Already up-to-date.
        Updating TextLCD @ 308d188a2d3a:    [Checking]
        Mercurial Distributed SCM (version 3.8.4)
        (see https://mercurial-scm.org for more information)

        Copyright (C) 2005-2016 Matt Mackall and others
        This is free software; see the source for copying conditions. There is NO
        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        pulling from https://developer.mbed.org/users/simon/code/TextLCD/
        searching for changes
        no changes found

    2.  Update specified libraries in global storage

        > platformio lib -g update Json 4

        Library Storage: /storage/dir/...
        Updating Json @ 5.6.4:  [Up-to-date]
        Updating IRremote @ 2.2.1:  [Up-to-date]

  Project Manager CLI

To print all available commands and options use:

        platformio project --help
        platformio project COMMAND --help

  platformio project config

  Contents

    •   platformio project config

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio project config [OPTIONS]
        pio project config [OPTIONS]

  Description

Show project computed configuration based on projectconf. The extra configuration files and dynamic variables will be expanded.

This command is useful for developers to check how PlatformIO computes configuration from projectconf.

  Options

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    --json-output

Return the output in JSON format.

  Examples

        > pio platformio config
        Computed project configuration for Tasmota Project

        platformio
        ----------
        src_dir          =  tasmota
        build_dir        =  .pioenvs
        build_cache_dir  =  .cache
        extra_configs    =  platformio_tasmota_env.ini
                            platformio_override.ini
        default_envs     =  tasmota

        common
        ------
        framework               =  arduino
        board                   =  esp01_1m
        board_build.flash_mode  =  dout
        platform                =  espressif8266
        build_flags             =  -D NDEBUG
                                   -mtarget-align
                                   -Wl,-Map,firmware.map
                                   -Wl,-Teagle.flash.1m.ld
                                   -DBEARSSL_SSL_BASIC
                                   -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
                                   -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
                                   -DVTABLES_IN_FLASH
                                   -fno-exceptions
                                   -lstdc++
        build_unflags           =  -Wall
        board_build.f_cpu       =  80000000L
        monitor_speed           =  115200
        upload_speed            =  115200
        upload_resetmethod      =  nodemcu
        upload_port             =  COM5
        extra_scripts           =  pio/strip-floats.py
                                   pio/name-firmware.py

        scripts_defaults
        ----------------
        extra_scripts  =  pio/strip-floats.py
                          pio/name-firmware.py

        ...

  platformio project init

  Contents

    •   platformio project init

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio project init [OPTIONS]
        pio project init [OPTIONS]

  Description

Initialize a new PlatformIO based project or update existing with new data.

This command will create:

    •   projectconf

    •   projectconf_pio_include_dir, put project header files here

    •   projectconf_pio_src_dir, put project source files here (*.h, *.c, *.cpp, *.S, *.ino, etc.)

    •   projectconf_pio_lib_dir, put project specific (private) libraries here. See also ldf

    •   projectconf_pio_test_dir, put project tests here. More details unit_testing

    •   Miscellaneous files for VCS and ci support.

  Options

    -d, --project-dir

A path to a directory where PlatformIO will initialize new project.

    -b, --board

If you specify board ID (you can pass multiple --board options), then PlatformIO will automatically generate environment for projectconf and pre-fill these data:

    •   projectconf_env_platform

    •   projectconf_env_framework

    •   projectconf_env_board

The full list with pre-configured boards is available here platforms.

    --ide

Initialize PlatformIO project for the specified IDE which can be imported later via "Import Project" functionality.

A list with supported IDE is available within platformio project init --help command. Also, please take a look at ide page.

    -O, --project-option

Initialize project with additional options from projectconf. For example, platformio project init --project-option="lib_deps=ArduinoJSON". Multiple options are allowed.

    --env-prefix

An environment prefix which will be used with pair in projectconf_env_board ID. For example, the default environment name for board_teensy_teensy31 board will be [env:teensy31].

    -s, --silent

Suppress progress reporting

  Examples

    1.  Initialize new project in a current working directory

        > platformio project init

        The current working directory *** will be used for the new project.
        You can specify another project directory via
        `platformio project init -d %PATH_TO_THE_PROJECT_DIR%` command.

        The next files/directories will be created in ***
        platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
        src - Put your source files here
        lib - Put here project specific (private) libraries
        Project has been successfully initialized!
        Useful commands:
        `platformio run` - process/build project from the current directory
        `platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board
        `platformio run --target clean` - clean project (remove compiled files)

    2.  Initialize new project in a specified directory

        > platformio project init -d %PATH_TO_DIR%

        The next files/directories will be created in ***
         platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-|
        ...

    3.  Initialize project for Arduino Uno

        > platformio project init --board uno

        The current working directory *** will be used for the new project.
        You can specify another project directory via
        `platformio project init -d %PATH_TO_THE_PROJECT_DIR%` command.
        ...

    4.  Initialize project for Teensy 3.1 board with custom framework_mbed

        > platformio project init --board teensy31 --project-option "framework=mbed"

        The current working directory *** will be used for the new project.
        You can specify another project directory via
        `platformio project init -d %PATH_TO_THE_PROJECT_DIR%` command.

        ...

  Platform Manager CLI

To print all available commands and options use:

        platformio platform --help
        platformio platform COMMAND --help
[image]

  platformio platform frameworks

  Contents

    •   platformio platform frameworks

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio platform frameworks QUERY [OPTIONS]
        pio platform frameworks QUERY [OPTIONS]

  Description

List supported frameworks (SDKs, etc).

  Options

    --json-output

Return the output in JSON format

  Examples

Print all supported frameworks, SDKs, etc.

        > platformio platform frameworks

        arduino ~ Arduino
        =================
        Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

        Home: https://platformio.org/frameworks/arduino

        artik-sdk ~ ARTIK SDK
        =====================
        ARTIK SDK is a C/C++ SDK targeting Samsung ARTIK platforms. It exposes a set of APIs to ease up development of applications. These APIs cover hardware buses such as GPIO, SPI, I2C, UART, connectivity links like Wi-Fi, Bluetooth, Zigbee, and network protocols such as HTTP, Websockets, MQTT, and others.

        Home: https://platformio.org/frameworks/artik-sdk

        cmsis ~ CMSIS
        =============
        The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.

        Home: https://platformio.org/frameworks/cmsis

        espidf ~ ESP-IDF
        ================
        Espressif IoT Development Framework. Official development framework for ESP32.

        Home: https://platformio.org/frameworks/espidf

        libopencm3 ~ libOpenCM3
        =======================
        The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

        Home: https://platformio.org/frameworks/libopencm3

        mbed ~ mbed
        ===========
        The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

        Home: https://platformio.org/frameworks/mbed

        pumbaa ~ Pumbaa
        ===============
        Pumbaa is Python on top of Simba. The implementation is a port of MicroPython, designed for embedded devices with limited amount of RAM and code memory.

        Home: https://platformio.org/frameworks/pumbaa

        simba ~ Simba
        =============
        Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

        Home: https://platformio.org/frameworks/simba

        spl ~ SPL
        =========
        The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

        Home: https://platformio.org/frameworks/spl

        wiringpi ~ WiringPi
        ===================
        WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

        Home: https://platformio.org/frameworks/wiringpi

  platformio platform install

  Contents

    •   platformio platform install

        •   Usage

        •   Options

        •   Description

        •   Version control

            •   Git

            •   Mercurial

            •   Subversion

        •   Examples

  Usage

        platformio platform install [OPTIONS] [PLATFORM...]
        pio platform install [OPTIONS] [PLATFORM...]

        # [PLATFORM...] forms
        platformio platform install <name>
        platformio platform install <name>@<version>
        platformio platform install <name>@<version range>
        platformio platform install <zip or tarball url>
        platformio platform install file://<zip or tarball file>
        platformio platform install file://<folder>
        platformio platform install <repository>
        platformio platform install <name=repository> (name it should have locally)
        platformio platform install <repository#tag> ("tag" can be commit, branch or tag)

  Options

    --with-package

Install specified package (or alias)

    --without-package

Do not install specified package (or alias)

    --skip-default

Skip default packages

    --with-all-packages

Install all declared packages in platform.json

    -f, --force

Reinstall/redownload development platform and its packages if they exist

  Description

Install platforms and dependent packages.

The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:

    •   1.2.3 - an exact version number. Use only this exact version

    •   ^1.2.3 - any compatible version (exact version for 1.x.x versions)

    •   ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version

    •   >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible

    •   >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

Also, PlatformIO supports installing from local directory or archive. Need to use file:// prefix before local path. Also, directory or archive should contain platform.json manifest.

    •   file:///local/path/to/the/platform/dir

    •   file:///local/path/to/the/platform.zip

    •   file:///local/path/to/the/platform.tar.gz

  Version control

PlatformIO supports installing from Git, Mercurial and Subversion, and detects the type of VCS using url prefixes: "git+", "hg+", or "svn+".

NOTE:
        PlatformIO requires a working VCS command on your path: git, hg or svn.

  Git

The supported schemes are: git, git+https and git+ssh. Here are the supported forms:

    •   platformio/platform-NAME (short version for GitHub repository)

    •   https://github.com/platformio/platform-NAME.git

    •   git+git://git.server.org/my-platform

    •   git+https://git.server.org/my-platform

    •   git+ssh://git.server.org/my-platform

    •   git+ssh://user@git.server.org/my-platform

    •   [user@]host.xz:path/to/repo.git

Passing branch names, a commit hash or a tag name is possible like so:

    •   https://github.com/platformio/platform-name.git#master

    •   git+git://git.server.org/my-platform#master

    •   git+https://git.server.org/my-platform#v1.0

    •   git+ssh://git.server.org/my-platform#7846d8ad52f983f2f2887bdc0f073fe9755a806d

  Mercurial

The supported schemes are: hg+http, hg+https and hg+ssh. Here are the supported forms:

    •   hg+hg://hg.server.org/my-platform

    •   hg+https://hg.server.org/my-platform

    •   hg+ssh://hg.server.org/my-platform

Passing branch names, a commit hash or a tag name is possible like so:

    •   hg+hg://hg.server.org/my-platform#master

    •   hg+https://hg.server.org/my-platform#v1.0

    •   hg+ssh://hg.server.org/my-platform#4cfe2fa00668

  Subversion

The supported schemes are: svn, svn+svn, svn+http, svn+https and svn+ssh. Here are the supported forms:

    •   svn+svn://svn.server.org/my-platform

    •   svn+https://svn.server.org/my-platform

    •   svn+ssh://svn.server.org/my-platform

You can also give specific revisions to an SVN URL, like so:

    •   svn+svn://svn.server.org/my-platform#13

  Examples

    1.  Install platform_atmelavr with default packages

        > platformio platform install atmelavr

        PlatformManager: Installing atmelavr
        Downloading...
        Unpacking  [####################################]  100%
        atmelavr @ 0.0.0 has been successfully installed!
        PackageManager: Installing tool-scons @ >=2.3.0,<2.6.0
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        tool-scons @ 2.4.1 has been successfully installed!
        PackageManager: Installing toolchain-atmelavr @ ~1.40801.0
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        toolchain-atmelavr @ 1.40801.0 has been successfully installed!
        The platform 'atmelavr' has been successfully installed!
        The rest of packages will be installed automatically depending on your build environment.

    2.  Install platform_atmelavr with uploader utility only and skip default packages

        > platformio platform install atmelavr --skip-default-package --with-package=uploader

        PlatformManager: Installing atmelavr
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        atmelavr @ 0.0.0 has been successfully installed!
        PackageManager: Installing tool-micronucleus @ ~1.200.0
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        tool-micronucleus @ 1.200.0 has been successfully installed!
        PackageManager: Installing tool-avrdude @ ~1.60001.0
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        tool-avrdude @ 1.60001.1 has been successfully installed!
        The platform 'atmelavr' has been successfully installed!
        The rest of packages will be installed automatically depending on your build environment.

    3.  Install the latest development platform_atmelavr from Git repository

        > platformio platform install https://github.com/platformio/platform-atmelavr.git

        PlatformManager: Installing platform-atmelavr
        git version 2.7.4 (Apple Git-66)
        Cloning into '/Volumes/MEDIA/tmp/pio3_test_projects/arduino-digihead-master/home_dir/platforms/installing-U3ucN0-package'...
        remote: Counting objects: 176, done.
        remote: Compressing objects: 100% (55/55), done.
        remote: Total 176 (delta 114), reused 164 (delta 109), pack-reused 0
        Receiving objects: 100% (176/176), 38.86 KiB | 0 bytes/s, done.
        Resolving deltas: 100% (114/114), done.
        Checking connectivity... done.
        Submodule 'examples/arduino-external-libs/lib/OneWire' (https://github.com/PaulStoffregen/OneWire.git) registered for path 'examples/arduino-external-libs/lib/OneWire'
        Cloning into 'examples/arduino-external-libs/lib/OneWire'...
        remote: Counting objects: 91, done.
        remote: Total 91 (delta 0), reused 0 (delta 0), pack-reused 91
        Unpacking objects: 100% (91/91), done.
        Checking connectivity... done.
        Submodule path 'examples/arduino-external-libs/lib/OneWire': checked out '57c18c6de80c13429275f70875c7c341f1719201'
        atmelavr @ 0.0.0 has been successfully installed!
        PackageManager: Installing tool-scons @ >=2.3.0,<2.6.0
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        tool-scons @ 2.4.1 has been successfully installed!
        PackageManager: Installing toolchain-atmelavr @ ~1.40801.0
        Downloading  [####################################]  100%
        Unpacking  [####################################]  100%
        toolchain-atmelavr @ 1.40801.0 has been successfully installed!
        The platform 'https://github.com/platformio/platform-atmelavr.git' has been successfully installed!
        The rest of packages will be installed automatically depending on your build environment.

  platformio platform list

  Contents

    •   platformio platform list

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio platform list [OPTIONS]
        pio platform list [OPTIONS]

  Description

List installed platforms

  Options

    --json-output

Return the output in JSON format.

  Examples

        > platformio platform list

        atmelavr ~ Atmel AVR
        ====================
        Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.

        Home: https://platformio.org/platforms/atmelavr
        Packages: toolchain-atmelavr, framework-simba
        Version: 0.0.0

        atmelsam ~ Atmel SAM
        ====================
        Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

        Home: https://platformio.org/platforms/atmelsam
        Packages: framework-arduinosam, framework-mbed, framework-simba, toolchain-gccarmnoneeabi, tool-bossac
        Version: 0.0.0

        espressif8266 ~ Espressif 8266
        ==============================
        Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

        Home: https://platformio.org/platforms/espressif8266
        Packages: framework-simba, tool-esptool, framework-arduinoespressif8266, sdk-esp8266, toolchain-xtensa
        Version: 0.0.0
        ...

  platformio platform search

  Contents

    •   platformio platform search

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio platform search QUERY [OPTIONS]
        pio platform search QUERY [OPTIONS]

  Description

Search for development platforms

  Options

    --json-output

Return the output in JSON format

  Examples

    1.  Print all available development platforms

        > platformio platform search

        atmelavr ~ Atmel AVR
        ====================
        Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.

        Home: https://platformio.org/platforms/atmelavr
        Packages: toolchain-atmelavr, framework-arduinoavr, framework-simba, tool-avrdude, tool-micronucleus

        atmelsam ~ Atmel SAM
        ====================
        Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

        Home: https://platformio.org/platforms/atmelsam
        Packages: toolchain-gccarmnoneeabi, framework-arduinosam, framework-simba, tool-openocd, framework-mbed, tool-avrdude, tool-bossac

        espressif32 ~ Espressif 32
        ==========================
        Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

        Home: https://platformio.org/platforms/espressif32
        Packages: toolchain-xtensa32, framework-simba, framework-arduinoespressif32, framework-pumbaa, framework-espidf, tool-esptoolpy

        espressif8266 ~ Espressif 8266
        ==============================
        Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

        Home: https://platformio.org/platforms/espressif8266
        Packages: toolchain-xtensa, framework-simba, tool-esptool, tool-mkspiffs, tool-espotapy, framework-arduinoespressif8266, sdk-esp8266

        freescalekinetis ~ Freescale Kinetis
        ====================================
        Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
        ...

    2.  Search for TI development platforms

        > platformio platform search texas

        timsp430 ~ TI MSP430
        ====================
        MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.

        Home: https://platformio.org/platforms/timsp430
        Packages: toolchain-timsp430, tool-mspdebug, framework-energiamsp430, framework-arduinomsp430

        titiva ~ TI TIVA
        ================
        Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.

        Home: https://platformio.org/platforms/titiva
        Packages: ldscripts, framework-libopencm3, toolchain-gccarmnoneeabi, tool-lm4flash, framework-energiativa

        > platformio platform search framework-mbed

        atmelsam ~ Atmel SAM
        ====================
        Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

        Home: https://platformio.org/platforms/atmelsam
        Packages: toolchain-gccarmnoneeabi, framework-arduinosam, framework-simba, tool-openocd, framework-mbed, ldscripts, tool-bossac

        freescalekinetis ~ Freescale Kinetis
        ====================================
        Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.

        Home: https://platformio.org/platforms/freescalekinetis
        Packages: framework-mbed, toolchain-gccarmnoneeabi

        nordicnrf51 ~ Nordic nRF51
        ==========================
        The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.

        Home: https://platformio.org/platforms/nordicnrf51
        Packages: framework-mbed, tool-rfdloader, toolchain-gccarmnoneeabi, framework-arduinonordicnrf51

        nxplpc ~ NXP LPC
        ================
        The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.

        Home: https://platformio.org/platforms/nxplpc
        Packages: framework-mbed, toolchain-gccarmnoneeabi

        siliconlabsefm32 ~ Silicon Labs EFM32
        =====================================
        Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.

        Home: https://platformio.org/platforms/siliconlabsefm32
        Packages: framework-mbed, toolchain-gccarmnoneeabi

        ststm32 ~ ST STM32
        ==================
        The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

        Home: https://platformio.org/platforms/ststm32
        Packages: framework-libopencm3, toolchain-gccarmnoneeabi, tool-stlink, framework-spl, framework-cmsis, framework-mbed, ldscripts

        teensy ~ Teensy
        ===============
        Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.

        Home: https://platformio.org/platforms/teensy
        Packages: framework-arduinoteensy, tool-teensy, toolchain-gccarmnoneeabi, framework-mbed, toolchain-atmelavr, ldscripts
        ...

  platformio platform show

  Contents

    •   platformio platform show

        •   Usage

        •   Description

        •   Examples

  Usage

        platformio platform show PLATFORM
        pio platform show PLATFORM

  Description

Show details about platforms

  Examples

        > platformio platform show atmelavr

        atmelavr ~ Atmel AVR
        ====================
        Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.

        Version: 1.2.1
        Home: https://platformio.org/platforms/atmelavr
        License: Apache-2.0
        Frameworks: simba, arduino

        Package toolchain-atmelavr
        --------------------------
        Type: toolchain
        Requirements: ~1.40902.0
        Installed: Yes
        Description: avr-gcc
        Url: http://www.atmel.com/products/microcontrollers/avr/32-bitavruc3.aspx?tab=tools
        Version: 1.40902.0 (4.9.2)

        Package framework-arduinoavr
        ----------------------------
        Type: framework
        Requirements: ~1.10612.1
        Installed: Yes
        Url: https://www.arduino.cc/en/Main/Software
        Version: 1.10612.1 (1.6.12)
        Description: Arduino Wiring-based Framework (AVR Core, 1.6)

        Package framework-simba
        -----------------------
        Type: framework
        Requirements: >=7.0.0
        Installed: Yes
        Url: https://github.com/eerimoq/simba
        Version: 11.0.0
        Description: Simba Embedded Programming Platform

        Package tool-avrdude
        --------------------
        Type: uploader
        Requirements: ~1.60300.0
        Installed: Yes
        Description: AVRDUDE
        Url: http://www.nongnu.org/avrdude/
        Version: 1.60300.0 (6.3.0)

        Package tool-micronucleus
        -------------------------
        Type: uploader
        Requirements: ~1.200.0
        Installed: No (optional)

  platformio platform uninstall

  Contents

    •   platformio platform uninstall

        •   Usage

        •   Description

        •   Examples

  Usage

        platformio platform uninstall [PLATFORM...]
        pio platform uninstall [PLATFORM...]

        # uninstall specific platform version using Semantic Versioning
        platformio platform uninstall PLATFORM@X.Y.Z

  Description

Uninstall specified platforms

  Examples

        > platformio platform uninstall atmelavr
        Uninstalling platform atmelavr @ 0.0.0:    [OK]
        Uninstalling package tool-scons @ 2.4.1:    [OK]
        Uninstalling package toolchain-atmelavr @ 1.40801.0:    [OK]
        The platform 'atmelavr' has been successfully uninstalled!

  platformio platform update

  Contents

    •   platformio platform update

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio platform update [OPTIONS] [PLATFORM...]
        pio platform update [OPTIONS] [PLATFORM...]

        # update specific platform version using Semantic Versioning
        platformio platform update PLATFORM@X.Y.Z

  Description

Check or update installed platforms

  Options

    -p, --only-packages

Update only the platform related packages. Do not update development platform build scripts, board configs and etc.

    -c, --only-check

DEPRECATED. Please use --dry-run instead.

    --dry-run

Do not update, only check for the new versions

    --json-output

Return the output in JSON format

  Examples

        > platformio platform update

        Platform atmelavr
        --------
        Updating atmelavr @ 0.0.0:  [Up-to-date]
        Updating framework-arduinoavr @ 1.10608.1:  [Up-to-date]
        Updating tool-avrdude @ 1.60001.1:  [Up-to-date]
        Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform espressif8266
        --------
        Updating espressif @ 0.0.0:     [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating toolchain-xtensa @ 1.40802.0:  [Up-to-date]
        Updating tool-esptool @ 1.409.0:    [Up-to-date]
        Updating tool-mkspiffs @ 1.102.0:   [Up-to-date]
        Updating framework-arduinoespressif8266 @ 1.20300.0:    [Up-to-date]
        Updating sdk-esp8266 @ 1.10502.0:   [Up-to-date]

        Platform teensy
        --------
        Updating teensy @ 0.0.0:    [Up-to-date]
        Updating framework-arduinoteensy @ 1.128.0:     [Up-to-date]
        Updating tool-teensy @ 1.1.0:   [Up-to-date]
        Updating framework-mbed @ 1.121.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]

        ...

  PlatformIO Remote CLI

Helper command for pioremote.

To print all available commands and options use:

        pio remote --help
        platformio remote --help
        platformio remote COMMAND --help

        # run command on the specified PIO Remote Agents
        platformio remote --agent NAME_1 --agent NAME_N COMMAND

  PIO Remote Agent

Start PIO Remote Agent on a host machine and work remotely with your devices WITHOUT extra software, services, SSH, VPN, tunneling or opening incoming network ports.

pioremote supports wired and wireless devices. Wired devices should be connected physically to host machine where PIO Remote Agent is started, where wireless devices should be visible for PIO Remote Agent to provide network operations Over-The-Air (OTA).

  Contents

    •   PIO Remote Agent

        •   platformio remote agent list

            •   Usage

            •   Description

            •   Example

        •   platformio remote agent start

            •   Usage

            •   Description

            •   Options

  platformio remote agent list

  Usage

        platformio remote agent list
        pio remote agent list

  Description

List active PIO Remote Agent s started using own pioaccount or shared with you by other PlatformIO developers.

  Example

        > platformio remote agent list

        innomac.local
        -------------
        ID: 98853d930......788d77375e7
        Started: 2016-10-26 16:32:56

----

  platformio remote agent start

  Usage

        platformio remote agent start [OPTIONS]
        pio remote agent start [OPTIONS]

  Description

Start PIO Remote Agent and work remotely with your devices from anywhere in the world. This command can be run as daemon or added to autostart list of your OS.

  Options

    -n, --name

Agent name/alias. By default, machine's hostname will be used. You can use this name later for cmd_remote_device and cmd_remote_run commands. Good names are home, office, lab or etc.

    -s, --share

Share your agent/devices with other PlatformIO developers who have pioaccount: friends, co-workers, team, etc.

The valid value for --share option is email address that was used for cmd_account_register command.

    -d, --working-dir

A working directory where PIO Remote Agent stores projects data for incremental synchronization and embedded programs for PIO Process Supervisor.

  platformio remote device

Remote Device: monitor remote device or list existing.

  Contents

    •   platformio remote device

        •   platformio remote device list

            •   Usage

            •   Description

            •   Options

            •   Example

        •   platformio remote device monitor

            •   Usage

            •   Description

            •   Options

            •   Examples

  platformio remote device list

  Usage

        platformio remote device list [OPTIONS]
        pio remote device list [OPTIONS]

        # List devices from the specified agents. Multiple agents are allowed.
        platformio remote --agent NAME device list [OPTIONS]

  Description

List Serial Ports on remote machines where cmd_remote_agent is started.

You can list devices from the specified remote machines using --agent NAME option between "remote" & "device" sub-commands. For example, you have run platformio remote agent start --name command with "home" and "office" options:

    •   platformio remote agent start --name home

    •   platformio remote agent start --name office

Now, to list devices from office machine please use platformio remote --agent office device list.

Multiple agents are allowed ( platformio remote --agent lab1 --agent lab3 device ...).

  Options

    --json-output

Return the output in JSON format

  Example

        > platformio remote device list

        Agent innomac.local
        ===================
        /dev/cu.Bluetooth-Incoming-Port
        -------------------------------
        Hardware ID: n/a
        Description: n/a
        /dev/cu.obd2ecu-SPPDev
        ----------------------
        Hardware ID: n/a
        Description: n/a
        /dev/cu.usbmodemFA1431
        ----------------------
        Hardware ID: USB VID:PID=2A03:0043 SER=75435353038351015271 LOCATION=250-1.4.3
        Description: Arduino Uno
        /dev/cu.usbserial-A6004003
        --------------------------
        Hardware ID: USB VID:PID=0403:6001 SER=A6004003 LOCATION=253-1.3.1
        Description: FT232R USB UART - FT232R USB UART
        /dev/cu.SLAB_USBtoUART
        ----------------------
        Hardware ID: USB VID:PID=10C4:EA60 SER=0001 LOCATION=253-1.3.2
        Description: CP2102 USB to UART Bridge Controller - CP2102 USB to UART Bridge Controller
        /dev/cu.usbmodem589561
        ----------------------
        Hardware ID: USB VID:PID=16C0:0483 SER=589560 LOCATION=250-1.4.1
        Description: USB Serial

  platformio remote device monitor

Remote Serial Port Monitor

  Usage

        platformio remote device monitor [OPTIONS]
        pio remote device monitor [OPTIONS]

        # Connect to a specified agent
        platformio remote --agent NAME device monitor [OPTIONS]
        platformio remote -a NAME device monitor [OPTIONS]

  Description

Connect to Serial Port of remote device and receive or send data in real time. cmd_remote_agent should be started before on a remote machine.

To control monitor please use these "hot keys":

    •   Ctrl+C Quit

    •   Ctrl+T Menu

    •   Ctrl+T followed by Ctrl+H Help

  Options

    -p, --port

Port, a number or a device name

    -b, --baud

Set baud rate, default 9600

    --parity

Set parity (None, Even, Odd, Space, Mark), one of [N, E, O, S, M], default N

    --rtscts

Enable RTS/CTS flow control, default Off

    --xonxoff

Enable software flow control, default Off

    --rts

Set initial RTS line state, default 0

    --dtr

Set initial DTR line state, default 0

    --echo

Enable local echo, default Off

    --encoding

Set the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default UTF-8.

    -f, --filter

Add text transformation. Available filters:

    •   colorize Apply different colors for received and echo

    •   debug Print what is sent and received

    •   default Remove typical terminal control codes from input

    •   direct Do-nothing: forward all data unchanged

    •   nocontrol Remove all control codes, incl. CR+LF

    •   printable Show decimal code for all non-ASCII characters and replace most control codes

    --eol

End of line mode (CR, LF or CRLF), default CRLF

    --raw

Do not apply any encodings/transformations

    --exit-char

ASCII code of special character that is used to exit the application, default 3 (DEC, Ctrl+C).

For example, to use Ctrl+] run platformio remote device monitor --exit-char 29.

    --menu-char

ASCII code of special character that is used to control miniterm (menu), default 20 (DEC)

    ---quiet

Diagnostics: suppress non-error messages, default Off

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    -e, --environment

Process specified environments.

You can also specify which environments should be processed by default using projectconf_pio_default_envs option from projectconf.

  Examples

    1.  Show available options for monitor

        > platformio remote device monitor --help

        Usage: platformio remote device monitor [OPTIONS]

        Options:
          -p, --port TEXT       Port, a number or a device name
          -b, --baud INTEGER    Set baud rate, default=9600
          --parity [N|E|O|S|M]  Set parity, default=N
          --rtscts              Enable RTS/CTS flow control, default=Off
          --xonxoff             Enable software flow control, default=Off
          --rts [0|1]           Set initial RTS line state, default=0
          --dtr [0|1]           Set initial DTR line state, default=0
          --echo                Enable local echo, default=Off
          --encoding TEXT       Set the encoding for the serial port (e.g. hexlify,
                                Latin1, UTF-8), default: UTF-8
          -f, --filter TEXT     Add text transformation
          --eol [CR|LF|CRLF]    End of line mode, default=CRLF
          --raw                 Do not apply any encodings/transformations
          --exit-char INTEGER   ASCII code of special character that is used to exit
                                the application, default=29 (DEC)
          --menu-char INTEGER   ASCII code of special character that is used to
                                control miniterm (menu), default=20 (DEC)
          --quiet               Diagnostics: suppress non-error messages, default=Off
          -h, --help            Show this message and exit.

    2.  Communicate with serial device and print help inside terminal

        > platformio remote device monitor

        --- Available ports:
        --- /dev/cu.Bluetooth-Incoming-Port n/a
        --- /dev/cu.Bluetooth-Modem n/a
        --- /dev/cu.SLAB_USBtoUART CP2102 USB to UART Bridge Controller
        --- /dev/cu.obd2ecu-SPPDev n/a
        Enter port name:/dev/cu.SLAB_USBtoUART
        --- Miniterm on /dev/cu.SLAB_USBtoUART: 9600,8,N,1 ---
        --- Quit: Ctrl+C  |  Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
        Hello PlatformIO!
        ---
        --- Ctrl+]   Exit program
        --- Ctrl+T   Menu escape key, followed by:
        --- Menu keys:
        ---    Ctrl+T  Send the menu character itself to remote
        ---    Ctrl+]  Send the exit character itself to remote
        ---    Ctrl+I  Show info
        ---    Ctrl+U  Upload file (prompt will be shown)
        --- Toggles:
        ---    Ctrl+R  RTS          Ctrl+E  local echo
        ---    Ctrl+D  DTR          Ctrl+B  BREAK
        ---    Ctrl+L  line feed    Ctrl+A  Cycle repr mode
        ---
        --- Port settings (Ctrl+T followed by the following):
        ---    p          change port
        ---    7 8        set data bits
        ---    n e o s m  change parity (None, Even, Odd, Space, Mark)
        ---    1 2 3      set stop bits (1, 2, 1.5)
        ---    b          change baud rate
        ---    x X        disable/enable software flow control
        ---    r R        disable/enable hardware flow control
        --- exit ---

  platformio remote run

Remote Firmware Updates

  Contents

    •   platformio remote run

        •   Usage

        •   Description

        •   Options

        •   Example

  Usage

        platformio remote run [OPTIONS]
        pio remote run [OPTIONS]

        # process environments using specified PIO Remote Agent
        platformio remote --agent NAME run [OPTIONS]

  Description

Process remotely environments which are defined in projectconf file. By default, pioremote builds project on a host machine and deploy final firmware (program) to a remote device (embedded board).

If you need to process project on a remote machine, please use platformio remote run --force-remote option. In this case, pioremote will automatically synchronize your project with remote machine, install required toolchains, frameworks, SDKs, etc., and process project.

  Options

    -e, --environment

Process specified environments.

You can also specify which environments should be processed by default using projectconf_pio_default_envs option from projectconf.

    -t, --target

Process specified targets.

Built-in targets:

    •   clean delete compiled object files, libraries and firmware/program binaries

    •   upload firmware "auto-uploading" for embedded platforms

    •   program firmware "auto-uploading" for embedded platforms using external programmer (available only for platform_atmelavr)

    •   buildfs platform_espressif_uploadfs

    •   uploadfs platform_espressif_uploadfs

    •   envdump dump current build environment

    •   size print the size of the sections in a firmware/program

    --upload-port

Custom upload port of embedded board. To print all available ports use cmd_remote_device command.

If upload port is not specified, PlatformIO will try to detect it automatically.

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    -v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

    --disable-auto-clean

Disable auto-clean of projectconf_pio_build_dir when projectconf or projectconf_pio_src_dir (project structure) have been modified.

    -r, --force-remote

By default, pioremote builds project on a host machine and deploy final firmware (program) to remote device (embedded board).

If you need to process project on remote machine, please use platformio remote run --force-remote option. In this case, pioremote will automatically synchronize your project with remote machine, install required toolchains, frameworks, SDKs, etc., and process project.

  Example

        > platformio remote run --environment uno --target upload

        Building project locally
        [Wed Oct 26 16:35:09 2016] Processing uno (platform: atmelavr, board: uno, framework: arduino)
        --------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 25 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/uno/src/main.o
        Archiving .pio/build/uno/libFrameworkArduinoVariant.a
        Indexing .pio/build/uno/libFrameworkArduinoVariant.a
        Compiling .pio/build/uno/FrameworkArduino/CDC.o
        Compiling .pio/build/uno/FrameworkArduino/HardwareSerial.o
        Compiling .pio/build/uno/FrameworkArduino/HardwareSerial0.o
        Compiling .pio/build/uno/FrameworkArduino/HardwareSerial1.o
        Compiling .pio/build/uno/FrameworkArduino/HardwareSerial2.o
        Compiling .pio/build/uno/FrameworkArduino/HardwareSerial3.o
        Compiling .pio/build/uno/FrameworkArduino/IPAddress.o
        Compiling .pio/build/uno/FrameworkArduino/PluggableUSB.o
        Compiling .pio/build/uno/FrameworkArduino/Print.o
        Compiling .pio/build/uno/FrameworkArduino/Stream.o
        Compiling .pio/build/uno/FrameworkArduino/Tone.o
        Compiling .pio/build/uno/FrameworkArduino/USBCore.o
        Compiling .pio/build/uno/FrameworkArduino/WInterrupts.o
        Compiling .pio/build/uno/FrameworkArduino/WMath.o
        Compiling .pio/build/uno/FrameworkArduino/WString.o
        Compiling .pio/build/uno/FrameworkArduino/_wiring_pulse.o
        Compiling .pio/build/uno/FrameworkArduino/abi.o
        Compiling .pio/build/uno/FrameworkArduino/hooks.o
        Compiling .pio/build/uno/FrameworkArduino/main.o
        Compiling .pio/build/uno/FrameworkArduino/new.o
        Compiling .pio/build/uno/FrameworkArduino/wiring.o
        Compiling .pio/build/uno/FrameworkArduino/wiring_analog.o
        Compiling .pio/build/uno/FrameworkArduino/wiring_digital.o
        Compiling .pio/build/uno/FrameworkArduino/wiring_pulse.o
        Compiling .pio/build/uno/FrameworkArduino/wiring_shift.o
        Archiving .pio/build/uno/libFrameworkArduino.a
        Indexing .pio/build/uno/libFrameworkArduino.a
        Linking .pio/build/uno/firmware.elf
        Checking program size
        Building .pio/build/uno/firmware.hex
        text       data     bss     dec     hex filename
        2574         48     168    2790     ae6 .pio/build/uno/firmware.elf
        ========================= [SUCCESS] Took 10.01 seconds =======================
        ================================== [SUMMARY] =================================
        Environment nodemcuv2   [SKIP]
        Environment uno_pic32   [SKIP]
        Environment teensy31    [SKIP]
        Environment uno         [SUCCESS]
        ========================= [SUCCESS] Took 10.01 seconds ========================
        Uploading firmware remotely
        [Wed Oct 26 19:35:20 2016] Processing uno (platform: atmelavr, board: uno, framework: arduino)
        ----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Looking for upload port...
        Auto-detected: /dev/cu.usbmodemFA1431
        Uploading .pio/build/uno/firmware.hex
        avrdude: AVR device initialized and ready to accept instructions
        Reading | ################################################## | 100% 0.00s
        avrdude: Device signature = 0x1e950f
        avrdude: reading input file ".pio/build/uno/firmware.hex"
        avrdude: writing flash (2622 bytes):
        Writing | ################################################## | 100% 0.43s
        avrdude: 2622 bytes of flash written
        avrdude: verifying flash memory against .pio/build/uno/firmware.hex:
        avrdude: load data flash data from input file .pio/build/uno/firmware.hex:
        avrdude: input file .pio/build/uno/firmware.hex contains 2622 bytes
        avrdude: reading on-chip flash data:
        Reading | ################################################## | 100% 0.34s
        avrdude: verifying ...
        avrdude: 2622 bytes of flash verified
        avrdude done.  Thank you.
        ========================= [SUCCESS] Took 3.04 seconds =======================
        ========================= [SUMMARY] =========================================
        Environment nodemcuv2   [SKIP]
        Environment uno_pic32   [SKIP]
        Environment teensy31    [SKIP]
        Environment uno         [SUCCESS]
        ========================= [SUCCESS] Took 3.04 seconds ========================

  platformio remote test

Helper command for remote unit_testing.

  Contents

    •   platformio remote test

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio remote test [OPTIONS]
        pio remote test [OPTIONS]

        # run tests on specified PIO Remote Agent
        platformio remote --agent NAME test [OPTIONS]

  Description

Run remotely tests from PlatformIO based project. More details about PlatformIO unit_testing.

This command allows you to apply the tests for the environments specified in projectconf.

  Options

    -e, --environment

Process specified environments. More details platformio run --environment

    -i, --ignore

Ignore tests where the name matches specified patterns. More than one pattern is allowed. If you need to ignore some tests for the specific environment, please take a look at projectconf_test_ignore option from projectconf.
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

For example, platformio remote test --ignore "mytest*" -i "test[13]"

    --upload-port

A port that is intended for firmware uploading. To list available ports please use cmd_device_list command.

If upload port is not specified, PlatformIO will try to detect it automatically.

    --test-port

A Serial/UART port that PlatformIO uses as communication interface between PlatformIO Unit Test Engine and target device. To list available ports please use cmd_device_list command.

If test port is not specified, PlatformIO will try to detect it automatically.

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    -r, --force-remote

By default, pioremote processes project on a host machine and deploy final testing firmware (program) to remote device (embedded board).

If you need to process project on remote machine, please use platformio remote test --force-remote option. In this case, pioremote will automatically synchronize your project with remote machine, install required toolchains, frameworks, SDKs, etc., and process project.

    --without-building

Skip building stage.

    --without-uploading

Skip uploading stage

    -v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

  Examples

For the examples please follow to unit_testing page.

  platformio remote update

  Contents

    •   platformio remote update

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio remote update [OPTIONS]
        pio remote update [OPTIONS]

        # start update process on the specified agents/machines
        platformio remote --agent NAME update [OPTIONS]

  Description

Check or update installed platforms and global Libraries on the remote machine.

  Options

    -c, --only-check

DEPRECATED. Please use --dry-run instead.

    --dry-run

Do not update, only check for the new versions

  Examples

        > platformio remote update

        Platform Manager
        ================
        Platform timsp430
        --------
        Updating timsp430 @ 0.0.0:  [Up-to-date]
        Updating toolchain-timsp430 @ 1.40603.0:    [Up-to-date]
        Updating framework-energiamsp430 @ 1.17.0:  [Up-to-date]
        Updating framework-arduinomsp430 @ 1.10601.0:   [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform freescalekinetis
        --------
        Updating freescalekinetis @ 0.0.0:  [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform ststm32
        --------
        Updating ststm32 @ 0.0.0:   [Up-to-date]
        Updating framework-libopencm3 @ 1.1.0:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-stlink @ 1.10200.0:   [Up-to-date]
        Updating framework-spl @ 1.10201.0:     [Up-to-date]
        Updating framework-cmsis @ 1.40300.0:   [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform lattice_ice40
        --------
        Updating lattice_ice40 @ 0.0.0:     [Up-to-date]
        Updating toolchain-icestorm @ 1.7.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform atmelavr
        --------
        Updating atmelavr @ 0.0.0:  [Up-to-date]
        Updating framework-arduinoavr @ 1.10608.1:  [Up-to-date]
        Updating tool-avrdude @ 1.60001.1:  [Up-to-date]
        Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform espressif8266
        --------
        Updating espressif8266 @ 0.0.0:     [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating toolchain-xtensa @ 1.40802.0:  [Up-to-date]
        Updating tool-esptool @ 1.409.0:    [Up-to-date]
        Updating tool-mkspiffs @ 1.102.0:   [Up-to-date]
        Updating framework-arduinoespressif8266 @ 1.20300.0:    [Up-to-date]
        Updating sdk-esp8266 @ 1.10502.0:   [Up-to-date]

        Platform linux_x86_64
        --------
        Updating linux_x86_64 @ 0.0.0:  [Up-to-date]
        Updating toolchain-gcclinux64 @ 1.40801.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform windows_x86
        --------
        Updating windows_x86 @ 0.0.0:   [Up-to-date]
        Updating toolchain-gccmingw32 @ 1.40800.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform teensy
        --------
        Updating teensy @ 0.0.0:    [Up-to-date]
        Updating framework-arduinoteensy @ 1.128.0:     [Up-to-date]
        Updating tool-teensy @ 1.1.0:   [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]

        Platform nordicnrf51
        --------
        Updating nordicnrf51 @ 0.0.0:   [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating framework-arduinonordicnrf51 @ 1.20302.0:  [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform titiva
        --------
        Updating titiva @ 0.0.0:    [Up-to-date]
        Updating framework-libopencm3 @ 1.1.0:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating framework-energiativa @ 1.17.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform atmelsam
        --------
        Updating atmelsam @ 0.0.0:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-openocd @ 1.900.0:    [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating tool-avrdude @ 1.60001.1:  [Up-to-date]
        Updating tool-bossac @ 1.10601.0:   [Up-to-date]

        Platform siliconlabsefm32
        --------
        Updating siliconlabsefm32 @ 0.0.0:  [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform microchippic32
        --------
        Updating microchippic32 @ 0.0.0:    [Up-to-date]
        Updating framework-arduinomicrochippic32 @ 1.10201.0:   [Up-to-date]
        Updating toolchain-microchippic32 @ 1.40803.0:  [Up-to-date]
        Updating tool-pic32prog @ 1.200200.0:   [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform linux_i686
        --------
        Updating linux_i686 @ 0.0.0:    [Up-to-date]
        Updating toolchain-gcclinux32 @ 1.40801.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform intel_arc32
        --------
        Updating intel_arc32 @ 0.0.0:   [Up-to-date]
        Updating framework-arduinointel @ 1.10006.0:    [Up-to-date]
        Updating tool-arduino101load @ 1.124.0:     [Up-to-date]
        Updating toolchain-intelarc32 @ 1.40805.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform nxplpc
        --------
        Updating nxplpc @ 0.0.0:    [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform linux_arm
        --------
        Updating linux_arm @ 0.0.0:     [Up-to-date]
        Updating toolchain-gccarmlinuxgnueabi @ 1.40802.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform native
        --------
        Updating native @ 0.0.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Library Manager
        ===============
        Updating Adafruit-GFX @ 334e815bc1:     [Up-to-date]
        Updating Adafruit-ST7735 @ d53d4bf03a:  [Up-to-date]
        Updating Adafruit-DHT @ 09344416d2:     [Up-to-date]
        Updating Adafruit-Unified-Sensor @ f2af6f4efc:  [Up-to-date]
        Updating ESP8266_SSD1306 @ 3.2.3:   [Up-to-date]
        Updating EngduinoMagnetometer @ 3.1.0:  [Up-to-date]
        Updating IRremote @ 2.2.1:  [Up-to-date]
        Updating Json @ 5.6.4:  [Up-to-date]
        Updating MODSERIAL @ d8422efe47:    [Up-to-date]
        Updating PJON @ 1fb26fd:    [Checking]
        git version 2.7.4 (Apple Git-66)
        Already up-to-date.
        Updating Servo @ 36b69a7ced07:  [Checking]
        Mercurial Distributed SCM (version 3.8.4)
        (see https://mercurial-scm.org for more information)

        Copyright (C) 2005-2016 Matt Mackall and others
        This is free software; see the source for copying conditions. There is NO
        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        pulling from https://developer.mbed.org/users/simon/code/Servo/
        searching for changes
        no changes found
        Updating TextLCD @ 308d188a2d3a:    [Checking]
        Mercurial Distributed SCM (version 3.8.4)
        (see https://mercurial-scm.org for more information)

        Copyright (C) 2005-2016 Matt Mackall and others
        This is free software; see the source for copying conditions. There is NO
        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        pulling from https://developer.mbed.org/users/simon/code/TextLCD/
        searching for changes
        no changes found

  platformio run

  Contents

    •   platformio run

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio run [OPTIONS]
        pio run [OPTIONS]

  Description

Process environments which are defined in projectconf file

  Options

    -e, --environment

Process specified environments.

You can also specify which environments should be processed by default using projectconf_pio_default_envs option from projectconf.

    -t, --target

Process specified targets.

NOTE:
        You can configure default targets per project environment using projectconf_targets option in projectconf.

Built-in targets:

    •   Processing

                •   clean delete compiled object files, libraries and firmware/program binaries

                •   upload firmware "auto-uploading" for embedded platforms

                •   debug build using Debug Configuration

                •   program firmware "auto-uploading" for embedded platforms using external programmer (available only for platform_atmelavr)

                •   fuses set fuse bits (available only for platform_atmelavr)

                •   buildfs platform_espressif_uploadfs

                •   uploadfs platform_espressif_uploadfs

                •   size print the size of the sections in a firmware/program

                •   checkprogsize check maximum allowed firmware size for uploading

                •   erase erase device flash (not available on the all platforms)

                •   compiledb build compilation_db

    •   Device

                •   monitor automatically start cmd_device_monitor after success build operation. You can configure monitor using projectconf_section_env_monitor.

    •   Service

                •   envdump dump current build environment

                •   idedata export build environment for IDE (defines, build flags, CPPPATH, etc.)

    --upload-port

Custom upload port of embedded board. To print all available ports use cmd_device_list command.

If upload port is not specified, PlatformIO will try to detect it automatically.

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    -c, --project-conf

New in version 4.0.

Process project with a custom projectconf.

    -j, --jobs

New in version 4.0.

Control a number of parallel build jobs. Default is a number of CPUs in a system.

    -s, --silent

Suppress progress reporting

    -v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

    --disable-auto-clean

Disable auto-clean of projectconf_pio_build_dir when projectconf or projectconf_pio_src_dir (project structure) have been modified.

  Examples

    1.  Process Wiring Blink Example

        > platformio run

        [Wed Sep  7 15:48:58 2016] Processing uno (platform: atmelavr, board: uno, framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 36 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/uno/src/main.o
        Archiving .pio/build/uno/libFrameworkArduinoVariant.a
        Indexing .pio/build/uno/libFrameworkArduinoVariant.a
        Compiling .pio/build/uno/FrameworkArduino/CDC.o
        ...
        Compiling .pio/build/uno/FrameworkArduino/wiring_shift.o
        Archiving .pio/build/uno/libFrameworkArduino.a
        Indexing .pio/build/uno/libFrameworkArduino.a
        Linking .pio/build/uno/firmware.elf
        Building .pio/build/uno/firmware.hex
        Calculating size .pio/build/uno/firmware.elf
        AVR Memory Usage
        ----------------
        Device: atmega328p

        Program:    1034 bytes (3.2% Full)
        (.text + .data + .bootloader)

        Data:          9 bytes (0.4% Full)
        (.data + .bss + .noinit)

        =========================== [SUCCESS] Took 2.47 seconds ===========================

        [Wed Sep  7 15:49:01 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 34 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/nodemcu/src/main.o
        Archiving .pio/build/nodemcu/libFrameworkArduinoVariant.a
        Indexing .pio/build/nodemcu/libFrameworkArduinoVariant.a
        Compiling .pio/build/nodemcu/FrameworkArduino/Esp.o
        Compiling .pio/build/nodemcu/FrameworkArduino/FS.o
        Compiling .pio/build/nodemcu/FrameworkArduino/HardwareSerial.o
        ...
        Archiving .pio/build/nodemcu/libFrameworkArduino.a
        Indexing .pio/build/nodemcu/libFrameworkArduino.a
        Linking .pio/build/nodemcu/firmware.elf
        Calculating size .pio/build/nodemcu/firmware.elf
        text       data     bss     dec     hex filename
        221240      888   29400  251528   3d688 .pio/build/nodemcu/firmware.elf
        Building .pio/build/nodemcu/firmware.bin
        =========================== [SUCCESS] Took 6.43 seconds ===========================

        [Wed Sep  7 15:49:07 2016] Processing teensy31 (platform: teensy, board: teensy31, framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 96 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/teensy31/src/main.o
        Compiling .pio/build/teensy31/FrameworkArduino/AudioStream.o
        Compiling .pio/build/teensy31/FrameworkArduino/DMAChannel.o
        ...
        Compiling .pio/build/teensy31/FrameworkArduino/yield.o
        Archiving .pio/build/teensy31/libFrameworkArduino.a
        Indexing .pio/build/teensy31/libFrameworkArduino.a
        Linking .pio/build/teensy31/firmware.elf
        Calculating size .pio/build/teensy31/firmware.elf
        text       data     bss     dec     hex filename
        11288       168    2288   13744    35b0 .pio/build/teensy31/firmware.elf
        Building .pio/build/teensy31/firmware.hex
        =========================== [SUCCESS] Took 5.36 seconds ===========================

        [Wed Sep  7 15:49:12 2016] Processing lpmsp430g2553 (platform: timsp430, build_flags: -D LED_BUILTIN=RED_LED, board: lpmsp430g2553, framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 29 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/lpmsp430g2553/src/main.o
        Compiling .pio/build/lpmsp430g2553/FrameworkAnergia/HardwareSerial.o
        Compiling .pio/build/lpmsp430g2553/FrameworkAnergia/IPAddress.o
        ...
        Compiling .pio/build/lpmsp430g2553/FrameworkAnergia/wiring_digital.o
        Compiling .pio/build/lpmsp430g2553/FrameworkAnergia/wiring_pulse.o
        Compiling .pio/build/lpmsp430g2553/FrameworkAnergia/wiring_shift.o
        Archiving .pio/build/lpmsp430g2553/libFrameworkAnergia.a
        Indexing .pio/build/lpmsp430g2553/libFrameworkAnergia.a
        Linking .pio/build/lpmsp430g2553/firmware.elf
        Calculating size .pio/build/lpmsp430g2553/firmware.elf
        text       data     bss     dec     hex filename
        820           0      20     840     348 .pio/build/lpmsp430g2553/firmware.elf
        Building .pio/build/lpmsp430g2553/firmware.hex
        =========================== [SUCCESS] Took 2.34 seconds ===========================

    2.  Process specific environment

        > platformio run -e nodemcu -e teensy31

        [Wed Sep  7 15:49:01 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 34 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/nodemcu/src/main.o
        Archiving .pio/build/nodemcu/libFrameworkArduinoVariant.a
        Indexing .pio/build/nodemcu/libFrameworkArduinoVariant.a
        Compiling .pio/build/nodemcu/FrameworkArduino/Esp.o
        Compiling .pio/build/nodemcu/FrameworkArduino/FS.o
        Compiling .pio/build/nodemcu/FrameworkArduino/HardwareSerial.o
        ...
        Archiving .pio/build/nodemcu/libFrameworkArduino.a
        Indexing .pio/build/nodemcu/libFrameworkArduino.a
        Linking .pio/build/nodemcu/firmware.elf
        Calculating size .pio/build/nodemcu/firmware.elf
        text       data     bss     dec     hex filename
        221240      888   29400  251528   3d688 .pio/build/nodemcu/firmware.elf
        Building .pio/build/nodemcu/firmware.bin
        =========================== [SUCCESS] Took 6.43 seconds ===========================

        [Wed Sep  7 15:49:07 2016] Processing teensy31 (platform: teensy, board: teensy31, framework: arduino)
        -----------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 96 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/teensy31/src/main.o
        Compiling .pio/build/teensy31/FrameworkArduino/AudioStream.o
        Compiling .pio/build/teensy31/FrameworkArduino/DMAChannel.o
        ...
        Compiling .pio/build/teensy31/FrameworkArduino/yield.o
        Archiving .pio/build/teensy31/libFrameworkArduino.a
        Indexing .pio/build/teensy31/libFrameworkArduino.a
        Linking .pio/build/teensy31/firmware.elf
        Calculating size .pio/build/teensy31/firmware.elf
        text       data     bss     dec     hex filename
        11288       168    2288   13744    35b0 .pio/build/teensy31/firmware.elf
        Building .pio/build/teensy31/firmware.hex
        =========================== [SUCCESS] Took 5.36 seconds ===========================

    3.  Process specific target (clean project)

        > platformio run -t clean
        [Wed Sep  7 15:53:26 2016] Processing uno (platform: atmelavr, board: uno, framework: arduino)
        -----------------------------------------------------------------------------------------------------
        Removed .pio/build/uno/firmware.elf
        Removed .pio/build/uno/firmware.hex
        Removed .pio/build/uno/libFrameworkArduino.a
        Removed .pio/build/uno/libFrameworkArduinoVariant.a
        Removed .pio/build/uno/FrameworkArduino/_wiring_pulse.o
        Removed .pio/build/uno/FrameworkArduino/abi.o
        Removed .pio/build/uno/FrameworkArduino/CDC.o
        Removed .pio/build/uno/FrameworkArduino/HardwareSerial.o
        Removed .pio/build/uno/FrameworkArduino/HardwareSerial0.o
        Removed .pio/build/uno/FrameworkArduino/HardwareSerial1.o
        Removed .pio/build/uno/FrameworkArduino/HardwareSerial2.o
        Removed .pio/build/uno/FrameworkArduino/HardwareSerial3.o
        Removed .pio/build/uno/FrameworkArduino/hooks.o
        Removed .pio/build/uno/FrameworkArduino/IPAddress.o
        Removed .pio/build/uno/FrameworkArduino/main.o
        Removed .pio/build/uno/FrameworkArduino/new.o
        Removed .pio/build/uno/FrameworkArduino/PluggableUSB.o
        Removed .pio/build/uno/FrameworkArduino/Print.o
        Removed .pio/build/uno/FrameworkArduino/Stream.o
        Removed .pio/build/uno/FrameworkArduino/Tone.o
        Removed .pio/build/uno/FrameworkArduino/USBCore.o
        Removed .pio/build/uno/FrameworkArduino/WInterrupts.o
        Removed .pio/build/uno/FrameworkArduino/wiring.o
        Removed .pio/build/uno/FrameworkArduino/wiring_analog.o
        Removed .pio/build/uno/FrameworkArduino/wiring_digital.o
        Removed .pio/build/uno/FrameworkArduino/wiring_pulse.o
        Removed .pio/build/uno/FrameworkArduino/wiring_shift.o
        Removed .pio/build/uno/FrameworkArduino/WMath.o
        Removed .pio/build/uno/FrameworkArduino/WString.o
        Removed .pio/build/uno/src/main.o
        Done cleaning
        ======================= [SUCCESS] Took 0.49 seconds =======================

        [Wed Sep  7 15:53:27 2016] Processing nodemcu (platform: espressif8266, board: nodemcu, framework: arduino)
        -----------------------------------------------------------------------------------------------------
        Removed .pio/build/nodemcu/firmware.bin
        Removed .pio/build/nodemcu/firmware.elf
        Removed .pio/build/nodemcu/libFrameworkArduino.a
        Removed .pio/build/nodemcu/libFrameworkArduinoVariant.a
        ...
        Removed .pio/build/nodemcu/FrameworkArduino/spiffs/spiffs_nucleus.o
        Removed .pio/build/nodemcu/FrameworkArduino/umm_malloc/umm_malloc.o
        Removed .pio/build/nodemcu/src/main.o
        Done cleaning
        ======================= [SUCCESS] Took 0.50 seconds =======================

        [Wed Sep  7 15:53:27 2016] Processing teensy31 (platform: teensy, board: teensy31, framework: arduino)
        -----------------------------------------------------------------------------------------------------
        Removed .pio/build/teensy31/firmware.elf
        Removed .pio/build/teensy31/firmware.hex
        Removed .pio/build/teensy31/libFrameworkArduino.a
        Removed .pio/build/teensy31/FrameworkArduino/analog.o
        Removed .pio/build/teensy31/FrameworkArduino/AudioStream.o
        ...
        Removed .pio/build/teensy31/FrameworkArduino/WString.o
        Removed .pio/build/teensy31/FrameworkArduino/yield.o
        Removed .pio/build/teensy31/src/main.o
        Done cleaning
        ======================= [SUCCESS] Took 0.50 seconds =======================

        [Wed Sep  7 15:53:28 2016] Processing lpmsp430g2553 (platform: timsp430, build_flags: -D LED_BUILTIN=RED_LED, board: lpmsp430g2553, framework: energia)
        -----------------------------------------------------------------------------------------------------
        Removed .pio/build/lpmsp430g2553/firmware.elf
        Removed .pio/build/lpmsp430g2553/firmware.hex
        Removed .pio/build/lpmsp430g2553/libFrameworkAnergia.a
        Removed .pio/build/lpmsp430g2553/FrameworkAnergia/atof.o
        ...
        Removed .pio/build/lpmsp430g2553/FrameworkAnergia/avr/dtostrf.o
        Removed .pio/build/lpmsp430g2553/src/main.o
        Done cleaning
        ======================= [SUCCESS] Took 0.49 seconds =======================

    4.  Mix environments and targets

        > platformio run -e uno -t upload

        [Wed Sep  7 15:55:11 2016] Processing uno (platform: atmelavr, board: uno, framework: arduino)
        --------------------------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        Collected 36 compatible libraries
        Looking for dependencies...
        Project does not have dependencies
        Compiling .pio/build/uno/src/main.o
        Archiving .pio/build/uno/libFrameworkArduinoVariant.a
        Indexing .pio/build/uno/libFrameworkArduinoVariant.a
        Compiling .pio/build/uno/FrameworkArduino/CDC.o
        ...
        Compiling .pio/build/uno/FrameworkArduino/wiring_shift.o
        Archiving .pio/build/uno/libFrameworkArduino.a
        Indexing .pio/build/uno/libFrameworkArduino.a
        Linking .pio/build/uno/firmware.elf
        Checking program size .pio/build/uno/firmware.elf
        text       data     bss     dec     hex filename
        1034          0       9    1043     413 .pio/build/uno/firmware.elf
        Building .pio/build/uno/firmware.hex
        Looking for upload port...
        Auto-detected: /dev/cu.usbmodemFA141
        Uploading .pio/build/uno/firmware.hex

        avrdude: AVR device initialized and ready to accept instructions

        Reading | ################################################## | 100% 0.01s

        avrdude: Device signature = 0x1e950f
        avrdude: reading input file ".pio/build/uno/firmware.hex"
        avrdude: writing flash (1034 bytes):

        Writing | ################################################## | 100% 0.18s

        avrdude: 1034 bytes of flash written
        avrdude: verifying flash memory against .pio/build/uno/firmware.hex:
        avrdude: load data flash data from input file .pio/build/uno/firmware.hex:
        avrdude: input file .pio/build/uno/firmware.hex contains 1034 bytes
        avrdude: reading on-chip flash data:

        Reading | ################################################## | 100% 0.15s

        avrdude: verifying ...
        avrdude: 1034 bytes of flash verified

        avrdude: safemode: Fuses OK (H:00, E:00, L:00)

        avrdude done.  Thank you.

        ======================== [SUCCESS] Took 4.14 seconds ========================

  platformio settings

Manage PlatformIO settings

  Contents

    •   platformio settings

        •   platformio settings get

            •   Usage

            •   Description

            •   Settings

                •   auto_update_libraries

                •   auto_update_platforms

                •   check_libraries_interval

                •   check_platformio_interval

                •   check_platforms_interval

                •   enable_cache

                •   strict_ssl

                •   enable_telemetry

                •   force_verbose

                •   projects_dir

            •   Examples

        •   platformio settings set

            •   Usage

            •   Description

            •   Examples

        •   platformio settings reset

            •   Usage

            •   Description

            •   Examples

  platformio settings get

  Usage

        platformio settings get [NAME]
        pio settings get [NAME]

  Description

NOTE:

            •   The Yes value is equal to: True, Y, 1 and is not case sensitive.

            •   You can override these settings using envvars.

Get/List existing settings

  Settings

  auto_update_libraries

    Default
        No

    Values
        Yes/No

Automatically update libraries.

  auto_update_platforms

    Default
        No

    Values
        Yes/No

Automatically update platforms.

  check_libraries_interval

    Default
        7

    Values
        Days (Number)

Check for the library updates interval.

  check_platformio_interval

    Default
        3

    Values
        Days (Number)

Check for the new PlatformIO interval.

  check_platforms_interval

    Default
        7

    Values
        Days (Number)

Check for the platform updates interval.

  enable_cache

    Default
        Yes

    Values
        Yes/No

Enable caching for API requests and Library Manager

  strict_ssl

    Default
        No

    Values
        Yes/No

Strict SSL for PlatformIO Services

  enable_telemetry

    Default
        Yes

    Values
        Yes/No

Share minimal diagnostics and usage information to help us make PlatformIO better.

The source code of telemetry service is open source. You can make sure that we DO NOT SHARE PRIVATE information or source code of your project. All information shares ANONYMOUSLY.

Which data do we collect and why?

    •   A version of Python Interpreter. piocore is written in Python language, including development platforms. We need to know which Python version produces such type of exceptions (see below), which is more popular, which version we should drop and focus on a new one

    •   piocore errors/exceptions. We report automatically fatal exceptions raised by PlatformIO Core source code but NOT by your project

    •   The name of the used platform, board, framework. We collect this type of information to have a clear picture which software products are the most widely used by our Community and for the which we should provide frequent updates and add new features ( for example, "atmelavr", "arduino", "uno", etc.)

    •   The name of CLI command. It helps us to improve our CLI. For example, "run", "lib list")

    •   The name of ide. This is very important information for us. We create native extensions based on the popularity of IDEs (for example, ide_vscode, ide_clion)

Thanks a lot that you keep this setting enabled!

  force_verbose

    Default
        No

    Values
        Yes/No

Force verbose output when processing environments. This setting overrides

    •   platformio run --verbose

    •   platformio ci --verbose

    •   platformio test --verbose

  projects_dir

    Default
        ~/Documents/PlatformIO/Projects

    Values
        Path to folder

Default location for PlatformIO projects (PIO Home)

  Examples

    1.  List all settings and theirs current values

        > platformio settings get

        Name                            Value [Default]   Description
        ------------------------------------------------------------------------------------------
        auto_update_libraries           No                Automatically update libraries (Yes/No)
        auto_update_platforms           No                Automatically update platforms (Yes/No)
        check_libraries_interval        7                 Check for the library updates interval (days)
        check_platformio_interval       3                 Check for the new PlatformIO interval (days)
        check_platforms_interval        7                 Check for the platform updates interval (days)
        enable_cache                    Yes               Enable caching for API requests and Library Manager
        strict_ssl                      No                Strict SSL for PlatformIO Services
        enable_telemetry                Yes               Telemetry service?#enable-telemetry> (Yes/No)
        force_verbose                   No                Force verbose output when processing environments
        projects_dir                    ~/Documents/PlatformIO/Projects Default location for PlatformIO projects (PIO Home)

    2.  Show specified setting

        $ platformio settings get auto_update_platforms
        Name                            Value [Default]   Description
        ------------------------------------------------------------------------------------------
        auto_update_platforms           Yes               Automatically update platforms (Yes/No)

  platformio settings set

  Usage

        platformio settings set NAME VALUE

  Description

Set new value for the setting

  Examples

Change to check for the new PlatformIO each day

        $ platformio settings set check_platformio_interval 1
        The new value for the setting has been set!
        Name                            Value [Default]   Description
        ------------------------------------------------------------------------------------------
        check_platformio_interval       1 [3]             Check for the new PlatformIO interval (days)

  platformio settings reset

  Usage

        platformio settings reset

  Description

Reset settings to default

  Examples

        $ platformio settings reset
        The settings have been reset!

        Name                            Value [Default]   Description
        ------------------------------------------------------------------------------------------
        auto_update_libraries           No                Automatically update libraries (Yes/No)
        auto_update_platforms           No                Automatically update platforms (Yes/No)
        check_libraries_interval        7                 Check for the library updates interval (days)
        check_platformio_interval       3                 Check for the new PlatformIO interval (days)
        check_platforms_interval        7                 Check for the platform updates interval (days)
        enable_cache                    Yes               Enable caching for API requests and Library Manager
        strict_ssl                      No                Enable SSL for PlatformIO Services
        enable_telemetry                Yes               Telemetry service?#enable-telemetry> (Yes/No)
        force_verbose                   No                Force verbose output when processing environments
        projects_dir                    ~/Documents/PlatformIO/Projects Default location for PlatformIO projects (PIO Home)

  platformio system

Miscellaneous system commands.

To print all available commands and options use:

        platformio system --help
        platformio system COMMAND --help
        pio system --help

  PlatformIO Shell Completion

Shell completion support for

    •   Fish

    •   Zsh

    •   Bash

    •   PowerShell

To print all available commands and options use:

        platformio misc completion --help
        platformio misc completion COMMAND --help
        pio misc completion --help

  platformio misc completion install

  Contents

    •   platformio misc completion install

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio misc completion install [OPTIONS]
        pio misc completion install [OPTIONS]

  Description

Install shell completion files or code.

  Options

    --shell

The shell type, default is auto and will be detected from a current shell session.

Supported shells are:

    •   fish

    •   zsh

    •   bash

    •   powershell

    --path

Custom installation path of the code to be evaluated by the shell. The standard installation path is used by default.

  Examples

        > pio misc completion install

        PlatformIO CLI completion has been installed for fish shell to ~/.config/fish/completions/pio.fish
        Please restart a current shell session

  platformio misc completion uninstall

  Contents

    •   platformio misc completion uninstall

        •   Usage

        •   Description

            •   Options

        •   Examples

  Usage

        platformio misc completion uninstall [OPTIONS]
        pio misc completion uninstall [OPTIONS]

  Description

Uninstall shell completion files or code.

  Options

    --shell

The shell type, default is auto and will be detected from a current shell session.

Supported shells are:

    •   fish

    •   zsh

    •   bash

    •   powershell

    --path

Custom installation path of the code to be evaluated by the shell. The standard installation path is used by default.

  Examples

        > pio misc completion uninstall

        PlatformIO CLI completion has been uninstalled for fish shell from ~/.config/fish/completions/pio.fish
        Please restart a current shell session.

  platformio test

Helper command for local unit_testing.

  Contents

    •   platformio test

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio test [OPTIONS]
        pio test [OPTIONS]

  Description

Run locally tests from PlatformIO based project. More details about PlatformIO unit_testing.

This command allows you to apply the tests for the environments specified in projectconf.

  Options

    -e, --environment

Process specified environments. More details platformio run --environment

    -f, --filter

Process only the tests where the name matches specified patterns. More than one pattern is allowed. If you need to filter some tests for a specific environment, please take a look at projectconf_test_filter option from projectconf.
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

For example, platformio test --filter "mytest*" -i "test[13]"

    -i, --ignore

Ignore tests where the name matches specified patterns. More than one pattern is allowed. If you need to ignore some tests for a specific environment, please take a look at projectconf_test_ignore option from projectconf.
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

For example, platformio test --ignore "mytest*" -i "test[13]"

    --upload-port

A port that is intended for firmware uploading. To list available ports please use cmd_device_list command.

If upload port is not specified, PlatformIO will try to detect it automatically.

    --test-port

A Serial/UART port that PlatformIO uses as communication interface between PlatformIO Unit Test Engine and target device. To list available ports please use cmd_device_list command.

If test port is not specified, PlatformIO will try to detect it automatically.

    -d, --project-dir

Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).

    -c, --project-conf

New in version 4.0.

Process project with a custom projectconf.

    --without-building

Skip building stage.

    --without-uploading

Skip uploading stage

    --no-reset

Disable software reset via Serial.DTR/RST before test running. In this case, need to press "reset" button manually after firmware uploading.

WARNING:
        If board does not support software reset via Serial.DTR/RTS you should add >2 seconds delay before UNITY_BEGIN()`. We need that time to establish a ``Serial communication between host machine and target device. See unit_testing.

    --monitor-rts

Set initial RTS line state for Serial Monitor (0 or 1), default 1. We use it to gather test results via Serial connection.

    --monitor-dtr

Set initial DTR line state for Serial Monitor (0 or 1), default 1. We use it to gather test results via Serial connection.

    -v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.

  Examples

For the examples please follow to unit_testing page.

  platformio update

  Contents

    •   platformio update

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio update [OPTIONS]
        pio update [OPTIONS]

  Description

Check or update installed PIO Core packages, platforms and global Libraries. This command is combination of 2 sub-commands:

    •   cmd_platform_update

    •   cmd_lib_update

  Options

    --core-packages

Update only the core packages

    -c, --only-check

DEPRECATED. Please use --dry-run instead.

    --dry-run

Do not update, only check for the new versions

  Examples

        > platformio update

        Platform Manager
        ================
        Platform timsp430
        --------
        Updating timsp430 @ 0.0.0:  [Up-to-date]
        Updating toolchain-timsp430 @ 1.40603.0:    [Up-to-date]
        Updating framework-energiamsp430 @ 1.17.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform freescalekinetis
        --------
        Updating freescalekinetis @ 0.0.0:  [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform ststm32
        --------
        Updating ststm32 @ 0.0.0:   [Up-to-date]
        Updating framework-libopencm3 @ 1.1.0:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-stlink @ 1.10200.0:   [Up-to-date]
        Updating framework-spl @ 1.10201.0:     [Up-to-date]
        Updating framework-cmsis @ 1.40300.0:   [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform lattice_ice40
        --------
        Updating lattice_ice40 @ 0.0.0:     [Up-to-date]
        Updating toolchain-icestorm @ 1.7.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform atmelavr
        --------
        Updating atmelavr @ 0.0.0:  [Up-to-date]
        Updating framework-arduinoavr @ 1.10608.1:  [Up-to-date]
        Updating tool-avrdude @ 1.60001.1:  [Up-to-date]
        Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform espressif8266
        --------
        Updating espressif8266 @ 0.0.0:     [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating toolchain-xtensa @ 1.40802.0:  [Up-to-date]
        Updating tool-esptool @ 1.409.0:    [Up-to-date]
        Updating tool-mkspiffs @ 1.102.0:   [Up-to-date]
        Updating framework-arduinoespressif8266 @ 1.20300.0:    [Up-to-date]
        Updating sdk-esp8266 @ 1.10502.0:   [Up-to-date]

        Platform linux_x86_64
        --------
        Updating linux_x86_64 @ 0.0.0:  [Up-to-date]
        Updating toolchain-gcclinux64 @ 1.40801.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform windows_x86
        --------
        Updating windows_x86 @ 0.0.0:   [Up-to-date]
        Updating toolchain-gccmingw32 @ 1.40800.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform teensy
        --------
        Updating teensy @ 0.0.0:    [Up-to-date]
        Updating framework-arduinoteensy @ 1.128.0:     [Up-to-date]
        Updating tool-teensy @ 1.1.0:   [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]

        Platform nordicnrf51
        --------
        Updating nordicnrf51 @ 0.0.0:   [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating framework-arduinonordicnrf51 @ 1.20302.0:  [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform titiva
        --------
        Updating titiva @ 0.0.0:    [Up-to-date]
        Updating framework-libopencm3 @ 1.1.0:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating framework-energiativa @ 1.17.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform atmelsam
        --------
        Updating atmelsam @ 0.0.0:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-openocd @ 1.900.0:    [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]
        Updating tool-avrdude @ 1.60001.1:  [Up-to-date]
        Updating tool-bossac @ 1.10601.0:   [Up-to-date]

        Platform siliconlabsefm32
        --------
        Updating siliconlabsefm32 @ 0.0.0:  [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform microchippic32
        --------
        Updating microchippic32 @ 0.0.0:    [Up-to-date]
        Updating framework-arduinomicrochippic32 @ 1.10201.0:   [Up-to-date]
        Updating toolchain-microchippic32 @ 1.40803.0:  [Up-to-date]
        Updating tool-pic32prog @ 1.200200.0:   [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform linux_i686
        --------
        Updating linux_i686 @ 0.0.0:    [Up-to-date]
        Updating toolchain-gcclinux32 @ 1.40801.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform intel_arc32
        --------
        Updating intel_arc32 @ 0.0.0:   [Up-to-date]
        Updating framework-arduinointel @ 1.10006.0:    [Up-to-date]
        Updating tool-arduino101load @ 1.124.0:     [Up-to-date]
        Updating toolchain-intelarc32 @ 1.40805.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform nxplpc
        --------
        Updating nxplpc @ 0.0.0:    [Up-to-date]
        Updating framework-mbed @ 1.121.1:  [Up-to-date]
        Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform linux_arm
        --------
        Updating linux_arm @ 0.0.0:     [Up-to-date]
        Updating toolchain-gccarmlinuxgnueabi @ 1.40802.0:  [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Platform native
        --------
        Updating native @ 0.0.0:    [Up-to-date]
        Updating tool-scons @ 2.4.1:    [Up-to-date]

        Library Manager
        ===============
        Updating Adafruit-GFX @ 334e815bc1:     [Up-to-date]
        Updating Adafruit-ST7735 @ d53d4bf03a:  [Up-to-date]
        Updating Adafruit-DHT @ 09344416d2:     [Up-to-date]
        Updating Adafruit-Unified-Sensor @ f2af6f4efc:  [Up-to-date]
        Updating ESP8266_SSD1306 @ 3.2.3:   [Up-to-date]
        Updating EngduinoMagnetometer @ 3.1.0:  [Up-to-date]
        Updating IRremote @ 2.2.1:  [Up-to-date]
        Updating Json @ 5.6.4:  [Up-to-date]
        Updating MODSERIAL @ d8422efe47:    [Up-to-date]
        Updating PJON @ 1fb26fd:    [Checking]
        git version 2.7.4 (Apple Git-66)
        Already up-to-date.
        Updating Servo @ 36b69a7ced07:  [Checking]
        Mercurial Distributed SCM (version 3.8.4)
        (see https://mercurial-scm.org for more information)

        Copyright (C) 2005-2016 Matt Mackall and others
        This is free software; see the source for copying conditions. There is NO
        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        pulling from https://developer.mbed.org/users/simon/code/Servo/
        searching for changes
        no changes found
        Updating TextLCD @ 308d188a2d3a:    [Checking]
        Mercurial Distributed SCM (version 3.8.4)
        (see https://mercurial-scm.org for more information)

        Copyright (C) 2005-2016 Matt Mackall and others
        This is free software; see the source for copying conditions. There is NO
        warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        pulling from https://developer.mbed.org/users/simon/code/TextLCD/
        searching for changes
        no changes found

  platformio upgrade

  Contents

    •   platformio upgrade

        •   Usage

        •   Description

        •   Options

        •   Examples

  Usage

        platformio upgrade
        pio upgrade

  Description

Check or upgrade PlatformIO to the latest version

  Options

    --dev

Use development branch.

  Examples

        > platformio upgrade

        You are up-to-date!
        PlatformIO x.x.x is currently the newest version available.

        # If you have problem with permissions try:
        > sudo platformio upgrade

  PlatformIO Home

PlatformIO Home allows you to interact with PlatformIO ecosystem using modern and cross-platform GUI:

    •   Project Manager

    •   pioaccount

    •   librarymanager

    •   platforms

    •   Library and development platform updates

    •   frameworks

    •   boards

    •   Device Manager: serial, logical, and multicast DNS services

    •   Static Code Analysis

    •   Firmware File Explorer

    •   Firmware Memory Inspection

    •   Firmware Sections & Symbols Viewer.

  Contents

    •   Installation

    •   Quick Start

        •   PlatformIO IDE

        •   PlatformIO Core

    •   Demo

        •   Welcome & Project Manager

        •   Project Inspect

            •   Statistics

            •   Firmware File Explorer

            •   Firmware Symbols

            •   Firmware Sections

            •   Static Code Analysis

        •   Library Manager

        •   Board Explorer

  Installation

You do not need to install PlatformIO Home separately, it's already built-in in pioide and piocore.

  Quick Start

  PlatformIO IDE

Please open PlatformIO Home using (HOME) button on PIO Toolbar:

    •   Atom: atom_ide_platformio_toolbar

    •   VSCode: ide_vscode_toolbar

  PlatformIO Core

Please launch PlatformIO Home Web-server using cmd_home command and open in your browser http://127.0.0.1:8008.

You can change host and port. Please check cmd_home command for details.

  Demo

  Welcome & Project Manager
[image]

  Project Inspect

  Statistics
[image]

Only code analysis (piocheck) [image]

  Firmware File Explorer
[image]

File Symbols [image]

  Firmware Symbols
[image]

  Firmware Sections
[image]

  Static Code Analysis
[image]

  Library Manager
[image]

  Board Explorer
[image]

  Tutorials and Examples

  Tutorials

  Unit Testing of a Blink Project

The goal of this tutorial is to demonstrate how simple it is to use unit_testing.

    •   Level: Beginner

    •   Platforms: Windows, macOS, Linux

  Contents

    •   Setting Up the Project

    •   Project structure

    •   Source files

    •   Test results

  Setting Up the Project

    1.  Please navigate to the core_quickstart section and create the "Blink Project".

    2.  Create a test directory in the project (on the same level as src) and place a test_main.cpp file in it (the source code is located below).

    3.  Run tests using the cmd_test command.

  Project structure

        project_dir
        ├── lib
        │   └── README
        ├── platformio.ini
        ├── src
        │   └── ...
        └── test
            └── test_main.cpp

  Source files

    •   platformio.ini

            ; PlatformIO Project Configuration File
            ;
            ;   Build options: build flags, source filter, extra scripting
            ;   Upload options: custom port, speed and extra flags
            ;   Library options: dependencies, extra library storages
            ;
            ; Please visit documentation for the other options and examples
            ; https://docs.platformio.org/page/projectconf.html

            [env:uno]
            platform = atmelavr
            framework = arduino
            board = uno

            [env:teensy31]
            platform = teensy
            framework = arduino
            board = teensy31

    •   test/test_main.cpp

            #include <Arduino.h>
            #include <unity.h>

            // void setUp(void) {
            // // set stuff up here
            // }

            // void tearDown(void) {
            // // clean stuff up here
            // }

            void test_led_builtin_pin_number(void) {
                TEST_ASSERT_EQUAL(13, LED_BUILTIN);
            }

            void test_led_state_high(void) {
                digitalWrite(LED_BUILTIN, HIGH);
                TEST_ASSERT_EQUAL(HIGH, digitalRead(LED_BUILTIN));
            }

            void test_led_state_low(void) {
                digitalWrite(LED_BUILTIN, LOW);
                TEST_ASSERT_EQUAL(LOW, digitalRead(LED_BUILTIN));
            }

            void setup() {
                // NOTE!!! Wait for >2 secs
                // if board doesn't support software reset via Serial.DTR/RTS
                delay(2000);

                UNITY_BEGIN();    // IMPORTANT LINE!
                RUN_TEST(test_led_builtin_pin_number);

                pinMode(LED_BUILTIN, OUTPUT);
            }

            uint8_t i = 0;
            uint8_t max_blinks = 5;

            void loop() {
                if (i < max_blinks)
                {
                    RUN_TEST(test_led_state_high);
                    delay(500);
                    RUN_TEST(test_led_state_low);
                    delay(500);
                    i++;
                }
                else if (i == max_blinks) {
                  UNITY_END(); // stop unit testing
                }
            }

  Test results

        > platformio test -e uno --verbose

        Verbose mode can be enabled via `-v, --verbose` option
        Collected 1 items

        ===================== [test/*] Building... (1/3) =======================
        Processing uno (platform: atmelavr; board: uno; framework: arduino)
        -------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        PLATFORM: Atmel AVR > Arduino Uno
        SYSTEM: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
        Library Dependency Finder -> http://bit.ly/configure-pio-ldf
        LDF MODES: FINDER(chain) COMPATIBILITY(soft)
        Collected 24 compatible libraries
        Scanning dependencies...
        No dependencies
        Compiling .pio\build\uno\test\output_export.cpp.o
        Compiling .pio\build\uno\test\test_main.cpp.o
        Archiving .pio\build\uno\libFrameworkArduinoVariant.a
        Compiling .pio\build\uno\FrameworkArduino\CDC.cpp.o
        Indexing .pio\build\uno\libFrameworkArduinoVariant.a
        Compiling .pio\build\uno\FrameworkArduino\HardwareSerial.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\HardwareSerial0.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\HardwareSerial1.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\HardwareSerial2.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\HardwareSerial3.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\IPAddress.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\PluggableUSB.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\Print.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\Stream.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\Tone.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\USBCore.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\WInterrupts.c.o
        Compiling .pio\build\uno\FrameworkArduino\WMath.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\WString.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\abi.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\hooks.c.o
        Compiling .pio\build\uno\FrameworkArduino\main.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\new.cpp.o
        Compiling .pio\build\uno\FrameworkArduino\wiring.c.o
        Compiling .pio\build\uno\FrameworkArduino\wiring_analog.c.o
        Compiling .pio\build\uno\FrameworkArduino\wiring_digital.c.o
        Compiling .pio\build\uno\FrameworkArduino\wiring_pulse.S.o
        Compiling .pio\build\uno\FrameworkArduino\wiring_pulse.c.o
        Compiling .pio\build\uno\FrameworkArduino\wiring_shift.c.o
        Compiling .pio\build\uno\UnityTestLib\unity.o
        Archiving .pio\build\uno\libFrameworkArduino.a
        Indexing .pio\build\uno\libFrameworkArduino.a
        Archiving .pio\build\uno\libUnityTestLib.a
        Indexing .pio\build\uno\libUnityTestLib.a
        Linking .pio\build\uno\firmware.elf
        Checking size .pio\build\uno\firmware.elf
        Building .pio\build\uno\firmware.hex
        Memory Usage -> http://bit.ly/pio-memory-usage
        DATA:    [==        ]  20.0% (used 410 bytes from 2048 bytes)
        PROGRAM: [=         ]  12.6% (used 4060 bytes from 32256 bytes)

        ========================================== [SUMMARY] ==========================================
        Environment uno                 [SUCCESS]
        Environment teensy31            [SKIP]
        ================================= [SUCCESS] Took 2.54 seconds =================================

        ================================= [test/*] Uploading... (2/3) =================================
        Processing uno (platform: atmelavr; board: uno; framework: arduino)
        -------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        PLATFORM: Atmel AVR > Arduino Uno
        SYSTEM: ATMEGA328P 16MHz 2KB RAM (31.50KB Flash)
        Library Dependency Finder -> http://bit.ly/configure-pio-ldf
        LDF MODES: FINDER(chain) COMPATIBILITY(soft)
        Collected 24 compatible libraries
        Scanning dependencies...
        No dependencies
        Checking size .pio\build\uno\firmware.elf
        Memory Usage -> http://bit.ly/pio-memory-usage
        DATA:    [==        ]  20.0% (used 410 bytes from 2048 bytes)
        PROGRAM: [=         ]  12.6% (used 4060 bytes from 32256 bytes)
        Configuring upload protocol...
        AVAILABLE: arduino
        CURRENT: upload_protocol = arduino
        Looking for upload port...
        Auto-detected: COM18
        Uploading .pio\build\uno\firmware.hex

        avrdude: AVR device initialized and ready to accept instructions

        Reading | ################################################## | 100% 0.00s

        avrdude: Device signature = 0x1e950f (probably m328p)
        avrdude: reading input file ".pio\build\uno\firmware.hex"
        avrdude: writing flash (4060 bytes):

        Writing | ################################################## | 100% 0.76s

        avrdude: 4060 bytes of flash written
        avrdude: verifying flash memory against .pio\build\uno\firmware.hex:
        avrdude: load data flash data from input file .pio\build\uno\firmware.hex:
        avrdude: input file .pio\build\uno\firmware.hex contains 4060 bytes
        avrdude: reading on-chip flash data:

        Reading | ################################################## | 100% 0.48s

        avrdude: verifying ...
        avrdude: 4060 bytes of flash verified

        avrdude: safemode: Fuses OK (E:00, H:00, L:00)

        avrdude done.  Thank you.

        =============================== [SUMMARY] ================================
        Environment uno                 [SUCCESS]
        Environment teensy31            [SKIP]
         ====================== [SUCCESS] Took 4.45 seconds ======================

        ================================== [test/*] Testing... (3/3) ==================================
        If you don't see any output for the first 10 secs, please reset board (press reset button)

        test\test_main.cpp:30:test_led_builtin_pin_number       [PASSED]
        test\test_main.cpp:41:test_led_state_high       [PASSED]
        test\test_main.cpp:43:test_led_state_low        [PASSED]
        test\test_main.cpp:41:test_led_state_high       [PASSED]
        test\test_main.cpp:43:test_led_state_low        [PASSED]
        test\test_main.cpp:41:test_led_state_high       [PASSED]
        test\test_main.cpp:43:test_led_state_low        [PASSED]
        test\test_main.cpp:41:test_led_state_high       [PASSED]
        test\test_main.cpp:43:test_led_state_low        [PASSED]
        test\test_main.cpp:41:test_led_state_high       [PASSED]
        test\test_main.cpp:43:test_led_state_low        [PASSED]
        -----------------------
        11 Tests 0 Failures 0 Ignored

        ============================ [TEST SUMMARY] ==============================
        test/*/env:uno  [PASSED]
        test/*/env:teensy31     [IGNORED]
        ==================== [PASSED] Took 12.99 seconds =========================

  Get started with Arduino and ESP32-DevKitC: debugging and unit testing

The goal of this tutorial is to demonstrate how simple it is to use ide_vscode to develop, run and debug a simple project with the framework_arduino framework for the ESP32-DevKitC board.

    •   Level: Beginner

    •   Platforms: Windows, Mac OS X, Linux

    Requirements:

        •   Downloaded and installed ide_vscode

        •   ESP32-DevKitC development board

        •   debugging_tool_olimex-arm-usb-ocd or debugging_tool_olimex-jtag-tiny adapter for debugging

  Contents

    •   Setting Up the Project

    •   Adding Code to the Generated Project

    •   Compiling and Uploading the Firmware

    •   Debugging the Firmware

        •   Setting Up the Hardware

    •   Writing Unit Tests

    •   Adding Bluetooth LE features

    •   Conclusion

  Setting Up the Project

First, we need to create a new project using the PlatformIO Home Page (to open this page, just press the Home icon on the toolbar): [image]

Next, we need to select ESP32-DevKitC as a development board, framework_arduino as a framework and a path to the project location (or use the default one): [image]

Processing the selected project may take some time (PlatformIO will download and install all required packages). After that, we have a fully configured project that is ready for developing code with the framework_arduino framework.

  Adding Code to the Generated Project

Let's add some actual code to the project. Firstly, we open a default main file named main.cpp in the projectconf_pio_src_dir folder and replace its content with following:

        #include <Arduino.h>

        void setup()
        {
            Serial.begin(9600);
        }

        void loop()
        {
            Serial.println("Hello world!");
            delay(1000);
        }
[image]

We have now created a basic project ready for compiling and uploading.

  Compiling and Uploading the Firmware

Now we can build the project. There are several ways to compile firmware:

    •   Build option in the Project Tasks menu,

    •   Build button in ide_vscode_toolbar,

    •   Task Menu: Tasks: Run Task... > PlatformIO: Build, or in the ide_vscode_toolbar,

    •   Command Palette: View: Command Palette > PlatformIO: Build, or

    •   via hotkeys cmd-alt-b / ctrl-alt-b

Marked in red: [image]

If everything went well, we should see a Success message in the terminal window: [image]

There are also several ways to upload the firmware to the board:

    •   Upload option in the Project Tasks menu,

    •   Upload button in ide_vscode_toolbar,

    •   Command Palette: View: Command Palette > PlatformIO: Upload,

    •   using the Task Menu: Tasks: Run Task... > PlatformIO: Upload, or

    •   via hotkeys: cmd-alt-u / ctrl-alt-u:
[image]

After uploading, we need to check if the firmware is uploaded correctly. To do this, open the serial monitor and check that the message from the board is received. To open the serial monitor, we can use the following options:

    •   Monitor option in the Project Tasks menu,

    •   Serial Monitor button in the ide_vscode_toolbar,

    •   Command Palette: View: Command Palette > PlatformIO: Monitor, or

    •   Task Menu: Tasks: Run Task... > PlatformIO: Monitor:
[image]

If the firmware works as expected, the message from the board can be observed in the terminal window: [image]

  Debugging the Firmware

  Setting Up the Hardware

In order to use a JTAG probe with an ESP32, we need to connect the following pins:
ESP32 pin | JTAG probe pin
3.3V | Pin 1(VTref)
GPIO 9 (EN) | Pin 3 (nTRST)
GND | Pin 4 (GND)
GPIO 12 (TDI) | Pin 5 (TDI)
GPIO 14 (TMS) | Pin 7 (TMS)
GPIO 13 (TCK) | Pin 9 (TCK)
GPIO 15 (TDO) | Pin 13 (TDO)

piodebug offers the easiest way to debug the board. Firstly, we need to specify projectconf_debug_tool in projectconf. In this tutorial, an debugging_tool_olimex-arm-usb-ocd-h debug probe is used:

        [env:esp32dev]
        platform = espressif32
        board = esp32dev
        framework = arduino
        debug_tool = olimex-arm-usb-ocd-h

To start the debug session we can use the following methods:

    •   Debug: Start debugging in the top menu,

    •   Start Debugging option in the Quick Access menu, or

    •   hotkey button F5:
[image]

We need to wait some time while PlatformIO initializes the debug session, and are ready to debug when the first line after the main function is highlighted.

    1.  Please wait when debugging session is stopped at the first line of app_main() function

    2.  WARNING! Please set a breakpoint at void loopTask(void *pvParameters) (line 13 in the screenshot below - this line can change between releases)

    3.  Now, please press CONTINUE/RUN button on debugging toolbar (right arrow icon)

    4.  The debugging session should stop at the first line of the void loopTask(void *pvParameters) function

    5.  Now, navigate to your Arduino setup/loop code and do classic debugging.
[image]

We can walk through the code using control buttons, set breakpoints, and add variables to the Watch window: [image]

  Writing Unit Tests

Test cases can be added to a single file that may include multiple tests. First of all, in this file, we need to add four default functions: setUp, tearDown, setup and loop. Functions setUp and tearDown are used to initialize and finalize test conditions. Implementations of these functions are not required for running tests, but if you need to initialize some variables before you run a test, use the setUp function. Likewise, if you need to clean up variables, use tearDown function. In our example we will use these functions to respectively initialize and deinitialize LED states. The setup and loop functions act as a simple Arduino program where we describe our test plan.

Let's create a test folder in the root of the project and add a new file, test_main.cpp, to this folder. Next, basic tests for String class will be implemented in this file:

    •   test_string_concat tests the concatenation of two strings

    •   test_string_substring tests the correctness of the substring extraction

    •   test_string_index_of ensures that the string returns the correct index of the specified symbol

    •   test_string_equal_ignore_case tests case-insensitive comparison of two strings

    •   test_string_to_upper_case tests conversion of the string to upper-case

    •   test_string_replace tests the correctness of the replacing operation

        #include <Arduino.h>
        #include <unity.h>

        String STR_TO_TEST;

        void setUp(void) {
            // set stuff up here
            STR_TO_TEST = "Hello, world!";
        }

        void tearDown(void) {
            // clean stuff up here
            STR_TO_TEST = "";
        }

        void test_string_concat(void) {
            String hello = "Hello, ";
            String world = "world!";
            TEST_ASSERT_EQUAL_STRING(STR_TO_TEST.c_str(), (hello + world).c_str());
        }

        void test_string_substring(void) {
            TEST_ASSERT_EQUAL_STRING("Hello", STR_TO_TEST.substring(0, 5).c_str());
        }

        void test_string_index_of(void) {
            TEST_ASSERT_EQUAL(7, STR_TO_TEST.indexOf('w'));
        }

        void test_string_equal_ignore_case(void) {
            TEST_ASSERT_TRUE(STR_TO_TEST.equalsIgnoreCase("HELLO, WORLD!"));
        }

        void test_string_to_upper_case(void) {
            STR_TO_TEST.toUpperCase();
            TEST_ASSERT_EQUAL_STRING("HELLO, WORLD!", STR_TO_TEST.c_str());
        }

        void test_string_replace(void) {
            STR_TO_TEST.replace('!', '?');
            TEST_ASSERT_EQUAL_STRING("Hello, world?", STR_TO_TEST.c_str());
        }

        void setup()
        {
            delay(2000); // service delay
            UNITY_BEGIN();

            RUN_TEST(test_string_concat);
            RUN_TEST(test_string_substring);
            RUN_TEST(test_string_index_of);
            RUN_TEST(test_string_equal_ignore_case);
            RUN_TEST(test_string_to_upper_case);
            RUN_TEST(test_string_replace);

            UNITY_END(); // stop unit testing
        }

        void loop()
        {
        }

Now we are ready to upload tests to the board. To do this we can use the following:

    •   Test button on ide_vscode_toolbar,

    •   Test option in the Project Tasks menu, or

    •   Tasks: Run Task... > PlatformIO Test in the top menu:
[image]

After processing, we should see a detailed report about the testing results: [image]

As we can see from the report, all our tests were successful!

  Adding Bluetooth LE features

Now let's create a basic application that can interact with other BLE devices (e.g phones). For example, the following code declares a BLE characteristic whose value can be printed to the serial port:

        #include <Arduino.h>
        #include <BLEDevice.h>
        #include <BLEUtils.h>
        #include <BLEServer.h>

        #define SERVICE_UUID        "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
        #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"

        class MyCallbacks: public BLECharacteristicCallbacks {
            void onWrite(BLECharacteristic *pCharacteristic) {
              std::string value = pCharacteristic->getValue();
              if (value.length() > 0) {
                Serial.print("\r\nNew value: ");
                for (int i = 0; i < value.length(); i++)
                  Serial.print(value[i]);
                Serial.println();
              }
            }
        };

        void setup() {
          Serial.begin(9600);

          BLEDevice::init("ESP32 BLE example");
          BLEServer *pServer = BLEDevice::createServer();
          BLEService *pService = pServer->createService(SERVICE_UUID);
          BLECharacteristic *pCharacteristic = pService->createCharacteristic(
                                                 CHARACTERISTIC_UUID,
                                                 BLECharacteristic::PROPERTY_READ |
                                                 BLECharacteristic::PROPERTY_WRITE
                                               );

          pCharacteristic->setCallbacks(new MyCallbacks());

          pCharacteristic->setValue("Hello World");
          pService->start();

          BLEAdvertising *pAdvertising = pServer->getAdvertising();
          pAdvertising->start();
        }

        void loop() {
          delay(2000);
        }

Now we can compile and upload this program to the board as described in the previous sections. To verify that our application works as expected, we can use any Android smartphone with the BLE feature and Nordic nRF Connect tool.

At first, we need to scan all advertising BLE devices and connect to the device called ESP32 BLE example. After successful connection to the board, we should see one "Unknown Service" with one "Unknown Characteristic" field: [image]

To set the value, we need to send new text to the BLE characteristic: [image]

The change of the value is printed to the serial monitor: [image]

  Conclusion

Now we have a project template for the ESP32-DevKitC board that we can use as boilerplate for later projects.

  Get started with ESP-IDF and ESP32-DevKitC: debugging, unit testing, project analysis

The goal of this tutorial is to demonstrate how simple it is to use ide_vscode to develop, run and debug a simple Wi-Fi project with the framework_espidf framework for the ESP32-DevKitC board.

    •   Level: Intermediate

    •   Platforms: Windows, Mac OS X, Linux

    Requirements:

        •   Downloaded and installed ide_vscode

        •   ESP32-DevKitC development board

        •   An external debug adapter (e.g. debugging_tool_olimex-arm-usb-ocd)

  Contents

    •   Setting Up the Project

    •   Adding Code to the Generated Project

    •   Debugging the Firmware

        •   Setting Up the Hardware

    •   Writing Unit Tests

    •   Project Inspection

    •   Conclusion

  Setting Up the Project

    1.  Click on "PlatformIO Home" button on the bottom PlatformIO Toolbar:
            [image]

    2.  Click on "New Project", select ESP32-DevKitC as the development board, framework_espidf as the framework and a path to the project location (or use the default one):
            [image]

  Adding Code to the Generated Project

    1.  Create a new file main.c in projectconf_pio_src_dir folder and add the following code:

                    /* WiFi softAP Example

                       This example code is in the Public Domain (or CC0 licensed, at your option.)

                       Unless required by applicable law or agreed to in writing, this
                       software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
                       CONDITIONS OF ANY KIND, either express or implied.
                    */
                    #include <string.h>
                    #include "freertos/FreeRTOS.h"
                    #include "freertos/task.h"
                    #include "esp_system.h"
                    #include "esp_wifi.h"
                    #include "esp_event.h"
                    #include "esp_log.h"
                    #include "nvs_flash.h"

                    #include "lwip/err.h"
                    #include "lwip/sys.h"

                    #define EXAMPLE_ESP_WIFI_SSID      "mywifissid"
                    #define EXAMPLE_ESP_WIFI_PASS      "mywifipass"
                    #define EXAMPLE_MAX_STA_CONN       (3)

                    static const char *TAG = "wifi softAP";

                    static void wifi_event_handler(void* arg, esp_event_base_t event_base,
                                                        int32_t event_id, void* event_data)
                    {
                        if (event_id == WIFI_EVENT_AP_STACONNECTED) {
                            wifi_event_ap_staconnected_t* event = (wifi_event_ap_staconnected_t*) event_data;
                            ESP_LOGI(TAG, "station "MACSTR" join, AID=%d",
                                     MAC2STR(event->mac), event->aid);
                        } else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
                            wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
                            ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d",
                                     MAC2STR(event->mac), event->aid);
                        }
                    }

                    void wifi_init_softap()
                    {
                        tcpip_adapter_init();
                        ESP_ERROR_CHECK(esp_event_loop_create_default());

                        wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
                        ESP_ERROR_CHECK(esp_wifi_init(&cfg));

                        ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &wifi_event_handler, NULL));

                        wifi_config_t wifi_config = {
                            .ap = {
                                .ssid = EXAMPLE_ESP_WIFI_SSID,
                                .ssid_len = strlen(EXAMPLE_ESP_WIFI_SSID),
                                .password = EXAMPLE_ESP_WIFI_PASS,
                                .max_connection = EXAMPLE_MAX_STA_CONN,
                                .authmode = WIFI_AUTH_WPA_WPA2_PSK
                            },
                        };
                        if (strlen(EXAMPLE_ESP_WIFI_PASS) == 0) {
                            wifi_config.ap.authmode = WIFI_AUTH_OPEN;
                        }

                        ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));
                        ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_AP, &wifi_config));
                        ESP_ERROR_CHECK(esp_wifi_start());

                        ESP_LOGI(TAG, "wifi_init_softap finished. SSID:%s password:%s",
                                 EXAMPLE_ESP_WIFI_SSID, EXAMPLE_ESP_WIFI_PASS);
                    }

                    void app_main()
                    {
                        //Initialize NVS
                        esp_err_t ret = nvs_flash_init();
                        if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
                          ESP_ERROR_CHECK(nvs_flash_erase());
                          ret = nvs_flash_init();
                        }
                        ESP_ERROR_CHECK(ret);

                        ESP_LOGI(TAG, "ESP_WIFI_MODE_AP");
                        wifi_init_softap();
                    }

            WARNING:
                    Make sure this new file main.c is registered as source file using idf_component_register function in src/CMakeLists.txt file:

                            idf_component_register(SRCS "main.c")

    2.  To compile the project use one of the following options:

                •   Build option from the Project Tasks menu

                •   Build button in ide_vscode_toolbar

                •   Task Menu Tasks: Run Task... > PlatformIO: Build or in ide_vscode_toolbar

                •   Command Palette View: Command Palette > PlatformIO: Build

                •   Hotkeys cmd-alt-b / ctrl-alt-b:
            [image]

    3.  If everything went well, we should see a successful result message in the terminal window:
            [image]

    4.  To upload the firmware to the board we can use the following options:

                •   Upload option from the Project Tasks menu

                •   Upload button in ide_vscode_toolbar

                •   Command Palette View: Command Palette > PlatformIO: Upload

                •   Task Menu Tasks: Run Task... > PlatformIO: Upload

                •   Hotkeys cmd-alt-u / ctrl-alt-u:
            [image]

    5.  Connect the board to your computer and update the default monitor speed to 115200 in platformio.ini file:

                    [env:esp32dev]
                    platform = espressif32
                    board = esp32dev
                    framework = espidf
                    monitor_speed = 115200

    6.  Open Serial Monitor to observe the output from the board:
            [image]

    7.  If everything went well, the board should be visible as a WiFi access point:
            [image]

  Debugging the Firmware

  Setting Up the Hardware

In order to use piodebug, we need to connect an external JTAG probe and the board using the following pins:
ESP32 pin | JTAG probe pin
3.3V | Pin 1(VTref)
GPIO 9 (EN) | Pin 3 (nTRST)
GND | Pin 4 (GND)
GPIO 12 (TDI) | Pin 5 (TDI)
GPIO 14 (TMS) | Pin 7 (TMS)
GPIO 13 (TCK) | Pin 9 (TCK)
GPIO 15 (TDO) | Pin 13 (TDO)

    1.  Specify projectconf_debug_tool in projectconf. In this tutorial, debugging_tool_olimex-arm-usb-ocd-h debug probe is used:

                    [env:esp32dev]
                    platform = espressif32
                    board = esp32dev
                    framework = espidf
                    monitor_speed = 115200
                    debug_tool = olimex-arm-usb-ocd-h

    2.  To start the debug session we can use the following methods:

                •   Debug: Start debugging in the top menu

                •   Start Debugging option in the Quick Access menu

                •   Hotkey button F5:
            [image]

    3.  Walk through the code using control buttons, set breakpoints, and add variables to the Watch window:
            [image]

  Writing Unit Tests

NOTE:
        Functions setUp and tearDown are used to initialize and finalize test conditions. Implementations of these functions are not required for running tests but if you need to initialize some variables before you run a test, you use the setUp function and if you need to clean up variables you use tearDown function.

For the sake of simplicity, let's create a small library called calculator, implement several basic functions addition, subtraction, multiplication, division and test them using unit_testing engine.

    1.  Create a new folder calculator in the projectconf_pio_lib_dir folder and add two new files calculator.h and calculator.c with the following contents:
            calculator.h:

                    #ifndef _CALCULATOR_H_
                    #define _CALCULATOR_H_

                    #ifdef __cplusplus
                    extern "C" {
                    #endif

                    int addition (int a, int b);
                    int subtraction (int a, int b);
                    int multiplication (int a, int b);
                    int division (int a, int b);

                    #ifdef __cplusplus
                    }
                    #endif

                    #endif // _CALCULATOR_H_

            calculator.c:

                    #include "calculator.h"

                    int addition(int a, int b)
                    {
                        return a + b;
                    }

                    int subtraction(int a, int b)
                    {
                        return a - b;
                    }

                    int multiplication(int a, int b)
                    {
                        return a * b;
                    }

                    int division(int a, int b)
                    {
                        return a / b;
                    }

    2.  Create a new file test_calc.c to the folder projectconf_pio_test_dir and add basic tests for the calculator library:

                    #include <calculator.h>
                    #include <unity.h>

                    void test_function_calculator_addition(void) {
                        TEST_ASSERT_EQUAL(32, addition(25, 7));
                    }

                    void test_function_calculator_subtraction(void) {
                        TEST_ASSERT_EQUAL(20, subtraction(23, 3));
                    }

                    void test_function_calculator_multiplication(void) {
                        TEST_ASSERT_EQUAL(50, multiplication(25, 2));
                    }

                    void test_function_calculator_division(void) {
                        TEST_ASSERT_EQUAL(32, division(100, 3));
                    }

                    void main() {
                        UNITY_BEGIN();

                        RUN_TEST(test_function_calculator_addition);
                        RUN_TEST(test_function_calculator_subtraction);
                        RUN_TEST(test_function_calculator_multiplication);
                        RUN_TEST(test_function_calculator_division);

                        UNITY_END();
                    }

    3.  Let's run tests on the board and check the results. There should be a problem with test_function_calculator_division test:
            [image]

    4.  Let's fix the incorrect expected value and run tests again. After processing the results should be correct:
            [image]

  Project Inspection

For illustrative purposes, let's imagine we need to find a function with the biggest memory footprint. Also, let's introduce a bug to our project so piocheck can report it.

    1.  Open PlatformIO Home and navigate to Inspect section, select the current project and press Inspect button:
            [image]

    2.  Project statistics:
            [image]

    3.  The biggest function:
            [image]

    4.  Possible bugs:
            [image]

  Conclusion

Now we have a project template for the ESP32-DevKitC board that we can use as boilerplate for later projects.

  STM32Cube HAL and Nucleo-F401RE: debugging and unit testing

The goal of this tutorial is to demonstrate how simple it is to use ide_atom to develop, run and debug a basic blink project with framework_stm32cube framework for STM32 Nucleo-F401RE board.

    •   Level: Intermediate

    •   Platforms: Windows, Mac OS X, Linux

    Requirements:

        •   Downloaded and installed ide_atom

        •   Install drivers for debugging_tool_stlink debug tool

        •   Nucleo-F401RE development board

  Contents

    •   Setting Up the Project

    •   Adding Code to the Generated Project

    •   Compiling and Uploading the Firmware

    •   Debugging the Firmware

    •   Writing Unit Tests

    •   Conclusion

    •   Project Source Code

  Setting Up the Project

At first step, we need to create a new project using PlatformIO Home Page (to open this page just press Home icon on the toolbar): [image]

On the next step, we need to select ST Nucleo-F401RE as a development board, framework_stm32cube as a framework and a path to the project location (or use the default one): [image]

Processing the selected project may take some amount of time (PlatformIO will download and install all required packages) and after these steps, we have a fully configured project that is ready for developing code with framework_stm32cube framework.

  Adding Code to the Generated Project

Let's add some actual code to the project. Firstly, we create two main files main.c and main.h in the projectconf_pio_src_dir folder. Right click on the src in the project window: [image]

Add next content to main.h:

        #ifndef MAIN_H
        #define MAIN_H

        #include "stm32f4xx_hal.h"

        #define LED_PIN                                GPIO_PIN_5
        #define LED_GPIO_PORT                          GPIOA
        #define LED_GPIO_CLK_ENABLE()                  __HAL_RCC_GPIOA_CLK_ENABLE()

        #endif // MAIN_H

Add this code to main.c:

        #include "main.h"

        void LED_Init();

        int main(void) {
          HAL_Init();
          LED_Init();

          while (1)
          {
            HAL_GPIO_TogglePin(LED_GPIO_PORT, LED_PIN);
            HAL_Delay(1000);
          }
        }

        void LED_Init() {
          LED_GPIO_CLK_ENABLE();
          GPIO_InitTypeDef GPIO_InitStruct;
          GPIO_InitStruct.Pin = LED_PIN;
          GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
          GPIO_InitStruct.Pull = GPIO_PULLUP;
          GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
          HAL_GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
        }

        void SysTick_Handler(void) {
          HAL_IncTick();
        }

After this step, we created a basic blink project that is ready for compiling and uploading.

  Compiling and Uploading the Firmware

Now we can build the project. To compile firmware we can use next options: Build option on the Project Tasks menu, Build button on ide_vscode_toolbar, using Command Palette View: Command Palette > PlatformIO: Build, using Task Menu Tasks: Run Task... > PlatformIO: Build or via hotkeys cmd-alt-b / ctrl-alt-b: [image]

If everything went well, we should see the successful result in the terminal window: [image]

To upload the firmware to the board we can use next options: Upload option on the Project Tasks menu, Upload button on ide_vscode_toolbar, using Command Palette View: Command Palette > PlatformIO: Upload, using Task Menu Tasks: Run Task... > PlatformIO: Upload or via hotkeys cmd-alt-u / ctrl-alt-u: [image]

After successful uploading, the green LED2 should start blinking.

  Debugging the Firmware

piodebug offers the easiest way to debug your board. To start debugging session you can use Start debugging option in PlatformIO Quick Access menu, Debug: Start debugging from the top menu or hotkey button F5: [image]

We need to wait some time while PlatformIO is initializing debug session and when the first line after the main function is highlighted we are ready to debug: [image]

We can walk through the code using control buttons, set breakpoints, see peripheral registers, add variables to Watch window: [image]

  Writing Unit Tests

Now let’s write some tests using unit_testing feature that can help us test code directly on the target board. unit_testing engine by default supports only three frameworks: framework_arduino, framework_espidf, framework_mbed, and framework_mbed. Since we decided to use framework_stm32cube we need to implement a custom projectconf_test_transport to print testing results and specify that condition in projectconf:

        [env:nucleo_f401re]
        platform = ststm32
        board = nucleo_f401re
        framework = stm32cube
        test_transport = custom

Also, we need to create a new folder test where the tests and custom projectconf_test_transport implementation (described next) will be located: [image]

We will use USART2 on ST Nucleo-F401RE board because it's directly connected to the STLink debug interface and in OS it can be visible as a Virtual Com Port, so we don't need any additional USB-UART converter. To implement the custom projectconf_test_transport we need to create two files unittest_transport.h and unittest_transport.c and put them in the projectconf_pio_test_dir in the root folder of our project. In these files we need to implement the next four functions:

        void unittest_uart_begin();
        void unittest_uart_putchar(char c);
        void unittest_uart_flush();
        void unittest_uart_end();

Implementation of unittest_transport.h:

        #ifndef UNITEST_TRANSPORT_H
        #define UNITEST_TRANSPORT_H

        #ifdef __cplusplus
        extern "C" {
        #endif

        void unittest_uart_begin();
        void unittest_uart_putchar(char c);
        void unittest_uart_flush();
        void unittest_uart_end();

        #ifdef __cplusplus
        }
        #endif

        #endif // UNITEST_TRANSPORT_H

Implementation of unittest_transport.c:

        #include "unittest_transport.h"
        #include "stm32f4xx_hal.h"

        #define USARTx                           USART2
        #define USARTx_CLK_ENABLE()              __HAL_RCC_USART2_CLK_ENABLE()
        #define USARTx_CLK_DISABLE()             __HAL_RCC_USART2_CLK_DISABLE()
        #define USARTx_RX_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOA_CLK_ENABLE()
        #define USARTx_TX_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOA_CLK_ENABLE()
        #define USARTx_RX_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOA_CLK_DISABLE()
        #define USARTx_TX_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOA_CLK_DISABLE()

        #define USARTx_FORCE_RESET()             __HAL_RCC_USART2_FORCE_RESET()
        #define USARTx_RELEASE_RESET()           __HAL_RCC_USART2_RELEASE_RESET()

        #define USARTx_TX_PIN                    GPIO_PIN_2
        #define USARTx_TX_GPIO_PORT              GPIOA
        #define USARTx_TX_AF                     GPIO_AF7_USART2
        #define USARTx_RX_PIN                    GPIO_PIN_3
        #define USARTx_RX_GPIO_PORT              GPIOA
        #define USARTx_RX_AF                     GPIO_AF7_USART2

        static UART_HandleTypeDef UartHandle;

        void unittest_uart_begin()
        {
           GPIO_InitTypeDef  GPIO_InitStruct;

          USARTx_TX_GPIO_CLK_ENABLE();
          USARTx_RX_GPIO_CLK_ENABLE();

          USARTx_CLK_ENABLE();

          GPIO_InitStruct.Pin       = USARTx_TX_PIN;
          GPIO_InitStruct.Mode      = GPIO_MODE_AF_PP;
          GPIO_InitStruct.Pull      = GPIO_PULLUP;
          GPIO_InitStruct.Speed     = GPIO_SPEED_FAST;
          GPIO_InitStruct.Alternate = USARTx_TX_AF;

          HAL_GPIO_Init(USARTx_TX_GPIO_PORT, &GPIO_InitStruct);

          GPIO_InitStruct.Pin = USARTx_RX_PIN;
          GPIO_InitStruct.Alternate = USARTx_RX_AF;

          HAL_GPIO_Init(USARTx_RX_GPIO_PORT, &GPIO_InitStruct);
          UartHandle.Instance          = USARTx;

          UartHandle.Init.BaudRate     = 115200;
          UartHandle.Init.WordLength   = UART_WORDLENGTH_8B;
          UartHandle.Init.StopBits     = UART_STOPBITS_1;
          UartHandle.Init.Parity       = UART_PARITY_NONE;
          UartHandle.Init.HwFlowCtl    = UART_HWCONTROL_NONE;
          UartHandle.Init.Mode         = UART_MODE_TX_RX;
          UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;

          if(HAL_UART_Init(&UartHandle) != HAL_OK) {
            while(1){}
          }

        }

        void unittest_uart_putchar(char c)
        {
            HAL_UART_Transmit(&UartHandle, (uint8_t*)(&c), 1, 1000);
        }

        void unittest_uart_flush(){}

        void unittest_uart_end() {
          USARTx_CLK_DISABLE();
          USARTx_RX_GPIO_CLK_DISABLE();
          USARTx_TX_GPIO_CLK_DISABLE();
        }

Now we need to add some test cases. Tests can be added to a single C file that may include multiple tests. First of all, we need to add three default functions: setUp, tearDown and main. setUp and tearDown are used to initialize and finalize test conditions. Implementations of these functions are not required for running tests but if you need to initialize some variables before you run a test, you use the setUp function and if you need to clean up variables you use tearDown function. In our example, we will use these functions to accordingly initialize and deinitialize LED. main function acts as a simple program where we describe our test plan.

Let's add a new file test_main.c to the folder test. Next basic tests for blinking routine will be implemented in this file:

    •   test_led_builtin_pin_number ensures that LED_PIN has the correct value

    •   test_led_state_high tests functions HAL_GPIO_WritePin and HAL_GPIO_ReadPin with GPIO_PIN_SET value

    •   test_led_state_low tests functions HAL_GPIO_WritePin and HAL_GPIO_ReadPin with GPIO_PIN_RESET value

NOTE:

            •   2 sec delay is required since the board doesn't support software resetting via Serial.DTR/RTS

        #include "../src/main.h"
        #include <unity.h>

        void setUp(void) {
            LED_GPIO_CLK_ENABLE();
            GPIO_InitTypeDef GPIO_InitStruct;
            GPIO_InitStruct.Pin = LED_PIN;
            GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
            GPIO_InitStruct.Pull = GPIO_PULLUP;
            GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
            HAL_GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
        }

        void tearDown(void) {
            HAL_GPIO_DeInit(LED_GPIO_PORT, LED_PIN);
        }

        void test_led_builtin_pin_number(void) {
            TEST_ASSERT_EQUAL(GPIO_PIN_5, LED_PIN);
        }

        void test_led_state_high(void) {
            HAL_GPIO_WritePin(LED_GPIO_PORT, LED_PIN, GPIO_PIN_SET);
            TEST_ASSERT_EQUAL(GPIO_PIN_SET, HAL_GPIO_ReadPin(LED_GPIO_PORT, LED_PIN));
        }

        void test_led_state_low(void) {
            HAL_GPIO_WritePin(LED_GPIO_PORT, LED_PIN, GPIO_PIN_RESET);
            TEST_ASSERT_EQUAL(GPIO_PIN_RESET, HAL_GPIO_ReadPin(LED_GPIO_PORT, LED_PIN));
        }

        int main() {
            HAL_Init();         // initialize the HAL library
            HAL_Delay(2000);    // service delay
            UNITY_BEGIN();
            RUN_TEST(test_led_builtin_pin_number);

            for (unsigned int i = 0; i < 5; i++)
            {
                RUN_TEST(test_led_state_high);
                HAL_Delay(500);
                RUN_TEST(test_led_state_low);
                HAL_Delay(500);
            }

            UNITY_END(); // stop unit testing

            while(1){}
        }

        void SysTick_Handler(void) {
            HAL_IncTick();
        }

Now we are ready to upload tests to the board. To do this we can use Test option from the Project Tasks menu, Tasks: Run Task... > PlatformIO Test option from the top menu or Test button on ide_vscode_toolbar: [image]

After processing we should see a detailed report about the testing results: [image]

Congratulations! As we can see from the report, all our tests went successfully!

  Conclusion

Now we have a decent template that we can improve for our next more complex projects.

  Project Source Code

The source code of this tutorial is available at https://github.com/platformio/platformio-examples/tree/develop/unit-testing/stm32cube

  Arduino and Nordic nRF52-DK: debugging and unit testing

The goal of this tutorial is to demonstrate how simple it is to use ide_vscode to develop, run and debug a simple project with framework_arduino framework for Nordic nRF52-DK board.

    •   Level: Beginner

    •   Platforms: Windows, Mac OS X, Linux

    Requirements:

        •   Downloaded and installed ide_vscode

        •   Install drivers for debugging_tool_jlink debug tool

        •   Nordic nRF52-DK development board

  Contents

    •   Setting Up the Project

    •   Adding Code to the Generated Project

    •   Compiling and Uploading the Firmware

    •   Debugging the Firmware

    •   Writing Unit Tests

    •   Adding Bluetooth LE features

    •   Conclusion

  Setting Up the Project

At first step, we need to create a new project using PlatformIO Home Page (to open this page just press Home icon on the toolbar): [image]

On the next step we need to select Nordic nRF52-DK as a development board, framework_arduino as a framework and a path to the project location (or use the default one): [image]

Processing the selected project may take some amount of time (PlatformIO will download and install all required packages) and after these steps, we have a fully configured project that is ready for developing code with framework_arduino framework.

  Adding Code to the Generated Project

Let's add some actual code to the project. Firstly, we open a default main file main.cpp in the projectconf_pio_src_dir folder and replace its contents with the following:

        #include <Arduino.h>

        void setup()
        {
            pinMode(LED_BUILTIN, OUTPUT);
        }

        void loop()
        {
            digitalWrite(LED_BUILTIN, HIGH);
            delay(100);
            digitalWrite(LED_BUILTIN, LOW);
            delay(100);
        }
[image]

After this step, we created a basic blink project ready for compiling and uploading.

  Compiling and Uploading the Firmware

Now we can build the project. To compile firmware we can use next options: Build option from the Project Tasks menu, Build button in ide_vscode_toolbar, Task Menu Tasks: Run Task... > PlatformIO: Build or in ide_vscode_toolbar, Command Palette View: Command Palette > PlatformIO: Build or via hotkeys cmd-alt-b / ctrl-alt-b: [image]

If everything went well, we should see a successful result message in the terminal window: [image]

To upload the firmware to the board we can use next options: Upload option from the Project Tasks menu, Upload button in ide_vscode_toolbar, Command Palette View: Command Palette > PlatformIO: Upload, using Task Menu Tasks: Run Task... > PlatformIO: Upload or via hotkeys cmd-alt-u / ctrl-alt-u: [image]

After successful uploading, the green LED1 should start blinking.

  Debugging the Firmware

piodebug offers the easiest way to debug the board. Firstly, we need to specify projectconf_debug_tool in projectconf. Since the board has an on-board JLink debug probe we can directly declare it in projectconf:

        [env:nrf52_dk]
        platform = nordicnrf52
        board = nrf52_dk
        framework = arduino
        debug_tool = jlink

To start the debug session we can use next options: Debug: Start debugging from the top menu, Start Debugging option from Quick Access menu or hotkey button F5: [image]

We need to wait some time while PlatformIO is initializing the debug session and when the first line after the main function is highlighted we are ready to debug: [image]

We can walk through the code using control buttons, set breakpoints, add variables to Watch window: [image]

  Writing Unit Tests

Test cases can be added to a single file that may include multiple tests. First of all, in this file, we need to add four default functions: setUp, tearDown, setup and loop. Functions setUp and tearDown are used to initialize and finalize test conditions. Implementations of these functions are not required for running tests but if you need to initialize some variables before you run a test, you use the setUp function and if you need to clean up variables you use tearDown function. In our example we will use these functions to accordingly initialize and deinitialize LED. setup and loop functions act as a simple Arduino program where we describe our test plan.

Let's create test folder in the root of the project and add a new file test_main.cpp to this folder. Next basic tests for String class will be implemented in this file:

    •   test_string_concat tests the concatenation of two strings

    •   test_string_substring tests the correctness of the substring extraction

    •   test_string_index_of ensures that the string returns the correct index of the specified symbol

    •   test_string_equal_ignore_case tests case-insensitive comparison of two strings

    •   test_string_to_upper_case tests upper-case conversion of the string

    •   test_string_replace tests the correctness of the replacing operation

NOTE:

            •   2 sec delay is required since the board doesn't support software resetting via Serial.DTR/RTS

        #include <Arduino.h>
        #include <unity.h>

        String STR_TO_TEST;

        void setUp(void) {
            // set stuff up here
            STR_TO_TEST = "Hello, world!";
        }

        void tearDown(void) {
            // clean stuff up here
            STR_TO_TEST = "";
        }

        void test_string_concat(void) {
            String hello = "Hello, ";
            String world = "world!";
            TEST_ASSERT_EQUAL_STRING(STR_TO_TEST.c_str(), (hello + world).c_str());
        }

        void test_string_substring(void) {
            TEST_ASSERT_EQUAL_STRING("Hello", STR_TO_TEST.substring(0, 5).c_str());
        }

        void test_string_index_of(void) {
            TEST_ASSERT_EQUAL(7, STR_TO_TEST.indexOf('w'));
        }

        void test_string_equal_ignore_case(void) {
            TEST_ASSERT_TRUE(STR_TO_TEST.equalsIgnoreCase("HELLO, WORLD!"));
        }

        void test_string_to_upper_case(void) {
            STR_TO_TEST.toUpperCase();
            TEST_ASSERT_EQUAL_STRING("HELLO, WORLD!", STR_TO_TEST.c_str());
        }

        void test_string_replace(void) {
            STR_TO_TEST.replace('!', '?');
            TEST_ASSERT_EQUAL_STRING("Hello, world?", STR_TO_TEST.c_str());
        }

        void setup()
        {
            delay(2000); // service delay
            UNITY_BEGIN();

            RUN_TEST(test_string_concat);
            RUN_TEST(test_string_substring);
            RUN_TEST(test_string_index_of);
            RUN_TEST(test_string_equal_ignore_case);
            RUN_TEST(test_string_to_upper_case);
            RUN_TEST(test_string_replace);

            UNITY_END(); // stop unit testing
        }

        void loop()
        {
        }

Now we are ready to upload tests to the board. To do this we can use next options: Test button on ide_vscode_toolbar, Test option from the Project Tasks menu or Tasks: Run Task... > PlatformIO Test from the top menu: [image]

After processing we should see a detailed report about the testing results: [image]

As we can see from the report, all our tests were successful!

  Adding Bluetooth LE features

To add the basic BLE functionality to our project we need to define the SoftDevice version and install a library called BLEPeripheral. Both these modifications can be specified in projectconf:

        [env:nrf52_dk]
        platform = nordicnrf52
        board = nrf52_dk
        framework = arduino
        debug_tool = jlink
        ; SoftDevice version
        build_flags = -DNRF52_S132
        lib_deps =
          BLEPeripheral

Now let's create a basic application that can interact with other BLE devices (e.g phone) For example, next code declares a BLE characteristic that controls the state of the LED1.

        #include <Arduino.h>
        #include <SPI.h>
        #include <BLEPeripheral.h>

        BLEPeripheral ledPeripheral = BLEPeripheral();

        BLEService ledService = BLEService("19b10000e8f2537e4f6cd104768a1214");
        BLECharCharacteristic ledCharacteristic = BLECharCharacteristic("19b10001e8f2537e4f6cd104768a1214", BLERead | BLEWrite);

        void setup()
        {
          pinMode(LED_BUILTIN, OUTPUT);

          ledPeripheral.setAdvertisedServiceUuid(ledService.uuid());
          ledPeripheral.addAttribute(ledService);
          ledPeripheral.addAttribute(ledCharacteristic);
          ledPeripheral.setLocalName("Nordic NRF52 DK");
          ledPeripheral.begin();
        }

        void loop()
        {
          BLECentral central = ledPeripheral.central();

          if (central) {
            while (central.connected()) {
              if (ledCharacteristic.written()) {
                if (ledCharacteristic.value()) {
                  digitalWrite(LED_BUILTIN, HIGH);
                }
                else{
                  digitalWrite(LED_BUILTIN, LOW);
                }
              }
            }
          }
        }

Now we can compile and upload this program to the board as described in previous sections. To verify that our application works as expected, we can use any Android smartphone with BLE feature and Nordic nRF Connect tool.

At first, we need to scan all advertising BLE devices and connect to the device called Nordic NRF52 DK. After a successful connection to the board, we should see one "Unknown Service" with one "Unknown Characteristic" fields: [image]

To switch the LED on or off we just need write 0 or 1 as UINT8 to the BLE characteristic: [image]

  Conclusion

Now we have a project template for Nordic nRF52-DK board that we can use as a boilerplate for the next projects.

  Zephyr and Nordic nRF52-DK: debugging, unit testing, project analysis

The goal of this tutorial is to demonstrate how simple it is to use ide_vscode to develop, run and debug a simple Bluetooth project using framework_zephyr framework for the Nordic nRF52-DK board.

    •   Level: Intermediate

    •   Platforms: Windows, Mac OS X, Linux

    Requirements:

        •   Downloaded and installed ide_vscode

        •   Install drivers for debugging_tool_jlink debug tool

        •   Nordic nRF52-DK development board

  Contents

    •   Setting Up the Project

    •   Adding Code to the Generated Project

    •   Compiling and Uploading the Firmware

    •   Debugging the Firmware

    •   Writing Unit Tests

    •   Project Inspection

    •   Conclusion

  Setting Up the Project

    1.  Click on "PlatformIO Home" button on the bottom PlatformIO Toolbar:
            [image]

    2.  Click on "New Project", select Nordic nRF52-DK as the development board, framework_zephyr as the framework and a path to the project location (or use the default one):
            [image]

  Adding Code to the Generated Project

    1.  Create a new file main.c in projectconf_pio_src_dir folder and add the following code:

                    //
                    // Copyright (c) 2015-2016 Intel Corporation
                    //
                    // SPDX-License-Identifier: Apache-2.0
                    //

                    #include <zephyr/types.h>
                    #include <stddef.h>
                    #include <sys/printk.h>
                    #include <sys/util.h>

                    #include <bluetooth/bluetooth.h>
                    #include <bluetooth/hci.h>

                    #define DEVICE_NAME CONFIG_BT_DEVICE_NAME
                    #define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1)

                    // Set Advertisement data. Based on the Eddystone specification:
                    // https://github.com/google/eddystone/blob/master/protocol-specification.md
                    // https://github.com/google/eddystone/tree/master/eddystone-url

                    static const struct bt_data ad[] = {
                        BT_DATA_BYTES(BT_DATA_FLAGS, BT_LE_AD_NO_BREDR),
                        BT_DATA_BYTES(BT_DATA_UUID16_ALL, 0xaa, 0xfe),
                        BT_DATA_BYTES(BT_DATA_SVC_DATA16,
                                  0xaa, 0xfe,
                                  0x10, // Eddystone-URL frame type
                                  0x00, // Calibrated Tx power at 0m
                                  0x00, // URL Scheme Prefix http://www.
                                  'z', 'e', 'p', 'h', 'y', 'r',
                                  'p', 'r', 'o', 'j', 'e', 'c', 't',
                                  0x08) // .org
                    };

                    // Set Scan Response data
                    static const struct bt_data sd[] = {
                        BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),
                    };

                    static void bt_ready(int err)
                    {
                        if (err) {
                            printk("Bluetooth init failed (err %d)\n", err);
                            return;
                        }

                        printk("Bluetooth initialized\n");

                        // Start advertising
                        err = bt_le_adv_start(BT_LE_ADV_NCONN, ad, ARRAY_SIZE(ad),
                                      sd, ARRAY_SIZE(sd));
                        if (err) {
                            printk("Advertising failed to start (err %d)\n", err);
                            return;
                        }

                        printk("Beacon started\n");
                      }

                    void main(void)
                    {
                        int err;

                        printk("Starting Beacon Demo\n");

                        // Initialize the Bluetooth Subsystem
                        err = bt_enable(bt_ready);
                        if (err) {
                            printk("Bluetooth init failed (err %d)\n", err);
                        }
                    }

    2.  By default Bluetooth feature is disabled, we can enable it by creating a new file prj.conf in zephyr folder and adding the following lines:

                    CONFIG_BT=y
                    CONFIG_BT_DEBUG_LOG=y
                    CONFIG_BT_DEVICE_NAME="Test beacon"

  Compiling and Uploading the Firmware

    1.  To compile the project use one of the following options:

                •   Build option from the Project Tasks menu

                •   Build button in ide_vscode_toolbar

                •   Task Menu Tasks: Run Task... > PlatformIO: Build or in ide_vscode_toolbar

                •   Command Palette View: Command Palette > PlatformIO: Build

                •   Hotkeys cmd-alt-b / ctrl-alt-b:
            [image]

    2.  If everything went well, we should see a successful result message in the terminal window:
            [image]

    3.  To upload the firmware to the board we can use the following options:

                •   Upload option from the Project Tasks menu

                •   Upload button in ide_vscode_toolbar

                •   Command Palette View: Command Palette > PlatformIO: Upload

                •   Task Menu Tasks: Run Task... > PlatformIO: Upload

                •   Hotkeys cmd-alt-u / ctrl-alt-u:
            [image]

    4.  Connect the board to your computer and update the default monitor speed to 115200 in platformio.ini file:

                    [env:hifive1-revb]
                    platform = sifive
                    board = hifive1-revb
                    framework = zephyr
                    monitor_speed = 115200

    5.  Open Serial Monitor to observe the output from the board:
            [image]

    6.  If everything went well, the board should be visible as a beacon:
            [image]

  Debugging the Firmware

Since Nordic nRF52-DK includes an onboard debug probe we can use piodebug without any configuration.

    1.  To start a debug session we can use the following options:

                •   Debug: Start debugging from the top menu

                •   Start Debugging option from Quick Access menu

                •   Hotkey button F5:
            [image]

    2.  We can walk through the code using control buttons, set breakpoints, add variables to Watch window:
            [image]

  Writing Unit Tests

NOTE:
        Functions setUp and tearDown are used to initialize and finalize test conditions. Implementations of these functions are not required for running tests but if you need to initialize some variables before you run a test, you use the setUp function and if you need to clean up variables you use tearDown function.

For the sake of simplicity, let's create a small library called calculator, implement several basic functions add, sub, mul, div and test them using unit_testing engine.

    1.  PlatformIO uses a unit testing framework called Unity. Unity is not compatible with C library implemented in the framework. Let's enable standard version of newlib C library in prj.conf file using the following config:

                    CONFIG_NEWLIB_LIBC=y

    2.  Create a new folder calculator in the lib folder and add two new files calculator.h and calculator.c with the following contents:
            calculator.h:

                    #ifndef _CALCULATOR_H_
                    #define _CALCULATOR_H_

                    #ifdef __cplusplus
                    extern "C" {
                    #endif

                    int add (int a, int b);
                    int sub (int a, int b);
                    int mul (int a, int b);
                    int div (int a, int b);

                    #ifdef __cplusplus
                    }
                    #endif

                    #endif // _CALCULATOR_H_

            calculator.c:

                    #include "calculator.h"

                    int add(int a, int b)
                    {
                        return a + b;
                    }

                    int sub(int a, int b)
                    {
                        return a - b;
                    }

                    int mul(int a, int b)
                    {
                        return a * b;
                    }

    3.  Create a new file `test_calc.c to the folder test and add basic tests for calculator library:

                    #include <calculator.h>
                    #include <unity.h>

                    void test_function_calculator_addition(void) {
                        TEST_ASSERT_EQUAL(32, add(25, 7));
                    }

                    void test_function_calculator_subtraction(void) {
                        TEST_ASSERT_EQUAL(20, sub(23, 3));
                    }

                    void test_function_calculator_multiplication(void) {
                        TEST_ASSERT_EQUAL(50, mul(25, 2));
                    }

                    void test_function_calculator_division(void) {
                        TEST_ASSERT_EQUAL(32, div(100, 3));
                    }

                    void main() {
                        UNITY_BEGIN();

                        RUN_TEST(test_function_calculator_addition);
                        RUN_TEST(test_function_calculator_subtraction);
                        RUN_TEST(test_function_calculator_multiplication);
                        RUN_TEST(test_function_calculator_division);

                        UNITY_END();
                    }

    4.  Let's run tests on the board and check the results. There should be a problem with test_function_calculator_division test:
            [image]

    5.  Let's fix the incorrect expected value, run tests again. After processing the results should be correct:
            [image]

  Project Inspection

For illustrative purposes, let's imagine we need to find a function with the biggest memory footprint. Also, let's introduce a bug to our project so piocheck can report it.

    1.  Open PlatformIO Home and navigate to Inspect section, select the current project and press Inspect button:
            [image]

    2.  Project statistics:
            [image]

    3.  The biggest function:
            [image]

    4.  Possible bugs:
            [image]

  Conclusion

Now we have a project template for Nordic Nordic nRF52-DK board that we can use as a boilerplate for the next projects.

  RISC-V ASM Video Tutorial

An introduction to using platform_sifive and Assembly language on the SiFive board_sifive_hifive1 by Martin Fink, Chief Technology Officer at Western Digital.

  Source Files

A demo source code is published on Github: https://github.com/martin-robert-fink/superBlink.git

It is already pre-configured PlatformIO project:

    •   Clone it or download

    •   Open in ide_vscode

    •   Happy coding and debugging!

  Video Collection
.INDENT 0.0

•   Part 1 of 12 | Introduction

•   Part 2 of 12 | Setting Up

•   Part 3 of 12 | Tour PlatformIO

•   Part 4 of 12 | C Code Wrapper

•   Part 5 of 12 | HiFive Docs

•   Part 6 of 12 | Understanding GPIO

•   Part 7 of 12 | setupGPIO

•   Part 8 of 12 | Debug setupGPIO

•   Part 9 of 12 | setLED

•   Part 10 of 12 | Debug setLED

•   Part 11 of 12 | Delay

•   Part 12 of 12 | Final and Conclusion

  Project Examples

Pre-configured projects with source code are located in PlatformIO Examples repository.

  Community Projects

    •   PlatformIO DIY Projects & Tutorials at Hackster.io

  Community Video Tutorials

    •   PlatformIO Video Collection on YouTube

    •   Next-generation IDE for your RISC-V Product in 20 Minutes by CEO of PlatformIO

    •   Use the PlatformIO Debugger on the ESP32 Using an ESP-prog

    •   RISC-V ASM Tutorial

    •   PlatformIO for Arduino, ESP8266, and ESP32 Tutorial

    •   Free Inline Debugging for ESP32 and Arduino Sketches

    •   PlatformIO или прощай, Arduino IDE

    •   Отладка ESP32 в PlatformIO

    •   A Better Arduino IDE - Getting Started with PlatformIO

    •   PlatformIO - Using External Libraries

  platformio.ini (Project Configuration File)

Each PlatformIO project has a configuration file named platformio.ini in the root directory for the project. This is a INI-style file.

platformio.ini has sections (each denoted by a [header]) and key / value pairs within the sections. Lines beginning with ; are ignored and may be used to provide comments.

Multiple value options can be specified in two ways:

    1.  Split values with ", " (comma + space)

    2.  Multi-line format, where each new line starts with at least two spaces

There are two required sections:

    •   piocore settings: projectconf_section_platformio

    •   Environment settings: projectconf_section_env

The other sections are optional to include. Here are the allowed sections and their allowed contents:

  Section [platformio]

    •   Generic options

        •   description

        •   default_envs

        •   extra_configs

    •   Directory options

        •   core_dir

        •   globallib_dir

        •   platforms_dir

        •   packages_dir

        •   cache_dir

        •   build_cache_dir

        •   workspace_dir

        •   build_dir

        •   libdeps_dir

        •   include_dir

        •   src_dir

        •   lib_dir

        •   data_dir

        •   test_dir

        •   boards_dir

        •   shared_dir

The platform.ini platformio section is used for overriding the default configuration options for piocore.

NOTE:
        Relative path is allowed for directory option:

            •   ~ will be expanded to user's home directory

            •   ../ or ..\ go up to one folder

        There is a $PROJECT_HASH template variable. You can use it in a directory path. It will by replaced by a SHA1[0:10] hash of the full project path. This is very useful to declare a global storage for project workspaces. For example, /tmp/pio-workspaces/$PROJECT_HASH (Unix) or $[sysenv.TEMP}/pio-workspaces/$PROJECT_HASH (Windows). You can set a global workspace directory using the system environment variable PLATFORMIO_WORKSPACE_DIR.

        See the available directory ***_dir options below.

  Generic options

  description

Type: String | Multiple: No

Short description of the project. PlatformIO uses it for piohome in the multiple places.

  default_envs

Type: String | Multiple: Yes

The cmd_run command processes all environments [env:***] by default if the platformio run --environment option is not specified. default_envs allows one to define which environments that should be processed by default.

Also, piodebug checks this option when looking for debug environment.

This option can also be configured by the global environment variable PLATFORMIO_DEFAULT_ENVS.

Example:

        [platformio]
        default_envs = uno, nodemcu

        [env:uno]
        platform = atmelavr
        framework = arduino
        board = uno

        [env:nodemcu]
        platform = espressif8266
        framework = arduino
        board = nodemcu

        [env:teensy31]
        platform = teensy
        framework = arduino
        board = teensy31

        [env:lpmsp430g2553]
        platform = timsp430
        framework = arduino
        board = lpmsp430g2553
        build_flags = -D LED_BUILTIN=RED_LED

  extra_configs

New in version 4.0.

Type: String (Pattern) | Multiple: Yes

This option allows extending a base projectconf with extra configuration files. The format and rules are the same as for the projectconf. A name of the configuration file can be any.

extra_configs can be a single path to an extra configuration file or a list of them. Please note that you can use Unix shell-style wildcards:
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

NOTE:
        If you declare the same pair of "group" + "option" in an extra configuration file which was previously declared in a base projectconf, it will be overwritten with a value from extra configuration.

Example

Base "platformio.ini"

        [platformio]
        extra_configs =
          extra_envs.ini
          extra_debug.ini

        ; Global data for all [env:***]
        [env]
        platform = espressif32
        framework = espidf

        ; Custom data group
        ; can be use in [env:***] via ${common.***}
        [common]
        debug_flags = -D RELEASE
        lib_flags = -lc -lm

        [env:esp-wrover-kit]
        board = esp-wrover-kit
        build_flags = ${common.debug_flags}

"extra_envs.ini"

        [env:esp32dev]
        board = esp32dev
        build_flags = ${common.lib_flags} ${common.debug_flags}

        [env:lolin32]
        platform = espressif32
        framework = espidf
        board = lolin32
        build_flags = ${common.debug_flags}

"extra_debug.ini"

        # Override base "common.debug_flags"
        [common]
        debug_flags = -D DEBUG=1

        [env:lolin32]
        build_flags = -Og

After a parsing process, configuration state will be the next:

        [common]
        debug_flags = -D DEBUG=1
        lib_flags = -lc -lm

        [env:esp-wrover-kit]
        platform = espressif32
        framework = espidf
        board = esp-wrover-kit
        build_flags = ${common.debug_flags}

        [env:esp32dev]
        platform = espressif32
        framework = espidf
        board = esp32dev
        build_flags = ${common.lib_flags} ${common.debug_flags}

        [env:lolin32]
        platform = espressif32
        framework = espidf
        board = lolin32
        build_flags = -Og

  Directory options

  core_dir

New in version 4.0.

Type: DirPath | Multiple: No

The core_dir variable points out the directory used for all development platform packages (toolchains, frameworks, SDKs, upload and debug tools), global libraries for ldf, and other PlatformIO Core service data. The size of this folder will depend on the number of installed development platforms.

The default value is the user's home directory:

    •   Unix ~/.platformio

    •   Windows %HOMEPATH%\.platformio

This option can also be configured by the global environment variable PLATFORMIO_CORE_DIR.

Example:

        [platformio]
        core_dir = /path/to/custom/pio-core/storage

  globallib_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: "core_dir/lib"

Global library storage for PlatfrmIO projects and librarymanager where ldf looks for dependencies.

This option can also be configured by the global environment variable PLATFORMIO_GLOBALLIB_DIR.

  platforms_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: "core_dir/platforms"

Global storage where PlatformIO Package Manager installs platforms.

This option can also be configured by the global environment variable PLATFORMIO_PLATFORMS_DIR.

  packages_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: "core_dir/packages"

Global storage where PlatformIO Package Manager installs platforms dependencies (toolchains, frameworks, SDKs, upload and debug tools).

This option can also be configured by the global environment variable PLATFORMIO_PACKAGES_DIR.

  cache_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: "core_dir/cache"

piocore uses this folder to store caching information (requests to PlatformIO Registry, downloaded packages and other service information).

To reset a cache, please run cmd_update command.

This option can also be configured by the global environment variable PLATFORMIO_CACHE_DIR.

  build_cache_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: None (Disabled)

piocore uses this folder to store derived files from a build system (objects, firmwares, ELFs). These files are shared between all build environments. To speed up a build process, you can use the same cache folder between different projects if they depend on the same development platform and framework.

This option can also be configured by the global environment variable PLATFORMIO_BUILD_CACHE_DIR.

The example of projectconf below instructs PlatformIO Build System to check build_cache_dir for already compiled objects for framework_stm32cube and project source files. The cached object will not be used if the original source file was modified or build environment has a different configuration (new build flags, etc):

        [platformio]
        ; Set a path to a cache folder
        build_cache_dir =

        ; Examples:
        ; (Unix) build_cache_dir = /path/to/cache/folder
        ; (Windows) build_cache_dir = C:/path/to/cache/folder

        [env:bluepill_f103c6]
        platform = ststm32
        framework = stm32cube
        board = bluepill_f103c6

        [env:nucleo_f411re]
        platform = ststm32
        framework = stm32cube
        board = nucleo_f411re

  workspace_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: "Project/.pio"

The path to a project workspace directory where PlatformIO keeps by default compiled objects, static libraries, firmwares, and external library dependencies. It is used by these options:

    •   build_dir

    •   libdeps_dir.

The default value is .pio and means that folder is located in the root of project.

This option can also be configured by the global environment variable PLATFORMIO_WORKSPACE_DIR.

  build_dir

WARNING:
        PLEASE DO NOT EDIT FILES IN THIS FOLDER. PlatformIO will overwrite your changes on the next build. THIS IS A CACHE DIRECTORY.

Type: DirPath | Multiple: No | Default: "workspace_dir/build"

PlatformIO Build System uses this folder for project environments to store compiled object files, static libraries, firmwares and other cached information. It allows PlatformIO to build source code extremely fast!

You can delete this folder without any risk! If you modify projectconf, then PlatformIO will remove this folder automatically. It will be created on the next build operation.

This option can also be configured by the global environment variable PLATFORMIO_BUILD_DIR.

NOTE:
        If you have any problems with building your project environments which are defined in projectconf, then TRY TO DELETE this folder. In this situation you will remove all cached files without any risk. Also, you can use "clean" target for platformio run --target command.

  libdeps_dir

Type: DirPath | Multiple: No | Default: "workspace_dir/libdeps"

Internal storage where librarymanager will install project dependencies (projectconf_lib_deps).

This option can also be configured by the global environment variable PLATFORMIO_LIBDEPS_DIR.

  include_dir

Type: DirPath | Multiple: No | Default: "Project/include"

The path to project's default header files. PlatformIO uses it for the cmd_run command. The default value is include meaning an include directory located under the root directory of the project. This path will be added to CPPPATH of the build environment.

If you need to add extra include directories to CPPPATH scope, please use projectconf_build_flags with -I /path/to/extra/dir option.

This option can also be configured by the global environment variable PLATFORMIO_INCLUDE_DIR.

  src_dir

Type: DirPath | Multiple: No | Default: "Project/src"

The path to the project's directory with source code. PlatformIO uses it for the cmd_run command. The default value is src meaning a src directory located in the root directory of the project.

This option can also be configured by the global environment variable PLATFORMIO_SRC_DIR.

NOTE:
        This option is useful for people who migrate from Arduino IDE where the source directory should have the same name as the main source file. See example project with own source directory.

  lib_dir

Type: DirPath | Multiple: No | Default: "Project/lib"

You can put your own/private libraries here. The source code of each library should be placed in separate directory, like lib/private_lib/[here are source files]. This directory has the highest priority for ldf.

The default value is lib, meaning a lib directory located in the root of the project.

This option can also be configured by the global environment variable PLATFORMIO_LIB_DIR.

For example, see how the Foo and Bar libraries are organized:

        |--lib
        |  |--Bar
        |  |  |--docs
        |  |  |--examples
        |  |  |--src
        |  |     |- Bar.c
        |  |     |- Bar.h
        |  |--Foo
        |  |  |- Foo.c
        |  |  |- Foo.h
        |- platformio.ini
        |--src
           |- main.c

Then in src/main.c you should use:

        #include <Foo.h>
        #include <Bar.h>

        // rest of H/C/CPP code

PlatformIO will find your libraries automatically, configure the preprocessor's include paths and build them.

  data_dir

Type: DirPath | Multiple: No | Default: "Project/data"

Data directory to store contents and platform_espressif_uploadfs. The default value is data that means that folder is located in the root of the project.

This option can also be configured by the global environment variable PLATFORMIO_DATA_DIR.

  test_dir

Type: DirPath | Multiple: No | Default: "Project/test"

The directory where unit_testing engine will look for the tests. The default value is test, meaning a test directory located in the root of the project.

This option can also be configured by the global environment variable PLATFORMIO_TEST_DIR.

  boards_dir

Type: DirPath | Multiple: No | Default: "Project/boards"

The location of project-specific board definitions. Each project may choose a suitable directory name. The default value is boards, meaning a "boards" directory located in the root of the project.

By default, PlatformIO looks for boards in this order:

    1.  Project boards_dir (as defined by this setting)

    2.  Global core_dir/boards

    3.  Development platform core_dir/platforms/*/boards.

This option can also be configured by the global environment variable PLATFORMIO_BOARDS_DIR.

  shared_dir

New in version 4.0.

Type: DirPath | Multiple: No | Default: "Project/shared"

pioremote uses this folder to synchronize extra files between remote machine. For example, you can share projectconf_extra_scripts.

Please note that these folders are automatically shared between remote machine with platformio remote run --force-remote or platformio remote test --force-remote commands:

    •   lib_dir

    •   include_dir

    •   src_dir

    •   boards_dir

    •   data_dir

    •   test_dir

The default value is shared, meaning a directory named "shared" located in the root of the project.

This option can also be configured by the global environment variable PLATFORMIO_SHARED_DIR.

  Section [env]

    •   Common [env]

    •   Environment [env:NAME]

    •   Options

Each project may have multiple configuration environments defining the available project tasks for building, programming, debugging, unit testing, device monitoring, library dependencies, etc. The configuration environments are declared using [env] sections in projectconf.

The allowed options are listed under Options.

  Common [env]

New in version 4.0.

An optional configuration environment with common options that will be shared between all [env:NAME] environments in the platform.ini file. It is very useful if the configuration file has a lot of environments [env:NAME] and they share common settings.

For example:

        [env]
        platform = ststm32
        framework = stm32cube
        board = nucleo_l152re
        lib_deps = Dep1, Dep2

        [env:release]
        build_flags = -D RELEASE
        lib_deps =
            ${env.lib_deps}
            Dep3

        [env:debug]
        build_type = debug
        build_flags = -D DEBUG
        lib_deps = DepCustom

In this example we have two configuration environments release and debug. This is equivalent to duplicating all options as shown below:

        [env:release]
        platform = ststm32
        framework = stm32cube
        board = nucleo_l152re
        build_flags = -D RELEASE
        lib_deps = Dep1, Dep2, Dep3

        [env:debug]
        platform = ststm32
        framework = stm32cube
        board = nucleo_l152re
        build_type = debug
        build_flags = -D DEBUG
        lib_deps = DepCustom

  Environment [env:NAME]

A section with an env: prefix defines a working environment for cmd_run, cmd_test, cmd_check, cmd_debug and other commands. Multiple [env:NAME] environments with different NAME are allowed. Every project must define at least one working environment.

Each environment must have a unique NAME. The valid chars for NAME are letters a-z, numbers 0-9, special char _ (underscore). For example, [env:hello_world].

If you have multiple working environments and you need to process only a few of them, the commands mentioned above accept the -e, --environment option to select a subset of the working environments to process. The [platformio] projectconf_pio_default_envs option can be used to define a default set of working environments for the commands to process.

  Options

  Platform options

    •   platform

    •   platform_packages

    •   framework

    •   board

    •   board_build.mcu

    •   board_build.f_cpu

    •   board_build.ldscript

    •   More options

  platform

Type: String | Multiple: No

platforms name.

PlatformIO allows one to use specific version of platform using Semantic Versioning (X.Y.Z=MAJOR.MINOR.PATCH) or VCS (Git, Mercurial and Subversion).

Version specifications can take any of the following forms:

    •   1.2.3: an exact version number. Use only this exact version

    •   ^1.2.3: any compatible version (exact version for 1.x.x versions)

    •   ~1.2.3: any version with the same major and minor versions, and an equal or greater patch version

    •   >1.2.3: any version greater than 1.2.3. >=, <, and <= are also possible

    •   >0.1.0,!=0.2.0,<0.3.0: any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

Other forms are the same as for the cmd_platform_install command.

Examples:

        [env:the_latest_version]
        platform = atmelavr

        [env:exact_version]
        platform = atmelavr@1.2.3

        [env:specific_major_version]
        platform = atmelavr@^1.2.3

        [env:specific_major_and_minor_version]
        platform = atmelavr@~1.2.3

        [env:development_verion_by_git]
        platform = https://github.com/platformio/platform-ststm32.git

        [env:custom_git_branch]
        platform = https://github.com/platformio/platform-espressif8266.git#feature/stage

        [env:specific_git_commit]
        platform = https://github.com/platformio/platform-espressif8266.git#921855a9c530082efddb5d48b44c3f4be0e2dfa2

  platform_packages

New in version 4.0.

Type: String | Multiple: Yes

Configure custom packages per a build environment. You can also override default packages by platforms using the same name. Packages will be installed in projectconf_pio_packages_dir.

Examples:

        [env:override_default_toolchain]
        platform = atmelavr
        platform_packages =
          ; use GCC AVR 5.0+
          toolchain-gccarmnoneeabi@>1.50000.0

        [env:override_framework]
        platform = espressif8266
        platform_packages =
          ; use upstream Git version
          framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git

        [env:external_package]
        platform = ststm32
        platform_packages =
          ; latest openOCD from PlatformIO Package Registry
          tool-openocd

          ; source code of ST-Link
          tool-stlink-source @ https://github.com/texane/stlink.git

  framework

Type: String | Multiple: Yes

frameworks name.

  board

Type: String (ID) | Multiple: No

PlatformIO has pre-configured settings for the most popular boards:

    •   build configuration

    •   upload configuration

    •   debugging configuration

    •   connectivity information, etc.

You can find a valid board ID in boards catalog, Boards Explorer or cmd_boards command.

  board_build.mcu

Type: String | Multiple: No

board_build.mcu is a microcontroller(MCU) type that is used by compiler to recognize MCU architecture. The correct type of board_build.mcu depends on platform library. For example, the list of board_build.mcu for "megaAVR Devices" is described here.

The full list of board_build.mcu for the popular embedded platforms you can find in Boards section of platforms. See "Microcontroller" column.

  board_build.f_cpu

Type: Integer | Multiple: No

The option board_build.f_cpu is used to define MCU frequency (Hertz, Clock). A format of this option is C-like long integer value with L suffix. The 1 Hertz is equal to 1L, then 16 MHz (Mega Hertz) is equal to 16000000L.

The full list of board_build.f_cpu for the popular embedded platforms you can find in Boards section of platforms. See "Frequency" column. You can overclock a board by specifying a board_build.f_cpu value other than the default.

  board_build.ldscript

Type: String | Multiple: No

Path to the linker script to be used instead of the one defined by a framework. This is useful for specifying a modified linker script, for example, when an application requires a special memory section for a bootloader.

  More options

You can override any board option declared in manifest file using the next format board_{OBJECT.PATH}, where {OBJECT.PATH} is an object path in JSON manifest. Please navigate to "boards" folder of PlatfomIO development platforms and open JSON file to list all available options.

For example, Manifest: Espressif ESP32 Dev Module:

        [env:custom_board_options]
        ; Custom CPU Frequency
        board_build.f_cpu = 160000000L

        ; Custom FLASH Frequency
        board_build.f_flash = 80000000L

        ; Custom FLASH Mode
        board_build.flash_mode = qio

        ; Custom linker script
        board_build.ldscript = /path/to/ldscript.ld

        ; Custom maximum program size
        board_upload.maximum_size = 1310720

  Build options

    •   build_type

    •   build_flags

        •   Built-in Variables

        •   Dynamic build flags

    •   src_build_flags

    •   build_unflags

    •   src_filter

    •   targets

  build_type

New in version 4.0.

Type: String | Multiple: No | Default: release

See extended documentation for build_configurations.

  build_flags

Type: String | Multiple: Yes

These flags/options affect the preprocessing, compilation, assembly and linking processes for C and C++ code. All compiler and linker flags can be used. Here is a list of some common options.

In spite of the name, CPPDEFINES rows also applies to the C compiler.
Format | Affects build variable | Description
-D name | CPPDEFINES | Predefine name as a macro, with definition 1.
-D name=definition | CPPDEFINES | The contents of definition are tokenized and processed as if they appeared during translation phase three in a #define directive.
-U name | CPPDEFINES | Cancel any previous definition of name, either built in or provided with a -D option.
-Wp,option | CPPFLAGS | Bypass the compiler driver and pass option directly through to the preprocessor
-Wall | CCFLAGS | Turn on all optional warnings which are desirable for normal code.
-Werror | CCFLAGS | Make all warnings into hard errors. With this option, if any source code triggers warnings, the compilation will be aborted.
-w | CCFLAGS | Suppress all warnings, including those which GNU CPP issues by default.
-include file | CCFLAGS | Process file as if #include "file" appeared as the first line of the primary source file.
-Idir | CPPPATH | Add the directory dir to the list of directories to be searched for header files.
-Wa,option | ASFLAGS, CCFLAGS | Pass option as an option to the assembler. If option contains commas, it is split into multiple options at the commas.
-Wl,option | LINKFLAGS | Pass option as an option to the linker. If option contains commas, it is split into multiple options at the commas.
-llibrary | LIBS | Search the library named library when linking
-Ldir | LIBPATH | Add directory dir to the list of directories to be searched for -l.

This option can also be set by global environment variable PLATFORMIO_BUILD_FLAGS.

For more detailed information about available flags/options go to:

    •   Options to Request or Suppress Warnings

    •   Options for Debugging Your Program

    •   Options That Control Optimization

    •   Options Controlling the Preprocessor

    •   Passing Options to the Assembler

    •   Options for Linking

    •   Options for Directory Search

Examples:

        [env:specific_defines]
        build_flags =
          -DFOO -DBAR=1
          -D BUILD_ENV_NAME=$PIOENV
          -D CURRENT_TIME=$UNIX_TIME
          -DFLOAT_VALUE=1.23457e+07

        [env:string_defines]
        build_flags =
          -DHELLO="World!"
          '-DWIFI_PASS="My password"'
          ; Password with special chars: My pass'word
          -DWIFI_PASS=\"My\ pass\'word\"

        [env:specific_inclibs]
        build_flags =
          -I/opt/include
          -L/opt/lib
          -lfoo

        [env:ignore_incremental_builds]
        ; We dynamically change the value of "LAST_BUILD_TIME" macro,
        ; PlatformIO will not cache objects
        build_flags = -DLAST_BUILD_TIME=$UNIX_TIME

NOTE:
        If you need to control build flags that are specific for debug configuration please refer to projectconf_debug_build_flags.

  Built-in Variables

You can inject the built-in variables into your build flags, such as:

    •   $PYTHONEXE, full path to current Python interpreter

    •   $UNIX_TIME, current time in Unix format

    •   $PIOENV, name of build environment from projectconf

    •   $PIOPLATFORM, name of development platform

    •   $PIOFRAMEWORK, a list of frameworks

    •   $PROJECT_DIR, project directory

    •   $PROJECT_CORE_DIR, PlatformIO Core directory, see projectconf_pio_core_dir

    •   $PROJECT_BUILD_DIR, project build directory per all environments

    •   $BUILD_DIR, build directory per current environment

See the full list of PlatformIO variables.

Please use target envdump for the platformio run --target command to see ALL variable values for a build environment.

  Dynamic build flags

PlatformIO allows users to run an external command/script which outputs build flags into STDOUT by prepending the shell command with a ! character. PlatformIO will automatically replace commands with their output when appending flags to build environments.

You can use any shell or programming language.

This external command will be called on each cmd_run command before building/uploading process.

Use cases:

            •   Macro with the latest VCS revision/tag "on-the-fly"

            •   Generate dynamic headers (*.h)

            •   Process media content before generating SPIFFS image

            •   Make some changes to source code or related libraries

NOTE:
        If you need more advanced control and would like to apply changes to a PlatformIO Build System environment, please refer to projectconf_advanced_scripting.

Example:

        [env:generate_flags_with_external_command]
        build_flags = !cmd_or_path_to_script

        ; Unix only, get output from internal command
        build_flags = !echo "-DSOME_MACRO="$(some_cmd arg1 --option1)

Use Case: Create a "PIO_SRC_REV" macro with the latest Git revision

This example includes a separate file named git_rev_macro.py, to be placed in the same directory as platformio.ini.

platformio.ini:

        [env:git_revision_macro]
        build_flags = !python git_rev_macro.py

git_rev_macro.py:

        import subprocess

        revision = subprocess.check_output(["git", "rev-parse", "HEAD"]).strip()
        print("-DPIO_SRC_REV=%s" % revision)

  src_build_flags

Type: String | Multiple: Yes

An option src_build_flags has the same behavior as build_flags but will be applied only for project source files in the projectconf_pio_src_dir directory.

This option can also be set by the global environment variable PLATFORMIO_SRC_BUILD_FLAGS.

  build_unflags

Type: String | Multiple: Yes

Selectively remove base/initial flags that were set by the development platform.

        [env:unflags]
        build_unflags = -Os -std=gnu++11
        build_flags = -O2

  src_filter

Type: String (Templates) | Multiple: Yes

This option allows one to specify which source files should be included or excluded from projectconf_pio_src_dir for a build process. Filter supports two templates:

    •   +<PATH> include template

    •   -<PATH> exclude template

PATH is relative to projectconf_pio_src_dir. All patterns will be applied in their order of definition. GLOB Patterns are allowed.

By default, src_filter is predefined to +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/>, meaning "include ALL files, then exclude the .git and svn repository folders and the example ... folder.

This option can also be set by the global environment variable PLATFORMIO_SRC_FILTER.

  targets

Type: String | Multiple: Yes

A list of targets which will be processed by the cmd_run command by default. You can enter more than one target, if separated by comma+space ", ".

The list with available targets is located in platformio run --target.

Examples

    1.  Build a project using Release Configuration, upload the firmware, and start Serial Monitor automatically:

                    [env:upload_and_monitor]
                    targets = upload, monitor

    2.  Build a project using Debug Configuration.

Tip! You can use these targets like an option to platformio run --target command. For example:

        # clean project
        platformio run -t clean

        # dump current build environment
        platformio run --target envdump

When no targets are defined, PlatformIO will build only sources by default.

  Library options

SEE ALSO:
        Please make sure to read ldf guide first.

    •   lib_deps

    •   lib_ignore

    •   lib_extra_dirs

    •   lib_ldf_mode

    •   lib_compat_mode

    •   lib_archive

  lib_deps

SEE ALSO:
        Please make sure to read ldf guide first.

Type: String | Multiple: Yes

Specify project dependencies that should be installed automatically to projectconf_pio_libdeps_dir before environment processing.

If you have multiple build environments that depend on the same libraries, you can use projectconf_dynamic_vars to use common configuration.

Valid forms

        ; one line definition (comma + space)
        [env:myenv]
        lib_deps = LIBRARY_1, LIBRARY_2, LIBRARY_N

        ; multi-line definition
        [env:myenv2]
        lib_deps =
          LIBRARY_1
          LIBRARY_2
          LIBRARY_N

The each line with LIBRARY_1... LIBRARY_N will be passed automatically to cmd_lib_install command. Please follow to cmd_lib_install for detailed documentation about possible values.

Example:

        [env:myenv]
        lib_deps =
          13
          PubSubClient
          ArduinoJson@~5.6,!=5.4
          https://github.com/gioblu/PJON.git#v2.0
          me-no-dev/ESPAsyncTCP
          IRremoteESP8266=https://github.com/markszabo/IRremoteESP8266/archive/master.zip

  lib_ignore

SEE ALSO:
        Please make sure to read ldf guide first.

Type: String | Multiple: Yes

Specify libraries which should be ignored by Library Dependency Finder.

The correct value for this option is a library name (not folder name). You will see these names in "Library Dependency Graph" when building a project between < and > symbols.

Example:

Build output

        ...
        Library Dependency Finder -> http://bit.ly/configure-pio-ldf
        LDF MODES: FINDER(chain+) COMPATIBILITY(soft)
        Collected 54 compatible libraries
        Scanning dependencies...
        Dependency Graph
        |-- <Hash> v1.0
        |-- <AsyncMqttClient> v0.8.2
        |   |-- <ESPAsyncTCP> v1.1.3
        |-- <ESP8266WiFi> v1.0
        |-- <ESP Async WebServer> v1.1.1
        |   |-- <ESPAsyncTCP> v1.1.3
        |   |-- <ESP8266WiFi> v1.0
        |   |-- <Hash> v1.0
        |   |-- <ArduinoJson> v5.13.1
        |-- <ArduinoJson> v5.13.1
        |-- <DNSServer> v1.1.0
        |   |-- <ESP8266WiFi> v1.0
        |-- <Ticker> v1.0
        ....

platformio.ini

        [env:myenv]
        ; Single line
        lib_ignore = AsyncMqttClient, DNSServer

        ; Multi-line
        lib_ignore =
          AsyncMqttClient
          ESP Async WebServer

  lib_extra_dirs

SEE ALSO:
        Please make sure to read ldf guide first.

Type: DirPath | Multiple: Yes

A list with extra directories/storages where ldf will look for dependencies.

This option can also be set by global environment variable PLATFORMIO_LIB_EXTRA_DIRS.

WARNING:
        This is a not direct path to a library with source code. It should be a path to storage that contains libraries grouped by folders. For example, D:\PlatformIO\extra\libraries but not D:\PlatformIO\extra\libraries\FooLibrary.

Example:

        [env:myenv]
        lib_extra_dirs =
            /common/libraries
            /iot/libraries

  lib_ldf_mode

SEE ALSO:
        Please make sure to read ldf guide first.

Type: String | Multiple: No | Default: chain

This option specifies how does Library Dependency Finder should analyze dependencies (#include directives). See ldf_mode for details and available options.

Example:

        [env:myenv]
        ; evaluate C/C++ Preprocessor conditional syntax
        lib_ldf_mode = chain+

  lib_compat_mode

SEE ALSO:
        Please make sure to read ldf guide first.

Type: String | Multiple: No | Default: soft

Library compatibility mode allows one to control strictness of Library Dependency Finder. See ldf_compat_mode for details and available options..

By default, this value is set to lib_compat_mode = soft and means that LDF will check only for framework compatibility.

Example:

        [env:myenv]
        ; Checks for the compatibility with frameworks and dev/platforms
        lib_compat_mode = strict

  lib_archive

Type: Bool (yes or no) | Multiple: No | Default: yes

Create an archive (*.a, static library) from the object files and link it into a firmware (program). This is default behavior of PlatformIO Build System (lib_archive = yes).

Setting lib_archive = no will instruct PIO Build System to link object files directly (in-line). This could be useful if you need to override weak symbols defined in framework or other libraries.

You can disable library archiving per a custom library using libjson_archive field in library_config manifest.

Example:

        [env:myenv]
        lib_archive = no

  Upload options

    •   upload_port

    •   upload_protocol

    •   upload_speed

    •   upload_flags

    •   upload_resetmethod

    •   upload_command

  upload_port

Type: String (Pattern) | Multiple: No

This option is used by "uploader" tool when sending firmware to board via upload_port. For example,

    •   /dev/ttyUSB0 - Serial port (Unix-based OS)

    •   COM3 - Serial port (Windows OS)

    •   192.168.0.13 - IP address when using OTA

    •   /media/disk - physical path to media disk/flash drive (framework_mbed enabled boards)

    •   D: - physical path to media disk/flash drive (Windows OS).

If upload_port isn't specified, then PlatformIO will try to detect it automatically.

To print all available serial ports please use cmd_device_list command.

This option can also be set by global environment variable PLATFORMIO_UPLOAD_PORT.

Please note that you can use Unix shell-style wildcards:
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

Example

        [env:uno]
        platform = atmelavr
        framework = arduino
        ; any port that starts with /dev/ttyUSB
        upload_port = /dev/ttyUSB*

        ; COM1 or COM3
        upload_port = COM[13]

  upload_protocol

Type: String | Multiple: No

A protocol that "uploader" tool uses to talk to a board. Please check boards for supported uploading protocols by your board.

  upload_speed

Type: Integer | Multiple: No

A connection speed (baud rate) which "uploader" tool uses when sending firmware to board.

  upload_flags

Type: String | Multiple: Yes

Extra flags for uploader. Will be added to the end of uploader command. If you need to override uploader command or base flags please use projectconf_extra_scripts.

This option can also be set by global environment variable PLATFORMIO_UPLOAD_FLAGS.

Example

Please specify each flag/option in a new line starting with minimum 2 spaces.

        [env:atmega328pb]
        platform = atmelavr
        board = atmega328pb
        framework = arduino
        upload_flags =
          -P$UPLOAD_PORT
          -b$UPLOAD_SPEED
          -u
          -Ulock:w:0xCF:m
          -Uhfuse:w:0xD7:m
          -Uefuse:w:0xF6:m
          -Ulfuse:w:0xE2:m

  upload_resetmethod

Type: String | Multiple: No

Specify reset method for "uploader" tool. This option isn't available for all development platforms. The only platform_espressif8266 supports it.

  upload_command

New in version 4.0.

Type: String | Multiple: No

Override default platforms upload command with a custom. You can pass a full upload command with arguments and options or mix with upload_flags.

Default upload commands are declared in build/main.py script file of platforms. See a list with open source platforms => https://github.com/topics/platformio-platform

NOTE:
        Please note that you can use build variables in upload_command, such as PlatformIO project folders and other runtime configuration. A list with build variables are available by running platformio run --target envdump command.

Examples

    1.  Override default upload command but handle pre-uploading actions (looking for serial port, extra image preparation, etc.). Normally, the pre-configured upload options will be stored in $UPLOADERFLAGS build variable. A classic default upload command for platforms may look as some-flash-bin-tool $UPLOADERFLAGS $SOURCE, where $SOURCE will be replaced by a real program/firmware binary.

        $PROJECT_PACKAGES_DIR build variable points to projectconf_pio_packages_dir.

            [env:program_via_AVR_ISP]
            platform = atmelavr
            framework = arduino
            board = uno
            upload_flags =
                -C
                $PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf
                -p
                atmega328p
                -P
                $UPLOAD_PORT
                -b
                115200
                -c
                stk500v1
            upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i

    2.  Override default upload command and skip pre-uploading actions.

            [env:program_via_usbasp]
            platform = atmelavr
            framework = arduino
            board = uno
            upload_flags =
                -C
                $PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf
                -p
                atmega328p
                -Pusb
                -c
                stk500v1
            upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i

            ; Use ST-util for flashing
            ; https://github.com/texane/stlink

            [env:custom_st_flash]
            platform = ststm32
            framework = stm32cube
            board = bluepill_f103c6
            upload_command = $PROJECT_PACKAGES_DIR/tool-stlink/st-flash write $SOURCE 0x8000000

  Monitor options

    •   monitor_port

    •   monitor_speed

    •   monitor_filters

    •   monitor_rts

    •   monitor_dtr

    •   monitor_flags

Custom options for cmd_device_monitor command.

  monitor_port

Type: String | Multiple: No

Port, a number or a device name, or valid URL Handlers. See platformio device monitor --port. To print all available serial ports please use cmd_device_list command.

Please note that you can use Unix shell-style wildcards:
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

Example:

        [env:custom_monitor_port]
        ...
        ; Unix
        monitor_port = /dev/ttyUSB1

        ; Windows, COM1 or COM3
        monitor_port = COM[13]

        ; Socket
        monitor_port = socket://localhost:4444

  monitor_speed

Type: Integer | Multiple: No | Default: 9600

A monitor speed (baud rate). See platformio device monitor --baud.

Example:

        [env:custom_monitor_speedrate]
        ...
        monitor_speed = 115200

  monitor_filters

New in version 4.3.

Type: String | Multiple: Yes

Apply filters and text transformation for device output. See available filters at cmd_device_monitor_filters.

Example:

        [env:log_output_to_file_with_timestamp]
        ...
        platform = ...
        monitor_filters = log2file, time, default

  monitor_rts

Type: Integer (0 or 1) | Multiple: No

A monitor initial RTS line state. See platformio device monitor --rts.

  monitor_dtr

Type: Integer (0 or 1) | Multiple: No

A monitor initial DTR line state. See platformio device monitor --dtr.

  monitor_flags

New in version 4.0.

Type: String | Multiple: Yes

Pass extra flags and options to cmd_device_monitor command. Please note that each flag, option or its value should be passed in a new line. See example below.

Available flags and options are the same which are documented for cmd_device_monitor command.

Example:

        [env:extra_monitor_flags]
        platform = ...
        board = ...
        monitor_flags=
            --parity
            N
            --encoding
            hexlify

  Check options

SEE ALSO:
        Please make sure to read piocheck guide first.

    •   check_tool

    •   check_patterns

    •   check_flags

    •   check_severity

  check_tool

Type: String | Multiple: Yes | Default: cppcheck

A name of the check tool used for analysis. This option is useful when you want to check source code with two or more tools.

See available tools in check_tools.

Example

        [env:myenv]
        platform = ...
        board = ...
        check_tool = cppcheck, clangtidy

  check_patterns

Type: String (Pattern) | Multiple: Yes

This option allows specifying which source files or folders should be included/excluded from the check process. GLOB Patterns are allowed. projectconf_pio_src_dir and projectconf_pio_include_dir folders are checked by default.

Another option for filtering source files is platformio check --pattern command.

Example

        [env:custom_check_patterns]
        platform = ...
        board = ...
        check_tool = clangtidy
        check_patterns =
          app/sources
          tests/hardware/*.c

  check_flags

Type: String | Multiple: Yes

Additional flags to be passed to the tool command line. This option is useful when you want to adjust the check process to fit your project requirements. By default, the flags are passed to all tools specified in check_tool section. To set individual flags, define tool name at the beginning of the line.

Another option for adding flags is platformio check --flags command.

Example

        [env:extra_check_flags]
        platform = ...
        board = ...
        check_tool = cppcheck, clangtidy
        check_flags =
          --common-flag
          cppcheck: --enable=performance --inline-suppr
          clangtidy: -fix-errors -format-style=mozilla

  check_severity

Type: String | Multiple: Yes | Default: low, medium, high

This option allows specifying the check_severity types which will be reported by the check_tools.

Another option for filtering source files is platformio check --severity command.

Example

        [env:detect_only_medium_or_high_defects]
        platform = ...
        board = ...
        check_severity = medium, high

  Test options

SEE ALSO:
        Please make sure to read unit_testing guide first.

    •   test_filter

    •   test_ignore

    •   test_port

    •   test_speed

    •   test_transport

    •   test_build_project_src

  test_filter

Type: String (Pattern) | Multiple: Yes

Process only the unit_testing tests where the name matches specified patterns.

Also, you can filter some tests using platformio test --filter command.
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

Example

        [env:myenv]
        test_filter = footest, bartest_*, test[13]

  test_ignore

Type: String (Pattern) | Multiple: Yes

Ignore unit_testing tests where the name matches specified patterns.

Also, you can ignore some tests using platformio test --ignore command.
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

Example

        [env:myenv]
        test_ignore =
          footest
          bartest_*
          test[13]

  test_port

Type: String (Pattern) | Multiple: No

This option specifies communication interface (Serial/UART) between PlatformIO unit_testing Engine and target device. For example,

    •   /dev/ttyUSB0 - Unix-based OS

    •   COM3 - Windows OS

If test_port isn't specified, then PlatformIO will try to detect it automatically.

To print all available serial ports use cmd_device_list command.

  test_speed

Type: Integer | Multiple: No | Default: 115200

A connection speed (baud rate) to communicate with a target device.

  test_transport

Type: String | Multiple: No

A transport type which will be used to read test results from a target device. See more details at unit_testing_transport.

  test_build_project_src

Type: Bool (yes or no) | Multiple: No | Default: no

Force unit_testing engine to build project source code from projectconf_pio_src_dir setting test_build_project_src to yes. More detail about unit_testing_shared_code.

Example

        [env:myenv]
        platform = ...
        test_build_project_src = yes

  Debugging options

SEE ALSO:
        Please make sure to read piodebug guide first.

    •   debug_tool

    •   debug_build_flags

    •   debug_init_break

    •   debug_init_cmds

    •   debug_extra_cmds

    •   debug_load_cmds

    •   debug_load_mode

    •   debug_server

    •   debug_port

    •   debug_svd_path

  debug_tool

Type: String | Multiple: No

A name of debugging tool. This option is useful when board supports more than one debugging tool (adapter, probe) or you want to create debugging_tool_custom debugging configuration.

See available tools in debugging_tools.

Example

        [env:debug]
        platform = ...
        board = ...
        debug_tool = custom

  debug_build_flags

New in version 4.2.0.

Type: String | Multiple: Yes | Default: -Og -g2 -ggdb2

These flags/options affect the preprocessing, compilation, assembly and linking processes for C and C++ code.

NOTE:
        This option might be helpful to adjust the optimization level if firmware with debug information is too big to be uploaded to a target

Example

        [env:debug]
        platform = ...
        board = ...

        ; Set optimization level and amount of debug information generated by the compiler
        debug_build_flags = -O0 -ggdb3 -g3

Other possible flags that might be useful for debugging your application.

  debug_init_break

Type: String | Multiple: No | Default: tbreak main

An initial breakpoint that makes your program stop whenever a certain point in the program is reached. Default value is set to tbreak main and means creating a temporary breakpoint at int main(...) function and automatically delete it after the first time a program stops there.

    •   GDB Setting Breakpoints

    •   GDB Breakpoint Locations

NOTE:
        Please note that each debugging tool (adapter, probe) has limited number of hardware breakpoints.

        If you need more Project Initial Breakpoints, please place them in debug_extra_cmds.

Examples

        [env:debug]
        platform = ...
        board = ...

        ; Examples 1: disable initial breakpoint
        debug_init_break =

        ; Examples 2: temporary stop at ``void loop()`` function
        debug_init_break = tbreak loop

        ; Examples 3: stop in main.cpp at line 13
        debug_init_break = break main.cpp:13

        ; Examples 4: temporary stop at ``void Reset_Handler(void)``
        debug_init_break = tbreak Reset_Handler

  debug_init_cmds

Type: String | Multiple: Yes | Default: See details...

Initial commands that will be passed to back-end debugger.

PlatformIO dynamically configures back-end debugger depending on a debug environment. Here is a list with default initial commands for the popular debugging_tools.

For example, the custom initial commands for GDB:

        [env:debug]
        platform = ...
        board = ...
        debug_init_cmds =
          target extended-remote $DEBUG_PORT
          $INIT_BREAK
          monitor reset halt
          $LOAD_CMDS
          monitor init
          monitor reset halt

  debug_extra_cmds

Type: String | Multiple: Yes

Extra commands that will be passed to back-end debugger after debug_init_cmds. For example, add custom breakpoint and load .gdbinit from a project directory for GDB:

        [env:debug]
        platform = ...
        board = ...
        debug_extra_cmds =
          break main.cpp:13
          break foo.cpp:100
          source .gdbinit

NOTE:
        Initial Project Breakpoints: Use break path/to/file:LINE_NUMBER to define initial breakpoints for debug environment. Multiple breakpoints are allowed.

        To save session breakpoints, please use save breakpoints [filename] command in Debug Console. For example, save breakpoints .gdbinit. Later, this file could be loaded via source [filename] command. See above.

  debug_load_cmds

New in version 4.0.

Type: String | Multiple: Yes | Default: load

Specify a command which will be used to load program/firmware to a target device. Possible options:

    •   load - default option

    •   load [address] - load program at specified address, where "[address]" should be a valid number

    •   preload - some embedded devices have locked Flash Memory (a few Freescale Kinetis and NXP LPC boards). In this case, firmware loading using debugging client is disabled. preload command instructs piocore to load program/firmware using development platform "upload" method (via bootloader, media disk, etc)

    •   (empty value, debug_load_cmds =), disables program loading at all.

    •   custom commands - pass any debugging client command (GDB, etc.)

Sometimes you need to run extra monitor commands (on debug server side) before program/firmware loading, such as flash unlocking or erasing. In this case we can combine service commands with loading and run them before. See example:

        [env:debug]
        platform = ...
        board = ...
        debug_load_cmds =
          monitor flash erase_sector 0 0 11
          load

  debug_load_mode

Type: String | Multiple: No | Default: always

Allows one to control when PlatformIO should load debugging firmware to the end target. Possible options:

    •   always - load for the each debugging session, default

    •   modified - load only when firmware was modified

    •   manual - do not load firmware automatically. You are responsible to pre-flash target with debugging firmware in this case.

  debug_server

Type: String | Multiple: Yes

Allows one to setup a custom debugging server. By default, boards are pre-configured with a debugging server that is compatible with "on-board" debugging tool (adapter, probe). Also, this option is useful for a debugging_tool_custom debugging tool.

Option format (multi-line):

    •   First line is an executable path of debugging server

    •   2-nd and the next lines are arguments for executable file

Example:

        [env:debug]
        platform = ...
        board = ...
        debug_server =
          /path/to/debugging/server
          arg1
          arg2
          ...
          argN

  debug_port

Type: String | Multiple: No

A debugging port of a remote target. Could be a serial device or network address. PlatformIO detects it automatically if is not specified.

For example:

    •   /dev/ttyUSB0 - Unix-based OS

    •   COM3 - Windows OS

    •   localhost:3333

  debug_svd_path

Type: FilePath | Multiple: No

A custom path to SVD file which contains information about device peripherals.

  Advanced options

  extends

New in version 4.1.

Type: String | Multiple: Yes

This option allows one to inherit configuration from other sections or build environments in projectconf. Multiple items are allowed, split them with , or with a new line.

If you need to extend only a few options from some section, please take a look at projectconf_dynamic_vars.

Example:

        [strict_ldf]
        lib_ldf_mode = chain+
        lib_compat_mode = strict

        [espressi32_base]
        platform = espressif32
        framework = arduino

        [env:release]
        extends = espressi32_base, strict_ldf
        board = esp32dev
        build_flags = -D RELEASE

        [env:debug]
        extends = env:release
        build_type = debug
        build_flags = -D DEBUG

  extra_scripts

Type: FilePath | Multiple: Yes

A list of PRE and POST extra scripts.

See details and examples in projectconf_advanced_scripting section.

If you plan to share these scripts with pioremote machine, please put them to projectconf_pio_shared_dir.

  Build Configurations

New in version 4.0.0.

There are 2 types (projectconf_build_type) of build configuration in PlatformIO:

    release
        Default configuration. A "release" configuration of your firmware/program does not contain symbolic debug information and is optimized for the firmware size or speed (depending on platforms)

    debug
        A "debug" configuration of your firmware/program is compiled with full symbolic debug information and no optimization. Optimization complicates debugging, because the relationship between source code and generated instructions is more complex.

NOTE:
        If you need to control build flags that are specific for debug configuration please refer to projectconf_debug_build_flags.

If you need to build a project in debug configuration, please use one of these options:

    •   Add projectconf_build_type with debug value to projectconf

    •   Use target debug for the platformio run --target command.

NOTE:
        piodebug automatically switches to debug configuration when you do project debugging from pioide or use the cmd_debug command.

        To avoid having piodebug rebuild the project, please create a separate build environment that defines build_type = debug. See the example below where the mydebug build environment will be used automatically by piodebug:

                [env]
                platform = ...
                board = ...
                framework = ...
                ... other common configuration

                [env:myrelease]
                some_extra_options = ...

                [env:mydebug]
                build_type = debug
                some_extra_options = ...

Please note that you can set a default build environment per a project using the projectconf_pio_default_envs option in projectconf_section_platformio.

  Dynamic variables

Dynamic variables (interpolations) are useful when you have a custom configuration data between build environments. For examples, extra projectconf_build_flags or project dependencies projectconf_lib_deps.

Each variable should have a next format: ${<section>.<option>}, where <section> is a value from [<section>] group, and <option> is a first item from pair <option> = value.

You can inject system environment variable using sysenv as a section. For example, ${sysenv.HOME}.

    •   Variable can be applied only for the option's value

    •   Multiple variables are allowed

    •   The projectconf_section_platformio and projectconf_section_env sections are reserved and could not be used as a custom section. Some good section names might be extra or custom.

NOTE:
        If you need to share common configuration options between build environments, please take a look at "Global scope" in projectconf_section_env or projectconf_env_extends option which allows extending of other sections.

Example:

        [env]
        ; Unix
        lib_extra_dirs = ${sysenv.HOME}/Documents/Arduino/libraries
        ; Windows
        lib_extra_dirs = ${sysenv.HOMEDRIVE}${sysenv.HOMEPATH}\Documents\Arduino\libraries

        ; You MUST inject these options into [env:] section
        ; using ${extra.***} (see below)
        [extra]
        build_flags = -D VERSION=1.2.3 -D DEBUG=1
        lib_deps_builtin =
          SPI
          Wire
        lib_deps_external = ArduinoJson@>5.6.0

        [env:uno]
        platform = atmelavr
        framework = arduino
        board = uno
        build_flags = ${extra.build_flags}
        lib_deps =
          ${extra.lib_deps_builtin}
          ${extra.lib_deps_external}

        [env:nodemcuv2]
        platform = espressif8266
        framework = arduino
        board = nodemcuv2
        build_flags = ${extra.build_flags} -Wall
        lib_deps =
          ${extra.lib_deps_builtin}
          ${extra.lib_deps_external}
          PubSubClient@2.6
          OneWire

        ; Keep sensitive data in environment variables
        ;
        ; Unix
        ; export WIFI_SSID='\"my\ ssid\ name\"'
        ; export WIFI_PASS='\"my\ password\"'
        ;
        ; Windows
        ; set WIFI_SSID='"my ssid name"'
        ; set WIFI_PASS='"my password"'

        [env:esp32dev]
        extends = env:nodemcuv2
        platform = espressif32
        board = esp32dev
        build_flags =
          -DWIFI_SSID=${sysenv.WIFI_SSID}
          -DWIFI_PASS=${sysenv.WIFI_PASS}

WARNING:
        Be careful with special characters in system environment variables on Unix systems, especially when they are used as the value for preprocessor directives. Symbols like $, &, ~, etc must be explicitly escaped, for example:

                export WIFI_PASS='\"my\~p\&a\\\$\$\$\$word\"'

  Examples

NOTE:
        A full list with project examples can be found in PlatformIO Repository.

Community project examples with platformio.ini:

    •   MarlinFirmware/Marlin

    •   xoseperez/espurna

    •   esphome/esphome

    •   cyberman54/ESP32-Paxcounter

Example

For more examples, see projectconf_examples.

        [platformio]
        default_envs = nodemcuv2

        ; You MUST inject these options into [env:] section
        ; using ${common_env_data.***} (see below)
        [common_env_data]
        build_flags =
            -D VERSION=1.2.3
            -D DEBUG=1
        lib_deps_builtin =
            SPI
            Wire
        lib_deps_external =
            ArduinoJson@~5.6,!=5.4
            https://github.com/gioblu/PJON.git#v2.0
            IRremoteESP8266=https://github.com/markszabo/IRremoteESP8266/archive/master.zip

        [env:nodemcuv2]
        platform = espressif8266
        framework = arduino
        board = nodemcuv2

        ; Build options
        build_flags =
            ${common_env_data.build_flags}
            -DSSID_NAME=HELLO
            -DSSID_PASWORD=WORLD

        ; Library options
        lib_deps =
            ${common_env_data.lib_deps_builtin}
            ${common_env_data.lib_deps_external}
            https://github.com/me-no-dev/ESPAsyncTCP.git
            PubSubClient@2.6
            OneWire

        ; Serial Monitor options
        monitor_speed = 115200
        monitor_flags =
            --encoding
            hexlify

        ; Unit Testing options
        test_ignore = test_desktop

        [env:bluepill_f103c8]
        platform = ststm32
        framework = arduino
        board = bluepill_f103c8

        ; Build options
        build_flags = ${common_env_data.build_flags}

        ; Library options
        lib_deps =
            ${common_env_data.lib_deps_external}

        ; Debug options
        debug_tool = custom
        debug_server =
            JLinkGDBServer
            -singlerun
            -if
            SWD
            -select
            USB
            -port
            2331
            -device
            STM32F103C8

        ; Unit Testing options
        test_ignore = test_desktop

  Environment variables

Environment variables are a set of dynamic named values that can affect the way running processes will behave on a computer. PlatformIO handles variables which start with PLATFORMIO_ prefix.

How to set environment variable?

        # Windows
        set VARIABLE_NAME=VALUE

        # Windows GUI -> https://www.youtube.com/watch?v=bEroNNzqlF4

        # Unix (bash, zsh)
        export VARIABLE_NAME=VALUE

        # Unix (fish)
        set -x VARIABLE_NAME VALUE

  Contents

    •   General

    •   Directories

    •   Building

    •   Uploading

    •   Settings

  General

PlatformIO uses General environment variables for the common operations/commands.

    CI

PlatformIO handles CI variable which is setup by Continuous Integration (Travis, Circle and etc.) systems. PlatformIO uses it to disable prompts and progress bars. In other words, CI=true automatically setup PLATFORMIO_DISABLE_PROGRESSBAR to true.

    PLATFORMIO_AUTH_TOKEN

Allows one to specify Personal Authentication Token that could be used for automatic login in to pioaccount. It is very useful for ci systems and pioremote operations where you are not able manually authorize.

You can get own Personal Authentication Token using cmd_account_token command.

    PLATFORMIO_FORCE_ANSI

Force to output ANSI control character even if the output is a pipe (not a tty). The possible values are true and false. Default is PLATFORMIO_FORCE_ANSI=false.

    PLATFORMIO_NO_ANSI

Do not print ANSI control characters. The possible values are true and false. Default is PLATFORMIO_NO_ANSI=false.

You can also use platformio --no-ansi flag for piocore.

    PLATFORMIO_DISABLE_PROGRESSBAR

Disable progress bar for package/library downloader and uploader. This is useful when calling PlatformIO from subprocess and output is a pipe (not a tty). The possible values are true and false. Default is PLATFORMIO_DISABLE_PROGRESSBAR=false.

  Directories

    PLATFORMIO_CORE_DIR

Allows one to override projectconf option projectconf_pio_core_dir.

    PLATFORMIO_GLOBALLIB_DIR

Allows one to override projectconf option projectconf_pio_globallib_dir.

    PLATFORMIO_PLATFORMS_DIR

Allows one to override projectconf option projectconf_pio_platforms_dir.

    PLATFORMIO_PACKAGES_DIR

Allows one to override projectconf option projectconf_pio_packages_dir.

    PLATFORMIO_CACHE_DIR

Allows one to override projectconf option projectconf_pio_cache_dir.

    PLATFORMIO_BUILD_CACHE_DIR

Allows one to override projectconf option projectconf_pio_build_cache_dir.

    PLATFORMIO_WORKSPACE_DIR

Allows one to override projectconf option projectconf_pio_workspace_dir.

    PLATFORMIO_INCLUDE_DIR

Allows one to override projectconf option projectconf_pio_include_dir.

    PLATFORMIO_SRC_DIR

Allows one to override projectconf option projectconf_pio_src_dir.

    PLATFORMIO_LIB_DIR

Allows one to override projectconf option projectconf_pio_lib_dir.

    PLATFORMIO_LIBDEPS_DIR

Allows one to override projectconf option projectconf_pio_libdeps_dir.

    PLATFORMIO_BUILD_DIR

Allows one to override projectconf option projectconf_pio_build_dir.

    PLATFORMIO_DATA_DIR

Allows one to override projectconf option projectconf_pio_data_dir.

    PLATFORMIO_TEST_DIR

Allows one to override projectconf option projectconf_pio_test_dir.

    PLATFORMIO_BOARDS_DIR

Allows one to override projectconf option projectconf_pio_boards_dir.

    PLATFORMIO_SHARED_DIR

Allows one to override projectconf option projectconf_pio_shared_dir.

    PLATFORMIO_REMOTE_AGENT_DIR

Allows one to override platformio remote agent start --working-dir.

    PLATFORMIO_LIB_EXTRA_DIRS

Allows one to set projectconf option projectconf_lib_extra_dirs.

  Building

    PLATFORMIO_BUILD_FLAGS

Allows one to set projectconf option projectconf_build_flags.

Examples:

        # Unix:
        export PLATFORMIO_BUILD_FLAGS=-DFOO
        export PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -Wall

        # Windows:
        SET PLATFORMIO_BUILD_FLAGS=-DFOO
        SET PLATFORMIO_BUILD_FLAGS=-DFOO -DBAR=1 -Wall

WARNING:
        Consider using projectconf_dynamic_vars instead of PLATFORMIO_BUILD_FLAGS environment variable if additional build flags contain preprocessor directive with special characters ($, &, ~, etc) in its value.

    PLATFORMIO_SRC_BUILD_FLAGS

Allows one to set projectconf option projectconf_src_build_flags.

    PLATFORMIO_SRC_FILTER

Allows one to set projectconf option projectconf_src_filter.

    PLATFORMIO_EXTRA_SCRIPTS

Allows one to set projectconf option projectconf_extra_scripts.

    PLATFORMIO_DEFAULT_ENVS

Allows one to set projectconf option projectconf_pio_default_envs.

  Uploading

    PLATFORMIO_UPLOAD_PORT

Allows one to set projectconf option projectconf_upload_port.

    PLATFORMIO_UPLOAD_FLAGS

Allows one to set projectconf option projectconf_upload_flags.

  Settings

Allows one to override PlatformIO settings. You can manage them via cmd_settings command.

    PLATFORMIO_SETTING_AUTO_UPDATE_LIBRARIES

Allows one to override setting setting_auto_update_libraries.

    PLATFORMIO_SETTING_AUTO_UPDATE_PLATFORMS

Allows one to override setting setting_auto_update_platforms.

    PLATFORMIO_SETTING_CHECK_LIBRARIES_INTERVAL

Allows one to override setting setting_check_libraries_interval.

    PLATFORMIO_SETTING_CHECK_PLATFORMIO_INTERVAL

Allows one to override setting setting_check_platformio_interval.

    PLATFORMIO_SETTING_CHECK_PLATFORMS_INTERVAL

Allows one to override setting setting_check_platforms_interval.

    PLATFORMIO_SETTING_ENABLE_CACHE

Allows one to override setting setting_enable_cache.

    PLATFORMIO_SETTING_STRICT_SSL

Allows one to override setting setting_strict_ssl.

    PLATFORMIO_SETTING_ENABLE_TELEMETRY

Allows one to override setting setting_enable_telemetry.

    PLATFORMIO_SETTING_FORCE_VERBOSE

Allows one to override setting setting_force_verbose.

    PLATFORMIO_SETTING_PROJECTS_DIR

Allows one to override setting setting_projects_dir.

  Advanced Scripting

WARNING:
        Advanced Scripting is recommended for Advanced Users and requires knowledge of the Python language.

WARNING:
        projectconf_dynamic_build_flags is a highly recommended alternative to advanced scripting, where you can use any programming language. Also, that option is useful if you need to apply changes to the project before the building/uploading process, such as:

            •   Macro with the latest VCS revision/tag "on-the-fly"

            •   Generate dynamic headers (*.h)

            •   Process media content before generating SPIFFS image

            •   Make some changes to source code or related libraries

  Contents

    •   Advanced Scripting

        •   Launch types

        •   Construction Environments

        •   Before/Pre and After/Post actions

        •   Build Middlewares

        •   Custom target

            •   Command shortcut

            •   Dependent target

            •   Target with options

        •   Examples

            •   Custom options in platformio.ini

            •   Split C/C++ build flags

            •   Extra Linker Flags without -Wl, prefix

            •   Custom upload tool

            •   Upload to Cloud (OTA)

            •   Custom firmware/program name

            •   Override package files

            •   Override Board Configuration

            •   Custom debug flags

The PlatformIO Build System allows the user to extend the build process with custom scripts using the Python interpreter and the SCons construction tool. Build flags, upload flags, targets, toolchains data and other information are available for modification as SCons Construction Environments. Custom scripts are included with projectconf_extra_scripts

WARNING:
        You can not run or debug these scripts manually with a Python interpreter. They will be loaded automatically when the cmd_run command processes the project environment.

  Launch types

There are two execution orders for extra scripts:

    1.  PRE - executes before the main script of platforms

    2.  POST - executes after the main script of platforms

Multiple extra scripts are allowed. Please split them via ", " (comma + space) in the same line or use multi-line values.

For example, in projectconf:

        [env:my_env_1]
        platform = ...
        ; Defaults to POST script since no prefix is used
        extra_scripts = post_extra_script.py

        [env:my_env_2]
        platform = ...
        extra_scripts =
          pre:pre_extra_script.py
          post:post_extra_script1.py
          post_extra_script2.py

This option can also be set by the global environment variable PLATFORMIO_EXTRA_SCRIPTS.

  Construction Environments

The PlatformIO Build System uses two built-in construction environments to process each project:

    •   env, Import("env") - the global construction environment used for the platforms and frameworks build scripts, upload tools, ldf, and other internal operations

    •   projenv, Import("projenv") - the isolated construction environment used for processing the project source code in projectconf_pio_src_dir. Please note that any projectconf_src_build_flags specified in projectconf will be passed to projenv and not to env.

WARNING:

            1.  projenv is available only for POST-type scripts

            2.  Flags passed to env using PRE-type script will affect projenv too.

my_pre_extra_script.py:

        Import("env")

        # access to global construction environment
        print(env)

        # Dump construction environment (for debug purpose)
        print(env.Dump())

        # append extra flags to global build environment
        # which later will be used to build:
        # - project source code
        # - frameworks
        # - dependent libraries
        env.Append(CPPDEFINES=[
          "MACRO_1_NAME",
          ("MACRO_2_NAME", "MACRO_2_VALUE")
        ])

my_post_extra_script.py:

        Import("env", "projenv")

        # access to global construction environment
        print(env)

        # access to project construction environment
        print(projenv)

        # Dump construction environments (for debug purpose)
        print(env.Dump())
        print(projenv.Dump())

        # append extra flags to global build environment
        # which later will be used to build:
        # - frameworks
        # - dependent libraries
        env.Append(CPPDEFINES=[
          "MACRO_1_NAME",
          ("MACRO_2_NAME", "MACRO_2_VALUE")
        ])

        # append extra flags to only project build environment
        projenv.Append(CPPDEFINES=[
          "PROJECT_EXTRA_MACRO_1_NAME",
          ("ROJECT_EXTRA_MACRO_2_NAME", "ROJECT_EXTRA_MACRO_2_VALUE")
        ])

See examples below how to import construction environments and modify existing data or add new.

  Before/Pre and After/Post actions

The PlatformIO Build System has a rich API that allows one to attach different pre-/post actions (hooks) using env.AddPreAction(target, callback) or env.AddPreAction(target, [callback1, callback2, ...]) function. The first argument target can be the name of a target that is passed using the platformio run --target command, the name of a built-in target (buildprog, size, upload, program, buildfs, uploadfs, uploadfsota) or the path to a file which PlatformIO processes (ELF, HEX, BIN, OBJ, etc.).

Examples

The extra_script.py file is located in the same directory as platformio.ini.

platformio.ini:

        [env:pre_and_post_hooks]
        extra_scripts = post:extra_script.py

extra_script.py:

        Import("env", "projenv")

        # access to global build environment
        print(env)

        # access to project build environment (is used source files in "src" folder)
        print(projenv)

        #
        # Dump build environment (for debug purpose)
        # print(env.Dump())
        #

        #
        # Change build flags in runtime
        #
        env.ProcessUnFlags("-DVECT_TAB_ADDR")
        env.Append(CPPDEFINES=("VECT_TAB_ADDR", 0x123456789))

        #
        # Upload actions
        #

        def before_upload(source, target, env):
            print("before_upload")
            # do some actions

            # call Node.JS or other script
            env.Execute("node --version")

        def after_upload(source, target, env):
            print("after_upload")
            # do some actions

        print("Current build targets", map(str, BUILD_TARGETS))

        env.AddPreAction("upload", before_upload)
        env.AddPostAction("upload", after_upload)

        #
        # Custom actions when building program/firmware
        #

        env.AddPreAction("buildprog", callback...)
        env.AddPostAction("buildprog", callback...)

        #
        # Custom actions for specific files/objects
        #

        env.AddPreAction("$BUILD_DIR/${PROGNAME}.elf", [callback1, callback2,...])
        env.AddPostAction("$BUILD_DIR/${PROGNAME}.hex", callback...)

        # custom action before building SPIFFS image. For example, compress HTML, etc.
        env.AddPreAction("$BUILD_DIR/spiffs.bin", callback...)

        # custom action for project's main.cpp
        env.AddPostAction("$BUILD_DIR/src/main.cpp.o", callback...)

        # Custom HEX from ELF
        env.AddPostAction(
            "$BUILD_DIR/${PROGNAME}.elf",
            env.VerboseAction(" ".join([
                "$OBJCOPY", "-O", "ihex", "-R", ".eeprom",
                "$BUILD_DIR/${PROGNAME}.elf", "$BUILD_DIR/${PROGNAME}.hex"
            ]), "Building $BUILD_DIR/${PROGNAME}.hex")
        )

  Build Middlewares

New in version 4.1.

PlatformIO Build System allows you to add middleware functions that can be used for Build Node(Object) construction. This is very useful if you need to add custom flags for the specific file nodes or exclude them from a build process.

There is env.AddBuildMiddleware(callback, pattern) helper which instructs PlatformIO Build System to call callback for each SCons File System Node whose path matches with Unix shell-style "pattern" (wildcards).

If a pattern is omitted, the callback will be called for each File System Node which is added for the build process.

You can add an unlimited number of build middlewares. They will be called in order of registration. Please note, if the first middleware ignores some File Nodes, they will not be passed to the next middleware in chain.

Examples

platformio.ini:

        [env:build_middleware]
        extra_scripts = pre:extra_script.py

extra_script.py:

        Import("env")

        # --- Add custom macros for the ALL files which name contains "http"
        def extra_http_configuration(node):
            """
            `node.name` - a name of File System Node
            `node.get_path()` - a relative path
            `node.get_abspath()` - an absolute path
            """

            # do not modify node if file name does not contain "http"
            if "http" not in node.name:
                return node

            # now, we can override ANY SCons variables (CPPDEFINES, CCFLAGS, etc.,) for the specific file
            # pass SCons variables as extra keyword arguments to `env.Object()` function
            # p.s: run `pio run -t envdump` to see a list with SCons variables

            return env.Object(
                node,
                CPPDEFINES=env["CPPDEFINES"]
                + [("HTTP_HOST", "device.local"), ("HTTP_PORT", 8080)],
                CCFLAGS=env["CCFLAGS"] + ["-fno-builtin-printf"]
            )

        env.AddBuildMiddleware(extra_http_configuration)

        # --- Replace some file from a build process with another

        def replace_node_with_another(node):
            return env.File("path/to/patched/RtosTimer.cpp")

        env.AddBuildMiddleware(
            replace_node_with_another,
            "framework-mbed/rtos/RtosTimer.cpp"
        )

        # --- Skip assembly *.S files from build process

        def skip_asm_from_build(node):
            # to ignore file from a build process, just return None
            return None

        env.AddBuildMiddleware(skip_asm_from_build, "*.S")

  Custom target

There is a list with built-in targets which could be processed using platformio run --target option. You can create unlimited number of the own targets and declare custom handlers for them.

We will use SCons's Alias(alias, [targets, [action]]) , env.Alias(alias, [targets, [action]]) function to declare a custom target/alias.

  Command shortcut

Create a custom node target (alias) which will print a NodeJS version

platformio.ini:

        [env:myenv]
        platform = ...
        ...
        extra_scripts = extra_script.py

extra_script.py:

        Import("env")
        env.AlwaysBuild(env.Alias("node", None, ["node --version"]))

Now, run pio run -t node.

  Dependent target

Sometimes you need to run a command which depends on another target (file, firmware, etc). Let's create an ota target and declare command which will depend on a project firmware. If a build process successes, declared command will be run.

platformio.ini:

        [env:myenv]
        platform = ...
        ...
        extra_scripts = extra_script.py

extra_script.py:

        Import("env")
        env.AlwaysBuild(env.Alias("ota",
            "$BUILD_DIR/${PROGNAME}.elf",
            ["ota_script --firmware-path $SOURCE"]))

Now, run pio run -t ota.

  Target with options

Let's create a simple ping target and process it with platformio run --target ping command:

platformio.ini:

        [env:env_custom_target]
        platform = ...
        ...
        extra_scripts = extra_script.py
        custom_ping_host = google.com

extra_script.py:

        try:
            import configparser
        except ImportError:
            import ConfigParser as configparser

        Import("env")

        config = configparser.ConfigParser()
        config.read("platformio.ini")
        host = config.get("env_custom_target", "custom_ping_host")

        def mytarget_callback(*args, **kwargs):
            print("Hello PlatformIO!")
            env.Execute("ping " + host)

        env.AlwaysBuild(env.Alias("ping", None, mytarget_callback))

  Examples

The best examples are PlatformIO development platforms. Please check builder folder for the main and framework scripts.

  Custom options in platformio.ini

platformio.ini:

        [env:my_env]
        platform = ...
        extra_scripts = extra_script.py

        custom_option1 = value1
        custom_option2 = value2

extra_script.py:

        try:
            import configparser
        except ImportError:
            import ConfigParser as configparser

        config = configparser.ConfigParser()
        config.read("platformio.ini")

        value1 = config.get("my_env", "custom_option1")
        value2 = config.get("my_env", "custom_option2")

  Split C/C++ build flags

platformio.ini:

        [env:my_env]
        platform = ...
        extra_scripts = extra_script.py

extra_script.py (place it near platformio.ini):

        Import("env")

        # General options that are passed to the C and C++ compilers
        env.Append(CCFLAGS=["flag1", "flag2"])

        # General options that are passed to the C compiler (C only; not C++).
        env.Append(CFLAGS=["flag1", "flag2"])

        # General options that are passed to the C++ compiler
        env.Append(CXXFLAGS=["flag1", "flag2"])

  Extra Linker Flags without -Wl, prefix

Sometimes you need to pass extra flags to GCC linker without Wl,. You could use projectconf_build_flags option but it will not work. PlatformIO will not parse these flags to LINKFLAGS scope. In this case, simple extra script will help:

platformio.ini:

        [env:env_extra_link_flags]
        platform = windows_x86
        extra_scripts = extra_script.py

extra_script.py (place it near platformio.ini):

        Import("env")

        #
        # Dump build environment (for debug)
        # print(env.Dump())
        #

        env.Append(
          LINKFLAGS=[
              "-static",
              "-static-libgcc",
              "-static-libstdc++"
          ]
        )

  Custom upload tool

You can override default upload command of development platform using extra script. There is the common environment variable UPLOADCMD which PlatformIO Build System will handle when you platformio run -t upload.

Please note that some development platforms can have more than 1 upload command. For example, platform_atmelavr has UPLOADHEXCMD (firmware) and UPLOADEEPCMD (EEPROM data).

See examples below:

Template

platformio.ini:

        [env:my_custom_upload_tool]
        platform = ...
        ; place it into the root of project or use full path
        extra_scripts = extra_script.py
        upload_protocol = custom
        ; each flag in a new line
        upload_flags =
          -arg1
          -arg2
          -argN

extra_script.py (place it near platformio.ini):

        Import("env")

        # please keep $SOURCE variable, it will be replaced with a path to firmware

        # Generic
        env.Replace(
            UPLOADER="executable or path to executable",
            UPLOADCMD="$UPLOADER $UPLOADERFLAGS $SOURCE"
        )

        # In-line command with arguments
        env.Replace(
            UPLOADCMD="executable -arg1 -arg2 $SOURCE"
        )

        # Python callback
        def on_upload(source, target, env):
            print(source, target)
            firmware_path = str(source[0])
            # do something
            env.Execute("executable arg1 arg2")

        env.Replace(UPLOADCMD=on_upload)

Custom openOCD command

platformio.ini:

        [env:disco_f407vg]
        platform = ststm32
        board = disco_f407vg
        framework = mbed

        extra_scripts = extra_script.py
        upload_protocol = custom
        ; each flag in a new line
        upload_flags =
            -f
            scripts/interface/stlink.cfg
            -f
            scripts/target/stm32f4x.cfg

extra_script.py (place it near platformio.ini):

        Import("env")

        platform = env.PioPlatform()

        env.Prepend(
            UPLOADERFLAGS=["-s", platform.get_package_dir("tool-openocd") or ""]
        )
        env.Append(
            UPLOADERFLAGS=["-c", "program {{$SOURCE}} verify reset; shutdown"]
        )
        env.Replace(
            UPLOADER="openocd",
            UPLOADCMD="$UPLOADER $UPLOADERFLAGS"
        )

  Upload to Cloud (OTA)

See project example https://github.com/platformio/bintray-secure-ota

  Custom firmware/program name

Sometimes is useful to have a different firmware/program name in projectconf_pio_build_dir.

platformio.ini:

        [env:env_custom_prog_name]
        platform = espressif8266
        board = nodemcuv2
        framework = arduino
        build_flags = -D VERSION=13
        extra_scripts = pre:extra_script.py

extra_script.py:

        Import("env")

        my_flags = env.ParseFlags(env['BUILD_FLAGS'])
        defines = {k: v for (k, v) in my_flags.get("CPPDEFINES")}
        # print(defines)

        env.Replace(PROGNAME="firmware_%s" % defines.get("VERSION"))

  Override package files

PlatformIO Package Manager automatically installs pre-built packages (frameworks, toolchains, libraries) required by development platforms and build process. Sometimes you need to override original files with own versions: configure custom GPIO, do changes to built-in LD scripts, or some patching to installed library dependency.

The simplest way is using Diff and Patch technique. How does it work?

    1.  Modify original source files

    2.  Generate patches

    3.  Apply patches via PlatformIO extra script before build process.

Example

We need to patch the original standard/pins_arduino.h variant from framework_arduino framework and add extra macro #define PIN_A8 (99). Let's duplicate standard/pins_arduino.h and apply changes. Generate a patch file and place it into patches folder located in the root of a project:

        diff ~/.platformio/packages/framework-arduinoavr/variants/standard/pins_arduino.h /tmp/pins_arduino_modified.h > /path/to/platformio/project/patches/1-framework-arduinoavr-add-pin-a8.patch

The result of 1-framework-arduinoavr-add-pin-a8.patch:

        63a64
        > #define PIN_A8   (99)
        112c113
        < // 14-21 PA0-PA7 works
        ---
        > // 14-21 PA0-PA7 works

Using extra scripting we can apply patching before a build process. The final result of projectconf and "PRE" extra script named apply_patches.py:

platformio.ini:

        [env:uno]
        platform = atmelavr
        board = uno
        framework = arduino
        extra_scripts = pre:apply_patches.py

apply_patches.py:

        from os.path import join, isfile

        Import("env")

        FRAMEWORK_DIR = env.PioPlatform().get_package_dir("framework-arduinoavr")
        patchflag_path = join(FRAMEWORK_DIR, ".patching-done")

        # patch file only if we didn't do it before
        if not isfile(join(FRAMEWORK_DIR, ".patching-done")):
            original_file = join(FRAMEWORK_DIR, "variants", "standard", "pins_arduino.h")
            patched_file = join("patches", "1-framework-arduinoavr-add-pin-a8.patch")

            assert isfile(original_file) and isfile(patched_file)

            env.Execute("patch %s %s" % (original_file, patched_file))
            # env.Execute("touch " + patchflag_path)

            def _touch(path):
                with open(path, "w") as fp:
                    fp.write("")

            env.Execute(lambda *args, **kwargs: _touch(patchflag_path))

Please note that this example will work on a system where a patch tool is available. For Windows OS, you can use patch and diff tools provided by Git client utility (located inside installation directory).

If you need to make it more independent to the operating system, please replace the patch with a multi-platform python-patch script.

  Override Board Configuration

PlatformIO allows one to override some basic options (integer or string values) using projectconf_board_more_options in projectconf. Sometimes you need to do complex changes to default board manifest and extra PRE scripting work well here. See example below how to override default hardware VID/PIDs.

WARNING:
        Due to a technical limitation these board changes will not work for cmd_device_monitor command.

platformio.ini:

        [env:uno]
        platform = atmelavr
        board = uno
        framework = arduino
        extra_scripts = pre:custon_hwids.py

custon_hwids.py:

        Import("env")

        board_config = env.BoardConfig()
        # should be array of VID:PID pairs
        board_config.update("build.hwids", [
          ["0x2341", "0x0243"],  # 1st pair
          ["0x2A03", "0x0043"].  # 2nd pair, etc.
        ])

  Custom debug flags

PlatformIO removes all debug/optimization flags before a debug session or when build_configurations is set to debug and overrides them with -0g -g2 -ggdb2 for ASFLAGS, CCFLAGS, and LINKFLAGS build scopes.

An extra script allows us to override PlatformIO's default behavior and declare custom flags. See example below where we override -Og with -O0:

platformio.ini:

        [env:teensy31]
        platform = teensy
        board = teensy31
        framework = arduino
        extra_scripts = custom_debug_flags.py

custom_debug_flags.py:

        Import("env")

        if env.GetBuildType() == "debug":
           for scope in ("ASFLAGS", "CCFLAGS", "LINKFLAGS"):
              for i, flag in enumerate(env[scope]):
                 if flag == "-Og":
                    env[scope][i] = "-O0"

  Library Manager

PlatformIO Library Manager is a tool for managing libraries of PlatformIO Registry and VCS repositories (Git, Hg, SVN). It makes it exceedingly simple to find, install and keep libraries up-to-date. PlatformIO Library Manager supports Semantic Versioning and its rules.

----

pioide has built-in piohome with a modern GUI which allows:

    •   Search for new libraries in PlatformIO Registry

    •   "1-click" library installation, per-project libraries, extra storages

    •   List installed libraries in multiple storages

    •   List built-in libraries (by frameworks)

    •   Updates for installed libraries

    •   Multiple examples, trending libraries, and more.
[image]

  Quick Start

PlatformIO Library Manager is a tool for managing libraries of PlatformIO Registry and VCS repositories (Git, Hg, SVN). It makes it exceedingly simple to find, install and keep libraries up-to-date. PlatformIO Library Manager supports Semantic Versioning and its rules.

There are 3 options how to find/manage libraries:

    •   piohome

    •   Web Library Search

    •   PIO Core Command Line Interface

You can manage different library storages using platformio lib --global or platformio lib --storage-dir options. If you change current working directory in terminal to project folder, then platformio lib command will manage automatically dependency storage in projectconf_pio_libdeps_dir.

  Project dependencies

PlatformIO Library Manager allows one to specify project dependencies (projectconf_lib_deps) that will be installed automatically per project before environment processing. You do not need to install libraries manually. The only one simple step is to define dependencies in projectconf. You can use library ID, Name or even repository URL. For example,

        [env:myenv]
        platform = ...
        framework = ...
        board = ...
        lib_deps =
          13
          PubSubClient
          ArduinoJson@~5.6,!=5.4
          https://github.com/gioblu/PJON.git#v2.0
          https://github.com/me-no-dev/ESPAsyncTCP.git
          https://github.com/adafruit/DHT-sensor-library/archive/master.zip

Please follow to cmd_lib_install for detailed documentation about possible values.

WARNING:
        If some libraries are not visible in pioide and Code Completion or Code Linting does not work properly, please perform

            •   Atom: "Menu: PlatformIO > Rebuild C/C++ Project Index (Autocomplete, Linter)"

            •   VSCode: "Menu: View > Command Palette... > PlatformIO: Rebuild C/C++ Project Index"

  PlatformIO IDE

pioide has built-in piohome with a modern GUI which allows:

    •   Search for new libraries in PlatformIO Registry

    •   "1-click" library installation, per-project libraries, extra storages

    •   List installed libraries in multiple storages

    •   List built-in libraries (by frameworks)

    •   Updates for installed libraries

    •   Multiple examples, trending libraries, and more.
[image]

  PlatformIO Core
[image]

  CLI Guide

  Library Dependency Finder (LDF)

Library Dependency Finder is a core part of PlatformIO Build System that operates with the C/C++ source files and looks for #include ... directives to know what header directories to include for the compiler.

In spite of the fact that Library Dependency Finder is written in pure Python, it evaluates C/C++ Preprocessor conditional syntax (#ifdef, if, defined, else, and elif) without calling gcc -E. This approach allows to significantly reduce the total compilation time. See Dependency Finder Mode for more details.

  Contents

    •   Library Dependency Finder (LDF)

        •   Configuration

        •   Storage

        •   Dependency Finder Mode

        •   Compatibility Mode

        •   C/C++ Preprocessor conditional syntax

  Configuration

Library Dependency Finder can be configured from projectconf:

  Storage

There are different storages where Library Dependency Finder looks for libraries. These storages (folders) have priority and LDF operates in the next order:

    1.  projectconf_lib_extra_dirs - extra storages per build environment

    2.  projectconf_pio_lib_dir - own/private library storage per project

    3.  projectconf_pio_libdeps_dir - project dependency storage used by librarymanager

    4.  "projectconf_pio_core_dir/lib" - global storage per all projects.

    5.  Library storages built into frameworks, SDKs.

  Dependency Finder Mode

Library Dependency Finder starts work from analyzing source files of the project (projectconf_pio_src_dir) and can work in the next modes:

    off "Manual mode", does not process source files of a project and dependencies. Builds only the libraries that are specified in manifests (library_config, module.json) or using projectconf_lib_deps option.

    chain
        [DEFAULT] Parses ALL C/C++ source files of the project and follows only by nested includes (#include ..., chain...) from the libraries. It also parses C, CC, CPP files from libraries which have the same name as included header file. Does not evaluate C/C++ Preprocessor conditional syntax.

    deep
        Parses ALL C/C++ source files of the project and parses ALL C/C++ source files of the each found dependency (recursively). Does not evaluate C/C++ Preprocessor conditional syntax.

    chain+
        The same behavior as for the chain but evaluates C/C++ Preprocessor conditional syntax.

    deep+
        The same behavior as for the deep but evaluates C/C++ Preprocessor conditional syntax.

The mode can be changed using projectconf_lib_ldf_mode option in projectconf. Default value is set to chain.

NOTE:
        Usually, when the LDF appears to fail to identify a dependency of a library, it is because the dependency is only referenced from a library source file, and not a library header file (see example below). In this case, it is necessary to either explicitly reference the dependency from the project source or projectconf (projectconf_lib_deps option), or change the LDF mode to "deep" (not generally recommended).

A difference between chain/chain+ and deep/deep+ modes. For example, there are 2 libraries:

    •   Library Foo with files:

        •   Foo/foo.h

        •   Foo/foo.cpp

        •   Foo/extra.cpp

    •   Library Bar with files:

        •   Bar/bar.h

        •   Bar/bar.cpp

    Case 1

        •   lib_ldf_mode = chain

        •   Foo/foo.h depends on the Bar library (contains #include <bar.h>)

        •   #include <foo.h> is located in one of the project source files

    Here the nested includes (project file > foo.h > bar.h) and LDF will find both libraries "Foo`` and Bar.

    Case 2

        •   lib_ldf_mode = chain

        •   Foo/extra.cpp depends on the Bar library (contains #include <bar.h>)

        •   #include <foo.h> is located in one of the project source files

    In this case, LDF will not find the Bar library because it doesn't know about the CPP file (Foo/extra.cpp).

    Case 3

        •   lib_ldf_mode = deep

        •   Foo/extra.cpp depends on Bar library (contains #include <bar.h>)

        •   #include <foo.h> is located in one of the project source files

    Firstly, LDF finds the Foo library, then it parses all sources from the Foo library and finds Foo/extra.cpp that depends on #include <bar.h>. Secondly, it will parse all sources from the Bar library. This operation continues until all dependencies will not be parsed.

  Compatibility Mode

Compatibility mode allows one to control strictness of Library Dependency Finder. If library contains one of manifest file (library_config, library.properties, module.json), then LDF check compatibility of this library with real build environment. Available compatibility modes:

    off Does not check for compatibility (is not recommended)

    soft
        [DEFAULT] Checks for the compatibility with projectconf_env_framework from build environment

    strict
        Checks for the compatibility with projectconf_env_framework and projectconf_env_platform from build environment.

This mode can be changed using projectconf_lib_compat_mode option in projectconf. Default value is set to soft.

  C/C++ Preprocessor conditional syntax

In spite of the fact that Library Dependency Finder is written in pure Python, it evaluates C/C++ Preprocessor conditional syntax (#ifdef, if, defined, else, and elif) without calling gcc -E. For example,

platformio.ini

        [env:myenv]
        lib_ldf_mode = chain+
        build_flags = -D MY_PROJECT_VERSION=13

mylib.h

        #ifdef MY_PROJECT_VERSION
        // include common file for the project
        #include "my_common.h"
        #endif

        #if MY_PROJECT_VERSION < 10
        // this include will be ignored because does not satisfy condition above
        #include "my_old.h"
        #endif

  library.json

library.json is a manifest file of development library. It allows developers to keep project in own structure and define:

    •   location of source code

    •   examples list

    •   compatible frameworks and platforms

    •   library dependencies

    •   advanced build settings

PlatformIO Library Crawler uses library.json manifest to extract source code from developer's location and keeps a cleaned library in own Library Registry.

A data in library.json should be represented in JSON-style via associative array (name/value pairs). An order doesn't matter. The allowable fields (names from pairs) are described below.

  Fields

    •   name

    •   version

    •   description

    •   keywords

    •   authors

    •   repository

    •   license

    •   downloadUrl

    •   homepage

    •   export

        •   include

        •   exclude

    •   frameworks

    •   platforms

    •   dependencies

    •   examples

    •   build

        •   flags

        •   unflags

        •   includeDir

        •   srcDir

        •   srcFilter

        •   extraScript

        •   libArchive

        •   libLDFMode

        •   libCompatMode

    •   Examples

  name

Required | Type: String | Max. Length: 50

A name of the library.

    •   Must be unique.

    •   Should be slug style for simplicity, consistency and compatibility. Example: Arduino-SPI

    •   Title Case, Aa-z, can contain digits and dashes (but not start/end with them).

    •   Consecutive dashes are not allowed.

  version

Required | Type: String | Max. Length: 20

A version of the current library source code. Can contain a-z, digits, dots or dash and should be Semantic Versioning <http://semver.org> compatible.

Example:

        "name": "Bar",
        "version": "1.0.0",
        "repository":
        {
            "type": "git",
            "url": "https://github.com/foo/bar.git"
        }

  description

Required | Type: String | Max. Length: 255

The field helps users to identify and search for your library with a brief description. Describe the hardware devices (sensors, boards and etc.) which are suitable with it.

  keywords

Required | Type: String | Max. Length: 255

Used for search by keyword. Helps to make your library easier to discover without people needing to know its name.

The keyword should be lowercased, can contain a-z, digits and dash (but not start/end with them). A list from the keywords can be specified with separator ,

  authors

Required if repository field is not defined | Type: Object or Array

An author contact information

    •   name Full name (Required)

    •   email

    •   url An author's contact page

    •   maintainer Specify "maintainer" status

Examples:

        "authors":
        {
            "name": "John Smith",
            "email": "me@john-smith.com",
            "url": "http://www.john-smith/contact"
        }

        ...

        "authors":
        [
            {
                "name": "John Smith",
                "email": "me@john-smith.com",
                "url": "http://www.john-smith/contact"
            },
            {
                "name": "Andrew Smith",
                "email": "me@andrew-smith.com",
                "url": "http://www.andrew-smith/contact",
                "maintainer": true
            }
        ]

NOTE:
        You can omit authors field and define repository field. Only GitHub-based repository is supported now. In this case PlatformIO Library Registry Crawler will use information from GitHub API Users.

  repository

Required if downloadUrl field is not defined | Type: Object

The repository in which the source code can be found. The field consists of the next items:

    •   type the only "git", "hg" or "svn" are supported

    •   url

    •   branch if is not specified, default branch will be used. This field will be ignored if tag/release exists with the value of version.

Example:

        "repository":
        {
            "type": "git",
            "url": "https://github.com/foo/bar.git"
        }

  license

Optional | Type: String

A license of the library. You can check the full list of SPDX license IDs. Ideally you should pick one that is OSI approved.

        "license": "Apache-2.0"

  downloadUrl

Required if repository field is not defined | Type: String

It is the HTTP URL to the archived source code of library. It should end with the type of archive (.zip or .tar.gz).

NOTE:
        downloadUrl has higher priority than repository.

Example with detached release/tag on GitHub:

        "version": "1.0.0",
        "downloadUrl": "https://github.com/foo/bar/archive/v1.0.0.tar.gz",
        "include": "bar-1.0.0"

See more library.json library_creating_examples.

  homepage

Optional | Type: String | Max. Length: 255

Home page of library (if is different from repository url).

  export

Optional | Type: Object

Explain PlatformIO Library Crawler which content from the repository/archive should be exported as "source code" of the library. This option is useful if need to exclude extra data (test code, docs, images, PDFs, etc). It allows one to reduce size of the final archive.

Possible options:

    •   include

    •   exclude

  include

Optional | Type: String or Array | Glob Pattern

If include field is a type of String, then PlatformIO Library Registry Crawler will recognize it like a "relative path inside repository/archive to library source code". See example below where the only source code from the relative directory LibrarySourceCodeHere will be included.

        "include": "some/child/dir/LibrarySourceCodeHere"

If include field is a type of Array, then PlatformIO Library Registry Crawler will include only directories/files which match with include patterns.

Example:

        "export": {
            "include":
            [
                "dir/*.[ch]pp",
                "dir/examples/*",
                "*/*/*.h"
            ]
        }

Pattern Meaning
Pattern | Meaning
* | matches everything
? | matches any single character
[seq] | matches any character in seq
[!seq] | matches any character not in seq

See more library.json library_creating_examples.

  exclude

Optional | Type: String or Array | Glob Pattern

Exclude the directories and files which match with exclude patterns.

  frameworks

Optional | Type: String or Array

A list with compatible frameworks. The available framework types are defined in the frameworks section.

If the library is compatible with the all frameworks, then you can use * symbol:

        "frameworks": "*"

  platforms

Optional | Type: String or Array

A list with compatible platforms. The available platform types are defined in platforms section.

If the library is compatible with the all platforms, then you can use * symbol:

        "platforms": "*"

  dependencies

Optional | Type: Array or Object

A list of dependent libraries. They will be installed automatically with cmd_lib_install command.

Allowed requirements for dependent library:

    •   name | Type: String

    •   version | Type: String

    •   authors | Type: String or Array

    •   frameworks | Type: String or Array

    •   platforms | Type: String or Array

The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:

    •   1.2.3 - an exact version number. Use only this exact version

    •   ^1.2.3 - any compatible version (exact version for 1.x.x versions

    •   ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version

    •   >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible

    •   >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0

The rest possible values including VCS repository URLs are documented in cmd_lib_install command.

Example:

        "dependencies":
        [
            {
                "name": "Library-Foo",
                "authors":
                [
                    "Jhon Smith",
                    "Andrew Smith"
                ]
            },
            {
                "name": "Library-Bar",
                "version": "~1.2.3"
            },
            {
                "name": "lib-from-repo",
                "version": "https://github.com/user/package.git#1.2.3"
            }
        ]

A short definition of dependencies is allowed:

        "dependencies": {
            "mylib": "1.2.3",
            "lib-from-repo": "githubuser/package"
        }

See more library.json library_creating_examples.

  examples

Optional | Type: String or Array | Glob Pattern

A list of example patterns. This field is predefined with default value:

        "examples": [
            "[Ee]xamples/*.c",
            "[Ee]xamples/*.cpp",
            "[Ee]xamples/*.ino",
            "[Ee]xamples/*.pde",
            "[Ee]xamples/*/*.c",
            "[Ee]xamples/*/*.cpp",
            "[Ee]xamples/*/*.ino",
            "[Ee]xamples/*/*.pde",
            "[Ee]xamples/*/*/*.c",
            "[Ee]xamples/*/*/*.cpp",
            "[Ee]xamples/*/*/*.ino",
            "[Ee]xamples/*/*/*.pde"
        ]

  build

Optional | Type: Object

Specify advanced settings, options and flags for the build system. Possible options:

    •   flags

    •   unflags

    •   includeDir

    •   srcDir

    •   srcFilter

    •   extraScript

    •   libArchive

    •   libLDFMode

    •   libCompatMode

  flags

Optional | Type: String or Array

Extra flags to control preprocessing, compilation, assembly and linking processes. More details projectconf_build_flags.

  unflags

Optional | Type: String or Array

Remove base/initial flags which were set by development platform. More details projectconf_build_unflags.

  includeDir

Optional | Type: String

New in version 4.0.

Custom location of library header files. A default value is include and means that folder is located in the root of a library.

  srcDir

Optional | Type: String

New in version 4.0.

Custom location of library source code. A default value is src and means that folder is located in the root of a library.

  srcFilter

Optional | Type: String or Array

Specify which source files should be included/excluded from build process. The path in filter should be relative from a root of library.

See syntax in projectconf_src_filter.

Please note that you can generate source filter "on-the-fly" using extraScript (see below)

  extraScript

Optional | Type: String

Launch extra script before build process. More details projectconf_extra_scripts.

Example (HAL-based library)

This example demonstrates how to build HAL-dependent source files and exclude other source files from a build process.

Project structure

        ├── lib
        │   ├── README
        │   └── SomeLib
        │       ├── extra_script.py
        │       ├── hal
        │       │   ├── bar
        │       │   │   ├── hal.c
        │       │   │   └── hal.h
        │       │   ├── foo
        │       │       ├── hal.c
        │       │       └── hal.h
        │       ├── library.json
        │       ├── SomeLib.c
        │       └── SomeLib.h
        ├── platformio.ini
        └── src
            └── test.c

platformio.ini

        [env:foo]
        platform = native
        build_flags = -DHAL=foo

        [env:bar]
        platform = native
        build_flags = -DHAL=bar

library.json

        {
            "name": "SomeLib",
            "version": "0.0.0",
            "build": {
                "extraScript": "extra_script.py"
            }
        }

extra_script.py

        Import('env')
        from os.path import join, realpath

        # private library flags
        for item in env.get("CPPDEFINES", []):
            if isinstance(item, tuple) and item[0] == "HAL":
                env.Append(CPPPATH=[realpath(join("hal", item[1]))])
                env.Replace(SRC_FILTER=["+<*>", "-<hal>", "+<%s>" % join("hal", item[1])])
                break

        # pass flags to a global build environment (for all libraries, etc)
        global_env = DefaultEnvironment()
        global_env.Append(
            CPPDEFINES=[
                ("MQTT_MAX_PACKET_SIZE", 512),
                "ARDUINOJSON_ENABLE_STD_STRING",
                ("BUFFER_LENGTH", 32)
            ]
        )

  libArchive

Optional | Type: Boolean

Create an archive (*.a, static library) from the object files and link it into a firmware (program). This is default behavior of PlatformIO Build System ("libArchive": true).

Setting "libArchive": false will instruct PIO Build System to link object files directly (in-line). This could be useful if you need to override weak symbols defined in framework or other libraries.

You can disable library archiving globally using projectconf_lib_archive option in projectconf.

  libLDFMode

Optional | Type: String

Specify Library Dependency Finder Mode. See ldf_mode for details.

  libCompatMode

Optional | Type: String

Specify Library Compatibility Mode. See ldf_compat_mode for details.

  Examples

    1.  Custom macros/defines

        "build": {
            "flags": "-D MYLIB_REV=1.2.3 -DRELEASE"
        }

    2.  Extra includes for C preprocessor

        "build": {
            "flags": [
                "-I inc",
                "-I inc/target_x13"
            ]
        }

    3.  Force to use C99 standard instead of C11

        "build": {
            "unflags": "-std=gnu++11",
            "flags": "-std=c99"
        }

    4.  Build source files (c, cpp, h) at the top level of the library

        "build": {
            "srcFilter": [
                "+<*.c>",
                "+<*.cpp>",
                "+<*.h>"
            ]
        }

    5.  Extend PlatformIO Build System with own extra script

        "build": {
            "extraScript": "generate_headers.py"
        }

generate_headers.py

        Import('env')
        # print(env.Dump())
        env.Append(
            CPPDEFINES=["HELLO=WORLD", "TAG=1.2.3", "DEBUG"],
            CPPPATH=["inc", "inc/devices"]
        )

        # some python code that generates header files "on-the-fly"

  Creating Library

PlatformIO librarymanager doesn't have any requirements to a library source code structure. The only one requirement is library's manifest file - library_config, library.properties or module.json. It can be located inside your library or in the another location where PlatformIO Library Registry Crawler will have HTTP access.

Updates to existing libraries are done every 24 hours. In case a more urgent update is required, you can post a request on PlatformIO community.

  Contents

    •   Source Code Location

        •   At GitHub

        •   Under VCS (SVN/GIT)

        •   Self-hosted

    •   Register

    •   Examples

  Source Code Location

There are a several ways how to share your library with the whole world (see examples).

You can hold a lot of libraries (split into separated folders) inside one of the repository/archive. In this case, you need to specify include option of libjson_export field to relative path to your library's source code.

  At GitHub

Recommended

If a library source code is located at GitHub, then you need to specify only these fields in the library_config:

    •   libjson_name

    •   libjson_version (is not required, but highly recommended for new librarymanager)

    •   libjson_keywords

    •   libjson_description

    •   libjson_repository

PlatformIO Library Registry Crawler will populate the rest fields, like libjson_authors with an actual information from GitHub.

Example, DallasTemperature:

        {
          "name": "DallasTemperature",
          "keywords": "onewire, 1-wire, bus, sensor, temperature",
          "description": "Arduino Library for Dallas Temperature ICs (DS18B20, DS18S20, DS1822, DS1820)",
          "repository":
          {
            "type": "git",
            "url": "https://github.com/milesburton/Arduino-Temperature-Control-Library.git"
          },
          "authors":
          [
            {
              "name": "Miles Burton",
              "email": "miles@mnetcs.com",
              "url": "http://www.milesburton.com",
              "maintainer": true
            },
            {
              "name": "Tim Newsome",
              "email": "nuisance@casualhacker.net"
            },
            {
              "name": "Guil Barros",
              "email": "gfbarros@bappos.com"
            },
            {
              "name": "Rob Tillaart",
              "email": "rob.tillaart@gmail.com"
            }
          ],
          "dependencies": [
            {
              "name": "OneWire",
              "authors": "Paul Stoffregen",
              "frameworks": "arduino"
            }
          ],
          "version": "3.7.7",
          "frameworks": "arduino",
          "platforms": "*"
        }

  Under VCS (SVN/GIT)

PlatformIO Library Registry Crawler can operate with a library source code that is under VCS control. The list of required fields in the library_config will look like:

    •   libjson_name

    •   libjson_keywords

    •   libjson_description

    •   libjson_authors

    •   libjson_repository

Example:

        {
            "name": "XBee",
            "keywords": "xbee, protocol, radio",
            "description": "Arduino library for communicating with XBees in API mode",
            "authors":
            {
                "name": "Andrew Rapp",
                "email": "andrew.rapp@gmail.com",
                "url": "https://code.google.com/u/andrew.rapp@gmail.com/"
            },
            "repository":
            {
                "type": "git",
                "url": "https://code.google.com/p/xbee-arduino/"
            },
            "frameworks": "arduino",
            "platforms": "atmelavr"
        }

  Self-hosted

You can manually archive (Zip, Tar.Gz) your library source code and host it in the Internet. Then you should specify the additional fields, like libjson_version and libjson_downloadurl. The final list of required fields in the library_config will look like:

    •   libjson_name

    •   libjson_keywords

    •   libjson_description

    •   libjson_authors

    •   libjson_version

    •   libjson_downloadurl

        {
            "name": "OneWire",
            "keywords": "onewire, 1-wire, bus, sensor, temperature, ibutton",
            "description": "Control devices (from Dallas Semiconductor) that use the One Wire protocol (DS18S20, DS18B20, DS2408 and etc)",
            "authors":
            {
                "name": "Paul Stoffregen",
                "url": "http://www.pjrc.com/teensy/td_libs_OneWire.html"
            },
            "version": "2.2",
            "downloadUrl": "http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip",
            "export": {
                "include": "OneWire"
            },
            "frameworks": "arduino",
            "platforms": "atmelavr"
        }

  Register

The registration requirements:

    •   A library must adhere to the library manifest specification - library_config, library.properties or module.json.

    •   There must be public HTTP access to the library manifest file.

Now, you can register your library and allow others to install it.

  Examples

Command:

        $ platformio lib register http://my.example.com/library.json
        $ platformio lib register http://my.example.com/library.properties
        $ platformio lib register http://my.example.com/module.json

    •   GitHub + detached release

    •   Dependencies by author and framework

    •   Multiple libraries in the one repository

  Development Platforms

The PlatformIO ecosystem has a decentralized architecture, allowing development for a range of development platforms. A development platform (or just "platform" for short) is usually a particular microcontroller or processor architecture that PlatformIO projects can be compiled to run on. (A few platforms, for example Teensy, use different target architectures for different boards.)

Each of the three supported host systems Mac OS X, Linux and Windows support compiling for all platforms listed below. Some platforms are also supported under ARM Linux hosts such as Raspberry Pi. For each development platform, PlatformIO defines:

    •   The PlatformIO Build System build scripts for the supported frameworks and SDKs

    •   Pre-configured presets for embedded circuit boards

    •   Pre-compiled toolchains and related tools for the architechture(s)

Each project must specify the platform name using the projectconf_env_platform option in projectconf. A specific platform version can optionally be specified as well. As embedded boards are equipped with a particular microcontroller, each embedded board specifies what development platform it uses and this can not be changed.

If a new board uses an architecture not in this list, a custom development platform can be created; see platform_creating.

  Embedded

  Aceinna IMU

    Configuration
        projectconf_env_platform = aceinna_imu

Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Boards

  Examples

Examples are listed from Aceinna IMU development platform repository:

    •   OpenIMU300RI

    •   OpenIMU330BI

    •   OpenRTK330LI

    •   OpenIMU300ZI

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_aceinna_imu_LowCostRTK | STM32F469NIH6 | 180MHz | 1MB | 384KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_aceinna_imu_OpenIMU300 | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU300ZA | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU330 | STM32L431CB | 80MHz | 128KB | 64KB
board_aceinna_imu_OpenRTK | STM32F469IG | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenRTK330L | STM32F469IG | 180MHz | 1MB | 384KB

  Stable and upstream versions

You can switch between stable releases of Aceinna IMU development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = aceinna_imu
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = aceinna_imu@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/aceinna/platform-aceinna_imu.git
        board = ...

  Packages
Name | Description
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-openocd | OpenOCD
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Aceinna
Name | Debug | MCU | Frequency | Flash | RAM
board_aceinna_imu_LowCostRTK | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenIMU300 | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU300ZA | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU330 | External | STM32L431CB | 80MHz | 128KB | 64KB
board_aceinna_imu_OpenRTK | External | STM32F469IG | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenRTK330L | External | STM32F469IG | 180MHz | 1MB | 384KB

  Atmel AVR

    Configuration
        projectconf_env_platform = atmelavr

Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming

For more detailed information please visit vendor site.

  Contents

    •   Configuration

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Configuration

    •   Upload using Programmer

    •   Upload EEPROM data

    •   Fuses programming

        •   Custom fuses

        •   MiniCore, MegaCore and MightyCore

    •   Bootloader programming

        •   Custom bootloader

  Upload using Programmer

To upload firmware using programmer you need to use program target instead of upload for platformio run --target command. For example, platformio run -t program.

WARNING:
        Upload options like upload_port don't work as expected with platformio run -t program. You need to use upload_flags if you want to specify custom port or speed (see examples below).

NOTE:
        List of avrdude supported programmers are accessible with avrdude -c ?

Configuration for the programmers:

    •   AVR ISP

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = stk500v1
            ; each flag in a new line
            upload_flags =
                -P$UPLOAD_PORT

            ; edit this line with valid upload port
            upload_port = SERIAL_PORT_HERE

    •   AVRISP mkII

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = stk500v2
            ; each flag in a new line
            upload_flags =
                -Pusb

    •   USBtinyISP

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = usbtiny

    •   ArduinoISP

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = arduinoisp

    •   USBasp

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = usbasp
            ; each flag in a new line
            upload_flags =
                -Pusb

    •   Parallel Programmer

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = dapa
            ; each flag in a new line
            upload_flags =
                -F

    •   Arduino as ISP

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = stk500v1
            ; each flag in a new line
            upload_flags =
                -P$UPLOAD_PORT
                -b$UPLOAD_SPEED

            ; edit these lines
            upload_port = SERIAL_PORT_HERE
            upload_speed = 19200

    •   Bus Pirate as ISP

            [env:myenv]
            platform = atmelavr
            framework = arduino
            upload_protocol = buspirate
            ; each flag in a new line
            upload_flags =
                -P$UPLOAD_PORT
                -b$UPLOAD_SPEED

            ; edit these lines
            upload_port = SERIAL_PORT_HERE
            upload_speed = 115200

  Upload EEPROM data

To upload EEPROM data (from EEMEM directive) you need to use uploadeep target instead upload for platformio run --target command. For example, platformio run -t uploadeep.

  Fuses programming

PlatformIO has a built-in target named fuses for setting fuse bits. The default fuse bits are predefined in board manifest file in fuses section. For example, fuses section for Arduino Uno board. To set fuse bits you need to use target fuses with platformio run --target command.

  Custom fuses

Custom fuse values and upload flags (based on upload protocol) should be specified in projectconf. lfuse and hfuse bits are mandatory, efuse is optional and not supported by all targets. An example of setting custom fuses for uno board:

        [env:custom_fuses]
        platform = atmelavr
        framework = arduino
        board = uno
        upload_protocol = stk500v1
        upload_speed = 19200
        board_fuses.lfuse = 0xAA
        board_fuses.hfuse = 0xBB
        board_fuses.efuse = 0xCC
        upload_flags =
            -PCOM15
            -b$UPLOAD_SPEED
            -e

  MiniCore, MegaCore and MightyCore

MiniCore, MegaCore and MightyCore support dynamic fuses generation. Generated values are based on the next parameters:
        Parameter | Description | Default value
        f_cpu | Specifies the clock frequencies in Hz. Used to determine what oscillator option to choose. A capital L has to be added to the end of the frequency number. | 16000000L
        oscillator | Specifies which oscillator is used internal or external. Internal oscillator only works with f_cpu values 8000000L and 1000000L | external
        uart | Specifies the hardware UART port used for serial upload. can be uart0, uart1, uart2 or uart3 depending on the target. Use no_bootloader if you're not using a bootloader for serial upload. | uart0
        bod | Specifies the hardware brown-out detection. Use disabled to disable brown-out detection. | 2.7v
        eesave | Specifies if the EEPROM memory should be retained when uploading using a programmer. Use no to disable | yes

Valid BOD values:
        ATmega8, ATmega8535/16/32, ATmega64/128 | AT90CAN32/64/128 | Other targets
        4.0v | 4.1v | 4.3v
        2.7v | 4.0v | 2.7v
        disabled | 3.9v | 1.8v
         | 3.8v | disabled
         | 2.7v |
         | 2.6v |
         | 2.5v |
         | disabled |

Hardware configuration example:

        [env:custom_fuses]
        platform = atmelavr
        framework = arduino
        board = ATmega32

        board_build.f_cpu = 1000000L
        board_hardware.uart = uart0
        board_hardware.oscillator = internal
        board_hardware.bod = 2.7v
        board_hardware.eesave = no

        upload_protocol = usbasp
        upload_flags =
          -Pusb

  Bootloader programming

PlatformIO has a built-in target named bootloader for flashing bootloaders. The default bootloader image and corresponding fuse bits are predefined in board manifest file in bootloader section, for example, Arduino Uno. To upload bootloader image you need to use target bootloader with platformio run --target command.

  Custom bootloader

Custom bootloader and corresponding fuses should be specified in projectconf. If lock_bits and unlock_bits are not set then the default values 0x0F and 0x3F are used accordingly. An example of setting custom bootloader for uno board:

        [env:uno]
        platform = atmelavr
        framework = arduino
        board = uno

        board_bootloader.file = /path/to/custom/bootloader.hex
        board_bootloader.lfuse = 0xFF
        board_bootloader.hfuse = 0xDE
        board_bootloader.efuse = 0xFD
        board_bootloader.lock_bits = 0x0F
        board_bootloader.unlock_bits = 0x3F

MiniCore, MegaCore and MightyCore have a wide variety of precompiled bootloaders. Bootloader binary is dynamically selected according to the hardware parameters: f_cpu, oscillator, upload_speed:
        Frequency | Oscillator | Upload Speed
        20000000L | external | 115200
        18432000L | external | 115200
        16000000L | external | 115200
        14745600L | external | 115200
        12000000L | external | 57600
        11059200L | external | 115200
        8000000L | external/internal | 57600/38400
        7372800L | external | 115200
        3686400L | external | 115200
        1843200L | external | 115200
        1000000L | external/internal | 9600

  Examples

Examples are listed from Atmel AVR development platform repository:

    •   arduino-blink

    •   simba-blink

    •   native-blink

    •   arduino-own-src_dir

    •   engduino-magnetometer

    •   digitstump-mouse

    •   arduino-internal-libs

    •   arduino-external-libs

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_atmelavr_ATmega128 | ATMEGA128 | 16MHz | 127KB | 4KB
board_atmelavr_ATmega1280 | ATMEGA1280 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1281 | ATMEGA1281 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1284 | ATMEGA1284 | 16MHz | 127KB | 16KB
board_atmelavr_ATmega1284P | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ATmega16 | ATMEGA16 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164P | ATMEGA164P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168 | ATMEGA168 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168P | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega2560 | ATMEGA2560 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega324A | ATMEGA324A | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324P | ATMEGA324P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PA | ATMEGA324PA | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328 | ATMEGA328 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328P | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega48 | ATMEGA48 | 16MHz | 4KB | 512B
board_atmelavr_ATmega644P | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_ATmega8 | ATMEGA8 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88 | ATMEGA88 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88P | ATMEGA88P | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega48P | ATMEGA48P | 16MHz | 4KB | 512B
board_atmelavr_bluefruitmicro | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_circuitplay_classic | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_feather328p | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_feather32u4 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_flora8 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_gemma | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_itsybitsy32u4_3V | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_itsybitsy32u4_5V | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_metro | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_protrinket3ftdi | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket3 | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket5ftdi | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_protrinket5 | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_trinket3 | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_trinket5 | ATTINY85 | 16MHz | 8KB | 512B
board_atmelavr_alorium_hinj | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_sno | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_xlr8 | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_miniwireless | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_arduboy | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_arduboy_devkit | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_btatmega168 | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_btatmega328 | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_diecimilaatmega168 | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_diecimilaatmega328 | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_esplora | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_ethernet | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_fio | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_chiwawa | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardo | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardoeth | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_lilypadatmega168 | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_lilypadatmega328 | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_LilyPadUSB | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_megaADK | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_megaatmega1280 | ATMEGA1280 | 16MHz | 124KB | 8KB
board_atmelavr_megaatmega2560 | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_micro | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_miniatmega168 | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_miniatmega328 | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_atmegangatmega168 | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_atmegangatmega8 | ATMEGA8 | 16MHz | 7KB | 1KB
board_atmelavr_nanoatmega168 | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_nanoatmega328 | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_pro8MHzatmega168 | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_pro16MHzatmega168 | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_pro8MHzatmega328 | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_pro16MHzatmega328 | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_robotControl | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_robotMotor | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_uno | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_yun | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_yunmini | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_zumbt328 | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_raspduino | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_controllino_maxi | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_maxi_automation | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mega | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mini | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_digispark-tiny | ATTINY85 | 16MHz | 5.87KB | 512B
board_atmelavr_engduinov3 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_mayfly | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_fysetc_f6_13 | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_attiny13 | ATTINY13 | 1MHz | 1KB | 64B
board_atmelavr_attiny13a | ATTINY13A | 1MHz | 1KB | 64B
board_atmelavr_attiny2313 | ATTINY2313 | 8MHz | 2KB | 128B
board_atmelavr_attiny24 | ATTINY24 | 8MHz | 2KB | 128B
board_atmelavr_attiny25 | ATTINY25 | 8MHz | 2KB | 128B
board_atmelavr_attiny4313 | ATTINY4313 | 8MHz | 4KB | 256B
board_atmelavr_attiny44 | ATTINY44 | 8MHz | 4KB | 256B
board_atmelavr_attiny45 | ATTINY45 | 8MHz | 4KB | 256B
board_atmelavr_attiny84 | ATTINY84 | 8MHz | 8KB | 512B
board_atmelavr_attiny85 | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_lightblue-bean | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_lightblue-beanplus | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_lightup | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_one | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_smart7688 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_lora32u4II | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_mightyhat | ATMEGA328P | 16MHz | 31KB | 2KB
board_atmelavr_moteino | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_moteino8mhz | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_moteinomega | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_168pa16m | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_168pa8m | ATMEGA168P | 8MHz | 15.50KB | 1KB
board_atmelavr_328p16m | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_328p8m | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_32u416m | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_1284p16m | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_1284p8m | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_644pa16m | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_644pa8m | ATMEGA644P | 8MHz | 63KB | 4KB
board_atmelavr_emonpi | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_prusa_mm_control | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_panStampAVR | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_a-star32U4 | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_prusa_rambo | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_quirkbot | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_blend | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro16 | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro8 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_reprap_rambo | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_sodaq_galora | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_mbili | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_moja | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sodaq_ndogo | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_tatu | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284p | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284_8m | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega644 | ATMEGA644 | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644_8m | ATMEGA644 | 8MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p_8m | ATMEGA644P | 8MHz | 63KB | 4KB
board_atmelavr_seeeduino | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_satmega128rfa1 | ATMEGA128RFA1 | 16MHz | 16KB | 124KB
board_atmelavr_sparkfun_digitalsandbox | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_fiov3 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_makeymakey | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_megapro8MHz | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_sparkfun_megapro16MHz | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_sparkfun_megamini | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_uview | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_promicro8 | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_promicro16 | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_qduinomini | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_redboard | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_serial7seg | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sleepypi | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_whispernode | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_the_things_uno | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_tinyduino | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_tinylily | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_usbasp | ATMEGA8 | 12MHz | 8KB | 1KB
board_atmelavr_wildfirev2 | ATMEGA1284P | 16MHz | 120.00KB | 16KB
board_atmelavr_wildfirev3 | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ftduino | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_bob3 | ATMEGA88 | 8MHz | 8KB | 1KB
board_atmelavr_nibo2 | ATMEGA128 | 16MHz | 128KB | 4KB
board_atmelavr_niboburger | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_niboburger_1284 | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_nibobee | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_nibobee_1284 | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_ardhat | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Stable and upstream versions

You can switch between stable releases of Atmel AVR development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = atmelavr
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = atmelavr@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-atmelavr.git
        board = ...

  Packages
Name | Description
framework-arduino-avr | Arduino Wiring-based Framework (AVR Core)
framework-arduino-avr-attiny | Arduino Wiring-based Framework (ATTiny Core)
framework-arduino-avr-bean | Arduino Wiring-based Framework (Bean Core)
framework-arduino-avr-core13 | Arduino Wiring-based Framework (Core13)
framework-arduino-avr-digistump | Arduino Wiring-based Framework (Digistump Core)
framework-arduino-avr-dwenguino | Arduino Wiring-based Framework (Dwenguino Core)
framework-arduino-avr-majorcore | Arduino Wiring-based Framework (Major Core)
framework-arduino-avr-megacore | Arduino Wiring-based Framework (MegaCore)
framework-arduino-avr-mightycore | Arduino Wiring-based Framework (MightyCore)
framework-arduino-avr-minicore | Arduino Wiring-based Framework (MiniCore)
framework-arduino-avr-nicai | Arduino Wiring-based Framework (Nicai Core)
framework-arduino-avr-panstamp | Arduino Wiring-based Framework (Panstamp Core)
framework-arduino-avr-prusa_rambo | Arduino Wiring-based Framework (Prusa Rambo Core)
framework-simba | Simba Framework
tool-avrdude | AVRDUDE
tool-micronucleus | Micronucleus
tool-simavr | simavr is a lean, mean and hackable AVR simulator
toolchain-atmelavr | avr-gcc

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Adafruit
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_bluefruitmicro | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_circuitplay_classic | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_feather328p | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_feather32u4 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_flora8 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_gemma | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_itsybitsy32u4_3V | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_itsybitsy32u4_5V | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_metro | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_protrinket3ftdi | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket3 | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket5ftdi | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_protrinket5 | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_trinket3 | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_trinket5 | On-board | ATTINY85 | 16MHz | 8KB | 512B

  Alorium Technology
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_alorium_hinj | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_sno | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_xlr8 | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Anarduino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_miniwireless | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Arduboy
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_arduboy | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_arduboy_devkit | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Arduino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_btatmega168 | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_btatmega328 | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_diecimilaatmega168 | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_diecimilaatmega328 | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_esplora | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_ethernet | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_fio | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_chiwawa | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardo | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardoeth | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_lilypadatmega168 | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_lilypadatmega328 | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_LilyPadUSB | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_megaADK | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_megaatmega1280 | On-board | ATMEGA1280 | 16MHz | 124KB | 8KB
board_atmelavr_megaatmega2560 | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_micro | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_miniatmega168 | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_miniatmega328 | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_atmegangatmega168 | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_atmegangatmega8 | On-board | ATMEGA8 | 16MHz | 7KB | 1KB
board_atmelavr_nanoatmega168 | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_nanoatmega328 | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_pro8MHzatmega168 | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_pro16MHzatmega168 | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_pro8MHzatmega328 | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_pro16MHzatmega328 | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_robotControl | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_robotMotor | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_uno | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_yun | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_yunmini | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Atmel
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_attiny13 | On-board | ATTINY13 | 1MHz | 1KB | 64B
board_atmelavr_attiny13a | On-board | ATTINY13A | 1MHz | 1KB | 64B
board_atmelavr_attiny1634 | No | ATTINY1634 | 8MHz | 16KB | 1KB
board_atmelavr_attiny167 | No | ATTINY167 | 8MHz | 16KB | 512B
board_atmelavr_attiny2313 | On-board | ATTINY2313 | 8MHz | 2KB | 128B
board_atmelavr_attiny24 | On-board | ATTINY24 | 8MHz | 2KB | 128B
board_atmelavr_attiny25 | On-board | ATTINY25 | 8MHz | 2KB | 128B
board_atmelavr_attiny261 | No | ATTINY261 | 8MHz | 2KB | 128B
board_atmelavr_attiny4313 | On-board | ATTINY4313 | 8MHz | 4KB | 256B
board_atmelavr_attiny43 | No | ATTINY43U | 8MHz | 4KB | 256B
board_atmelavr_attiny44 | On-board | ATTINY44 | 8MHz | 4KB | 256B
board_atmelavr_attiny441 | No | ATTINY441 | 8MHz | 4KB | 256B
board_atmelavr_attiny45 | On-board | ATTINY45 | 8MHz | 4KB | 256B
board_atmelavr_attiny461 | No | ATTINY461 | 8MHz | 4KB | 256B
board_atmelavr_attiny48 | No | ATTINY48 | 8MHz | 4KB | 256B
board_atmelavr_attiny828 | No | ATTINY828 | 8MHz | 8KB | 512B
board_atmelavr_attiny84 | On-board | ATTINY84 | 8MHz | 8KB | 512B
board_atmelavr_attiny841 | No | ATTINY841 | 8MHz | 8KB | 512B
board_atmelavr_attiny85 | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_attiny861 | No | ATTINY861 | 8MHz | 8KB | 512B
board_atmelavr_attiny87 | No | ATTINY87 | 8MHz | 8KB | 512B
board_atmelavr_attiny88 | No | ATTINY88 | 8MHz | 8KB | 512B
board_atmelavr_usbasp | On-board | ATMEGA8 | 12MHz | 8KB | 1KB

  BQ
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_zumbt328 | On-board | ATMEGA328P | 16MHz | 28KB | 2KB

  BSFrance
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lora32u4II | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  BitWizard
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_raspduino | On-board | ATMEGA328P | 16MHz | 30KB | 2KB

  Controllino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_controllino_maxi | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_maxi_automation | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mega | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mini | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Digistump
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_digispark-pro | No | ATTINY167 | 16MHz | 14.50KB | 512B
board_atmelavr_digispark-pro64 | No | ATTINY167 | 16MHz | 14.50KB | 512B
board_atmelavr_digispark-pro32 | No | ATTINY167 | 16MHz | 14.50KB | 512B
board_atmelavr_digispark-tiny | On-board | ATTINY85 | 16MHz | 5.87KB | 512B

  Dwengo
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_dwenguino | No | AT90USB646 | 16MHz | 60KB | 2KB

  Elektor
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_elektor_uno_r4 | No | ATMEGA328PB | 16MHz | 31.50KB | 2KB

  Engduino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_engduinov3 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  EnviroDIY
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_mayfly | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB

  FYSETC
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_fysetc_f6_13 | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  LightUp
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lightup | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  Linino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_one | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  LowPowerLab
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_mightyhat | On-board | ATMEGA328P | 16MHz | 31KB | 2KB
board_atmelavr_moteino | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_moteino8mhz | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_moteinomega | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB

  MediaTek Labs
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_smart7688 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  Microchip
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_AT90CAN128 | No | AT90CAN128 | 16MHz | 127KB | 4KB
board_atmelavr_AT90CAN32 | No | AT90CAN32 | 16MHz | 31KB | 2KB
board_atmelavr_AT90CAN64 | No | AT90CAN64 | 16MHz | 63KB | 4KB
board_atmelavr_ATmega128 | On-board | ATMEGA128 | 16MHz | 127KB | 4KB
board_atmelavr_ATmega1280 | On-board | ATMEGA1280 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1281 | On-board | ATMEGA1281 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1284 | On-board | ATMEGA1284 | 16MHz | 127KB | 16KB
board_atmelavr_ATmega1284P | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ATmega16 | On-board | ATMEGA16 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega162 | No | ATMEGA162 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164A | No | ATMEGA164A | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164P | On-board | ATMEGA164P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168 | On-board | ATMEGA168 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168P | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168PB | No | ATMEGA168PB | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega2560 | On-board | ATMEGA2560 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega2561 | No | ATMEGA2561 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega32 | No | ATMEGA32 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324A | On-board | ATMEGA324A | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324P | On-board | ATMEGA324P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PA | On-board | ATMEGA324PA | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PB | No | ATMEGA324PB | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328 | On-board | ATMEGA328 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328P | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328PB | No | ATMEGA328PB | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega48 | On-board | ATMEGA48 | 16MHz | 4KB | 512B
board_atmelavr_ATmega48PB | No | ATMEGA48PB | 16MHz | 4KB | 512B
board_atmelavr_ATmega64 | No | ATMEGA64 | 16MHz | 63KB | 4KB
board_atmelavr_ATmega640 | No | ATMEGA640 | 16MHz | 63KB | 8KB
board_atmelavr_ATmega644A | No | ATMEGA644A | 16MHz | 63KB | 4KB
board_atmelavr_ATmega644P | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_ATmega8 | On-board | ATMEGA8 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega8515 | No | ATMEGA8515 | 16MHz | 7.50KB | 512B
board_atmelavr_ATmega8535 | No | ATMEGA8535 | 16MHz | 7.50KB | 512B
board_atmelavr_ATmega88 | On-board | ATMEGA88 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88P | On-board | ATMEGA88P | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88PB | No | ATMEGA88PB | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega48P | On-board | ATMEGA48P | 16MHz | 4KB | 512B
board_atmelavr_at90pwm216 | No | AT90PWM216 | 16MHz | 16KB | 1KB
board_atmelavr_at90pwm316 | No | AT90PWM316 | 16MHz | 16KB | 1KB

  Microduino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_168pa16m | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_168pa8m | On-board | ATMEGA168P | 8MHz | 15.50KB | 1KB
board_atmelavr_328p16m | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_328p8m | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_32u416m | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_1284p16m | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_1284p8m | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_644pa16m | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_644pa8m | On-board | ATMEGA644P | 8MHz | 63KB | 4KB

  OpenEnergyMonitor
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_emonpi | On-board | ATMEGA328P | 16MHz | 30KB | 2KB

  PanStamp
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_panStampAVR | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB

  Pinoccio
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_pinoccio | No | ATMEGA256RFR2 | 16MHz | 248KB | 32KB

  Pololu Corporation
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_a-star32U4 | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Prusa 3D
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_prusa_mm_control | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_prusa_rambo | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  Punch Through
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lightblue-bean | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_lightblue-beanplus | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Quirkbot
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_quirkbot | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  RedBearLab
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_blend | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro16 | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro8 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  RepRap
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_reprap_rambo | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  SODAQ
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sodaq_galora | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_mbili | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_moja | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sodaq_ndogo | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_tatu | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB

  Sanguino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sanguino_atmega1284p | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284_8m | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega644 | On-board | ATMEGA644 | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644_8m | On-board | ATMEGA644 | 8MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p_8m | On-board | ATMEGA644P | 8MHz | 63KB | 4KB

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_seeeduino | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  SparkFun
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sparkfun_satmega128rfa1 | On-board | ATMEGA128RFA1 | 16MHz | 16KB | 124KB
board_atmelavr_sparkfun_digitalsandbox | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_fiov3 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_makeymakey | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_megapro8MHz | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_sparkfun_megapro16MHz | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_sparkfun_megamini | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_uview | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_promicro8 | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_promicro16 | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_qduinomini | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_redboard | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_serial7seg | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB

  SpellFoundry
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sleepypi | On-board | ATMEGA328P | 8MHz | 30KB | 2KB

  The Things Network
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_the_things_uno | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Till Harbaum
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ftduino | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  TinyCircuits
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_tinyduino | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_tinylily | On-board | ATMEGA328P | 8MHz | 30KB | 2KB

  Wicked Device
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_wildfirev2 | On-board | ATMEGA1284P | 16MHz | 120.00KB | 16KB
board_atmelavr_wildfirev3 | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB

  Wisen
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_whispernode | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  makerlab.mx
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_altair | No | ATMEGA256RFR2 | 16MHz | 248KB | 32KB

  nicai-systems
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_bob3 | On-board | ATMEGA88 | 8MHz | 8KB | 1KB
board_atmelavr_nibo2 | On-board | ATMEGA128 | 16MHz | 128KB | 4KB
board_atmelavr_niboburger | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_niboburger_1284 | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_nibobee | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_nibobee_1284 | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB

  ubIQio
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ardhat | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Atmel megaAVR

    Configuration
        projectconf_env_platform = atmelmegaavr

8-bit MCUs Built for Real-time Control with Core Independent Peripherals combining intelligent hardware peripherals along with the low-power capability of an AVR core, megaAVR microcontrollers (MCUs) broaden the effectiveness of your real-time control systems.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Atmel megaAVR development platform repository:

    •   arduino-blink

    •   native-blink

    •   arduino-internal-libs

    •   arduino-external-libs

  Stable and upstream versions

You can switch between stable releases of Atmel megaAVR development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = atmelmegaavr
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = atmelmegaavr@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-atmelmegaavr.git
        board = ...

  Packages
Name | Description
framework-arduino-megaavr | Arduino Wiring-based Framework (megaAVR Core)
tool-avrdude-megaavr | AVRDUDE for megaAVR
toolchain-atmelavr | avr-gcc

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Arduino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelmegaavr_nano_every | No | ATMEGA4809 | 16MHz | 47.50KB | 6KB
board_atmelmegaavr_uno_wifi_rev2 | No | ATMEGA4809 | 16MHz | 47.50KB | 6KB

  Atmel SAM

    Configuration
        projectconf_env_platform = atmelsam

Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Atmel SAM development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   zephyr-blink

    •   zephyr-drivers-i2c-scanner

    •   zephyr-subsys-logger

    •   mbed-events

    •   arduino-blink

    •   simba-blink

    •   arduino-internal-libs

    •   arduino-external-libs

    •   mbed-dsp

    •   arduino-web-thing-led

    •   arduino-briki-internal-libs

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_atmelsam_mzeropro | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zero | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samr21_xpro | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | SAML21J18B | 48MHz | 256KB | 32KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_atmelsam_adafruit_circuitplayground_m0 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_gemma_m0 | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | SAMD51P20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_hallowing | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_itsybitsy_m0 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_metro_m0 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pygamer_advance_m4 | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_trinket_m0 | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_due | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mzeroUSB | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_tian | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_briki_abc_samd21 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_briki_mbcwb_samd21 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_digix | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mkrvidor4000 | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_minitronics20 | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_moteino_zero | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_autonomo | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_one | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sainSmartDue | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_seeeduino_lorawan | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_9dof | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_redboard_turbo | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_tuinozero96 | SAMD21G18A | 48MHz | 256KB | 32KB

  Stable and upstream versions

You can switch between stable releases of Atmel SAM development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = atmelsam
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = atmelsam@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-atmelsam.git
        board = ...

  Packages
Name | Description
framework-arduino-mbcwb | Fork of Arduino framework for briki MBC-WB boards
framework-arduino-sam | Arduino Wiring-based Framework (SAM Core)
framework-arduino-samd | Arduino Wiring-based Framework (SAMD Core)
framework-arduino-samd-adafruit | Arduino Wiring-based Framework (Adafruit SAMD Core)
framework-arduino-samd-moteino | Arduino Wiring-based Framework (Moteino SAMD Core)
framework-arduino-samd-reprap | Arduino Wiring-based Framework (RepRap SAMD Core)
framework-arduino-samd-sodaq | Arduino Wiring-based Framework (SODAQ SAMD Core)
framework-arduino-samd-sparkfun | Arduino Wiring-based Framework (SparkFun SAMD Core)
framework-arduino-samd-tuino0 | Arduino Wiring-based Framework (Tuino0 SAMD Core)
framework-cmsis | Vendor-independent hardware abstraction layer for the Cortex-M processor series
framework-cmsis-atmel | Atmel Smart ARM devices CMSIS module
framework-mbed | mbed Framework
framework-simba | Simba Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-atmel | Atmel SAM HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-avrdude | AVRDUDE
tool-bossac | BOSSA CLI
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-mbctool | MBC-WB Uploader Application
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd | OpenOCD
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Adafruit
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_adafruit_circuitplayground_m0 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_gemma_m0 | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | External | SAMD51P20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_hallowing | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | External | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_itsybitsy_m0 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | External | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | External | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_metro_m0 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pygamer_advance_m4 | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_trinket_m0 | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | External | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | External | SAMD51J19A | 120MHz | 512KB | 192KB

  Arduino
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_due | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mzeroUSB | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeropro | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_tian | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zero | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrvidor4000 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | External | SAMD21G18A | 48MHz | 256KB | 32KB

  Atmel
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_samr21_xpro | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | On-board | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | On-board | SAML21J18B | 48MHz | 256KB | 32KB

  Digistump
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_digix | External | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Gimasi
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_tuinozero96 | External | SAMD21G18A | 48MHz | 256KB | 32KB

  LowPowerLab
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_current_ranger | No | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_moteino_zero | External | SAMD21G18A | 48MHz | 256KB | 32KB

  ReprapWorld
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_minitronics20 | External | SAMD21J18A | 48MHz | 256KB | 32KB

  SODAQ
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sodaq_autonomo | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_one | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | External | SAMD21G18A | 48MHz | 256KB | 32KB

  SainSmart
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sainSmartDue | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | External | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Seeed
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_seeeduino_lorawan | External | SAMD21G18A | 48MHz | 256KB | 32KB

  SparkFun
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sparkfun_samd21_9dof | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_redboard_turbo | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | External | SAMD21G18A | 48MHz | 256KB | 32KB

  meteca
Name | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_briki_abc_samd21 | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_briki_mbcwb_samd21 | External | SAMD21G18A | 48MHz | 256KB | 32KB

  Espressif 32

    Configuration
        projectconf_env_platform = espressif32

Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Configuration

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Tutorials

    •   tutorial_espressif32_arduino_debugging_unit_testing

    •   tutorial_espressif32_espidf_debugging_unit_testing_analysis

    •   Video: Free Inline Debugging for ESP32 and Arduino Sketches

  Configuration

    •   CPU Frequency

    •   FLASH Frequency

    •   FLASH Mode

    •   External RAM (PSRAM)

    •   Debug Level

    •   Upload Speed

    •   Erase Flash

    •   Partition Tables

    •   Embedding Binary Data

    •   Uploading files to file system SPIFFS

    •   Over-the-Air (OTA) update

        •   Using JFrog Bintray (free and secure Cloud solution)

        •   Using built-in Local solution

            •   Authentication and upload options

    •   Using Arduino Framework with Staging version

    •   Arduino Core Wiki

  CPU Frequency

See projectconf_board_build.f_cpu option from projectconf

        [env:myenv]
        ; set frequency to 160MHz
        board_build.f_cpu = 160000000L

  FLASH Frequency

Please use board_build.f_flash option from projectconf to change a value. Possible values:

    •   40000000L (default)

    •   80000000L

        [env:myenv]
        ; set frequency to 80MHz
        board_build.f_flash = 80000000L

  FLASH Mode

Flash chip interface mode. This parameter is stored in the binary image header, along with the flash size and flash frequency. The ROM bootloader in the ESP chip uses the value of these parameters in order to know how to talk to the flash chip.

Please use board_build.flash_mode option from projectconf to change a value. Possible values:

    •   qio

    •   qout

    •   dio

    •   dout

        [env:myenv]
        board_build.flash_mode = qio

  External RAM (PSRAM)

You can enable external RAM using the next extra projectconf_build_flags in projectconf depending on a framework type.

Framework framework_arduino:

        [env:myenv]
        platform = espressif32
        framework = arduino
        board = ...
        build_flags =
            -DBOARD_HAS_PSRAM
            -mfix-esp32-psram-cache-issue

Framework framework_espidf:

        [env:myenv]
        platform = espressif32
        framework = espidf
        board = ...
        build_flags =
            -DCONFIG_SPIRAM_CACHE_WORKAROUND

More details are located in the official ESP-IDF documentation - Support for external RAM.

  Debug Level

Please use one of the next projectconf_build_flags to change debug level. A projectconf_build_flags option could be used only the one time per build environment. If you need to specify more flags, please separate them with a new line or space.

Actual information is available in Arduino for ESP32 Board Manifest. Please scroll to esp32.menu.DebugLevel section.

        [env:myenv]
        platform = ...
        board = ...
        framework = arduino

        ;;;;; Possible options ;;;;;;

        ; None
        build_flags = -DCORE_DEBUG_LEVEL=0

        ; Error
        build_flags = -DCORE_DEBUG_LEVEL=1

        ; Warn
        build_flags = -DCORE_DEBUG_LEVEL=2

        ; Info
        build_flags = -DCORE_DEBUG_LEVEL=3

        ; Debug
        build_flags = -DCORE_DEBUG_LEVEL=4

        ; Verbose
        build_flags = -DCORE_DEBUG_LEVEL=5

  Upload Speed

You can set custom upload speed using projectconf_upload_speed option from projectconf

        [env:myenv]
        upload_speed = 9600

  Erase Flash

Please platformio run --target the next command to erase the entire flash chip (all data replaced with 0xFF bytes):

        > platformio run --target erase

        # or short version

        > pio run -t erase

  Partition Tables

You can create a custom partitions table (CSV) following ESP32 Partition Tables documentation. PlatformIO uses default partition tables depending on a projectconf_env_framework type:

    •   default.csv for framework_arduino (show pre-configured partition tables)

    •   partitions_singleapp.csv for framework_espidf (show pre-configured partition tables)

To override default table please use board_build.partitions option in projectconf.

WARNING:
        SPIFFS partition MUST have configured "Type" as "data" and "SubType" as "spiffs". For example, spiffs, data, spiffs, 0x291000, 1M,

Examples:

        ; 1) A "partitions_custom.csv" in the root of project directory
        [env:custom_table]
        board_build.partitions = partitions_custom.csv

        ; 2) Switch between built-in tables
        ; https://github.com/espressif/arduino-esp32/tree/master/tools/partitions
        ; https://github.com/espressif/esp-idf/tree/master/components/partition_table
        [env:custom_builtin_table]
        board_build.partitions = no_ota.csv

  Embedding Binary Data

Sometimes you have a file with some binary or text data that you’d like to make available to your program - but you don’t want to reformat the file as C source.

There are two options board_build.embed_txtfiles and board_build.embed_files which can be used for embedding data. The only difference is that files specified in board_build.embed_txtfiles option are null-terminated in the final binary.

        [env:myenv]
        platform = espressif32
        board = ...
        board_build.embed_txtfiles =
          src/private.pem.key
          src/certificate.pem.crt
          src/aws-root-ca.pem

The file contents will be added to the .rodata section in flash, and are available via symbol names as follows:

        extern const uint8_t aws_root_ca_pem_start[] asm("_binary_src_aws_root_ca_pem_start");
        extern const uint8_t aws_root_ca_pem_end[] asm("_binary_src_aws_root_ca_pem_end");
        extern const uint8_t certificate_pem_crt_start[] asm("_binary_src_certificate_pem_crt_start");
        extern const uint8_t certificate_pem_crt_end[] asm("_binary_src_certificate_pem_crt_end");
        extern const uint8_t private_pem_key_start[] asm("_binary_src_private_pem_key_start");
        extern const uint8_t private_pem_key_end[] asm("_binary_src_private_pem_key_end");

The names are generated from the full name of the file. Characters /, ., etc. are replaced with underscores. The _binary + _nested_folder prefix in the symbol name is added by "objcopy" and is the same for both text and binary files.

NOTE:
        With the ESP-IDF framework symbol names should not contain path to the files, for example _binary_private_pem_key_start instead of _binary_src_private_pem_key_start.

See full example with embedding Amazon AWS certificates:

    •   https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-aws-iot

  Uploading files to file system SPIFFS

    1.  Create new project using pioide or initialize project using piocore and cmd_project_init (if you have not initialized it yet)

    2.  Create data folder (it should be on the same level as src folder) and put files here. Also, you can specify own location for projectconf_pio_data_dir

    3.  Run "Upload File System image" task in pioide or use piocore and platformio run --target command with uploadfs target.

To upload SPIFFS image using OTA update please specify upload_port / --upload-port as IP address or mDNS host name (ending with the *.local).

Examples:

    •   SPIFFS for Arduino

    •   SPIFFS for ESP-IDF

  Over-the-Air (OTA) update

  Using JFrog Bintray (free and secure Cloud solution)

    •   Video and presentation - swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices with PlatformIO and JFrog Bintray

    •   Demo source code: https://github.com/platformio/bintray-secure-ota

  Using built-in Local solution

Demo code for:

    •   Arduino

    •   ESP-IDF

There are 2 options:

    •   Directly specify platformio run --upload-port in command line

        platformio run --target upload --upload-port IP_ADDRESS_HERE or mDNS_NAME.local

    •   Specify upload_port option in projectconf

You also need to set projectconf_upload_protocol to espota.

        [env:myenv]
        upload_protocol = espota
        upload_port = IP_ADDRESS_HERE or mDNS_NAME.local

For example,

    •   platformio run -t upload --upload-port 192.168.0.255

    •   platformio run -t upload --upload-port myesp8266.local

  Authentication and upload options

You can pass additional options/flags to OTA uploader using upload_flags option in projectconf

        [env:myenv]
        upload_protocol = espota
        ; each flag in a new line
        upload_flags =
            --port=3232

Available flags

    •   --port=ESP_PORT ESP32 OTA Port. Default 8266

    •   --auth=AUTH Set authentication password

    •   --spiffs Use this option to transmit a SPIFFS image and do not flash the module

For the full list with available options please run

        ~/.platformio/packages/framework-arduinoespressif32/tools/espota.py --help

        Usage: espota.py [options]

        Transmit image over the air to the esp32 module with OTA support.

        Options:
          -h, --help            show this help message and exit

          Destination:
            -i ESP_IP, --ip=ESP_IP
                                ESP32 IP Address.
            -I HOST_IP, --host_ip=HOST_IP
                                Host IP Address.
            -p ESP_PORT, --port=ESP_PORT
                                ESP32 ota Port. Default 3232
            -P HOST_PORT, --host_port=HOST_PORT
                                Host server ota Port. Default random 10000-60000

          Authentication:
            -a AUTH, --auth=AUTH
                                Set authentication password.

          Image:
            -f FILE, --file=FILE
                                Image file.
            -s, --spiffs        Use this option to transmit a SPIFFS image and do not
                                flash the module.

          Output:
            -d, --debug         Show debug output. And override loglevel with debug.
            -r, --progress      Show progress output. Does not work for ArduinoIDE
            -t TIMEOUT, --timeout=TIMEOUT
                                Timeout to wait for the ESP32 to accept invitation

WARNING:
        For windows users. To manage OTA check the ESP wifi network profile isn't checked on public be sure it's on private mode``

  Using Arduino Framework with Staging version

PlatformIO will install the latest Arduino Core for ESP32 from https://github.com/espressif/arduino-esp32. The Git should be installed in a system. To update Arduino Core to the latest revision, please open pioide and navigate to PIO Home > Platforms > Updates.

    1.  Please install pioide

    2.  Initialize a new project, open projectconf and specify the link to the framework repository in projectconf_env_platform_packages section. For example,

            [env:esp32dev]
            platform = espressif32
            board = esp32dev
            framework = arduino
            platform_packages =
                framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git

    3.  Try to build the project

    4.  If you see build errors, then try to build this project using the same stage with Arduino IDE

    5.  If it works with Arduino IDE but doesn't work with PlatformIO, then please file a new issue with attached information:

        •   test project/files

        •   detailed log of build process from Arduino IDE (please copy it from console to https://hastebin.com)

        •   detailed log of build process from PlatformIO Build System (please copy it from console to https://hastebin.com)

  Arduino Core Wiki

Tips, tricks and common problems: http://desire.giesecke.tk/index.php/2018/01/30/esp32-wiki-entries/

  Examples

Examples are listed from Espressif 32 development platform repository:

    •   espidf-storage-sdcard

    •   espidf-blink

    •   espidf-coap-server

    •   espidf-exceptions

    •   arduino-blink

    •   simba-blink

    •   espidf-ble-eddystone

    •   espidf-ulp-adc

    •   espidf-ulp-pulse

    •   espidf-arduino-wifiscan

    •   espidf-http-request

    •   espidf-arduino-blink

    •   pumbaa-blink

    •   espidf-hello-world

    •   espidf-aws-iot

    •   arduino-briki-internal-libs

    •   espidf-peripherals-uart

    •   arduino-wifiscan

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Pinout Diagram

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Pinout Diagram

JTAG Wiring Connections
Board Pin | JTAG Tool Pin
IO13 | TCK
IO12 | TDI
IO15 | TDO
IO14 | TMS
EN | RST
GND | GND
[image]

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_espressif32_esp-wrover-kit | ESP32 | 240MHz | 4MB | 320KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_briki_abc_esp32 | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32thing | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | ESP32 | 240MHz | 4MB | 320KB

  Stable and upstream versions

You can switch between stable releases of Espressif 32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = espressif32
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = espressif32@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-espressif32.git
        board = ...

  Packages
Name | Description
framework-arduino-mbcwb | Fork of Arduino framework for briki MBC-WB boards
framework-arduinoespressif32 | Arduino Wiring-based Framework (ESP32 Core)
framework-espidf | Espressif IoT Development Framework
framework-pumbaa | Pumbaa Framework
framework-simba | Simba Framework
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-esptoolpy | ESP8266 and ESP32 serial bootloader utility
tool-idf | Python idf.py binary
tool-mbctool | MBC-WB Uploader Application
tool-mconf | Kconfig frontends and parser
tool-mkspiffs | Tool to build and unpack SPIFFS images
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd-esp32 | OpenOCD for Espressif 32
toolchain-esp32ulp | Binutils fork with support for the ESP32 ULP co-processor
toolchain-xtensa32 | xtensa32-gcc

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_pumbaa | Pumbaa is Python on top of Simba. The implementation is a port of MicroPython, designed for embedded devices with limited amount of RAM and code memory.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  AI Thinker
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | External | ESP32 | 240MHz | 4MB | 320KB

  AZ-Delivery
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_az-delivery-devkit-v4 | External | ESP32 | 240MHz | 16MB | 520KB

  Adafruit
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_featheresp32 | External | ESP32 | 240MHz | 4MB | 320KB

  Aiyarafun
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_node32s | External | ESP32 | 240MHz | 4MB | 320KB

  April Brother
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espea32 | No | ESP32 | 240MHz | 4MB | 320KB

  BPI Tech
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_bpi-bit | No | ESP32 | 160MHz | 4MB | 320KB

  DFRobot
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_firebeetle32 | External | ESP32 | 240MHz | 4MB | 320KB

  DOIT
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32doit-devkit-v1 | External | ESP32 | 240MHz | 4MB | 320KB

  DSTIKE
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_d-duino-32 | External | ESP32 | 240MHz | 4MB | 320KB

  Dongsen Technology
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pocket_32 | External | ESP32 | 240MHz | 4MB | 320KB

  DycodeX
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espectro32 | External | ESP32 | 240MHz | 4MB | 320KB

  ESP32vn
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32vn-iot-uno | External | ESP32 | 240MHz | 4MB | 320KB

  Electronic SweetPeas
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp320 | No | ESP32 | 240MHz | 4MB | 320KB

  Espressif
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pico32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | External | ESP32 | 240MHz | 4MB | 320KB

  Fred
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_frogboard | External | ESP32 | 240MHz | 4MB | 320KB

  Hardkernel
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_odroid_esp32 | No | ESP32 | 240MHz | 16MB | 320KB

  Heltec Automation
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_heltec_wifi_kit_32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | External | ESP32 | 240MHz | 8MB | 320KB

  Hornbill
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_hornbill32dev | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | External | ESP32 | 240MHz | 4MB | 320KB

  IntoRobot
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_intorobot | No | ESP32 | 240MHz | 4MB | 320KB

  IoTaaP
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotaap_magnolia | External | ESP32 | 240MHz | 4MB | 320KB

  M5Stack
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_m5stack-core-esp32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_m5stack-fire | No | ESP32 | 240MHz | 16MB | 6.25MB
board_espressif32_m5stack-grey | No | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_m5stick-c | No | ESP32 | 240MHz | 4MB | 320KB

  MH-ET Live
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_mhetesp32devkit | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | External | ESP32 | 240MHz | 4MB | 320KB

  Magicblocks.io
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_magicbit | No | ESP32 | 240MHz | 4MB | 320KB

  MakerAsia
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nano32 | No | ESP32 | 240MHz | 4MB | 320KB

  Microduino
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_microduino-core-esp32 | No | ESP32 | 240MHz | 4MB | 320KB

  NodeMCU
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nodemcu-32s | External | ESP32 | 240MHz | 4MB | 320KB

  Noduino
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_quantum | No | ESP32 | 240MHz | 16MB | 320KB

  OLIMEX
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32-devkitlipo | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-pro | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-poe | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-poe-iso | No | ESP32 | 240MHz | 4MB | 320KB

  OROCA
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_oroca_edubot | No | ESP32 | 240MHz | 4MB | 320KB

  Onehorse
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_onehorse32dev | No | ESP32 | 240MHz | 4MB | 320KB

  Pycom Ltd.
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pycom_gpy | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | External | ESP32 | 240MHz | 4MB | 1.25MB

  Qmobot LLP
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_qchip | No | ESP32 | 240MHz | 4MB | 320KB

  RoboticsBrno
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_alksesp32 | External | ESP32 | 240MHz | 4MB | 320KB

  SG-O
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_sg-o_airMon | External | ESP32 | 240MHz | 4MB | 320KB

  Silicognition
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_wesp32 | External | ESP32 | 240MHz | 4MB | 320KB

  SparkFun
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_sparkfun_lora_gateway_1-channel | External | ESP32 | 240MHz | 4MB | 320KB

  SparkFun Electronics
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32thing | External | ESP32 | 240MHz | 4MB | 320KB

  TTGO
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_ttgo-lora32-v1 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t-watch | No | ESP32 | 240MHz | 16MB | 320KB
board_espressif32_ttgo-t1 | External | ESP32 | 240MHz | 4MB | 320KB

  ThaiEasyElec
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espino32 | External | ESP32 | 240MHz | 4MB | 320KB

  TinyPICO
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_tinypico | No | ESP32 | 240MHz | 4MB | 320KB

  Turta
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_turta_iot_node | No | ESP32 | 240MHz | 4MB | 320KB

  Unknown
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_fm-devkit | External | ESP32 | 240MHz | 4MB | 320KB

  VintLabs
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_vintlabs-devkit-v1 | External | ESP32 | 240MHz | 4MB | 320KB

  WEMOS
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_lolin_d32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | External | ESP32 | 240MHz | 4MB | 320KB

  Widora
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_widora-air | No | ESP32 | 240MHz | 16MB | 320KB

  XinaBox
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_xinabox_cw02 | External | ESP32 | 240MHz | 4MB | 320KB

  meteca
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_briki_abc_esp32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | External | ESP32 | 240MHz | 3.25MB | 320KB

  oddWires
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotbusio | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | External | ESP32 | 240MHz | 4MB | 320KB

  u-blox
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nina_w10 | No | ESP32 | 240MHz | 2MB | 320KB

  Espressif 8266

    Configuration
        projectconf_env_platform = espressif8266

Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

For more detailed information please visit vendor site.

  Contents

    •   Configuration

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Configuration

    •   CPU Frequency

    •   FLASH Frequency

    •   FLASH Mode

    •   Reset Method

    •   Flash Size

    •   Upload Speed

    •   lwIP Variant

    •   SDK Version

    •   SSL Support

    •   Serial Debug

    •   Debug Level

    •   VTables

    •   Exceptions

    •   Uploading files to file system SPIFFS

    •   Over-the-Air (OTA) update

        •   Authentication and upload options

    •   Demo

    •   Using Arduino Framework with Staging version

  CPU Frequency

See projectconf_board_build.f_cpu option from projectconf

        [env:myenv]
        ; set frequency to 160MHz
        board_build.f_cpu = 160000000L

  FLASH Frequency

Please use board_build.f_flash option from projectconf to change a value. Possible values:

    •   20000000L

    •   26000000L

    •   40000000L (default)

    •   80000000L

        [env:myenv]
        ; set frequency to 80MHz
        board_build.f_flash = 80000000L

  FLASH Mode

Flash chip interface mode. This parameter is stored in the binary image header, along with the flash size and flash frequency. The ROM bootloader in the ESP chip uses the value of these parameters in order to know how to talk to the flash chip.

Please use board_build.flash_mode option from projectconf to change a value. Possible values:

    •   qio

    •   qout

    •   dio

    •   dout

        [env:myenv]
        board_build.flash_mode = qio

  Reset Method

You can set custom reset method using projectconf_upload_resetmethod option from projectconf.

The possible values are:

    •   ck - RTS controls RESET or CH_PD, DTR controls GPIO0

    •   wifio - TXD controls GPIO0 via PNP transistor and DTR controls RESET via a capacitor

    •   nodemcu - GPIO0 and RESET controlled using two NPN transistors as in NodeMCU devkit.

See default reset methods per board.

        [env:myenv]
        upload_resetmethod = ck

  Flash Size

WARNING:
        Please make sure to read ESP8266 Flash layout information first.

Available LD-scripts: https://github.com/esp8266/Arduino/tree/master/tools/sdk/ld

Please open eagle.flash.***.ld file to check how flash is split.

To override default LD script please use projectconf_board_build.ldscript option from projectconf.

        [env:myenv]
        board_build.ldscript = eagle.flash.4m.ld

  Upload Speed

You can set custom upload speed using projectconf_upload_speed option from projectconf

        [env:myenv]
        upload_speed = 9600

  lwIP Variant

Available variants (macros):

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY v2 Lower Memory (default)

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH v2 Higher Bandwidth

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH v2 Lower Memory (no features)

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH v2 Higher Bandwidth (no features)

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_LOW_MEMORY v2 IPv6 Lower Memory

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH v2 IPv6 Higher Bandwidth

    •   -D PIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH v1.4 Higher Bandwidth

You can change lwIP Variant by passing a custom macro using project projectconf_build_flags.

For example, to switch to lwIP v1.4

        [env:myenv]
        ...
        build_flags = -D PIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH

  SDK Version

Available versions (macros):

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 NonOS SDK-pre-3.0 as of Jun 26, 2018

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221 NonOS SDK v2.2.1 (legacy) as of Jun 8, 2018

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313 NonOS SDK v2.2.x branch as of Mar 13, 2019

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 NonOS SDK v2.2.x branch as of Jul 03, 2019 (default)

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024 NonOS SDK v2.2.x branch as of Oct 24, 2019

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105 NonOS SDK v2.2.x branch as of to Nov 05, 2019

    •   -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122 NonOS SDK v2.2.x branch as of to Nov 22, 2019

You can change SDK version by passing a custom macro using project projectconf_build_flags.

For example, to switch to SDK-pre-3.0:

        [env:myenv]
        ...
        build_flags = -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3

  SSL Support

By default, all SSL ciphers (most compatible) are supported.

You can control SSL support passing a custom macro using project projectconf_build_flags.

For example, use basic SSL ciphers (lower ROM use):

        [env:myenv]
        ...
        build_flags = -D BEARSSL_SSL_BASIC

  Serial Debug

Please use the next projectconf_build_flags to enable Serial debug:

        [env:myenv]
        ...
        build_flags = -DDEBUG_ESP_PORT=Serial

        ; or for Serial1
        build_flags = -DDEBUG_ESP_PORT=Serial1

  Debug Level

Please use one of the next projectconf_build_flags to change debug level. A projectconf_build_flags option could be used only the one time per build environment. If you need to specify more flags, please separate them with a new line or space.

Also, please note that you will need to extend projectconf_build_flags with Serial Debug macro. For example, build_flags = -DDEBUG_ESP_PORT=Serial -DDEBUG_ESP_SSL ....

Actual information is available in Arduino for ESP8266 Board Manifest. Please scroll to generic.menu.lvl section.

        [env:myenv]
        platform = ...
        board = ...
        framework = arduino

        ;;;;; Possible options ;;;;;;

        ; SSL
        build_flags = -DDEBUG_ESP_SSL

        ; TLS_MEM
        build_flags = -DDEBUG_ESP_TLS_MEM

        ; HTTP_CLIENT
        build_flags = -DDEBUG_ESP_HTTP_CLIENT

        ; HTTP_SERVER
        build_flags = -DDEBUG_ESP_HTTP_SERVER

        ; SSL+TLS_MEM
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_TLS_MEM

        ; SSL+HTTP_CLIENT
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_HTTP_CLIENT

        ; SSL+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_HTTP_SERVER

        ; TLS_MEM+HTTP_CLIENT
        build_flags =
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_CLIENT

        ; TLS_MEM+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_SERVER

        ; HTTP_CLIENT+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_HTTP_CLIENT
          -DDEBUG_ESP_HTTP_SERVER

        ; SSL+TLS_MEM+HTTP_CLIENT
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_CLIENT

        ; SSL+TLS_MEM+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_SERVER

        ; SSL+HTTP_CLIENT+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_HTTP_CLIENT
          -DDEBUG_ESP_HTTP_SERVER

        ; TLS_MEM+HTTP_CLIENT+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_CLIENT
          -DDEBUG_ESP_HTTP_SERVER

        ; SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_CLIENT
          -DDEBUG_ESP_HTTP_SERVER

        ; CORE
        build_flags = -DDEBUG_ESP_CORE

        ; WIFI
        build_flags = -DDEBUG_ESP_WIFI

        ; HTTP_UPDATE
        build_flags = -DDEBUG_ESP_HTTP_UPDATE

        ; UPDATER
        build_flags = -DDEBUG_ESP_UPDATER

        ; OTA
        build_flags = -DDEBUG_ESP_OTA

        ; OOM
        build_flags =
          -DDEBUG_ESP_OOM
          -include "umm_malloc/umm_malloc_cfg.h"

        ; CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM
        build_flags =
          -DDEBUG_ESP_CORE
          -DDEBUG_ESP_WIFI
          -DDEBUG_ESP_HTTP_UPDATE
          -DDEBUG_ESP_UPDATER
          -DDEBUG_ESP_OTA
          -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"

        ; SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM
        build_flags =
          -DDEBUG_ESP_SSL
          -DDEBUG_ESP_TLS_MEM
          -DDEBUG_ESP_HTTP_CLIENT
          -DDEBUG_ESP_HTTP_SERVER
          -DDEBUG_ESP_CORE
          -DDEBUG_ESP_WIFI
          -DDEBUG_ESP_HTTP_UPDATE
          -DDEBUG_ESP_UPDATER
          -DDEBUG_ESP_OTA
          -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"

        ; NoAssert-NDEBUG
        build_flags = -DNDEBUG

  VTables

Please use one of the next projectconf_build_flags:

        [env:myenv]
        ...

        ; Flash (default)
        build_flags = -DVTABLES_IN_FLASH

        ; Heap
        build_flags = -DVTABLES_IN_DRAM

        ; IRAM
        build_flags = -DVTABLES_IN_IRAM

  Exceptions

Exceptions are disabled by default. To enable exceptions, use the following projectconf_build_flags and projectconf_build_unflags:

        [env:myenv]
        ...

        ; Remove default exceptions disabled flag
        build_unflags = -fno-exceptions

        ; Enable exceptions
        build_flags = -fexceptions

  Uploading files to file system SPIFFS

WARNING:
        Please make sure to read ESP8266 Flash layout information first.

    1.  Create new project using pioide or initialize project using piocore and cmd_project_init (if you have not initialized it yet)

    2.  Create data folder (it should be on the same level as src folder) and put files here. Also, you can specify own location for projectconf_pio_data_dir

    3.  Run "Upload File System image" task in pioide or use piocore and platformio run --target command with uploadfs target.

To upload SPIFFS image using OTA update please specify upload_port / --upload-port as IP address or mDNS host name (ending with the *.local). For the details please follow to Over-the-Air (OTA) update.

By default, will be used default LD Script for the board where is specified SPIFFS offsets (start, end, page, block). You can override it using Flash Size.

Active discussion is located in issue #382.

  Over-the-Air (OTA) update

Firstly, please read What is OTA? How to use it?

There are 2 options:

    •   Directly specify platformio run --upload-port in command line

        platformio run --target upload --upload-port IP_ADDRESS_HERE or mDNS_NAME.local

    •   Specify upload_port option in projectconf

You also need to set projectconf_upload_protocol to espota.

        [env:myenv]
        upload_protocol = espota
        upload_port = IP_ADDRESS_HERE or mDNS_NAME.local

For example,

    •   platformio run -t upload --upload-port 192.168.0.255

    •   platformio run -t upload --upload-port myesp8266.local

  Authentication and upload options

You can pass additional options/flags to OTA uploader using upload_flags option in projectconf

        [env:myenv]
        upload_protocol = espota
        ; each flag in a new line
        upload_flags =
          --port=8266

Available flags

    •   --port=ESP_PORT ESP8266 OTA Port. Default 8266

    •   --auth=AUTH Set authentication password

    •   --spiffs Use this option to transmit a SPIFFS image and do not flash the module

For the full list with available options please run

        ~/.platformio/packages/framework-arduinoespressif8266/tools/espota.py --help

        Usage: espota.py [options]

        Transmit image over the air to the esp8266 module with OTA support.

        Options:
          -h, --help            show this help message and exit

          Destination:
            -i ESP_IP, --ip=ESP_IP
                                ESP8266 IP Address.
            -I HOST_IP, --host_ip=HOST_IP
                                Host IP Address.
            -p ESP_PORT, --port=ESP_PORT
                                ESP8266 ota Port. Default 8266
            -P HOST_PORT, --host_port=HOST_PORT
                                Host server ota Port. Default random 10000-60000

          Authentication:
            -a AUTH, --auth=AUTH
                                Set authentication password.

          Image:
            -f FILE, --file=FILE
                                Image file.
            -s, --spiffs        Use this option to transmit a SPIFFS image and do not
                                flash the module.

          Output:
            -d, --debug         Show debug output. And override loglevel with debug.
            -r, --progress      Show progress output. Does not work for ArduinoIDE

  Demo
.SS Using Arduino Framework with Staging version

PlatformIO will install the latest Arduino Core for ESP8266 from https://github.com/esp8266/Arduino. The Git should be installed in a system. To update Arduino Core to the latest revision, please open pioide and navigate to PIO Home > Platforms > Updates.

    1.  Please install pioide

    2.  Initialize a new project, open projectconf and specify the link to the framework repository in projectconf_env_platform_packages section. For example,

            [env:nodemcuv2]
            platform = espressif8266
            board = nodemcuv2
            framework = arduino
            platform_packages =
                framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git

    3.  Try to build the project

    4.  If you see build errors, then try to build this project using the same stage with Arduino IDE

    5.  If it works with Arduino IDE but doesn't work with PlatformIO, then please file a new issue with attached information:

        •   test project/files

        •   detailed log of build process from Arduino IDE (please copy it from console to https://hastebin.com)

        •   detailed log of build process from PlatformIO Build System (please copy it from console to https://hastebin.com)

  Examples

Examples are listed from Espressif 8266 development platform repository:

    •   arduino-webserver

    •   arduino-asyncudp

    •   arduino-blink

    •   simba-blink

    •   esp8266-rtos-sdk-blink

    •   esp8266-nonos-sdk-blink

    •   arduino-wifiscan

  Stable and upstream versions

You can switch between stable releases of Espressif 8266 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = espressif8266
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = espressif8266@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-espressif8266.git
        board = ...

  Packages
Name | Description
framework-arduinoespressif8266 | Arduino Wiring-based Framework (ESP8266 Core)
framework-esp8266-nonos-sdk | ESP8266 Non-OS SDK
framework-esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS
framework-simba | Simba Framework
tool-esptool | esptool-ck
tool-esptoolpy | ESP8266 and ESP32 serial bootloader utility
tool-mkspiffs | Tool to build and unpack SPIFFS images
toolchain-xtensa | xtensa-gcc

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  4D Systems
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_gen4iod | No | ESP8266 | 80MHz | 512KB | 80KB

  Adafruit
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_huzzah | No | ESP8266 | 80MHz | 4MB | 80KB

  Amperka
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifi_slot | No | ESP8266 | 80MHz | 4MB | 80KB

  DigiStump
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_oak | No | ESP8266 | 80MHz | 4MB | 80KB

  Doit
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espmxdevkit | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_espduino | No | ESP8266 | 80MHz | 4MB | 80KB

  DycodeX
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espectro | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPert
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espresso_lite_v1 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_espresso_lite_v2 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPino
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espino | No | ESP8266 | 80MHz | 4MB | 80KB

  Espressif
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp_wroom_02 | No | ESP8266 | 80MHz | 2MB | 80KB
board_espressif8266_esp12e | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp01_1m | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_esp01 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_esp07 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp8285 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_phoenix_v1 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_phoenix_v2 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wifinfo | No | ESP8266 | 80MHz | 1MB | 80KB

  Heltec
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_heltec_wifi_kit_8 | No | ESP8266 | 80MHz | 4MB | 80KB

  ITEAD
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sonoff_basic | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_s20 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_sv | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_th | No | ESP8266 | 80MHz | 1MB | 80KB

  Invent One
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_inventone | No | ESP8266 | 80MHz | 4MB | 80KB

  NodeMCU
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_nodemcu | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_nodemcuv2 | No | ESP8266 | 80MHz | 4MB | 80KB

  Olimex
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_modwifi | No | ESP8266 | 80MHz | 2MB | 80KB

  Schirmilabs
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_eduinowifi | No | ESP8266 | 80MHz | 4MB | 80KB

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wio_link | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wio_node | No | ESP8266 | 80MHz | 4MB | 80KB

  SparkFun
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sparkfunBlynk | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_thing | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_thingdev | No | ESP8266 | 80MHz | 512KB | 80KB

  SweetPea
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp210 | No | ESP8266 | 80MHz | 4MB | 80KB

  ThaiEasyElec
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espinotee | No | ESP8266 | 80MHz | 4MB | 80KB

  WEMOS
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_d1 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini_lite | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_d1_mini_pro | No | ESP8266 | 80MHz | 16MB | 80KB

  WifiDuino
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifiduino | No | ESP8266 | 80MHz | 4MB | 80KB

  XinaBox
Name | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_xinabox_cw01 | No | ESP8266 | 80MHz | 4MB | 80KB

  Freescale Kinetis

    Configuration
        projectconf_env_platform = freescalekinetis

Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Freescale Kinetis development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   zephyr-blink

    •   zephyr-net-telnet

    •   mbed-rtos

    •   mbed-events

    •   zephyr-sensor-sx9500

    •   mbed-rtos-tls-client

    •   mbed-rtos-ethernet

    •   mbed-dsp

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_freescalekinetis_IBMEthernetKit | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k20d50m | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kw41z | MKW41Z512VHT4 | 48MHz | 512KB | 128KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_freescalekinetis_frdm_kl82z | MKL82Z128VLK7 | 96MHz | 128KB | 96KB
board_freescalekinetis_frdm_kw24d | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_hexiwear | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB

  Stable and upstream versions

You can switch between stable releases of Freescale Kinetis development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = freescalekinetis
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = freescalekinetis@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-freescalekinetis.git
        board = ...

  Packages
Name | Description
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-nxp | NXP HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-pyocd | Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Freescale
Name | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_IBMEthernetKit | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k20d50m | On-board | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | On-board | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | On-board | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | On-board | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | On-board | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | On-board | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | On-board | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | On-board | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl82z | External | MKL82Z128VLK7 | 96MHz | 128KB | 96KB
board_freescalekinetis_frdm_kw24d | External | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_frdm_kw41z | On-board | MKW41Z512VHT4 | 48MHz | 512KB | 128KB

  MikroElektronika
Name | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_hexiwear | External | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB

  GigaDevice GD32V

    Configuration
        projectconf_env_platform = gd32v

The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from GigaDevice GD32V development platform repository:

    •   eval-blink

    •   arduino-blink

    •   longan-nano-blink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_gd32v_wio_lite_risc-v | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Stable and upstream versions

You can switch between stable releases of GigaDevice GD32V development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = gd32v
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = gd32v@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/sipeed/platform-gd32v.git
        board = ...

  Packages
Name | Description
framework-arduino-gd32v | Arduino Wiring-based Framework (GigaDevice GD32V Core)
framework-gd32vf103-sdk | GigaDevice GD32V SDK
tool-gd32vflash | GD32V FLASH TOOLS
tool-openocd-gd32v | OpenOCD for RISC-V GigaDevice GD32V
toolchain-gd32v | GCC for GigaDevice GD32V

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_gd32v_wio_lite_risc-v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Sipeed
Name | Debug | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB

  Infineon XMC

    Configuration
        projectconf_env_platform = infineonxmc

Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Infineon XMC development platform repository:

    •   ifx9201

    •   device-control

    •   arduino-blink

    •   spi

    •   ultrasonic

    •   rtc

    •   radar

    •   arduino-wire

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_infineonxmc_xmc1100_boot_kit | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_h_bridge2go | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_xmc2go | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_boot_kit | XMC1300 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_sense2gol | XMC1300 | 32MHz | 32KB | 16KB
board_infineonxmc_xmc1400_boot_kit | XMC1400 | 48MHz | 1.95MB | 16KB
board_infineonxmc_xmc4200_distance2go | XMC4200 | 80MHz | 256KB | 40KB
board_infineonxmc_xmc4700_relax_kit | XMC4700 | 144MHz | 2.00MB | 1.95MB

  Stable and upstream versions

You can switch between stable releases of Infineon XMC development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = infineonxmc
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = infineonxmc@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/Infineon/platformio-infineonxmc.git
        board = ...

  Packages
Name | Description
framework-arduinoxmc | Arduino Wiring-based Framework (Infineon XMC Core)
tool-jlink | SEGGER J-Link Software and Documentation Pack
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Infineon
Name | Debug | MCU | Frequency | Flash | RAM
board_infineonxmc_xmc1100_boot_kit | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_h_bridge2go | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_xmc2go | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_boot_kit | On-board | XMC1300 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_sense2gol | On-board | XMC1300 | 32MHz | 32KB | 16KB
board_infineonxmc_xmc1400_boot_kit | On-board | XMC1400 | 48MHz | 1.95MB | 16KB
board_infineonxmc_xmc4200_distance2go | On-board | XMC4200 | 80MHz | 256KB | 40KB
board_infineonxmc_xmc4700_relax_kit | On-board | XMC4700 | 144MHz | 2.00MB | 1.95MB

  Intel ARC32

    Configuration
        projectconf_env_platform = intel_arc32

ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Intel ARC32 development platform repository:

    •   arduino-curie-imu

    •   arduino-blink

    •   arduino-internal-libs

  Stable and upstream versions

You can switch between stable releases of Intel ARC32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = intel_arc32
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = intel_arc32@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-intel_arc32.git
        board = ...

  Packages
Name | Description
framework-arduinointel | Arduino Wiring-based Framework (Intel ARC Core)
tool-arduino101load | Genuino101 uploader
toolchain-intelarc32 | GCC for Intel ARC

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Intel
Name | Debug | MCU | Frequency | Flash | RAM
board_intel_arc32_genuino101 | No | ARCV2EM | 32MHz | 152KB | 80KB

  Intel MCS-51 (8051)

    Configuration
        projectconf_env_platform = intel_mcs51

The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Boards

  Examples

Examples are listed from Intel MCS-51 (8051) development platform repository:

    •   stc-header

    •   native-blink

    •   stc-blink

  Stable and upstream versions

You can switch between stable releases of Intel MCS-51 (8051) development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = intel_mcs51
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = intel_mcs51@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-intel_mcs51.git
        board = ...

  Packages
Name | Description
tool-stcgal | Open Source STC MCU ISP flash tool
toolchain-sdcc | Small Device C Compiler

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Nuvoton
Name | Debug | MCU | Frequency | Flash | RAM
board_intel_mcs51_n79e8432 | No | N79E8432 | 22MHz | 4KB | 512B
board_intel_mcs51_n79e844 | No | N79E844 | 22MHz | 8KB | 512B
board_intel_mcs51_n79e845 | No | N79E845 | 22MHz | 16KB | 512B
board_intel_mcs51_n79e854 | No | N79E854 | 22MHz | 8KB | 512B
board_intel_mcs51_n79e855 | No | N79E855 | 22MHz | 16KB | 512B

  STC
Name | Debug | MCU | Frequency | Flash | RAM
board_intel_mcs51_stc15f204ea | No | STC15F204EA | 11MHz | 4KB | 256B
board_intel_mcs51_stc15f2k60s2 | No | STC15F2K60S2 | 6MHz | 60KB | 2KB
board_intel_mcs51_stc15w204s | No | STC15W204S | 11MHz | 4KB | 256B
board_intel_mcs51_stc15w404as | No | STC15W404AS | 11MHz | 4KB | 512B
board_intel_mcs51_stc15w408as | No | STC15W408AS | 11MHz | 8KB | 512B
board_intel_mcs51_stc89c52rc | No | STC89C52RC | 11MHz | 8KB | 512B

  Kendryte K210

    Configuration
        projectconf_env_platform = kendryte210

Kendryte K210 is an AI capable RISCV64 dual core SoC.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Kendryte K210 development platform repository:

    •   arduino-blink

    •   kendryte-standalone-sdk_hello

    •   kendryte-freertos-sdk_hello

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_kendryte210_sipeed-maix-bit | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | K210 | 400MHz | 16MB | 6MB

  Stable and upstream versions

You can switch between stable releases of Kendryte K210 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = kendryte210
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = kendryte210@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/sipeed/platform-kendryte210.git
        board = ...

  Packages
Name | Description
framework-kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework-kendryte-standalone-sdk | Kendryte standalone SDK without OS support
framework-maixduino | Arduino Wiring-based Framework (K210 Core)
tool-kflash-kendryte210 | kflash, A Python-based Kendryte K210 UART ISP Utility
tool-openocd-kendryte | OpenOCD for RISC-V Kendryte
toolchain-kendryte210 | RISC-V GCC toolchain for Kendryte 210

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Sipeed
Name | Debug | MCU | Frequency | Flash | RAM
board_kendryte210_sipeed-maix-bit | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | External | K210 | 400MHz | 16MB | 6MB

  Lattice iCE40

    Configuration
        projectconf_env_platform = lattice_ice40

The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Boards

  Examples

Examples are listed from Lattice iCE40 development platform repository:

    •   leds

    •   counter

  Stable and upstream versions

You can switch between stable releases of Lattice iCE40 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = lattice_ice40
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = lattice_ice40@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-lattice_ice40.git
        board = ...

  Packages
Name | Description
toolchain-icestorm | Tools for analyzing and creating bitstream files for FPGA IceStorm
toolchain-iverilog | Verilog simulation and synthesis tool

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  FPGAwars
Name | Debug | MCU | Frequency | Flash | RAM
board_lattice_ice40_icezum | No | ICE40-HX1K-TQ144 | 12MHz | 32KB | 32KB

  Lattice
Name | Debug | MCU | Frequency | Flash | RAM
board_lattice_ice40_icestick | No | ICE40-HX1K-TQ144 | 12MHz | 32KB | 32KB

  Maxim 32

    Configuration
        projectconf_env_platform = maxim32

Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Maxim 32 development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   mbed-rtos

    •   mbed-events

    •   mbed-dsp

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_maxim32_max32600mbed | MAX32600 | 24MHz | 256KB | 32KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_maxim32_max32620fthr | MAX32620FTHR | 96MHz | 2MB | 256KB
board_maxim32_max32620hsp | MAX32620 | 96MHz | 2MB | 256KB
board_maxim32_maxwsnenv | MAX32610 | 24MHz | 256KB | 32KB

  Stable and upstream versions

You can switch between stable releases of Maxim 32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = maxim32
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = maxim32@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-maxim32.git
        board = ...

  Packages
Name | Description
framework-mbed | mbed Framework
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-pyocd | Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Maxim
Name | Debug | MCU | Frequency | Flash | RAM
board_maxim32_max32620fthr | External | MAX32620FTHR | 96MHz | 2MB | 256KB
board_maxim32_max32625mbed | No | MAX32625 | 96MHz | 512KB | 160KB
board_maxim32_max32625nexpaq | No | MAX32625 | 96MHz | 512KB | 160KB
board_maxim32_max32625pico | No | MAX32625 | 96MHz | 512KB | 160KB
board_maxim32_max32600mbed | On-board | MAX32600 | 24MHz | 256KB | 32KB
board_maxim32_max32620hsp | External | MAX32620 | 96MHz | 2MB | 256KB
board_maxim32_max32630fthr | No | MAX32630 | 96MHz | 2MB | 512KB
board_maxim32_maxwsnenv | External | MAX32610 | 24MHz | 256KB | 32KB

  Sigma Delta Technologies
Name | Debug | MCU | Frequency | Flash | RAM
board_maxim32_sdt32620b | No | MAX32620IWG | 96MHz | 2MB | 256KB
board_maxim32_sdt32625b | No | MAX32625ITK | 96MHz | 512KB | 160KB

  Microchip PIC32

    Configuration
        projectconf_env_platform = microchippic32

Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Microchip PIC32 development platform repository:

    •   arduino-blink

    •   arduino-internal-libs

  Stable and upstream versions

You can switch between stable releases of Microchip PIC32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = microchippic32
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = microchippic32@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-microchippic32.git
        board = ...

  Packages
Name | Description
framework-arduinomicrochippic32 | Arduino Wiring-based Framework (PIC32 Core)
tool-pic32prog | pic32prog
toolchain-microchippic32 | GCC for Microchip PIC32

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  4D Systems
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_picadillo_35t | No | 32MX795F512L | 80MHz | 508KB | 128KB

  BOXTEC
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_helvepic32 | No | 32MX250F128B | 48MHz | 120KB | 32KB
board_microchippic32_helvepic32_breadboardside | No | 32MX250F128B | 48MHz | 120KB | 32KB
board_microchippic32_helvepic32_smd | No | 32MX250F128D | 48MHz | 120KB | 32KB
board_microchippic32_helvepic32_mx270 | No | 32MX270F256B | 48MHz | 244KB | 62KB
board_microchippic32_helvepic32_robot | No | 32MX270F256D | 48MHz | 244KB | 62KB
board_microchippic32_helvepic32_smd_mx270 | No | 32MX270F256D | 48MHz | 244KB | 62KB

  ChipKIT
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_rgb_station | No | 32MX270F256D | 48MHz | 240KB | 62KB

  Digilent
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_cerebot32mx4 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_cerebot32mx7 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_microchippic32_openscope | No | 32MZ2048EFG124 | 200MHz | 1.98MB | 512KB
board_microchippic32_chipkit_cmod | No | 32MX150F128D | 40MHz | 124KB | 32KB
board_microchippic32_chipkit_dp32 | No | 32MX250F128B | 40MHz | 120KB | 32KB
board_microchippic32_mega_pic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_microchippic32_chipkit_mx3 | No | 32MX320F128H | 80MHz | 124KB | 16KB
board_microchippic32_chipkit_pro_mx4 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_chipkit_pro_mx7 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_microchippic32_uno_pic32 | No | 32MX320F128H | 80MHz | 124KB | 16KB
board_microchippic32_chipkit_wf32 | No | 32MX695F512L | 80MHz | 508KB | 128KB
board_microchippic32_chipkit_wifire | No | 32MZ2048ECG100 | 200MHz | 1.98MB | 512KB
board_microchippic32_chipkit_uc32 | No | 32MX340F512H | 80MHz | 508KB | 32KB
board_microchippic32_chipkit_wifire_revc | No | 32MZ2048EFG100 | 200MHz | 1.98MB | 512KB

  Fubarino
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_fubarino_mini | No | 32MX250F128D | 48MHz | 120KB | 32KB
board_microchippic32_fubarino_sd | No | 32MX795F512H | 80MHz | 508KB | 128KB
board_microchippic32_fubarino_mini_20 | No | 32MX270F256D | 48MHz | 240KB | 62KB

  Makerology
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_dsmini | No | 32MX150F128C | 40MHz | 120KB | 32KB

  MikroElektronika
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_clicker2 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_flipnclickmz | No | 32MZ2048EFH100 | 252MHz | 1.98MB | 512KB

  Olimex
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_pinguino32 | No | 32MX440F256H | 80MHz | 252KB | 32KB

  OpenBCI
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_openbci | No | 32MX250F128B | 40MHz | 120KB | 32KB

  PONTECH
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_usbono_pic32 | No | 32MX440F512H | 80MHz | 508KB | 32KB

  Pontech
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_nofire | No | 32MZ2048EFG100 | 200MHz | 1.98MB | 512KB
board_microchippic32_quick240_usb | No | 32MX795F512L | 80MHz | 508KB | 128KB

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_cui32stem | No | 32MX795F512H | 80MHz | 508KB | 128KB

  SparkFun
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_cui32 | No | 32MX440F512H | 80MHz | 508KB | 32KB

  UBW32
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_ubw32_mx460 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_ubw32_mx795 | No | 32MX795F512L | 80MHz | 508KB | 128KB

  chipKIT
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_lenny | No | 32MX270F256D | 40MHz | 120KB | 32KB

  element14
Name | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_chipkit_pi | No | 32MX250F128B | 40MHz | 120KB | 32KB

  Nordic nRF51

    Configuration
        projectconf_env_platform = nordicnrf51

The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Nordic nRF51 development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   zephyr-blink

    •   mbed-events

    •   arduino-blink

    •   arduino-ble-led

    •   zephyr-ble-eddystone

    •   arduino-internal-libs

    •   zephyr-drivers-entropy

    •   mbed-ble-thermometer

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_nordicnrf51_bbcmicrobit | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_calliope_mini | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_dfcm_nnn40 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_delta_dfcm_nnn50 | NRF51822 | 32MHz | 256KB | 16KB
board_nordicnrf51_wallbot_ble | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_beacon | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dongle | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_mkit | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_dk | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_redBearLabBLENano | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf51_redBearLab | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_seeedArchBLE | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_seeedTinyBLE | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_hrm1017 | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_ty51822r3 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_vbluno51 | NRF51822 | 16MHz | 128KB | 32KB
board_nordicnrf51_nrf51822_y5_mbug | NRF51822 | 16MHz | 256KB | 16KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_nordicnrf51_bluz_dk | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_oshchip | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_Sinobit | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_waveshare_ble400 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_ng_beacon | NRF51822 | 16MHz | 256KB | 32KB

  Stable and upstream versions

You can switch between stable releases of Nordic nRF51 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = nordicnrf51
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = nordicnrf51@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-nordicnrf51.git
        board = ...

  Packages
Name | Description
framework-arduinonordicnrf5 | Arduino Wiring-based Framework (Nordic NRF5 Core)
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-nordic | Nordic nRF5x HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-nrf-hw-models | Zephyr module for NRF52xxx HW models
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-nrfjprog | nRF5x command line tool
tool-openocd | OpenOCD
tool-sreccat | Merging tool
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  BBC
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bbcmicrobit | On-board | NRF51822 | 16MHz | 256KB | 16KB

  BluzDK
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bluz_dk | External | NRF51822 | 32MHz | 256KB | 32KB

  Calliope
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_calliope_mini | On-board | NRF51822 | 16MHz | 256KB | 16KB

  Delta
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_dfcm_nnn40 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_delta_dfcm_nnn50 | On-board | NRF51822 | 32MHz | 256KB | 16KB

  JKSoft
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_wallbot_ble | On-board | NRF51822 | 16MHz | 128KB | 16KB

  Nordic
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_nrf51_beacon | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dongle | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_mkit | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_dk | On-board | NRF51822 | 32MHz | 256KB | 32KB

  OSHChip
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_oshchip | External | NRF51822 | 32MHz | 256KB | 32KB

  RedBearLab
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_redBearLabBLENano | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf51_redBearLab | On-board | NRF51822 | 16MHz | 256KB | 16KB

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_seeedArchBLE | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_seeedTinyBLE | On-board | NRF51822 | 16MHz | 256KB | 16KB

  Switch Science
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_hrm1017 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_ty51822r3 | On-board | NRF51822 | 32MHz | 256KB | 32KB

  VNG
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_vbluno51 | On-board | NRF51822 | 16MHz | 128KB | 32KB

  Waveshare
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_waveshare_ble400 | External | NRF51822 | 32MHz | 256KB | 32KB

  ng-beacon
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_ng_beacon | External | NRF51822 | 16MHz | 256KB | 32KB

  sino:bit
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_Sinobit | External | NRF51822 | 32MHz | 256KB | 32KB

  y5 design
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_nrf51822_y5_mbug | On-board | NRF51822 | 16MHz | 256KB | 16KB

  Nordic nRF52

    Configuration
        projectconf_env_platform = nordicnrf52

The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Tutorials

    •   tutorial_nordicnrf52_arduino_debugging_unit_testing

    •   tutorial_nordicnrf52_zephyr_debugging_unit_testing_analysis

  Examples

Examples are listed from Nordic nRF52 development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   zephyr-blink

    •   mbed-rtos

    •   mbed-events

    •   zephyr-net-echo-client

    •   arduino-blink

    •   arduino-ble-led

    •   zephyr-ble-beacon

    •   mbed-nfc

    •   zephyr-subsys-nvs

    •   mbed-dsp

    •   mbed-ble-thermometer

    •   arduino-nina-b1-generic-example

    •   arduino-bluefruit-bleuart

    •   arduino-serial-plotter

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_nordicnrf52_laird_bl652_dvk | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_delta_dfbm_nq620 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_electronut_blip | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_nrf52832_mdk | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52_dk | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_redbear_blenano2 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_redbear_blend2 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_vbluno52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_ublox_evk_nina_b1 | NRF52832 | 64MHz | 512KB | 64KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_nordicnrf52_96b_nitrogen | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_feather_nrf52832 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_feather_nrf52840 | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_nano33ble | NRF52840 | 64MHz | 960KB | 256KB
board_nordicnrf52_bluey | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_cplaynrf52840 | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_holyiot_yj16019 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_metro_nrf52840 | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_thingy_52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_particle_argon | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_boron | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_xenon | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_sdt52832b | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_stct_nrf52_minidev | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_hackaBLE | NRF52832 | 64MHz | 512KB | 64KB

  Stable and upstream versions

You can switch between stable releases of Nordic nRF52 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = nordicnrf52
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = nordicnrf52@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-nordicnrf52.git
        board = ...

  Packages
Name | Description
framework-arduino-nrf52-mbedos | Arduino framework supporting mbed-enabled boards (nRF52 core)
framework-arduinoadafruitnrf52 | Arduino Wiring-based Framework (Nordic nRF52 BLE SoC))
framework-arduinonordicnrf5 | Arduino Wiring-based Framework (Nordic NRF5 Core)
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-nordic | Nordic nRF5x HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-nrf-hw-models | Zephyr module for NRF52xxx HW models
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-bossac-nordicnrf52 | Basic Open Source SAM-BA Application (BOSSA) for nRF52
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-nrfjprog | nRF5x command line tool
tool-openocd | OpenOCD
tool-sreccat | Merging tool
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  96Boards
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_96b_nitrogen | External | NRF52832 | 64MHz | 512KB | 64KB

  Adafruit
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_adafruit_feather_nrf52832 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_feather_nrf52840 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_cplaynrf52840 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_metro_nrf52840 | External | NRF52840 | 64MHz | 796KB | 243KB

  Arduino
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_nano33ble | External | NRF52840 | 64MHz | 960KB | 256KB

  Delta
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_delta_dfbm_nq620 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  Electronut Labs
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_bluey | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_hackaBLE | External | NRF52832 | 64MHz | 512KB | 64KB

  ElectronutLabs
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_electronut_blip | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Holyiot
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_holyiot_yj16019 | External | NRF52832 | 64MHz | 512KB | 64KB

  Laird Connectivity
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_laird_bl652_dvk | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Makerdiary
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_nrf52832_mdk | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Nordic
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_thingy_52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52_dk | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | On-board | NRF52840 | 64MHz | 796KB | 243KB

  Particle
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_particle_argon | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_boron | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_xenon | External | NRF52840 | 64MHz | 796KB | 243KB

  RedBearLab
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_redbear_blenano2 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_redbear_blend2 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  Sigma Delta Technologies
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_sdt52832b | External | NRF52832 | 64MHz | 512KB | 64KB

  Taida Century
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_stct_nrf52_minidev | External | NRF52832 | 64MHz | 512KB | 64KB

  VNG
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_vbluno52 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  u-blox
Name | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_ublox_evk_nina_b1 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  Nuclei

    Configuration
        projectconf_env_platform = nuclei

Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Nuclei development platform repository:

    •   freertos_demo

    •   rtthread_demo

    •   demo_dsp

    •   helloworld

    •   dhrystone

    •   whetstone

    •   demo_eclic

    •   ucosii_demo

    •   coremark

    •   demo_timer

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_rvstar | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_hbird_eval | HUMMINGBIRD | 5MHz | 64KB | 64KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | GD32VF103VBT6 | 108MHz | 128KB | 32KB

  Stable and upstream versions

You can switch between stable releases of Nuclei development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = nuclei
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = nuclei@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/Nuclei-Software/platform-nuclei.git
        board = ...

  Packages
Name | Description
framework-nuclei-sdk | Nuclei N/NX Embedded Software Development Kit
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-openocd-nuclei | OpenOCD branch with Nuclei RISCV support
toolchain-riscv-gcc-nuclei | Nuclei RISC-V GCC toolchain

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  GigaDevice
Name | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB

  Nuclei
Name | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_rvstar | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_hbird_eval | On-board | HUMMINGBIRD | 5MHz | 64KB | 64KB

  NXP i.MX RT

    Configuration
        projectconf_env_platform = nxpimxrt

The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from NXP i.MX RT development platform repository:

    •   mbed-blink

    •   zephyr-blink

    •   mbed-rtos-ethernet

    •   zephyr-synchronization

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_nxpimxrt_mimxrt1010_evk | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB

  Stable and upstream versions

You can switch between stable releases of NXP i.MX RT development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = nxpimxrt
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = nxpimxrt@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-nxpimxrt.git
        board = ...

  Packages
Name | Description
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-nxp | NXP HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd | OpenOCD
tool-pyocd | Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  NXP
Name | Debug | MCU | Frequency | Flash | RAM
board_nxpimxrt_mimxrt1010_evk | On-board | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | On-board | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | On-board | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | On-board | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | On-board | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | On-board | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB

  NXP LPC

    Configuration
        projectconf_env_platform = nxplpc

The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from NXP LPC development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   zephyr-blink

    •   mbed-rtos

    •   mbed-events

    •   mbed-custom-target

    •   zephyr-drivers-watchdog

    •   mbed-rtos-ethernet

    •   mbed-dsp

    •   zephyr-synchronization

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u24_301 | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc4330_m4 | LPC4330 | 204MHz | 8MB | 264KB
board_nxplpc_elektor_cocorico | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc4088_dm | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc11u68 | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | LPC824 | 30MHz | 32KB | 8KB
board_nxplpc_lpc812 | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc54114 | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc546xx | LPC54608ET512 | 180MHz | 512KB | 200KB
board_nxplpc_lpc11u24 | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | LPC1768 | 96MHz | 512KB | 64KB
board_nxplpc_seeedArchPro | LPC1768 | 96MHz | 512KB | 64KB
board_nxplpc_lpc1114fn28 | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | LPC824 | 30MHz | 32KB | 8KB
board_nxplpc_ubloxc027 | LPC1768 | 96MHz | 512KB | 64KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_501 | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_lpc1347 | LPC1347 | 72MHz | 64KB | 12KB
board_nxplpc_lpc11u35 | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_blueboard_lpc11u24 | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc1549 | LPC1549 | 72MHz | 256KB | 36KB
board_nxplpc_dipcortexm0 | LPC11U24 | 50MHz | 32KB | 8KB
board_nxplpc_lpc11u35_y5_mbug | LPC11U35 | 48MHz | 64KB | 10KB

  Stable and upstream versions

You can switch between stable releases of NXP LPC development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = nxplpc
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = nxplpc@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-nxplpc.git
        board = ...

  Packages
Name | Description
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-nxp | NXP HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd | OpenOCD
tool-pyocd | Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  AppNearMe
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_micronfcboard | No | LPC11U34 | 48MHz | 48KB | 10KB

  CQ Publishing
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_501 | External | LPC11U35 | 48MHz | 64KB | 10KB

  Elektor Labs
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_elektor_cocorico | On-board | LPC812 | 30MHz | 16KB | 4KB

  Embedded Artists
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35 | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_lpc4088_dm | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | On-board | LPC4088 | 120MHz | 512KB | 96KB

  GHI Electronics
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_oc_mbuino | No | LPC11U24 | 50MHz | 32KB | 10KB

  Micromint
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc4330_m4 | On-board | LPC4330 | 204MHz | 8MB | 264KB

  NGX Technologies
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_blueboard_lpc11u24 | External | LPC11U24 | 48MHz | 32KB | 8KB

  NXP
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u24_301 | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u68 | On-board | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | External | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | External | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | External | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc812 | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc1549 | External | LPC1549 | 72MHz | 256KB | 36KB
board_nxplpc_lpc54114 | On-board | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc546xx | On-board | LPC54608ET512 | 180MHz | 512KB | 200KB
board_nxplpc_lpc11u24 | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | On-board | LPC1768 | 96MHz | 512KB | 64KB

  Outrageous Circuits
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_mbuino | No | LPC11U24 | 48MHz | 32KB | 8KB

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_seeedArchGPRS | No | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_seeedArchPro | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_nxplpc_xadow_m0 | No | LPC11U35 | 48MHz | 64KB | 10KB

  Smeshlink
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_xbed_lpc1768 | No | LPC1768 | 96MHz | 512KB | 32KB

  Solder Splash Labs
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc1347 | External | LPC1347 | 72MHz | 64KB | 12KB
board_nxplpc_dipcortexm0 | External | LPC11U24 | 50MHz | 32KB | 8KB

  Switch Science
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc1114fn28 | On-board | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | On-board | LPC824 | 30MHz | 32KB | 8KB

  u-blox
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_ubloxc027 | On-board | LPC1768 | 96MHz | 512KB | 64KB

  y5 design
Name | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_y5_mbug | External | LPC11U35 | 48MHz | 64KB | 10KB

  RISC-V GAP

    Configuration
        projectconf_env_platform = riscv_gap

GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.

For more detailed information please visit vendor site.

  Contents

    •   Configuration

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Configuration

    •   Drivers

    •   AutoTiler

    •   Running modes

        •   Run from RAM

        •   Run from RAM (without any bridge interaction)

        •   Flash and run from RAM

        •   Flash and run from Flash

        •   Run from Flash

        •   Run from Flash (without any bridge interaction)

    •   Uploading files to HyperFlash

  Drivers

See "Drivers" section for debugging_tool_ftdi debug probe.

  AutoTiler

You need GAP8 AutoTiler library, please request it via support@greenwaves-technologies.com

Put a library somewhere on a disk and add this folder to library path using projectconf_build_flags in projectconf. For example,

                [env:gapuino]
                platform = riscv_gap
                board = gapuino
                framework = ...
                build_flags = -L/path/to/libtile/folder

  Running modes

GAPuino supports 2 main modes:

    1.  Running from RAM, boot_mode=jtag

    2.  Running from HyperFlash, boot_mode=jtag_hyper

A running process can be controlled through the internal upload commands:

    •   load, @TODO

    •   reqloop, @TODO

    •   ioloop, @TODO

    •   start, @TODO

    •   wait, @TODO

You can configure "boot mode" and list of upload commands using projectconf. Default values are:

    •   board_upload.boot_mode = jtag

    •   board_upload.commands = load reqloop ioloop start wait

  Run from RAM

This is a default behavior when you run "Upload" task in pioide or use piocore and platformio run --target command with upload target.

  Run from RAM (without any bridge interaction)

    •   Configure build environment using projectconf as described below

            [env:gapuino]
            platform = riscv_gap
            board = gapuino
            framework = ...
            board_upload.commands = load start

    •   Run "Upload" task in pioide or use piocore and platformio run --target command with upload target.

  Flash and run from RAM

The same as Uploading files to HyperFlash.

  Flash and run from Flash

    •   Configure build environment using projectconf as described below

            [env:gapuino]
            platform = riscv_gap
            board = gapuino
            framework = ...
            board_upload.boot_mode = jtag_hyper
            board_upload.commands = reqloop ioloop start wait

    •   Perform Uploading files to HyperFlash.

  Run from Flash

NOTE:
        You have to perform Uploading files to HyperFlash before.

    •   Configure build environment using projectconf as described below

            [env:gapuino]
            platform = riscv_gap
            board = gapuino
            framework = ...
            board_upload.boot_mode = jtag_hyper
            board_upload.commands = reqloop ioloop start wait

    •   Run "Upload" task in pioide or use piocore and platformio run --target command with upload target.

  Run from Flash (without any bridge interaction)

NOTE:
        You have to perform Uploading files to HyperFlash before.

    •   Configure build environment using projectconf as described below

            [env:gapuino]
            platform = riscv_gap
            board = gapuino
            framework = ...
            board_upload.boot_mode = jtag_hyper
            board_upload.commands = start

    •   Run "Upload" task in pioide or use piocore and platformio run --target command with upload target.

  Uploading files to HyperFlash

    1.  Create new project using pioide or initialize project using piocore and cmd_project_init (if you have not initialized it yet)

    2.  Create data folder (it should be on the same level as src folder) and put files here. Also, you can specify own location for projectconf_pio_data_dir

    3.  Run "Upload File System image" task in pioide or use piocore and platformio run --target command with uploadfs target.

Examples:

    •   PULP OS File System

  Examples

Examples are listed from RISC-V GAP development platform repository:

    •   gapuino-mbed-os-irq

    •   gapuino-mbed-autotiler-cifar10

    •   gapuino-mbed-driver-hyper-flash

    •   gapuino-pulp-os-i2c-eeprom

    •   gapuino-mbed-events-queue

    •   gapuino-pulp-os-kernel-dma

    •   gapuino-mbed-driver-hyper-rtc-alarm

    •   gapuino-mbed-fft2d

    •   gapuino-pulp-os-autotiler-bilinear-resize

    •   gapuino-mbed-matadd

    •   gapuino-mbed-features-cluster-dma

    •   gapuino-mbed-features-filesystem

    •   gapuino-pulp-os-filesystem

    •   gapuino-mbed-os-memory-pool

    •   gapuino-pulp-os-autotiler-cifar10

    •   gapuino-mbed-driver-cpp-raw-serial

    •   gapuino-pulp-os-hello-world

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_riscv_gap_gapuino | GAP8 | 250MHz | 64MB | 8MB

  Stable and upstream versions

You can switch between stable releases of RISC-V GAP development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = riscv_gap
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = riscv_gap@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/pioplus/platform-riscv_gap.git
        board = ...

  Packages
Name | Description
framework-gap_sdk | The GAP8 SDK allows you to compile and execute applications on the GAP8 IoT Application Processor.
tool-pulp_tools | Top project for building PULP development tools
toolchain-riscv-pulp | RISC-V GCC toolchain for PULP platform

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_pulp-os | PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  GreenWaves Technologies
Name | Debug | MCU | Frequency | Flash | RAM
board_riscv_gap_gapuino | On-board | GAP8 | 250MHz | 64MB | 8MB

  Shakti

    Configuration
        projectconf_env_platform = shakti

Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Shakti development platform repository:

    •   shakti-sdk_gpio-keypad

    •   shakti-sdk_i2c-lm75

    •   shakti-sdk_uart-hello

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_shakti_artix7_35t | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | C-CLASS | 50MHz | 0B | 128MB

  Stable and upstream versions

You can switch between stable releases of Shakti development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = shakti
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = shakti@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-shakti.git
        board = ...

  Packages
Name | Description
framework-shakti-sdk | A software development kit for developing applications on Shakti class of processors
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-openocd-riscv | OpenOCD for RISC-V
tool-qemu-riscv | Open source machine emulator and virtualizer
toolchain-riscv | GNU toolchain for RISC-V, including GCC

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_shakti-sdk | A software development kit for developing applications on Shakti class of processors

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Xilinx
Name | Debug | MCU | Frequency | Flash | RAM
board_shakti_artix7_35t | On-board | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | On-board | C-CLASS | 50MHz | 0B | 128MB

  SiFive

    Configuration
        projectconf_env_platform = sifive

SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from SiFive development platform repository:

    •   zephyr-blink

    •   native-blink_asm

    •   freedom-e-sdk_hello

    •   freedom-e-sdk_test-coreip

    •   freedom-e-sdk_sifive-welcome

    •   freedom-e-sdk_timer-interrupt

    •   freedom-e-sdk_multicore-hello

    •   freedom-e-sdk_user-syscall

    •   freedom-e-sdk_spi

    •   freedom-e-sdk_user-mode

    •   zephyr-synchronization

    •   zephyr-hello-world

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_sifive_e310-arty | FE310 | 450MHz | 16MB | 256MB
board_sifive_hifive-unleashed | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_redboard_v | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | FE310 | 320MHz | 16MB | 16KB

  Stable and upstream versions

You can switch between stable releases of SiFive development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = sifive
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = sifive@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-sifive.git
        board = ...

  Packages
Name | Description
framework-freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd-riscv | OpenOCD for RISC-V
tool-qemu-riscv | Open source machine emulator and virtualizer
tool-renode | Renode is a development framework which accelerates IoT and embedded systems development by letting you simulate physical hardware systems
toolchain-riscv | GNU toolchain for RISC-V, including GCC

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  SiFive
Name | Debug | MCU | Frequency | Flash | RAM
board_sifive_hifive-unleashed | On-board | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | On-board | FE310 | 320MHz | 16MB | 16KB

  SparkFun
Name | Debug | MCU | Frequency | Flash | RAM
board_sifive_sparkfun_redboard_v | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | On-board | FE310 | 320MHz | 16MB | 16KB

  Xilinx
Name | Debug | MCU | Frequency | Flash | RAM
board_sifive_e310-arty | On-board | FE310 | 450MHz | 16MB | 256MB

  Silicon Labs EFM32

    Configuration
        projectconf_env_platform = siliconlabsefm32

Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Silicon Labs EFM32 development platform repository:

    •   mbed-blink

    •   zephyr-subsys-console-getline

    •   mbed-serial

    •   zephyr-blink

    •   mbed-events

    •   mbed-dsp

    •   zephyr-sensor-vl53l0x

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_siliconlabsefm32_efm32gg_stk3700 | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_siliconlabsefm32_efm32hg_stk3400 | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_siliconlabsefm32_tb_sense_12 | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB

  Stable and upstream versions

You can switch between stable releases of Silicon Labs EFM32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = siliconlabsefm32
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = siliconlabsefm32@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-siliconlabsefm32.git
        board = ...

  Packages
Name | Description
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-silabs | SiliconLabs HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Silicon Labs
Name | Debug | MCU | Frequency | Flash | RAM
board_siliconlabsefm32_efm32gg_stk3700 | On-board | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | On-board | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | On-board | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_siliconlabsefm32_efm32hg_stk3400 | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | On-board | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_siliconlabsefm32_tb_sense_12 | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB

  ST STM32

    Configuration
        projectconf_env_platform = ststm32

The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Configuration

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Tutorials

    •   tutorial_stm32cube_debugging_unit_testing

  Configuration

  Switching between Arduino cores

There are two different Arduino cores for STM32 microcontrollers: STM32Duino and Arduino STM32 (maple). Both of them have been developed independently, therefore, have different functionality and set of internal libraries. By default, official STM32Duino core is used. Some of the boards support both cores. To change the core you can use a board_build.core option that needs be added to projectconf_build_flags:

An example of projectconf with maple core

        [env:hy_tinystm103tb]
        platform = ststm32
        framework = arduino
        board = hy_tinystm103tb
        board_build.core = maple

  STM32Duino configuration system

STM32Duino core has several options that can be configured using the next configuration flags in projectconf_build_flags section of projectconf:

  C/C++ standard library configuration
Name | Description
PIO_FRAMEWORK_ARDUINO_STANDARD_LIB | Disable Newlib Nano library
PIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF | Newlib Nano + float printf support
PIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_SCANF | Newlib Nano + float scanf support

  USART Configuration
Name | Description
PIO_FRAMEWORK_ARDUINO_SERIAL_WITHOUT_GENERIC | Enabled (no generic Serial)
PIO_FRAMEWORK_ARDUINO_SERIAL_DISABLED | Disabled (no Serial support)

  USB Configuration
Name | Description
PIO_FRAMEWORK_ARDUINO_ENABLE_CDC | CDC (generic Serial supersede U(S)ART)
PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_WITHOUT_SERIAL | CDC (no generic Serial)
PIO_FRAMEWORK_ARDUINO_ENABLE_HID | HID (keyboard and mouse)

  USB Speed Configuration
Name | Description
PIO_FRAMEWORK_ARDUINO_USB_HIGHSPEED | High Speed mode
PIO_FRAMEWORK_ARDUINO_USB_HIGHSPEED_FULLMODE | High Speed in Full Speed mode

Example:

        [env:nucleo_f401re]
        platform = ststm32
        framework = arduino
        board = nucleo_f401re
        build_flags =
          -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
          -D PIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF
          -D PIO_FRAMEWORK_ARDUINO_USB_HIGHSPEED_FULLMODE

  Maple STM32 configuration system

In this core the USB peripheral (STM32F4 boards only) can be configured using the next configuration flags in projectconf_build_flags section of projectconf:

  USB Configuration for STM32F4 boards
Name | Description
ENABLE_USB_SERIAL | USB serial (CDC)
ENABLE_USB_MASS_STORAGE | USB Mass Storage (MSC)

Example:

        [env:disco_f407vg]
        platform = ststm32
        framework = arduino
        board = disco_f407vg
        board_build.core = maple
        build_flags = -D ENABLE_USB_MASS_STORAGE

  Examples

Examples are listed from ST STM32 development platform repository:

    •   mbed-blink

    •   mbed-filesystem

    •   mbed-serial

    •   zephyr-blink

    •   stm32cube-ll-blink

    •   libopencm3-blink

    •   mbed-rtos

    •   mbed-events

    •   mbed-custom-target

    •   cmsis-blink

    •   arduino-blink

    •   spl-blink

    •   mbed-rtos-mesh-minimal

    •   arduino-mxchip-sensors

    •   zephyr-cpp-synchronization

    •   zephyr-net-https-client

    •   mbed-rtos-ethernet-tls

    •   stm32cube-hal-blink

    •   zephyr-drivers-can

    •   arduino-mxchip-azureiot

    •   arduino-mxchip-filesystem

    •   arduino-internal-libs

    •   mbed-rtos-ethernet

    •   arduino-external-libs

    •   mbed-rtos-semaphore

    •   mbed-dsp

    •   arduino-mxchip-wifiscan

    •   libopencm3-1bitsy

    •   zephyr-subsys-usb-hid-mouse

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_remram_v1 | STM32F765VIT6 | 216MHz | 2MB | 512KB
board_ststm32_st3dp001_eval | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_b96b_f446ve | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_armstrap_eagle1024 | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rhombio_l476dmw1k | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_mbed_connect_odin | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mxchip_az3166 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_wb55rg_p | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_ststm32_cloud_jam | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_f334c8 | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_silica_sensor_node | STM32L476JG | 80MHz | 1MB | 128KB
board_ststm32_disco_f750n8 | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_ststm32_seeedArchMax | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_wio_3g | STM32F439VI | 180MHz | 2MB | 256KB
board_ststm32_sakuraio_evb_01 | STM32F411RET6 | 100MHz | 1MB | 128KB
board_ststm32_ublox_c030_r410m | STM32F437VG | 180MHz | 1MB | 256KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_armed_v1 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rumba32_f446ve | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_b96b_argonkey | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_neonkey | STM32F411CE | 100MHz | 512KB | 128KB
board_ststm32_adafruit_feather_f405 | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_ststm32_afroflight_f103cb | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_black_f407ve | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_robotdyn_blackpill_f303cc | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_blackpill_f401cc | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_coreboard_f401rc | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_demo_f030f4 | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_ststm32_elmo_f411re | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_diymore_f407vgt | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_malyanm200_f070cb | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_mkr_sharky | STM32WB55CG | 64MHz | 512KB | 192.00KB
board_ststm32_mts_dragonfly_f411re | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_malyanm200_f103cb | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_ststm32_microduino32_flash | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_ststm32_mts_mdot_f405rg | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | STM32L151CCU6 | 32MHz | 256KB | 32KB
board_ststm32_netduino2plus | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_mote_l152rc | STM32L152RC | 32MHz | 256KB | 32KB
board_ststm32_nucleo_g071rb | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_olimexino | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_piconomix_px_her0 | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | STM32F407RE | 168MHz | 512KB | 192KB
board_ststm32_rak811_tracker | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | STM32L151RBT6 | 32MHz | 128KB | 32KB
board_ststm32_rhf76_052 | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_steval_fcu001v1 | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_olimex_e407 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_genericSTM32F103C8 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_steval_mksboxv1 | STM32L4R9ZI | 120MHz | 2MB | 640KB
board_ststm32_sparky_v1 | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_thunder_pack | STM32L072KZ | 32MHz | 192KB | 20KB
board_ststm32_hy_tinystm103tb | STM32F103TBU6 | 72MHz | 128KB | 20KB
board_ststm32_vake_v1 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_wraith32_v1 | STM32F051K6 | 48MHz | 32KB | 7.75KB
board_ststm32_ublox_c030_n211 | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_evk_odin_w2 | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | STM32F439ZIY6 | 168MHz | 2MB | 256KB

  Stable and upstream versions

You can switch between stable releases of ST STM32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = ststm32
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = ststm32@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-ststm32.git
        board = ...

  Packages
Name | Description
framework-arduinostm32mxchip | Arduino Wiring-based Framework (ST STM32 MXChip Core)
framework-arduinoststm32 | Arduino Wiring-based Framework (STM32 Core)
framework-arduinoststm32-maple | Arduino Wiring-based Framework (ST STM32 Maple Core)
framework-cmsis | Vendor-independent hardware abstraction layer for the Cortex-M processor series
framework-libopencm3 | libOpenCM3 Framework
framework-mbed | mbed Framework
framework-spl | Standard Peripheral Library for STM32 MCUs
framework-stm32cube | STM32Cube embedded software libraries
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-st | Zephyr module for the official libraries provided by STMicroelectronics
framework-zephyr-hal-stm32 | ST STM32 HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dfuutil | Host side implementation of the DFU 1.0 and DFU 1.1 specifications
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd | OpenOCD
tool-stm32duino | STM32Duino Tools
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  1BitSquared
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | External | STM32F415RGT | 168MHz | 1MB | 128KB

  96Boards
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_b96b_argonkey | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | External | STM32F411CE | 100MHz | 512KB | 128KB

  Adafruit
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_adafruit_feather_f405 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB

  AfroFlight
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_afroflight_f103cb | External | STM32F103CBT6 | 72MHz | 128KB | 20KB

  Airbot
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_wraith32_v1 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB

  Armed
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armed_v1 | External | STM32F407VET6 | 168MHz | 512KB | 192KB

  Armstrap
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB

  Avnet Silica
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_silica_sensor_node | On-board | STM32L476JG | 80MHz | 1MB | 128KB

  Diymore
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_diymore_f407vgt | External | STM32F407VGT6 | 168MHz | 512KB | 128KB

  Espotel
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_elmo_f411re | External | STM32F411RET6 | 100MHz | 512KB | 128KB

  Generic
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c6 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_demo_f030f4 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_ststm32_fk407m1 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_genericSTM32F103C8 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  HY
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_hy_tinystm103tb | External | STM32F103TBU6 | 72MHz | 128KB | 20KB

  LeafLabs
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_maple | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | External | STM32F103CBT6 | 72MHz | 108KB | 17KB

  MXChip
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mxchip_az3166 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB

  Malyan
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_malyanm200_f070cb | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm200_f103cb | External | STM32F103CBT6 | 72MHz | 120KB | 20KB

  Microduino
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_microduino32_flash | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB

  Midatronics
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mkr_sharky | External | STM32WB55CG | 64MHz | 512KB | 192.00KB

  MultiTech
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mts_dragonfly_f411re | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f405rg | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | External | STM32L151CCU6 | 32MHz | 256KB | 32KB

  Netduino
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_netduino2plus | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  Olimex
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_olimex_e407 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

  Piconomix
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_piconomix_px_her0 | External | STM32L072RB | 32MHz | 128KB | 20KB

  PrntrBoard
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_prntr_v2 | External | STM32F407RE | 168MHz | 512KB | 192KB

  RAK
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rak811_tracker | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB

  RUMBA
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rumba32_f446ve | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  RemRam
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_remram_v1 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB

  RobotDyn
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_robotdyn_blackpill_f303cc | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  RushUp
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_cloud_jam | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB

  ST
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_st3dp001_eval | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_black_f407ve | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f401cc | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_coreboard_f401rc | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_nucleo_g071rb | External | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | External | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | External | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | External | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_nucleo_wb55rg_p | On-board | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_ststm32_rhf76_052 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_f334c8 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | On-board | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | On-board | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | On-board | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | On-board | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_steval_fcu001v1 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_eval_f107vc | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_disco_f750n8 | On-board | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_ststm32_steval_mksboxv1 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB

  SeeedStudio
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_seeedArchMax | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_wio_3g | On-board | STM32F439VI | 180MHz | 2MB | 256KB

  Semtech
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mote_l152rc | External | STM32L152RC | 32MHz | 256KB | 32KB

  TauLabs
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sparky_v1 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  ThunderPack
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_thunder_pack | External | STM32L072KZ | 32MHz | 192KB | 20KB

  VAE
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_vake_v1 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  rhomb.io
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rhombio_l476dmw1k | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB

  sakura.io
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sakuraio_evb_01 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB

  u-blox
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mbed_connect_odin | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_ublox_c030_n211 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_evk_odin_w2 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB

  ST STM8

    Configuration
        projectconf_env_platform = ststm8

The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from ST STM8 development platform repository:

    •   spl-blink

    •   arduino-fade-all-pins

    •   spl-uart

    •   spl-flash

    •   arduino-internal-lib

    •   arduino-ping-hc04

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_ststm8_stm8sdisco | STM8S105C6T6 | 16MHz | 32KB | 2KB

  Stable and upstream versions

You can switch between stable releases of ST STM8 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = ststm8
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = ststm8@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-ststm8.git
        board = ...

  Packages
Name | Description
framework-arduinoststm8 | Arduino Wiring-based Framework (STM8 Core)
framework-ststm8spl | STM8S/A Standard peripheral library
tool-openocd | OpenOCD
tool-stm8binutils | STM8 GNU binutils
tool-stm8tools | STM8 upload tools
toolchain-sdcc | Small Device C Compiler

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  ST
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm8_stm8sdisco | On-board | STM8S105C6T6 | 16MHz | 32KB | 2KB
board_ststm8_stm8sblue | No | STM8S103F3P6 | 16MHz | 8KB | 1KB
board_ststm8_stm8sblack | No | STM8S105K4T6 | 16MHz | 16KB | 2KB

  sduino
Name | Debug | MCU | Frequency | Flash | RAM
board_ststm8_mb208 | No | STM8S208MBT6 | 16MHz | 128KB | 6KB
board_ststm8_s8uno | No | STM8S105K6T6 | 16MHz | 32KB | 2KB

  Teensy

    Configuration
        projectconf_env_platform = teensy

Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.

For more detailed information please visit vendor site.

  Contents

    •   Configuration

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Configuration

    •   Optimization

    •   USB Features

  Optimization

(valid only for Teensy LC, Teensy 3.0-3.6)

You can control firmware optimization via special macro/define using projectconf_build_flags in projectconf:

    •   -D TEENSY_OPT_FASTER, default

    •   -D TEENSY_OPT_FASTER_LTO

    •   -D TEENSY_OPT_FAST

    •   -D TEENSY_OPT_FAST_LTO

    •   -D TEENSY_OPT_FASTEST

    •   -D TEENSY_OPT_FASTEST_LTO

    •   -D TEENSY_OPT_FASTEST_PURE_CODE, valid only for Teensy 3.5-3.6

    •   -D TEENSY_OPT_FASTEST_PURE_CODE_LTO, valid only for Teensy 3.5-3.6

    •   -D TEENSY_OPT_DEBUG

    •   -D TEENSY_OPT_DEBUG_LTO

    •   -D TEENSY_OPT_SMALLEST_CODE

    •   -D TEENSY_OPT_SMALLEST_CODE_LTO

The only one macro can be used in per one build environment. Also, you can see verbose build using -v, --verbose option for cmd_run command.

Example:

Let's set optimization for the smallest code

        [env:teensy_hid_device]
        platform = teensy
        framework = arduino
        board = teensy36
        build_flags = -D TEENSY_OPT_SMALLEST_CODE

  USB Features

If you want to use Teensy USB Features, you need to add special macro/define using projectconf_build_flags:

    •   -D USB_SERIAL

    •   -D USB_KEYBOARDONLY

    •   -D USB_TOUCHSCREEN

    •   -D USB_HID_TOUCHSCREEN

    •   -D USB_HID

    •   -D USB_SERIAL_HID

    •   -D USB_MIDI

    •   -D USB_MIDI4

    •   -D USB_MIDI16

    •   -D USB_MIDI_SERIAL

    •   -D USB_MIDI4_SERIAL

    •   -D USB_MIDI16_SERIAL

    •   -D USB_AUDIO

    •   -D USB_MIDI_AUDIO_SERIAL

    •   -D USB_MIDI16_AUDIO_SERIAL

    •   -D USB_MTPDISK

    •   -D USB_RAWHID

    •   -D USB_FLIGHTSIM

    •   -D USB_FLIGHTSIM_JOYSTICK

    •   -D USB_EVERYTHING

    •   -D USB_DISABLED

A default macro is set to -D USB_SERIAL if no one is specified.

Example:

        [env:teensy_hid_device]
        platform = teensy
        framework = arduino
        board = teensy20
        build_flags = -D USB_RAWHID

See Teensy USB Examples.

  Examples

Examples are listed from Teensy development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   mbed-events

    •   arduino-blink

    •   arduino-hid-usb-mouse

    •   arduino-internal-libs

    •   mbed-dsp

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | MCU | Frequency | Flash | RAM
board_teensy_teensy31 | MK20DX256 | 72MHz | 256KB | 64KB
board_teensy_teensy35 | MK64FX512 | 120MHz | 512KB | 255.99KB
board_teensy_teensy36 | MK66FX1M0 | 180MHz | 1MB | 256KB
board_teensy_teensy40 | IMXRT1062 | 600MHz | 1.94MB | 512KB
board_teensy_teensy41 | IMXRT1062 | 600MHz | 7.75MB | 512KB
board_teensy_teensylc | MKL26Z64 | 48MHz | 62KB | 8KB

  Stable and upstream versions

You can switch between stable releases of Teensy development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = teensy
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = teensy@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-teensy.git
        board = ...

  Packages
Name | Description
framework-arduinoteensy | Arduino Wiring-based Framework
framework-mbed | mbed Framework
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-teensy | Teensy Loader
toolchain-atmelavr | avr-gcc
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Teensy programming uses only Windows built-in HID drivers. When Teensy is programmed to act as a USB Serial device, Windows XP, Vista, 7 and 8 require this serial driver is needed to access the COM port your program uses. No special driver installation is necessary on Windows 10.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Teensy
Name | Debug | MCU | Frequency | Flash | RAM
board_teensy_teensy2 | No | ATMEGA32U4 | 16MHz | 31.50KB | 2.50KB
board_teensy_teensy30 | No | MK20DX128 | 48MHz | 128KB | 16KB
board_teensy_teensy31 | External | MK20DX256 | 72MHz | 256KB | 64KB
board_teensy_teensy35 | External | MK64FX512 | 120MHz | 512KB | 255.99KB
board_teensy_teensy36 | External | MK66FX1M0 | 180MHz | 1MB | 256KB
board_teensy_teensy40 | External | IMXRT1062 | 600MHz | 1.94MB | 512KB
board_teensy_teensy41 | External | IMXRT1062 | 600MHz | 7.75MB | 512KB
board_teensy_teensylc | External | MKL26Z64 | 48MHz | 62KB | 8KB
board_teensy_teensy2pp | No | AT90USB1286 | 16MHz | 127KB | 8KB

  TI MSP430

    Configuration
        projectconf_env_platform = timsp430

MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from TI MSP430 development platform repository:

    •   arduino-blink

    •   native-blink

    •   arduino-internal-libs

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_timsp430_lpmsp430fr5739 | MSP430FR5739 | 16MHz | 15.37KB | 1KB
board_timsp430_lpmsp430f5529 | MSP430F5529 | 25MHz | 47KB | 8KB
board_timsp430_lpmsp430fr2311 | MSP430FR2311 | 16MHz | 3.75KB | 1KB
board_timsp430_lpmsp430fr2433 | MSP430FR2433 | 8MHz | 15KB | 4KB
board_timsp430_lpmsp430fr4133 | MSP430FR4133 | 8MHz | 15KB | 2KB
board_timsp430_lpmsp430fr5969 | MSP430FR5969 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430fr5994 | MSP430FR5994 | 16MHz | 256KB | 4KB
board_timsp430_lpmsp430fr6989 | MSP430FR6989 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430g2231 | MSP430G2231 | 1MHz | 2KB | 256B
board_timsp430_lpmsp430g2452 | MSP430G2452 | 16MHz | 8KB | 256B
board_timsp430_lpmsp430g2553 | MSP430G2553 | 16MHz | 16KB | 512B

  Stable and upstream versions

You can switch between stable releases of TI MSP430 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = timsp430
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = timsp430@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-timsp430.git
        board = ...

  Packages
Name | Description
framework-energiamsp430 | Energia Wiring-based Framework (MSP430 Core)
tool-dslite | Uniflash Standalone Flash Tool for TI Microcontrollers, Sitara Processors & SimpleLink devices
tool-mspdebug | MSPDebug
toolchain-timsp430 | msp-gcc

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  TI
Name | Debug | MCU | Frequency | Flash | RAM
board_timsp430_lpmsp430fr5739 | On-board | MSP430FR5739 | 16MHz | 15.37KB | 1KB
board_timsp430_lpmsp430f5529 | On-board | MSP430F5529 | 25MHz | 47KB | 8KB
board_timsp430_lpmsp430fr2311 | On-board | MSP430FR2311 | 16MHz | 3.75KB | 1KB
board_timsp430_lpmsp430fr2433 | On-board | MSP430FR2433 | 8MHz | 15KB | 4KB
board_timsp430_lpmsp430fr4133 | On-board | MSP430FR4133 | 8MHz | 15KB | 2KB
board_timsp430_lpmsp430fr5969 | On-board | MSP430FR5969 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430fr5994 | On-board | MSP430FR5994 | 16MHz | 256KB | 4KB
board_timsp430_lpmsp430fr6989 | On-board | MSP430FR6989 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430g2231 | On-board | MSP430G2231 | 1MHz | 2KB | 256B
board_timsp430_lpmsp430g2452 | On-board | MSP430G2452 | 16MHz | 8KB | 256B
board_timsp430_lpmsp430g2553 | On-board | MSP430G2553 | 16MHz | 16KB | 512B

  TI TIVA

    Configuration
        projectconf_env_platform = titiva

Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from TI TIVA development platform repository:

    •   libopencm3-blink

    •   arduino-blink

    •   native-blink

    •   arduino-internal-libs

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_titiva_lplm4f120h5qr | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB

  Stable and upstream versions

You can switch between stable releases of TI TIVA development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = titiva
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = titiva@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-titiva.git
        board = ...

  Packages
Name | Description
framework-energiativa | Energia Wiring-based Framework (LM4F Core)
framework-libopencm3 | libOpenCM3 Framework
tool-openocd | OpenOCD
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  TI
Name | Debug | MCU | Frequency | Flash | RAM
board_titiva_lplm4f120h5qr | On-board | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | On-board | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | On-board | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB

  WIZNet W7500

    Configuration
        projectconf_env_platform = wiznet7500

The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from WIZNet W7500 development platform repository:

    •   mbed-blink

    •   mbed-serial

    •   mbed-rtos

    •   mbed-events

    •   mbed-dsp

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | MCU | Frequency | Flash | RAM
board_wiznet7500_wizwiki_w7500 | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | WIZNET7500P | 48MHz | 128KB | 48KB

  Stable and upstream versions

You can switch between stable releases of WIZNet W7500 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = wiznet7500
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = wiznet7500@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-wiznet7500.git
        board = ...

  Packages
Name | Description
framework-mbed | mbed Framework
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-pyocd | Open source python library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP
toolchain-gccarmnoneeabi | gcc-arm-embedded

WARNING:
        Linux Users:

                    •   Install "udev" rules faq_udev_rules

                    •   Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

        Windows Users:
                Please check that you have a correctly installed USB driver from board manufacturer

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  WIZNet
Name | Debug | MCU | Frequency | Flash | RAM
board_wiznet7500_wizwiki_w7500 | On-board | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | On-board | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | On-board | WIZNET7500P | 48MHz | 128KB | 48KB

  Desktop

  Native

    Configuration
        projectconf_env_platform = native

Native development platform is intended to be used for desktop OS. This platform uses built-in toolchains (preferable based on GCC), frameworks, libs from particular OS where it will be run.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

  Examples

Examples are listed from Native development platform repository:

    •   hello-world

  Stable and upstream versions

You can switch between stable releases of Native development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = native
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = native@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-native.git
        board = ...

  Linux ARM

    Configuration
        projectconf_env_platform = linux_arm

Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

    •   Frameworks

    •   Boards

  Examples

Examples are listed from Linux ARM development platform repository:

    •   wiringpi-serial

    •   wiringpi-blink

  Stable and upstream versions

You can switch between stable releases of Linux ARM development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = linux_arm
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = linux_arm@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-linux_arm.git
        board = ...

  Packages
Name | Description
framework-wiringpi | GPIO Interface library for the Raspberry Pi
toolchain-gccarmlinuxgnueabi | GCC for Linux ARM GNU EABI

  Frameworks
Name | Description
framework_wiringpi | WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Raspberry Pi
Name | Debug | MCU | Frequency | Flash | RAM
board_linux_arm_raspberrypi_1b | No | BCM2835 | 700MHz | 512MB | 512MB
board_linux_arm_raspberrypi_2b | No | BCM2836 | 900MHz | 1GB | 1GB
board_linux_arm_raspberrypi_3b | No | BCM2837 | 1200MHz | 1GB | 1GB
board_linux_arm_raspberrypi_zero | No | BCM2835 | 1000MHz | 512MB | 512MB

  Linux i686

    Configuration
        projectconf_env_platform = linux_i686

Linux i686 (32-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 32-bit) you can build native application for Linux i686 platform.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

  Examples

Examples are listed from Linux i686 development platform repository:

    •   hello-world

  Stable and upstream versions

You can switch between stable releases of Linux i686 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = linux_i686
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = linux_i686@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-linux_i686.git
        board = ...

  Packages
Name | Description
toolchain-gcclinux32 | GCC for Linux i686

  Linux x86_64

    Configuration
        projectconf_env_platform = linux_x86_64

Linux x86_64 (64-bit) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X or Linux 64-bit) you can build native application for Linux x86_64 platform.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

  Examples

Examples are listed from Linux x86_64 development platform repository:

    •   hello-world

  Stable and upstream versions

You can switch between stable releases of Linux x86_64 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = linux_x86_64
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = linux_x86_64@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-linux_x86_64.git
        board = ...

  Packages
Name | Description
toolchain-gcclinux64 | GCC for Linux x86_64

  Windows x86

    Configuration
        projectconf_env_platform = windows_x86

Windows x86 (32-bit) is a metafamily of graphical operating systems developed and marketed by Microsoft. Using host OS (Windows, Linux 32/64 or Mac OS X) you can build native application for Windows x86 platform.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Stable and upstream versions

    •   Packages

  Examples

Examples are listed from Windows x86 development platform repository:

    •   hello-world

  Stable and upstream versions

You can switch between stable releases of Windows x86 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.

  Stable

        ; Latest stable version
        [env:latest_stable]
        platform = windows_x86
        board = ...

        ; Custom stable version
        [env:custom_stable]
        platform = windows_x86@x.y.z
        board = ...

  Upstream

        [env:upstream_develop]
        platform = https://github.com/platformio/platform-windows_x86.git
        board = ...

  Packages
Name | Description
toolchain-gccmingw32 | MinGW

  Frameworks

  Arduino

    Configuration
        projectconf_env_framework = arduino

Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Configuration

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Tutorials

    •   tutorial_espressif32_arduino_debugging_unit_testing

    •   tutorial_nordicnrf52_arduino_debugging_unit_testing

  Configuration

  MiniCore, MightyCore, MegaCore

Please read official documentation how to configure MCUdude's Cores:

    •   Configure "MiniCore"

    •   Configure "MightyCore"

    •   Configure "MegaCore"

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_remram_v1 | platform_ststm32 | STM32F765VIT6 | 216MHz | 2MB | 512KB
board_ststm32_st3dp001_eval | platform_ststm32 | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_atmelavr_ATmega128 | platform_atmelavr | ATMEGA128 | 16MHz | 127KB | 4KB
board_atmelavr_ATmega1280 | platform_atmelavr | ATMEGA1280 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1281 | platform_atmelavr | ATMEGA1281 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1284 | platform_atmelavr | ATMEGA1284 | 16MHz | 127KB | 16KB
board_atmelavr_ATmega1284P | platform_atmelavr | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ATmega16 | platform_atmelavr | ATMEGA16 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164P | platform_atmelavr | ATMEGA164P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168P | platform_atmelavr | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega2560 | platform_atmelavr | ATMEGA2560 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega324A | platform_atmelavr | ATMEGA324A | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324P | platform_atmelavr | ATMEGA324P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PA | platform_atmelavr | ATMEGA324PA | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328 | platform_atmelavr | ATMEGA328 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328P | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega48 | platform_atmelavr | ATMEGA48 | 16MHz | 4KB | 512B
board_atmelavr_ATmega644P | platform_atmelavr | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_ATmega8 | platform_atmelavr | ATMEGA8 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88 | platform_atmelavr | ATMEGA88 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88P | platform_atmelavr | ATMEGA88P | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega48P | platform_atmelavr | ATMEGA48P | 16MHz | 4KB | 512B
board_atmelavr_bluefruitmicro | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_circuitplay_classic | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_feather328p | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_feather32u4 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_flora8 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_gemma | platform_atmelavr | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_itsybitsy32u4_3V | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_itsybitsy32u4_5V | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_metro | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_protrinket3ftdi | platform_atmelavr | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket3 | platform_atmelavr | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket5ftdi | platform_atmelavr | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_protrinket5 | platform_atmelavr | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_trinket3 | platform_atmelavr | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_trinket5 | platform_atmelavr | ATTINY85 | 16MHz | 8KB | 512B
board_atmelavr_alorium_hinj | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_sno | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_xlr8 | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_miniwireless | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_arduboy | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_arduboy_devkit | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_btatmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_btatmega328 | platform_atmelavr | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_diecimilaatmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_diecimilaatmega328 | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_esplora | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_ethernet | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_fio | platform_atmelavr | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_chiwawa | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardo | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardoeth | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_lilypadatmega168 | platform_atmelavr | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_lilypadatmega328 | platform_atmelavr | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_LilyPadUSB | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_mzeropro | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_megaADK | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_megaatmega1280 | platform_atmelavr | ATMEGA1280 | 16MHz | 124KB | 8KB
board_atmelavr_megaatmega2560 | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_micro | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_miniatmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_miniatmega328 | platform_atmelavr | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_atmegangatmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_atmegangatmega8 | platform_atmelavr | ATMEGA8 | 16MHz | 7KB | 1KB
board_atmelavr_nanoatmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_nanoatmega328 | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_pro8MHzatmega168 | platform_atmelavr | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_pro16MHzatmega168 | platform_atmelavr | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_pro8MHzatmega328 | platform_atmelavr | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_pro16MHzatmega328 | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_robotControl | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_robotMotor | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_uno | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_yun | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_yunmini | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_zero | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_atmelavr_zumbt328 | platform_atmelavr | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_raspduino | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_nordicnrf51_calliope_mini | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_atmelavr_controllino_maxi | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_maxi_automation | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mega | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mini | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_digispark-tiny | platform_atmelavr | ATTINY85 | 16MHz | 5.87KB | 512B
board_atmelavr_engduinov3 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_mayfly | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_espressif32_esp-wrover-kit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_atmelavr_fysetc_f6_13 | platform_atmelavr | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_attiny13 | platform_atmelavr | ATTINY13 | 1MHz | 1KB | 64B
board_atmelavr_attiny13a | platform_atmelavr | ATTINY13A | 1MHz | 1KB | 64B
board_atmelavr_attiny2313 | platform_atmelavr | ATTINY2313 | 8MHz | 2KB | 128B
board_atmelavr_attiny24 | platform_atmelavr | ATTINY24 | 8MHz | 2KB | 128B
board_atmelavr_attiny25 | platform_atmelavr | ATTINY25 | 8MHz | 2KB | 128B
board_atmelavr_attiny4313 | platform_atmelavr | ATTINY4313 | 8MHz | 4KB | 256B
board_atmelavr_attiny44 | platform_atmelavr | ATTINY44 | 8MHz | 4KB | 256B
board_atmelavr_attiny45 | platform_atmelavr | ATTINY45 | 8MHz | 4KB | 256B
board_atmelavr_attiny84 | platform_atmelavr | ATTINY84 | 8MHz | 8KB | 512B
board_atmelavr_attiny85 | platform_atmelavr | ATTINY85 | 8MHz | 8KB | 512B
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_atmelavr_lightblue-bean | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_lightblue-beanplus | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_lightup | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_one | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_smart7688 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_lora32u4II | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_mightyhat | platform_atmelavr | ATMEGA328P | 16MHz | 31KB | 2KB
board_atmelavr_moteino | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_moteino8mhz | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_moteinomega | platform_atmelavr | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_168pa16m | platform_atmelavr | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_168pa8m | platform_atmelavr | ATMEGA168P | 8MHz | 15.50KB | 1KB
board_atmelavr_328p16m | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_328p8m | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_32u416m | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_1284p16m | platform_atmelavr | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_1284p8m | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_644pa16m | platform_atmelavr | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_644pa8m | platform_atmelavr | ATMEGA644P | 8MHz | 63KB | 4KB
board_ststm32_mxchip_az3166 | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_atmelavr_emonpi | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_prusa_mm_control | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_ststm32_nucleo_wb55rg_p | platform_ststm32 | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_atmelavr_panStampAVR | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_a-star32U4 | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_prusa_rambo | platform_atmelavr | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_quirkbot | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_blend | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_blendmicro16 | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro8 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_atmelavr_reprap_rambo | platform_atmelavr | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_sodaq_galora | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_mbili | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_moja | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sodaq_ndogo | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_tatu | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_ststm32_disco_f746ng | platform_ststm32 | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f091rc | platform_ststm32 | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f401re | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f767zi | platform_ststm32 | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_f100rb | platform_ststm32 | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm8_stm8sdisco | platform_ststm8 | STM8S105C6T6 | 16MHz | 32KB | 2KB
board_atmelavr_sanguino_atmega1284p | platform_atmelavr | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284_8m | platform_atmelavr | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega644 | platform_atmelavr | ATMEGA644 | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644_8m | platform_atmelavr | ATMEGA644 | 8MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p | platform_atmelavr | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p_8m | platform_atmelavr | ATMEGA644P | 8MHz | 63KB | 4KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_atmelavr_seeeduino | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_satmega128rfa1 | platform_atmelavr | ATMEGA128RFA1 | 16MHz | 16KB | 124KB
board_atmelavr_sparkfun_digitalsandbox | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_fiov3 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_makeymakey | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_megapro8MHz | platform_atmelavr | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_sparkfun_megapro16MHz | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_sparkfun_megamini | platform_atmelavr | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_uview | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_promicro8 | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_promicro16 | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_qduinomini | platform_atmelavr | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_redboard | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_serial7seg | platform_atmelavr | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sleepypi | platform_atmelavr | ATMEGA328P | 8MHz | 30KB | 2KB
board_timsp430_lpmsp430fr5739 | platform_timsp430 | MSP430FR5739 | 16MHz | 15.37KB | 1KB
board_titiva_lplm4f120h5qr | platform_titiva | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | platform_titiva | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | platform_titiva | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB
board_timsp430_lpmsp430f5529 | platform_timsp430 | MSP430F5529 | 25MHz | 47KB | 8KB
board_timsp430_lpmsp430fr2311 | platform_timsp430 | MSP430FR2311 | 16MHz | 3.75KB | 1KB
board_timsp430_lpmsp430fr2433 | platform_timsp430 | MSP430FR2433 | 8MHz | 15KB | 4KB
board_timsp430_lpmsp430fr4133 | platform_timsp430 | MSP430FR4133 | 8MHz | 15KB | 2KB
board_timsp430_lpmsp430fr5969 | platform_timsp430 | MSP430FR5969 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430fr5994 | platform_timsp430 | MSP430FR5994 | 16MHz | 256KB | 4KB
board_timsp430_lpmsp430fr6989 | platform_timsp430 | MSP430FR6989 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430g2231 | platform_timsp430 | MSP430G2231 | 1MHz | 2KB | 256B
board_timsp430_lpmsp430g2452 | platform_timsp430 | MSP430G2452 | 16MHz | 8KB | 256B
board_timsp430_lpmsp430g2553 | platform_timsp430 | MSP430G2553 | 16MHz | 16KB | 512B
board_atmelavr_whispernode | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_the_things_uno | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_tinyduino | platform_atmelavr | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_tinylily | platform_atmelavr | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_usbasp | platform_atmelavr | ATMEGA8 | 12MHz | 8KB | 1KB
board_atmelavr_wildfirev2 | platform_atmelavr | ATMEGA1284P | 16MHz | 120.00KB | 16KB
board_atmelavr_wildfirev3 | platform_atmelavr | ATMEGA1284P | 16MHz | 127KB | 16KB
board_infineonxmc_xmc1100_boot_kit | platform_infineonxmc | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_h_bridge2go | platform_infineonxmc | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_xmc2go | platform_infineonxmc | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_boot_kit | platform_infineonxmc | XMC1300 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_sense2gol | platform_infineonxmc | XMC1300 | 32MHz | 32KB | 16KB
board_infineonxmc_xmc1400_boot_kit | platform_infineonxmc | XMC1400 | 48MHz | 1.95MB | 16KB
board_infineonxmc_xmc4200_distance2go | platform_infineonxmc | XMC4200 | 80MHz | 256KB | 40KB
board_infineonxmc_xmc4700_relax_kit | platform_infineonxmc | XMC4700 | 144MHz | 2.00MB | 1.95MB
board_atmelavr_ftduino | platform_atmelavr | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_bob3 | platform_atmelavr | ATMEGA88 | 8MHz | 8KB | 1KB
board_atmelavr_nibo2 | platform_atmelavr | ATMEGA128 | 16MHz | 128KB | 4KB
board_atmelavr_niboburger | platform_atmelavr | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_niboburger_1284 | platform_atmelavr | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_nibobee | platform_atmelavr | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_nibobee_1284 | platform_atmelavr | ATMEGA1284P | 20MHz | 128KB | 16KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_ardhat | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_armed_v1 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rumba32_f446ve | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_espressif32_esp32cam | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | ESP32 | 240MHz | 16MB | 520KB
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_atmelsam_adafruit_circuitplayground_m0 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_featheresp32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | platform_atmelsam | SAMD51J19A | 120MHz | 512KB | 192KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_nordicnrf52_adafruit_feather_nrf52840 | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_atmelsam_adafruit_gemma_m0 | platform_atmelsam | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | platform_atmelsam | SAMD51P20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_hallowing | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | platform_atmelsam | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_itsybitsy_m0 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | platform_atmelsam | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | platform_atmelsam | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_metro_m0 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | platform_atmelsam | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | platform_atmelsam | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pygamer_advance_m4 | platform_atmelsam | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | platform_atmelsam | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | platform_atmelsam | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | platform_atmelsam | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | platform_atmelsam | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | platform_atmelsam | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | platform_atmelsam | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | platform_atmelsam | SAMD51J19A | 120MHz | 512KB | 192KB
board_ststm32_afroflight_f103cb | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_atmelsam_due | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mzeroUSB | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_nordicnrf52_nano33ble | platform_nordicnrf52 | NRF52840 | 64MHz | 960KB | 256KB
board_atmelsam_tian | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_black_f407ve | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_blackpill_f401cc | platform_ststm32 | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_nordicnrf52_bluey | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_bluz_dk | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_espressif32_briki_abc_esp32 | platform_espressif32 | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_abc_samd21 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_mbcwb_samd21 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_nordicnrf52_adafruit_cplaynrf52840 | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_coreboard_f401rc | platform_ststm32 | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_espressif32_d-duino-32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_demo_f030f4 | platform_ststm32 | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_atmelsam_digix | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_espressif32_pocket_32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_diymore_f407vgt | platform_ststm32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_espressif32_firebeetle32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_gd32v_gd32vf103v-eval | platform_gd32v | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_malyanm200_f070cb | platform_ststm32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_espressif32_mhetesp32devkit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_mkr_sharky | platform_ststm32 | STM32WB55CG | 64MHz | 512KB | 192.00KB
board_atmelsam_mkrvidor4000 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple | platform_ststm32 | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_nordicnrf52_adafruit_metro_nrf52840 | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_microduino32_flash | platform_ststm32 | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_atmelsam_minitronics20 | platform_atmelsam | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_moteino_zero | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_netduino2plus | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_atmelsam_nano_33_iot | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_node32s | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_nucleo_g071rb | platform_ststm32 | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | platform_ststm32 | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | platform_ststm32 | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | STM32G474RET6 | 170MHz | 512KB | 128KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_olimexino | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_nordicnrf51_oshchip | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_piconomix_px_her0 | platform_ststm32 | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | platform_ststm32 | STM32F407RE | 168MHz | 512KB | 192KB
board_espressif32_lopy | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | ESP32 | 240MHz | 4MB | 1.25MB
board_ststm32_rak811_tracker | platform_ststm32 | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | STM32L151RBT6 | 32MHz | 128KB | 32KB
board_ststm32_rhf76_052 | platform_ststm32 | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_espressif32_sg-o_airMon | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_atmelsam_sodaq_autonomo | platform_atmelsam | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | platform_atmelsam | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_one | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | platform_atmelsam | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_olimex_e407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_atmelsam_sainSmartDue | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_seeeduino_lorawan | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | STM32L4R9ZI | 120MHz | 2MB | 640KB
board_espressif32_wesp32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf51_Sinobit | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_atmelsam_sparkfun_samd21_9dof | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_esp32thing | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | platform_atmelsam | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_redboard_turbo | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_sparky_v1 | platform_ststm32 | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_stct_nrf52_minidev | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_teensy_teensy31 | platform_teensy | MK20DX256 | 72MHz | 256KB | 64KB
board_teensy_teensy35 | platform_teensy | MK64FX512 | 120MHz | 512KB | 255.99KB
board_teensy_teensy36 | platform_teensy | MK66FX1M0 | 180MHz | 1MB | 256KB
board_teensy_teensy40 | platform_teensy | IMXRT1062 | 600MHz | 1.94MB | 512KB
board_teensy_teensy41 | platform_teensy | IMXRT1062 | 600MHz | 7.75MB | 512KB
board_teensy_teensylc | platform_teensy | MKL26Z64 | 48MHz | 62KB | 8KB
board_ststm32_thunder_pack | platform_ststm32 | STM32L072KZ | 32MHz | 192KB | 20KB
board_ststm32_hy_tinystm103tb | platform_ststm32 | STM32F103TBU6 | 72MHz | 128KB | 20KB
board_atmelsam_tuinozero96 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_vake_v1 | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_gd32v_wio_lite_risc-v | platform_gd32v | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_ststm32_wraith32_v1 | platform_ststm32 | STM32F051K6 | 48MHz | 32KB | 7.75KB
board_espressif32_xinabox_cw02 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_hackaBLE | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_ng_beacon | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 32KB
board_espressif32_iotbusio | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB

  Examples

    •   Arduino for Atmel AVR

    •   Arduino for Atmel megaAVR

    •   Arduino for Atmel SAM

    •   Arduino for Espressif 32

    •   Arduino for Espressif 8266

    •   Arduino for GigaDevice GD32V

    •   Arduino for Infineon XMC

    •   Arduino for Intel ARC32

    •   Arduino for Kendryte K210

    •   Arduino for Microchip PIC32

    •   Arduino for Nordic nRF51

    •   Arduino for Nordic nRF52

    •   Arduino for ST STM32

    •   Arduino for ST STM8

    •   Arduino for Teensy

    •   Arduino for TI MSP430

    •   Arduino for TI TIVA

  Platforms
Name | Description
platform_atmelavr | Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
platform_atmelmegaavr | 8-bit MCUs Built for Real-time Control with Core Independent Peripherals combining intelligent hardware peripherals along with the low-power capability of an AVR core, megaAVR microcontrollers (MCUs) broaden the effectiveness of your real-time control systems.
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_espressif8266 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_infineonxmc | Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
platform_intel_arc32 | ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_microchippic32 | Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_ststm8 | The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
platform_teensy | Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
platform_timsp430 | MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
platform_titiva | Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  4D Systems
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_picadillo_35t | platform_microchippic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_espressif8266_gen4iod | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB

  AI Thinker
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  AZ-Delivery
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_bluefruitmicro | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_circuitplay_classic | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_adafruit_circuitplayground_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_atmelavr_feather328p | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_feather32u4 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_nordicnrf52_adafruit_feather_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_atmelavr_flora8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_gemma | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelsam_adafruit_gemma_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | platform_atmelsam | External | SAMD51P20A | 120MHz | 1MB | 256KB
board_espressif8266_huzzah | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_atmelsam_adafruit_hallowing | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelavr_itsybitsy32u4_3V | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_itsybitsy32u4_5V | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_adafruit_itsybitsy_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | platform_atmelsam | External | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | platform_atmelsam | External | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelavr_metro | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelsam_adafruit_metro_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelavr_protrinket3ftdi | platform_atmelavr | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket3 | platform_atmelavr | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket5ftdi | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_protrinket5 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelsam_adafruit_pygamer_advance_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelavr_trinket3 | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_trinket5 | platform_atmelavr | On-board | ATTINY85 | 16MHz | 8KB | 512B
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_nordicnrf52_adafruit_cplaynrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_metro_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB

  AfroFlight
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB

  Airbot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB

  Aiyarafun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Alorium Technology
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_alorium_hinj | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_sno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_xlr8 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Amperka
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifi_slot | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Anarduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_miniwireless | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  April Brother
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espea32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Arduboy
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_arduboy | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_arduboy_devkit | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Arduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_btatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_btatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelavr_diecimilaatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_diecimilaatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_esplora | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_ethernet | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_fio | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_chiwawa | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardo | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardoeth | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_lilypadatmega168 | platform_atmelavr | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_lilypadatmega328 | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_LilyPadUSB | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_mzeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeropro | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_megaADK | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_megaatmega1280 | platform_atmelavr | On-board | ATMEGA1280 | 16MHz | 124KB | 8KB
board_atmelavr_megaatmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_micro | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_miniatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_miniatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_atmegangatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_atmegangatmega8 | platform_atmelavr | On-board | ATMEGA8 | 16MHz | 7KB | 1KB
board_nordicnrf52_nano33ble | platform_nordicnrf52 | External | NRF52840 | 64MHz | 960KB | 256KB
board_atmelavr_nanoatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_nanoatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelmegaavr_nano_every | platform_atmelmegaavr | No | ATMEGA4809 | 16MHz | 47.50KB | 6KB
board_atmelavr_pro8MHzatmega168 | platform_atmelavr | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_pro16MHzatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_pro8MHzatmega328 | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_pro16MHzatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_robotControl | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_robotMotor | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_tian | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_uno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelmegaavr_uno_wifi_rev2 | platform_atmelmegaavr | No | ATMEGA4809 | 16MHz | 47.50KB | 6KB
board_atmelavr_yun | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_yunmini | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrvidor4000 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  Armed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB

  Atmel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_attiny13 | platform_atmelavr | On-board | ATTINY13 | 1MHz | 1KB | 64B
board_atmelavr_attiny13a | platform_atmelavr | On-board | ATTINY13A | 1MHz | 1KB | 64B
board_atmelavr_attiny1634 | platform_atmelavr | No | ATTINY1634 | 8MHz | 16KB | 1KB
board_atmelavr_attiny167 | platform_atmelavr | No | ATTINY167 | 8MHz | 16KB | 512B
board_atmelavr_attiny2313 | platform_atmelavr | On-board | ATTINY2313 | 8MHz | 2KB | 128B
board_atmelavr_attiny24 | platform_atmelavr | On-board | ATTINY24 | 8MHz | 2KB | 128B
board_atmelavr_attiny25 | platform_atmelavr | On-board | ATTINY25 | 8MHz | 2KB | 128B
board_atmelavr_attiny261 | platform_atmelavr | No | ATTINY261 | 8MHz | 2KB | 128B
board_atmelavr_attiny4313 | platform_atmelavr | On-board | ATTINY4313 | 8MHz | 4KB | 256B
board_atmelavr_attiny43 | platform_atmelavr | No | ATTINY43U | 8MHz | 4KB | 256B
board_atmelavr_attiny44 | platform_atmelavr | On-board | ATTINY44 | 8MHz | 4KB | 256B
board_atmelavr_attiny441 | platform_atmelavr | No | ATTINY441 | 8MHz | 4KB | 256B
board_atmelavr_attiny45 | platform_atmelavr | On-board | ATTINY45 | 8MHz | 4KB | 256B
board_atmelavr_attiny461 | platform_atmelavr | No | ATTINY461 | 8MHz | 4KB | 256B
board_atmelavr_attiny48 | platform_atmelavr | No | ATTINY48 | 8MHz | 4KB | 256B
board_atmelavr_attiny828 | platform_atmelavr | No | ATTINY828 | 8MHz | 8KB | 512B
board_atmelavr_attiny84 | platform_atmelavr | On-board | ATTINY84 | 8MHz | 8KB | 512B
board_atmelavr_attiny841 | platform_atmelavr | No | ATTINY841 | 8MHz | 8KB | 512B
board_atmelavr_attiny85 | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_attiny861 | platform_atmelavr | No | ATTINY861 | 8MHz | 8KB | 512B
board_atmelavr_attiny87 | platform_atmelavr | No | ATTINY87 | 8MHz | 8KB | 512B
board_atmelavr_attiny88 | platform_atmelavr | No | ATTINY88 | 8MHz | 8KB | 512B
board_atmelavr_usbasp | platform_atmelavr | On-board | ATMEGA8 | 12MHz | 8KB | 1KB

  BBC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  BOXTEC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_helvepic32 | platform_microchippic32 | No | 32MX250F128B | 48MHz | 120KB | 32KB
board_microchippic32_helvepic32_breadboardside | platform_microchippic32 | No | 32MX250F128B | 48MHz | 120KB | 32KB
board_microchippic32_helvepic32_smd | platform_microchippic32 | No | 32MX250F128D | 48MHz | 120KB | 32KB
board_microchippic32_helvepic32_mx270 | platform_microchippic32 | No | 32MX270F256B | 48MHz | 244KB | 62KB
board_microchippic32_helvepic32_robot | platform_microchippic32 | No | 32MX270F256D | 48MHz | 244KB | 62KB
board_microchippic32_helvepic32_smd_mx270 | platform_microchippic32 | No | 32MX270F256D | 48MHz | 244KB | 62KB

  BPI Tech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_bpi-bit | platform_espressif32 | No | ESP32 | 160MHz | 4MB | 320KB

  BQ
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_zumbt328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB

  BSFrance
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lora32u4II | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  BitWizard
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_raspduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB

  BluzDK
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bluz_dk | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  Calliope
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_calliope_mini | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  ChipKIT
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_rgb_station | platform_microchippic32 | No | 32MX270F256D | 48MHz | 240KB | 62KB

  Controllino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_controllino_maxi | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_maxi_automation | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mega | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mini | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  DFRobot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DOIT
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DSTIKE
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Delta
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  DigiStump
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_oak | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Digilent
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_cerebot32mx4 | platform_microchippic32 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_cerebot32mx7 | platform_microchippic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_microchippic32_openscope | platform_microchippic32 | No | 32MZ2048EFG124 | 200MHz | 1.98MB | 512KB
board_microchippic32_chipkit_cmod | platform_microchippic32 | No | 32MX150F128D | 40MHz | 124KB | 32KB
board_microchippic32_chipkit_dp32 | platform_microchippic32 | No | 32MX250F128B | 40MHz | 120KB | 32KB
board_microchippic32_mega_pic32 | platform_microchippic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_microchippic32_chipkit_mx3 | platform_microchippic32 | No | 32MX320F128H | 80MHz | 124KB | 16KB
board_microchippic32_chipkit_pro_mx4 | platform_microchippic32 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_chipkit_pro_mx7 | platform_microchippic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB
board_microchippic32_uno_pic32 | platform_microchippic32 | No | 32MX320F128H | 80MHz | 124KB | 16KB
board_microchippic32_chipkit_wf32 | platform_microchippic32 | No | 32MX695F512L | 80MHz | 508KB | 128KB
board_microchippic32_chipkit_wifire | platform_microchippic32 | No | 32MZ2048ECG100 | 200MHz | 1.98MB | 512KB
board_microchippic32_chipkit_uc32 | platform_microchippic32 | No | 32MX340F512H | 80MHz | 508KB | 32KB
board_microchippic32_chipkit_wifire_revc | platform_microchippic32 | No | 32MZ2048EFG100 | 200MHz | 1.98MB | 512KB

  Digistump
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_digispark-pro | platform_atmelavr | No | ATTINY167 | 16MHz | 14.50KB | 512B
board_atmelavr_digispark-pro64 | platform_atmelavr | No | ATTINY167 | 16MHz | 14.50KB | 512B
board_atmelavr_digispark-pro32 | platform_atmelavr | No | ATTINY167 | 16MHz | 14.50KB | 512B
board_atmelavr_digispark-tiny | platform_atmelavr | On-board | ATTINY85 | 16MHz | 5.87KB | 512B
board_atmelsam_digix | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Diymore
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB

  Doit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espmxdevkit | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_espduino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Dongsen Technology
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Dwengo
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_dwenguino | platform_atmelavr | No | AT90USB646 | 16MHz | 60KB | 2KB

  DycodeX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espectro | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  ESP32vn
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  ESPert
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espresso_lite_v1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_espresso_lite_v2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Electronic SweetPeas
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp320 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Electronut Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_bluey | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_hackaBLE | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  Elektor
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_elektor_uno_r4 | platform_atmelavr | No | ATMEGA328PB | 16MHz | 31.50KB | 2KB

  Engduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_engduinov3 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  EnviroDIY
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_mayfly | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB

  Espressif
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp_wroom_02 | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB
board_espressif32_pico32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif8266_esp12e | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp01_1m | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_esp01 | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_esp07 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp8285 | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_phoenix_v1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_phoenix_v2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wifinfo | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB

  FYSETC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_fysetc_f6_13 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  Fred
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Fubarino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_fubarino_mini | platform_microchippic32 | No | 32MX250F128D | 48MHz | 120KB | 32KB
board_microchippic32_fubarino_sd | platform_microchippic32 | No | 32MX795F512H | 80MHz | 508KB | 128KB
board_microchippic32_fubarino_mini_20 | platform_microchippic32 | No | 32MX270F256D | 48MHz | 240KB | 62KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_demo_f030f4 | platform_ststm32 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  Gimasi
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_tuinozero96 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  HY
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_hy_tinystm103tb | platform_ststm32 | External | STM32F103TBU6 | 72MHz | 128KB | 20KB

  Hardkernel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_odroid_esp32 | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB

  Heltec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_heltec_wifi_kit_8 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Heltec Automation
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_heltec_wifi_kit_32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB

  Hornbill
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  ITEAD
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sonoff_basic | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_s20 | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_sv | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_th | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB

  Infineon
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_infineonxmc_xmc1100_boot_kit | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_h_bridge2go | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_xmc2go | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_boot_kit | platform_infineonxmc | On-board | XMC1300 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_sense2gol | platform_infineonxmc | On-board | XMC1300 | 32MHz | 32KB | 16KB
board_infineonxmc_xmc1400_boot_kit | platform_infineonxmc | On-board | XMC1400 | 48MHz | 1.95MB | 16KB
board_infineonxmc_xmc4200_distance2go | platform_infineonxmc | On-board | XMC4200 | 80MHz | 256KB | 40KB
board_infineonxmc_xmc4700_relax_kit | platform_infineonxmc | On-board | XMC4700 | 144MHz | 2.00MB | 1.95MB

  Intel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_intel_arc32_genuino101 | platform_intel_arc32 | No | ARCV2EM | 32MHz | 152KB | 80KB

  IntoRobot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_intorobot | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Invent One
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_inventone | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  IoTaaP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  LeafLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB

  LightUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lightup | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  Linino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_one | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  LowPowerLab
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_current_ranger | platform_atmelsam | No | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_mightyhat | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31KB | 2KB
board_atmelavr_moteino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_moteino8mhz | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_moteinomega | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelsam_moteino_zero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  M5Stack
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_m5stack-core-esp32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_m5stack-fire | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 6.25MB
board_espressif32_m5stack-grey | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_m5stick-c | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  MH-ET Live
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  MXChip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mxchip_az3166 | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB

  Magicblocks.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_magicbit | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  MakerAsia
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nano32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Makerology
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_dsmini | platform_microchippic32 | No | 32MX150F128C | 40MHz | 120KB | 32KB

  Malyan
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB

  MediaTek Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_smart7688 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  Microchip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_AT90CAN128 | platform_atmelavr | No | AT90CAN128 | 16MHz | 127KB | 4KB
board_atmelavr_AT90CAN32 | platform_atmelavr | No | AT90CAN32 | 16MHz | 31KB | 2KB
board_atmelavr_AT90CAN64 | platform_atmelavr | No | AT90CAN64 | 16MHz | 63KB | 4KB
board_atmelavr_ATmega128 | platform_atmelavr | On-board | ATMEGA128 | 16MHz | 127KB | 4KB
board_atmelavr_ATmega1280 | platform_atmelavr | On-board | ATMEGA1280 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1281 | platform_atmelavr | On-board | ATMEGA1281 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1284 | platform_atmelavr | On-board | ATMEGA1284 | 16MHz | 127KB | 16KB
board_atmelavr_ATmega1284P | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ATmega16 | platform_atmelavr | On-board | ATMEGA16 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega162 | platform_atmelavr | No | ATMEGA162 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164A | platform_atmelavr | No | ATMEGA164A | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164P | platform_atmelavr | On-board | ATMEGA164P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168P | platform_atmelavr | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168PB | platform_atmelavr | No | ATMEGA168PB | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega2561 | platform_atmelavr | No | ATMEGA2561 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega32 | platform_atmelavr | No | ATMEGA32 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324A | platform_atmelavr | On-board | ATMEGA324A | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324P | platform_atmelavr | On-board | ATMEGA324P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PA | platform_atmelavr | On-board | ATMEGA324PA | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PB | platform_atmelavr | No | ATMEGA324PB | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328 | platform_atmelavr | On-board | ATMEGA328 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328P | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328PB | platform_atmelavr | No | ATMEGA328PB | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega48 | platform_atmelavr | On-board | ATMEGA48 | 16MHz | 4KB | 512B
board_atmelavr_ATmega48PB | platform_atmelavr | No | ATMEGA48PB | 16MHz | 4KB | 512B
board_atmelavr_ATmega64 | platform_atmelavr | No | ATMEGA64 | 16MHz | 63KB | 4KB
board_atmelavr_ATmega640 | platform_atmelavr | No | ATMEGA640 | 16MHz | 63KB | 8KB
board_atmelavr_ATmega644A | platform_atmelavr | No | ATMEGA644A | 16MHz | 63KB | 4KB
board_atmelavr_ATmega644P | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_ATmega8 | platform_atmelavr | On-board | ATMEGA8 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega8515 | platform_atmelavr | No | ATMEGA8515 | 16MHz | 7.50KB | 512B
board_atmelavr_ATmega8535 | platform_atmelavr | No | ATMEGA8535 | 16MHz | 7.50KB | 512B
board_atmelavr_ATmega88 | platform_atmelavr | On-board | ATMEGA88 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88P | platform_atmelavr | On-board | ATMEGA88P | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88PB | platform_atmelavr | No | ATMEGA88PB | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega48P | platform_atmelavr | On-board | ATMEGA48P | 16MHz | 4KB | 512B

  Microduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_168pa16m | platform_atmelavr | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_168pa8m | platform_atmelavr | On-board | ATMEGA168P | 8MHz | 15.50KB | 1KB
board_atmelavr_328p16m | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_328p8m | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_espressif32_microduino-core-esp32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_microduino32_flash | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_atmelavr_32u416m | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_1284p16m | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_1284p8m | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_644pa16m | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_644pa8m | platform_atmelavr | On-board | ATMEGA644P | 8MHz | 63KB | 4KB

  Midatronics
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mkr_sharky | platform_ststm32 | External | STM32WB55CG | 64MHz | 512KB | 192.00KB

  MikroElektronika
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_clicker2 | platform_microchippic32 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_flipnclickmz | platform_microchippic32 | No | 32MZ2048EFH100 | 252MHz | 1.98MB | 512KB

  Netduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_netduino2plus | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  NodeMCU
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_nodemcu | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_nodemcuv2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Noduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_quantum | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB

  Nordic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB

  OLIMEX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-pro | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-poe | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-poe-iso | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  OROCA
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_oroca_edubot | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  OSHChip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_oshchip | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_espressif8266_modwifi | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB
board_microchippic32_pinguino32 | platform_microchippic32 | No | 32MX440F256H | 80MHz | 252KB | 32KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

  Onehorse
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_onehorse32dev | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  OpenBCI
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_openbci | platform_microchippic32 | No | 32MX250F128B | 40MHz | 120KB | 32KB

  OpenEnergyMonitor
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_emonpi | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB

  PONTECH
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_usbono_pic32 | platform_microchippic32 | No | 32MX440F512H | 80MHz | 508KB | 32KB

  PanStamp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_panStampAVR | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB

  Particle
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB

  Piconomix
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB

  Pinoccio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_pinoccio | platform_atmelavr | No | ATMEGA256RFR2 | 16MHz | 248KB | 32KB

  Pololu Corporation
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_a-star32U4 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Pontech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_nofire | platform_microchippic32 | No | 32MZ2048EFG100 | 200MHz | 1.98MB | 512KB
board_microchippic32_quick240_usb | platform_microchippic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB

  PrntrBoard
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB

  Prusa 3D
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_prusa_mm_control | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_prusa_rambo | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  Punch Through
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lightblue-bean | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_lightblue-beanplus | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Pycom Ltd.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pycom_gpy | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB

  Qmobot LLP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_qchip | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Quirkbot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_quirkbot | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  RAK
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rak811_tracker | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB

  RUMBA
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rumba32_f446ve | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  RedBearLab
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_blend | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_blendmicro16 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  RemRam
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_remram_v1 | platform_ststm32 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB

  RepRap
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_reprap_rambo | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  ReprapWorld
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_minitronics20 | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB

  RobotDyn
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  RoboticsBrno
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SG-O
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SODAQ
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sodaq_autonomo | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelavr_sodaq_galora | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_mbili | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_moja | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sodaq_ndogo | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelsam_sodaq_one | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_sodaq_tatu | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_st3dp001_eval | platform_ststm32 | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_nucleo_g071rb | platform_ststm32 | External | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | platform_ststm32 | External | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | platform_ststm32 | External | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | External | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_nucleo_wb55rg_p | platform_ststm32 | On-board | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm8_stm8sdisco | platform_ststm8 | On-board | STM8S105C6T6 | 16MHz | 32KB | 2KB
board_ststm8_stm8sblue | platform_ststm8 | No | STM8S103F3P6 | 16MHz | 8KB | 1KB
board_ststm8_stm8sblack | platform_ststm8 | No | STM8S105K4T6 | 16MHz | 16KB | 2KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB

  SainSmart
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sainSmartDue | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Sanguino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sanguino_atmega1284p | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284_8m | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega644 | platform_atmelavr | On-board | ATMEGA644 | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644_8m | platform_atmelavr | On-board | ATMEGA644 | 8MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p_8m | platform_atmelavr | On-board | ATMEGA644P | 8MHz | 63KB | 4KB

  Schirmilabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_eduinowifi | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Seeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_seeeduino_lorawan | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_microchippic32_cui32stem | platform_microchippic32 | No | 32MX795F512H | 80MHz | 508KB | 128KB
board_atmelavr_seeeduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_espressif8266_wio_link | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_espressif8266_wio_node | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Silicognition
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Sipeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_cui32 | platform_microchippic32 | No | 32MX440F512H | 80MHz | 508KB | 32KB
board_atmelsam_sparkfun_samd21_9dof | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_sparkfun_satmega128rfa1 | platform_atmelavr | On-board | ATMEGA128RFA1 | 16MHz | 16KB | 124KB
board_espressif8266_sparkfunBlynk | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_atmelavr_sparkfun_digitalsandbox | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_espressif8266_thing | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_thingdev | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_atmelavr_sparkfun_fiov3 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_atmelavr_sparkfun_makeymakey | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_megapro8MHz | platform_atmelavr | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_sparkfun_megapro16MHz | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_sparkfun_megamini | platform_atmelavr | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_uview | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_promicro8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_promicro16 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_qduinomini | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelavr_sparkfun_redboard | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelsam_sparkfun_redboard_turbo | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_sparkfun_serial7seg | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB

  SparkFun Electronics
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SpellFoundry
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sleepypi | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB

  SweetPea
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp210 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  TI
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_timsp430_lpmsp430fr5739 | platform_timsp430 | On-board | MSP430FR5739 | 16MHz | 15.37KB | 1KB
board_titiva_lplm4f120h5qr | platform_titiva | On-board | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | platform_titiva | On-board | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | platform_titiva | On-board | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB
board_timsp430_lpmsp430f5529 | platform_timsp430 | On-board | MSP430F5529 | 25MHz | 47KB | 8KB
board_timsp430_lpmsp430fr2311 | platform_timsp430 | On-board | MSP430FR2311 | 16MHz | 3.75KB | 1KB
board_timsp430_lpmsp430fr2433 | platform_timsp430 | On-board | MSP430FR2433 | 8MHz | 15KB | 4KB
board_timsp430_lpmsp430fr4133 | platform_timsp430 | On-board | MSP430FR4133 | 8MHz | 15KB | 2KB
board_timsp430_lpmsp430fr5969 | platform_timsp430 | On-board | MSP430FR5969 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430fr5994 | platform_timsp430 | On-board | MSP430FR5994 | 16MHz | 256KB | 4KB
board_timsp430_lpmsp430fr6989 | platform_timsp430 | On-board | MSP430FR6989 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430g2231 | platform_timsp430 | On-board | MSP430G2231 | 1MHz | 2KB | 256B
board_timsp430_lpmsp430g2452 | platform_timsp430 | On-board | MSP430G2452 | 16MHz | 8KB | 256B
board_timsp430_lpmsp430g2553 | platform_timsp430 | On-board | MSP430G2553 | 16MHz | 16KB | 512B

  TTGO
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t-watch | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Taida Century
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_stct_nrf52_minidev | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  TauLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sparky_v1 | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  Teensy
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_teensy_teensy2 | platform_teensy | No | ATMEGA32U4 | 16MHz | 31.50KB | 2.50KB
board_teensy_teensy30 | platform_teensy | No | MK20DX128 | 48MHz | 128KB | 16KB
board_teensy_teensy31 | platform_teensy | External | MK20DX256 | 72MHz | 256KB | 64KB
board_teensy_teensy35 | platform_teensy | External | MK64FX512 | 120MHz | 512KB | 255.99KB
board_teensy_teensy36 | platform_teensy | External | MK66FX1M0 | 180MHz | 1MB | 256KB
board_teensy_teensy40 | platform_teensy | External | IMXRT1062 | 600MHz | 1.94MB | 512KB
board_teensy_teensy41 | platform_teensy | External | IMXRT1062 | 600MHz | 7.75MB | 512KB
board_teensy_teensylc | platform_teensy | External | MKL26Z64 | 48MHz | 62KB | 8KB
board_teensy_teensy2pp | platform_teensy | No | AT90USB1286 | 16MHz | 127KB | 8KB

  ThaiEasyElec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif8266_espinotee | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  The Things Network
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_the_things_uno | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  ThunderPack
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB

  Till Harbaum
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ftduino | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  TinyCircuits
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_tinyduino | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_tinylily | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB

  TinyPICO
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_tinypico | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Turta
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_turta_iot_node | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  UBW32
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_ubw32_mx460 | platform_microchippic32 | No | 32MX460F512L | 80MHz | 508KB | 32KB
board_microchippic32_ubw32_mx795 | platform_microchippic32 | No | 32MX795F512L | 80MHz | 508KB | 128KB

  Unknown
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  VAE
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_vake_v1 | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  VintLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  WEMOS
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_d1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif8266_d1_mini | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini_lite | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_d1_mini_pro | platform_espressif8266 | No | ESP8266 | 80MHz | 16MB | 80KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Waveshare
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  Wicked Device
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_wildfirev2 | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 120.00KB | 16KB
board_atmelavr_wildfirev3 | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB

  Widora
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_widora-air | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB

  WifiDuino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifiduino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Wisen
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_whispernode | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  XinaBox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_xinabox_cw01 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  chipKIT
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_lenny | platform_microchippic32 | No | 32MX270F256D | 40MHz | 120KB | 32KB

  element14
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_microchippic32_chipkit_pi | platform_microchippic32 | No | 32MX250F128B | 40MHz | 120KB | 32KB

  makerlab.mx
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_altair | platform_atmelavr | No | ATMEGA256RFR2 | 16MHz | 248KB | 32KB

  meteca
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_abc_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_mbcwb_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  ng-beacon
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_ng_beacon | platform_nordicnrf51 | External | NRF51822 | 16MHz | 256KB | 32KB

  nicai-systems
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_bob3 | platform_atmelavr | On-board | ATMEGA88 | 8MHz | 8KB | 1KB
board_atmelavr_nibo2 | platform_atmelavr | On-board | ATMEGA128 | 16MHz | 128KB | 4KB
board_atmelavr_niboburger | platform_atmelavr | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_niboburger_1284 | platform_atmelavr | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_nibobee | platform_atmelavr | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_nibobee_1284 | platform_atmelavr | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB

  oddWires
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  sduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm8_mb208 | platform_ststm8 | No | STM8S208MBT6 | 16MHz | 128KB | 6KB
board_ststm8_s8uno | platform_ststm8 | No | STM8S105K6T6 | 16MHz | 32KB | 2KB

  sino:bit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_Sinobit | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  u-blox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_espressif32_nina_w10 | platform_espressif32 | No | ESP32 | 240MHz | 2MB | 320KB

  ubIQio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ardhat | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  CMSIS

    Configuration
        projectconf_env_framework = cmsis

The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | platform_ststm32 | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_cloud_jam | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_disco_f411ve | platform_ststm32 | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_nucleo_f401re | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f446ze | platform_ststm32 | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_disco_f303vc | platform_ststm32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_l152rb | platform_ststm32 | STM32L152RBT6 | 32MHz | 128KB | 16KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_armed_v1 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_ststm32_afroflight_f103cb | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_black_f407ve | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_blackpill_f401cc | platform_ststm32 | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_coreboard_f401rc | platform_ststm32 | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_diymore_f407vgt | platform_ststm32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_malyanm200_f070cb | platform_ststm32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_piconomix_px_her0 | platform_ststm32 | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | platform_ststm32 | STM32F407RE | 168MHz | 512KB | 192KB
board_ststm32_rhf76_052 | platform_ststm32 | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_olimex_e407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | platform_ststm32 | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_thunder_pack | platform_ststm32 | STM32L072KZ | 32MHz | 192KB | 20KB
board_ststm32_wraith32_v1 | platform_ststm32 | STM32F051K6 | 48MHz | 32KB | 7.75KB

  Examples

    •   CMSIS for ST STM32

  Platforms
Name | Description
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  1BitSquared
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB

  AfroFlight
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB

  Airbot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB

  Armed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB

  Armstrap
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB

  Diymore
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB

  Malyan
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

  Piconomix
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB

  PrntrBoard
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB

  RushUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB

  ThunderPack
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB

  ESP8266 Non-OS SDK

    Configuration
        projectconf_env_framework = esp8266-nonos-sdk

The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Platforms

    •   Boards

  Examples

    •   ESP8266 Non-OS SDK for Espressif 8266

  Platforms
Name | Description
platform_espressif8266 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  4D Systems
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_gen4iod | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_huzzah | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Amperka
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifi_slot | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Doit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espmxdevkit | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_espduino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  DycodeX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espectro | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPert
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espresso_lite_v1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_espresso_lite_v2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Espressif
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp_wroom_02 | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB
board_espressif8266_esp12e | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp01_1m | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_esp01 | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_esp07 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp8285 | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_phoenix_v1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_phoenix_v2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wifinfo | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB

  Heltec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_heltec_wifi_kit_8 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ITEAD
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sonoff_basic | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_s20 | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_sv | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_th | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB

  Invent One
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_inventone | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  NodeMCU
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_nodemcu | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_nodemcuv2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_modwifi | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB

  Schirmilabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_eduinowifi | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wio_link | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wio_node | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sparkfunBlynk | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_thing | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_thingdev | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB

  SweetPea
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp210 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ThaiEasyElec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espinotee | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  WEMOS
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_d1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini_pro | platform_espressif8266 | No | ESP8266 | 80MHz | 16MB | 80KB

  WifiDuino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifiduino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  XinaBox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_xinabox_cw01 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESP8266 RTOS SDK

    Configuration
        projectconf_env_framework = esp8266-rtos-sdk

ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Platforms

    •   Boards

  Examples

    •   ESP8266 RTOS SDK for Espressif 8266

  Platforms
Name | Description
platform_espressif8266 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  4D Systems
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_gen4iod | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_huzzah | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Amperka
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifi_slot | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Doit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espmxdevkit | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_espduino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  DycodeX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espectro | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPert
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espresso_lite_v1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_espresso_lite_v2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESPino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Espressif
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp_wroom_02 | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB
board_espressif8266_esp12e | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp01_1m | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_esp01 | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_esp07 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp8285 | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_phoenix_v1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_phoenix_v2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wifinfo | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB

  Heltec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_heltec_wifi_kit_8 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ITEAD
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sonoff_basic | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_s20 | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_sv | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB
board_espressif8266_sonoff_th | platform_espressif8266 | No | ESP8266 | 80MHz | 1MB | 80KB

  Invent One
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_inventone | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  NodeMCU
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_nodemcu | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_nodemcuv2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_modwifi | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB

  Schirmilabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_eduinowifi | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wio_link | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_wio_node | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_sparkfunBlynk | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_thing | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB
board_espressif8266_thingdev | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB

  SweetPea
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp210 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ThaiEasyElec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_espinotee | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  WEMOS
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_d1 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_d1_mini_pro | platform_espressif8266 | No | ESP8266 | 80MHz | 16MB | 80KB

  WifiDuino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_wifiduino | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  XinaBox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_xinabox_cw01 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  ESP-IDF

    Configuration
        projectconf_env_framework = espidf

Espressif IoT Development Framework. Official development framework for ESP32.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Configuration

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Tutorials

    •   tutorial_espressif32_espidf_debugging_unit_testing_analysis

  Configuration

NOTE:
        Starting with ESP-IDF v4.0, a CMake-based build system is used. Different configuration steps are required for ESP-IDF v3.x due to a legacy build system based on GNU Make.

    •   Configuration for 4.0

    •   Configuration for 3.0, 3.1, 3.2, 3.3

Each release of platform_espressif32 platform uses a specific version of ESP-IDF. The latest version of the platform only supports the latest stable version of the framework.

WARNING:
        ESP-IDF v4.0 projects are not backwards-compatible with ESP-IDF v3.x projects in terms of project configuration process.

  Configuration for 4.0

    •   Project Structure

    •   ESP-IDF components

    •   ULP coprocessor programming

    •   Limitations

The general project configuration (default optimization level, bootloader configuration partition tables, etc) is set in a single file called sdkconfig in the root folder of the project. This configuration file can be modified via a special target called menuconfig (PlatformIO v4.3.0 greater is required):

        platformio run -t menuconfig

WARNING:
        ESP-IDF requires some extra tools to be installed in your system in order to build firmware for supported chips. Most of these tools are available in PlatformIO ecosystem as standalone packages, but in order to use configuration tool called menuconfig several additional packages need to be installed on Linux-based systems:

                libncurses5-dev flex bison

        More details about required packages can be found in the official ESP-IDF documentation - Standard Setup of Toolchain for Linux.

  Project Structure

The ESP-IDF framework requires an unusual project structure because most of the framework configuration is performed by the native for the ESP-IDF build system called CMake.

A typical PlatformIO project for the ESP-IDF framework must have the following structure:

        project_dir
        ├── include
        ├── src
        │    ├── CMakeLists.txt
        │    └── main.c
        ├── CMakeLists.txt
        └── platformio.ini

TIP:
        It's also possible to use the default ESP-IDF project structure with main folder. To specify main as the folder with source files use projectconf_pio_src_dir option, for example:

                [platformio]
                src_dir = main

                [env:esp32dev]
                platform = espressif32
                framework = espidf
                board = esp32dev

Besides the files related to PlatformIO project, there are several additional ESP-IDF-specific files: the main CMakeLists.txt, project-specific CMakeLists.txt in projectconf_pio_src_dir and optional default configuration file sdkconfig.defaults. CMakeLists.txt files enable features supported by the ESP-IDF's build system, e.g. ULP configuration, adding extra components, etc. A typical CMakeLists.txt file in the root folder has the following content:

        # The following lines of boilerplate have to be in your project's CMakeLists
        # in this exact order for cmake to work correctly
        cmake_minimum_required(VERSION 3.16.0)

        include($ENV{IDF_PATH}/tools/cmake/project.cmake)
        project(project-name)

The second CMakeLists.txt in projectconf_pio_src_dir is responsible for controlling the build process of the component and its integration into the overall project. The minimal component CMakeLists.txt file simply registers the component to the build system using idf_component_register:

        idf_component_register(SRCS "foo.c" "bar.c")

The files specified using idf_component_register are used ONLY for generating build configurations, but it's highly recommended to specify all application source files in order to keep the project compatible with the usual ESP-IDF workflow.

WARNING:
        By default PlatformIO expects source files to be located in the src folder. At the same time, the default location for source files within the ESP-IDF build system is a special folder with the name main. Renaming the main component may require users to manually specify additional dependencies:

                idf_component_register(SRCS "main.c" REQUIRES idf::mbedtls)

        More details in the official ESP-IDF documentation - Renaming main component.

Due to the current limitations of CMake file-based API, there is no way of generating build configuration for source files written in various programming languages if they are not specified in idf_component_register command. If your project contains libraries written in languages that differ from the language used for the main application you need to create an empty file with the desired extension (e.g. *.cpp for C++) in order to force CMake generate build configuration for this language.

NOTE:
        Build configuration generated for source files specified in idf_component_register is also used as the base build environment for project sources (including libraries).

  ESP-IDF components

ESP-IDF modules as modular pieces of standalone code might be useful for structuring reusable code or including third party components that aren’t part of ESP-IDF.

These components contain either a single CMakeLists.txt file which controls the build process of the component and its integration into the overall project. An optional Kconfig file defines the component configuration options that can be set via menuconfig. Some components may also include Kconfig.projbuild and project_include.cmake files, which are special files for overriding parts of the project. All valid components will be compiled as static libraries and linked to the final firmware. There are two possible ways of adding extra components to PlatformIO project:

    •   By adding a new component to an optional folder called components in the root of your project. This folder will be automatically scanned for valid components.

    •   Using EXTRA_COMPONENT_DIRS option in the root CMakeLists.txt file. This option represents a list of extra directories to search for components.

An example of specifying esp-aws-iot as an extra component:

        # The following lines of boilerplate have to be in your project's CMakeLists
        # in this exact order for cmake to work correctly
        cmake_minimum_required(VERSION 3.16)

        include($ENV{IDF_PATH}/tools/cmake/project.cmake)
        list(APPEND EXTRA_COMPONENT_DIRS esp-aws-iot)
        project(subscribe_publish)

WARNING:
        Since projectconf_pio_src_dir is also passed to CMake as an extra component, you should only append to EXTRA_COMPONENT_DIRS variable in order not to override the default package.

Since the build may not work correctly if the full path to sources is greater than 250 characters (see CMAKE_OBJECT_PATH_MAX) it might be a good idea to keep modules close to the project files.

  ULP coprocessor programming

If you want to take measurements using ADC, internal temperature sensor or external I2C sensors, while the main processors are in deep sleep mode you need to use ULP coprocessor. At the moment ULP can be used only with the ESP-IDF.

All ULP code, usually written in assembly in files with .S extension, must be placed into a separate directory with the name ulp in the root folder of your project. So your project structure should look like this:

        project_dir
        ├── include
        ├── src
        │    ├── CMakeLists.txt
        │    └── main.c
        ├── ulp
        │    └── ulp_code.S
        ├── CMakeLists.txt
        └── platformio.ini

Since PlatformIO uses the code model generated by CMake it's mandatory to specify ULP source files in CMakeLists.txt as well. An example of typical CMakeLists.txt for ULP:

        idf_component_register(SRCS "ulp_adc_example_main.c")
        #
        # ULP support additions to component CMakeLists.txt.
        #
        # 1. The ULP app name must be "ulp_main"
        set(ulp_app_name ulp_main)
        #
        # 2. Specify all assembly source files.
        #    Paths are relative because ULP files are placed into a special directory "ulp"
        #    in the root of the project
        set(ulp_s_sources "../ulp/adc.S")
        #
        # 3. List all the component source files which include automatically
        #    generated ULP export file, ${ulp_app_name}.h:
        set(ulp_exp_dep_srcs "ulp_adc_example_main.c")
        #
        # 4. Call function to build ULP binary and embed in project using the argument
        #    values above.
        ulp_embed_binary(${ulp_app_name} ${ulp_s_sources} ${ulp_exp_dep_srcs})

See full examples with ULP coprocessor programming:

    •   https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-ulp-adc

    •   https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-ulp-pulse

More details are located in the official ESP-IDF documentation - ULP coprocessor programming.

  Limitations

At the moment several limitations are present:

    •   No whitespace characters allowed in project paths.

    •   The src_filter option cannot be used.

  Configuration for 3.0, 3.1, 3.2, 3.3

Support for ESP-IDF v3.x is considered obsolete and is not available in the latest platform releases. Please check the platform release notes to figure out what version of the platform should be installed to use required ESP-IDF version, for example:

                [env:esp32dev]
                ; v1.10.0 is the last version that supports ESP-IDF v3.3
                platform = espressif32@1.10.0
                framework = espidf
                board = esp32dev

  Project Structure

Due to limited support of GNU Make build system used in ESP-IDF v3.x, the project configuration depends on a pregenerated file sdkconfig.h which contains a list of macro definitions CONFIG_*. These definitions describe project settings that will be used for preparing a proper build environment. You can use the default sdkconfig.h shipped with the platform or generate a custom one using native ESP-IDF build environment.

A typical PlatformIO project for ESP-IDF v3.x must have the following structure:

        project_dir
        ├── include
        ├── lib
        │   └── README
        ├── test
        ├── src
        │    ├── sdkconfig.h
        │    └── main.c
        └── platformio.ini

  Enable C++ exceptions

to enable C++ exceptions for ESP-IDF add -D PIO_FRAMEWORK_ESP_IDF_ENABLE_EXCEPTIONS to projectconf_build_flags of projectconf.

See project example with enabled exceptions.

  ULP coprocessor programming

To use ULP in your project you need to make sure that it's enabled in the sdkconfig.h configuration file. The following two lines must be added:

        #define CONFIG_ULP_COPROC_ENABLED 1
        #define CONFIG_ULP_COPROC_RESERVE_MEM 1024

Usually CONFIG_ULP_COPROC_RESERVE_MEM is already defined in the default sdkconfig.h with value 0. You can modify this value to meet your requirements.

All ULP code, usually written in assembly in files with .S extension, must be placed into a separate directory with the name ulp in the root folder of your project. So your project structure should look like this:

        project_dir
        ├── include
        ├── lib
        │   └── README
        ├── test
        ├── src
        │    ├── main.c
        │    └── sdkconfig.h
        ├── ulp
        │    └── ulp_code.S
        └── platformio.ini

See full examples with ULP coprocessor programming for ESP-IDF v3.x:

    •   https://github.com/platformio/platform-espressif32/tree/v1.10.0/examples/espidf-ulp-adc

    •   https://github.com/platformio/platform-espressif32/tree/v1.10.0/examples/espidf-ulp-pulse

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_espressif32_esp-wrover-kit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32thing | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | ESP32 | 240MHz | 4MB | 320KB

  Examples

    •   ESP-IDF for Espressif 32

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  AI Thinker
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  AZ-Delivery
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Aiyarafun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  April Brother
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espea32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  BPI Tech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_bpi-bit | platform_espressif32 | No | ESP32 | 160MHz | 4MB | 320KB

  DFRobot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DOIT
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DSTIKE
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Dongsen Technology
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DycodeX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  ESP32vn
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Electronic SweetPeas
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp320 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Espressif
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pico32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Fred
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Hardkernel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_odroid_esp32 | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB

  Heltec Automation
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_heltec_wifi_kit_32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB

  Hornbill
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  IntoRobot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_intorobot | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  M5Stack
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_m5stack-core-esp32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_m5stack-fire | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 6.25MB
board_espressif32_m5stack-grey | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_m5stick-c | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  MH-ET Live
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Magicblocks.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_magicbit | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  MakerAsia
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nano32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Microduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_microduino-core-esp32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  NodeMCU
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Noduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_quantum | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB

  OLIMEX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-pro | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-poe | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-poe-iso | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  OROCA
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_oroca_edubot | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Onehorse
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_onehorse32dev | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Pycom Ltd.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pycom_gpy | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB

  Qmobot LLP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_qchip | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  SG-O
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Silicognition
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SparkFun Electronics
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  TTGO
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t-watch | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  ThaiEasyElec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  TinyPICO
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_tinypico | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Turta
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_turta_iot_node | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Unknown
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  VintLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  WEMOS
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Widora
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_widora-air | platform_espressif32 | No | ESP32 | 240MHz | 16MB | 320KB

  XinaBox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  oddWires
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  u-blox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nina_w10 | platform_espressif32 | No | ESP32 | 240MHz | 2MB | 320KB

  Freedom E SDK

    Configuration
        projectconf_env_framework = freedom-e-sdk

Open Source Software for Developing on the SiFive Freedom E Platform

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_sifive_e310-arty | platform_sifive | FE310 | 450MHz | 16MB | 256MB
board_sifive_hifive-unleashed | platform_sifive | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_redboard_v | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | FE310 | 320MHz | 16MB | 16KB

  Examples

    •   Freedom E SDK for SiFive

  Platforms
Name | Description
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  SiFive
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_hifive-unleashed | platform_sifive | On-board | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_sparkfun_redboard_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  Xilinx
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB

  GigaDevice GD32V SDK

    Configuration
        projectconf_env_framework = gd32vf103-sdk

GigaDevice GD32VF103 Firmware Library (SDK)

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | platform_gd32v | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_gd32v_wio_lite_risc-v | platform_gd32v | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Examples

    •   GigaDevice GD32V SDK for GigaDevice GD32V

  Platforms
Name | Description
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Sipeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB

  Kendryte FreeRTOS SDK

    Configuration
        projectconf_env_framework = kendryte-freertos-sdk

Kendryte SDK with FreeRTOS support

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB

  Examples

    •   Kendryte FreeRTOS SDK for Kendryte K210

  Platforms
Name | Description
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Sipeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB

  Kendryte Standalone SDK

    Configuration
        projectconf_env_framework = kendryte-standalone-sdk

Kendryte Standalone SDK without OS support

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | K210 | 400MHz | 16MB | 6MB

  Examples

    •   Kendryte Standalone SDK for Kendryte K210

  Platforms
Name | Description
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Sipeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB

  libOpenCM3

    Configuration
        projectconf_env_framework = libopencm3

The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_nucleo_f103rb | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_disco_f303vc | platform_ststm32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_l152rb | platform_ststm32 | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_titiva_lplm4f120h5qr | platform_titiva | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | platform_titiva | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | platform_titiva | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_maple | platform_ststm32 | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_ststm32_olimexino | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | STM32F103ZET6 | 72MHz | 512KB | 64KB

  Examples

    •   libOpenCM3 for ST STM32

    •   libOpenCM3 for TI TIVA

  Platforms
Name | Description
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_titiva | Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  1BitSquared
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB

  LeafLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB

  TI
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_titiva_lplm4f120h5qr | platform_titiva | On-board | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | platform_titiva | On-board | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | platform_titiva | On-board | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB

  Mbed

    Configuration
        projectconf_env_framework = mbed

The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

For more detailed information please visit vendor site.

  Contents

    •   Configuration

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Configuration

    •   Configuration system

    •   Mbed lib and Mbed OS 5

    •   Build profiles

    •   Ignoring particular components

    •   Custom Targets

  Configuration system

PlatformIO allows you to customize mbed OS compile time configuration parameters using mbed_app.json manifest. It should be placed into the root of your project and located on the same level as projectconf.

Configuration is defined using JSON. Some examples of configuration parameters:

    •   The sampling period for a data acquisition application.

    •   The default stack size for a newly created OS thread.

    •   The receive buffer size of a serial communication library.

    •   The flash and RAM memory size of a target board.

See more details in the official ARM Mbed OS Configuration System.

A few PlatformIO-ready projects based on ARM mbed OS which use mbed_app.json;

    •   Freescale Kinetis: mbed-rtos-tls-client

    •   ST STM32: mbed-rtos-mesh-minimal

  Mbed lib and Mbed OS 5

PlatformIO allows compiling projects with or without Mbed OS. By default, project is built without the OS feature. Most of the framework functionality requires the OS to be enabled. To add the OS feature you can use a special macro definition that needs be added to projectconf_build_flags of projectconf:
Name | Description
PIO_FRAMEWORK_MBED_RTOS_PRESENT | Build the project with enabled rtos

An example of projectconf with enabled rtos

        [env:wizwiki_w7500p]
        platform = wiznet7500
        framework = mbed
        board = wizwiki_w7500p
        build_flags = -D PIO_FRAMEWORK_MBED_RTOS_PRESENT

  Build profiles

By default, PlatformIO builds your project using develop profile which provides optimized firmware size with full error information and allows MCU to go to sleep mode. In the case when default build profile is not suitable for your project there two other profiles release and debug that can be enabled using special macro definitions. You can change build profile projectconf_build_flags of projectconf:
Name | Description
MBED_BUILD_PROFILE_RELEASE | Release profile (smallest firmware, minimal error info)
MBED_BUILD_PROFILE_DEBUG | Debug profile (largest firmware, disabled sleep mode)

More information about differences between build profiles can be found on the official page ARM Mbed OS Build Profiles.

  Ignoring particular components

In case you don't need all parts of the framework or you want to reduce the compilation time, you can explicitly exclude folders with redundant sources. For example, to remove cellular, mbedtls and nanostack features from the build process, navigate to projectconf_pio_packages_dir and create a new file framework-mbed/features/.mbedignore with the following contents:

        cellular/*
        mbedtls/*
        nanostack/*

If you want to exclude the entire folder, simply create .mbedignore file and add only one symbol * to this file.

  Custom Targets

In case when your board is not officially supported by Mbed you can manually add custom board definitions to your project. First of all, you need to create a special file custom_targets.json in the root folder of your project where you describe your board, for example here is the configuration for NUCLEO-F401RE board:

        {
          "NUCLEO_F401RE": {
                "inherits": ["FAMILY_STM32"],
                "supported_form_factors": ["ARDUINO", "MORPHO"],
                "core": "Cortex-M4F",
                "extra_labels_add": ["STM32F4", "STM32F401xE", "STM32F401RE"],
                "config": {
                    "clock_source": {
                        "help": "Mask value : USE_PLL_HSE_EXTC | USE_PLL_HSE_XTAL (need HW patch) | USE_PLL_HSI",
                        "value": "USE_PLL_HSE_EXTC|USE_PLL_HSI",
                        "macro_name": "CLOCK_SOURCE"
                    }
                },
                "detect_code": ["0720"],
                "macros_add": ["USB_STM_HAL", "USBHOST_OTHER"],
                "device_has_add": [
                    "SERIAL_ASYNCH",
                    "FLASH",
                    "MPU"
                ],
                "release_versions": ["2", "5"],
                "device_name": "STM32F401RE"
            }
        }

Secondly, you need to add code specific to your target to the src folder of your project. Usually, it's a good idea to isolate this code in a separate folder and add the path to this folder to projectconf_build_flags of projectconf:

        [env:my_custom_board]
        platform = nxplpc
        framework = mbed
        board = my_custom_board
        build_flags = -I$PROJECT_SRC_DIR/MY_CUSTOM_BOARD_TARGET

Next, you need to inform PlatformIO that there is a new custom board. To do this, you can create boards directory in the root folder of your project and add a board manifest file with your board name, e.g. my_custom_board.json as described here board_creating

After these steps, your project structure should look like this:

        project_dir
        ├── include
        ├── boards
        │    └── my_custom_board.json
        ├── src
        │    ├── main.cpp
        │    └── MY_CUSTOM_BOARD_TARGET
        │         ├── pinNames.h
        │         └── pinNames.c
        ├── custom_targets.json
        └── platformio.ini

    More information about adding custom targets can be found on the official page
        Adding and configuring targets.

See full examples with a custom board:

    •   https://github.com/platformio/platform-nxplpc/tree/develop/examples/mbed-custom-target

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | STM32F446VET6 | 168MHz | 512KB | 128KB
board_nxplpc_lpc11u24_301 | platform_nxplpc | LPC11U24 | 48MHz | 32KB | 8KB
board_atmelsam_samr21_xpro | platform_atmelsam | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | SAML21J18B | 48MHz | 256KB | 32KB
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_lpc4330_m4 | platform_nxplpc | LPC4330 | 204MHz | 8MB | 264KB
board_nxplpc_elektor_cocorico | platform_nxplpc | LPC812 | 30MHz | 16KB | 4KB
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_dfcm_nnn40 | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_delta_dfcm_nnn50 | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 16KB
board_siliconlabsefm32_efm32gg_stk3700 | platform_siliconlabsefm32 | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | platform_siliconlabsefm32 | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | platform_siliconlabsefm32 | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_nxplpc_lpc4088_dm | platform_nxplpc | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | platform_nxplpc | LPC4088 | 120MHz | 512KB | 96KB
board_freescalekinetis_IBMEthernetKit | platform_freescalekinetis | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k20d50m | platform_freescalekinetis | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | platform_freescalekinetis | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | platform_freescalekinetis | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | platform_freescalekinetis | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | platform_freescalekinetis | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | platform_freescalekinetis | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | MKW41Z512VHT4 | 48MHz | 512KB | 128KB
board_riscv_gap_gapuino | platform_riscv_gap | GAP8 | 250MHz | 64MB | 8MB
board_nordicnrf51_wallbot_ble | platform_nordicnrf51 | NRF51822 | 16MHz | 128KB | 16KB
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_nxplpc_lpc11u68 | platform_nxplpc | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | platform_nxplpc | LPC824 | 30MHz | 32KB | 8KB
board_maxim32_max32600mbed | platform_maxim32 | MAX32600 | 24MHz | 256KB | 32KB
board_ststm32_mbed_connect_odin | platform_ststm32 | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nxplpc_lpc812 | platform_nxplpc | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc54114 | platform_nxplpc | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc546xx | platform_nxplpc | LPC54608ET512 | 180MHz | 512KB | 200KB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxplpc_lpc11u24 | platform_nxplpc | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | platform_nxplpc | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_mkit | platform_nordicnrf51 | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_cloud_jam | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | platform_siliconlabsefm32 | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_ststm32_disco_f334c8 | platform_ststm32 | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f413zh | platform_ststm32 | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l476vg | platform_ststm32 | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f746zg | platform_ststm32 | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l432kc | platform_ststm32 | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_f100rb | platform_ststm32 | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_silica_sensor_node | platform_ststm32 | STM32L476JG | 80MHz | 1MB | 128KB
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_seeedArchMax | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nxplpc_seeedArchPro | platform_nxplpc | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_wio_3g | platform_ststm32 | STM32F439VI | 180MHz | 2MB | 256KB
board_nordicnrf51_hrm1017 | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_lpc1114fn28 | platform_nxplpc | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | platform_nxplpc | LPC824 | 30MHz | 32KB | 8KB
board_nordicnrf51_ty51822r3 | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_siliconlabsefm32_tb_sense_12 | platform_siliconlabsefm32 | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB
board_nordicnrf51_vbluno51 | platform_nordicnrf51 | NRF51822 | 16MHz | 128KB | 32KB
board_wiznet7500_wizwiki_w7500 | platform_wiznet7500 | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | platform_wiznet7500 | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | platform_wiznet7500 | WIZNET7500P | 48MHz | 128KB | 48KB
board_ststm32_sakuraio_evb_01 | platform_ststm32 | STM32F411RET6 | 100MHz | 1MB | 128KB
board_nxplpc_ubloxc027 | platform_nxplpc | LPC1768 | 96MHz | 512KB | 64KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_bluepill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_nxplpc_lpc11u35_501 | platform_nxplpc | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_lpc1347 | platform_nxplpc | LPC1347 | 72MHz | 64KB | 12KB
board_nxplpc_lpc11u35 | platform_nxplpc | LPC11U35 | 48MHz | 64KB | 10KB
board_ststm32_elmo_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_freescalekinetis_frdm_kl82z | platform_freescalekinetis | MKL82Z128VLK7 | 96MHz | 128KB | 96KB
board_freescalekinetis_frdm_kw24d | platform_freescalekinetis | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_hexiwear | platform_freescalekinetis | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB
board_maxim32_max32620fthr | platform_maxim32 | MAX32620FTHR | 96MHz | 2MB | 256KB
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_maxim32_max32620hsp | platform_maxim32 | MAX32620 | 96MHz | 2MB | 256KB
board_maxim32_maxwsnenv | platform_maxim32 | MAX32610 | 24MHz | 256KB | 32KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | STM32L151CCU6 | 32MHz | 256KB | 32KB
board_ststm32_mote_l152rc | platform_ststm32 | STM32L152RC | 32MHz | 256KB | 32KB
board_nxplpc_blueboard_lpc11u24 | platform_nxplpc | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | platform_nxplpc | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | platform_nxplpc | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | platform_nxplpc | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc1549 | platform_nxplpc | LPC1549 | 72MHz | 256KB | 36KB
board_ststm32_olimexino | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_nxplpc_dipcortexm0 | platform_nxplpc | LPC11U24 | 50MHz | 32KB | 8KB
board_teensy_teensy31 | platform_teensy | MK20DX256 | 72MHz | 256KB | 64KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nxplpc_lpc11u35_y5_mbug | platform_nxplpc | LPC11U35 | 48MHz | 64KB | 10KB

  Examples

    •   Mbed for Atmel SAM

    •   Mbed for Freescale Kinetis

    •   Mbed for Maxim 32

    •   Mbed for Nordic nRF51

    •   Mbed for Nordic nRF52

    •   Mbed for NXP i.MX RT

    •   Mbed for NXP LPC

    •   Mbed for RISC-V GAP

    •   Mbed for Silicon Labs EFM32

    •   Mbed for ST STM32

    •   Mbed for Teensy

    •   Mbed for WIZNet W7500

  Platforms
Name | Description
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_freescalekinetis | Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
platform_maxim32 | Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_nxpimxrt | The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
platform_nxplpc | The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
platform_riscv_gap | GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.
platform_siliconlabsefm32 | Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_teensy | Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
platform_wiznet7500 | The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  96Boards
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB

  AppNearMe
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_micronfcboard | platform_nxplpc | No | LPC11U34 | 48MHz | 48KB | 10KB

  Atmel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | On-board | SAML21J18B | 48MHz | 256KB | 32KB

  Avnet Silica
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_silica_sensor_node | platform_ststm32 | On-board | STM32L476JG | 80MHz | 1MB | 128KB

  BBC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  CQ Publishing
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_501 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB

  Delta
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_dfcm_nnn40 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_delta_dfcm_nnn50 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 16KB

  Elektor Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_elektor_cocorico | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB

  Embedded Artists
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_lpc4088_dm | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB

  Espotel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_elmo_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB

  Freescale
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_IBMEthernetKit | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k20d50m | platform_freescalekinetis | On-board | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | On-board | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | platform_freescalekinetis | On-board | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | On-board | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | platform_freescalekinetis | On-board | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | platform_freescalekinetis | On-board | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | platform_freescalekinetis | On-board | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | platform_freescalekinetis | On-board | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl82z | platform_freescalekinetis | External | MKL82Z128VLK7 | 96MHz | 128KB | 96KB
board_freescalekinetis_frdm_kw24d | platform_freescalekinetis | External | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | On-board | MKW41Z512VHT4 | 48MHz | 512KB | 128KB

  GHI Electronics
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_oc_mbuino | platform_nxplpc | No | LPC11U24 | 50MHz | 32KB | 10KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB

  GreenWaves Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_riscv_gap_gapuino | platform_riscv_gap | On-board | GAP8 | 250MHz | 64MB | 8MB

  JKSoft
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_wallbot_ble | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB

  Maxim
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_maxim32_max32620fthr | platform_maxim32 | External | MAX32620FTHR | 96MHz | 2MB | 256KB
board_maxim32_max32625mbed | platform_maxim32 | No | MAX32625 | 96MHz | 512KB | 160KB
board_maxim32_max32625nexpaq | platform_maxim32 | No | MAX32625 | 96MHz | 512KB | 160KB
board_maxim32_max32625pico | platform_maxim32 | No | MAX32625 | 96MHz | 512KB | 160KB
board_maxim32_max32600mbed | platform_maxim32 | On-board | MAX32600 | 24MHz | 256KB | 32KB
board_maxim32_max32620hsp | platform_maxim32 | External | MAX32620 | 96MHz | 2MB | 256KB
board_maxim32_max32630fthr | platform_maxim32 | No | MAX32630 | 96MHz | 2MB | 512KB
board_maxim32_maxwsnenv | platform_maxim32 | External | MAX32610 | 24MHz | 256KB | 32KB

  Micromint
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc4330_m4 | platform_nxplpc | On-board | LPC4330 | 204MHz | 8MB | 264KB

  MikroElektronika
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_hexiwear | platform_freescalekinetis | External | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB

  MultiTech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | External | STM32L151CCU6 | 32MHz | 256KB | 32KB

  NGX Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_blueboard_lpc11u24 | platform_nxplpc | External | LPC11U24 | 48MHz | 32KB | 8KB

  NXP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u24_301 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u68 | platform_nxplpc | On-board | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | platform_nxplpc | External | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | platform_nxplpc | External | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | platform_nxplpc | External | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc812 | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc1549 | platform_nxplpc | External | LPC1549 | 72MHz | 256KB | 36KB
board_nxplpc_lpc54114 | platform_nxplpc | On-board | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc546xx | platform_nxplpc | On-board | LPC54608ET512 | 180MHz | 512KB | 200KB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | On-board | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxplpc_lpc11u24 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB

  Nordic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_mkit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB

  Outrageous Circuits
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_mbuino | platform_nxplpc | No | LPC11U24 | 48MHz | 32KB | 8KB

  RedBearLab
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  RushUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f334c8 | platform_ststm32 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nxplpc_seeedArchGPRS | platform_nxplpc | No | LPC11U37 | 48MHz | 128KB | 10KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_seeedArchMax | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nxplpc_seeedArchPro | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_wio_3g | platform_ststm32 | On-board | STM32F439VI | 180MHz | 2MB | 256KB
board_nxplpc_xadow_m0 | platform_nxplpc | No | LPC11U35 | 48MHz | 64KB | 10KB

  Semtech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mote_l152rc | platform_ststm32 | External | STM32L152RC | 32MHz | 256KB | 32KB

  Sigma Delta Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_maxim32_sdt32620b | platform_maxim32 | No | MAX32620IWG | 96MHz | 2MB | 256KB
board_maxim32_sdt32625b | platform_maxim32 | No | MAX32625ITK | 96MHz | 512KB | 160KB
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  Silicon Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_siliconlabsefm32_efm32gg_stk3700 | platform_siliconlabsefm32 | On-board | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | platform_siliconlabsefm32 | On-board | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | platform_siliconlabsefm32 | On-board | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | platform_siliconlabsefm32 | On-board | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_siliconlabsefm32_tb_sense_12 | platform_siliconlabsefm32 | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB

  Smeshlink
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_xbed_lpc1768 | platform_nxplpc | No | LPC1768 | 96MHz | 512KB | 32KB

  Solder Splash Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc1347 | platform_nxplpc | External | LPC1347 | 72MHz | 64KB | 12KB
board_nxplpc_dipcortexm0 | platform_nxplpc | External | LPC11U24 | 50MHz | 32KB | 8KB

  Switch Science
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_hrm1017 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_lpc1114fn28 | platform_nxplpc | On-board | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nordicnrf51_ty51822r3 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB

  Teensy
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_teensy_teensy31 | platform_teensy | External | MK20DX256 | 72MHz | 256KB | 64KB

  VNG
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_vbluno51 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 32KB

  WIZNet
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_wiznet7500_wizwiki_w7500 | platform_wiznet7500 | On-board | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | platform_wiznet7500 | On-board | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | platform_wiznet7500 | On-board | WIZNET7500P | 48MHz | 128KB | 48KB

  rhomb.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB

  sakura.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB

  u-blox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nxplpc_ubloxc027 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB

  y5 design
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_y5_mbug | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  Nuclei SDK

    Configuration
        projectconf_env_framework = nuclei-sdk

Open Source Software Development Kit for the Nuclei N/NX processors

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_rvstar | platform_nuclei | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_hbird_eval | platform_nuclei | HUMMINGBIRD | 5MHz | 64KB | 64KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | platform_nuclei | GD32VF103VBT6 | 108MHz | 128KB | 32KB

  Examples

    •   Nuclei SDK for Nuclei

  Platforms
Name | Description
platform_nuclei | Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  GigaDevice
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | platform_nuclei | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB

  Nuclei
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_rvstar | platform_nuclei | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_hbird_eval | platform_nuclei | On-board | HUMMINGBIRD | 5MHz | 64KB | 64KB

  PULP OS

    Configuration
        projectconf_env_framework = pulp-os

PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory.

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_riscv_gap_gapuino | platform_riscv_gap | GAP8 | 250MHz | 64MB | 8MB

  Examples

    •   PULP OS for RISC-V GAP

  Platforms
Name | Description
platform_riscv_gap | GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  GreenWaves Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_riscv_gap_gapuino | platform_riscv_gap | On-board | GAP8 | 250MHz | 64MB | 8MB

  Pumbaa

    Configuration
        projectconf_env_framework = pumbaa

Pumbaa is Python on top of Simba. The implementation is a port of MicroPython, designed for embedded devices with limited amount of RAM and code memory.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Platforms

    •   Boards

  Examples

    •   Pumbaa for Espressif 32

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  MakerAsia
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nano32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  Shakti SDK

    Configuration
        projectconf_env_framework = shakti-sdk

A software development kit for developing applications on Shakti class of processors

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_shakti_artix7_35t | platform_shakti | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | platform_shakti | C-CLASS | 50MHz | 0B | 128MB

  Examples

    •   Shakti SDK for Shakti

  Platforms
Name | Description
platform_shakti | Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Xilinx
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_shakti_artix7_35t | platform_shakti | On-board | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | platform_shakti | On-board | C-CLASS | 50MHz | 0B | 128MB

  Simba

    Configuration
        projectconf_env_framework = simba

Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

For more detailed information please visit vendor site.

  Contents

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_atmelavr_megaatmega2560 | platform_atmelavr | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_nanoatmega328 | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | platform_atmelavr | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_uno | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_seeeduino | platform_atmelavr | ATMEGA328P | 16MHz | 31.50KB | 2KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_atmelsam_due | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Examples

    •   Simba for Atmel AVR

    •   Simba for Atmel SAM

    •   Simba for Espressif 32

    •   Simba for Espressif 8266

  Platforms
Name | Description
platform_atmelavr | Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_espressif8266 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_huzzah | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  Arduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelavr_megaatmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_nanoatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_uno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Espressif
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_esp_wroom_02 | platform_espressif8266 | No | ESP8266 | 80MHz | 2MB | 80KB
board_espressif8266_esp12e | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_esp01 | platform_espressif8266 | No | ESP8266 | 80MHz | 512KB | 80KB

  Invent One
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_inventone | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  MakerAsia
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nano32 | platform_espressif32 | No | ESP32 | 240MHz | 4MB | 320KB

  NodeMCU
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif8266_nodemcu | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB
board_espressif8266_nodemcuv2 | platform_espressif8266 | No | ESP8266 | 80MHz | 4MB | 80KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_seeeduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  SPL

    Configuration
        projectconf_env_framework = spl

The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Examples

All project examples are located in PlatformIO repository Examples for SPL framework.

    •   Blink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | platform_ststm32 | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_cloud_jam | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f401re | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_disco_f303vc | platform_ststm32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_l152rb | platform_ststm32 | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm8_stm8sdisco | platform_ststm8 | STM8S105C6T6 | 16MHz | 32KB | 2KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | STM32F401RE | 84MHz | 512KB | 96KB

  Examples

    •   SPL for ST STM32

    •   SPL for ST STM8

  Platforms
Name | Description
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_ststm8 | The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  1BitSquared
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB

  Armstrap
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB

  RushUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm8_stm8sdisco | platform_ststm8 | On-board | STM8S105C6T6 | 16MHz | 32KB | 2KB
board_ststm8_stm8sblue | platform_ststm8 | No | STM8S103F3P6 | 16MHz | 8KB | 1KB
board_ststm8_stm8sblack | platform_ststm8 | No | STM8S105K4T6 | 16MHz | 16KB | 2KB

  sduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm8_mb208 | platform_ststm8 | No | STM8S208MBT6 | 16MHz | 128KB | 6KB
board_ststm8_s8uno | platform_ststm8 | No | STM8S105K6T6 | 16MHz | 32KB | 2KB

  STM32Cube

    Configuration
        projectconf_env_framework = stm32cube

STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Using with STM32CubeMX

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Tutorials

    •   tutorial_stm32cube_debugging_unit_testing

  Using with STM32CubeMX

At the moment there is no seamless integration with projects generated by STM32CubeMX tool. Instead, a small cross-platform Python application called stm32pio can be used to create and update PlatformIO projects from STM32CubeMX .ioc files. It uses STM32CubeMX to generate a HAL-framework-based code and alongside creates PlatformIO project with compatible parameters to stick them both together.

More details about stm32pio tool can be found in the official repository.

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_remram_v1 | platform_ststm32 | STM32F765VIT6 | 216MHz | 2MB | 512KB
board_ststm32_st3dp001_eval | platform_ststm32 | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_b96b_f446ve | platform_ststm32 | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_armstrap_eagle1024 | platform_ststm32 | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_mbed_connect_odin | platform_ststm32 | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mxchip_az3166 | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_cloud_jam | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_f334c8 | platform_ststm32 | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | platform_ststm32 | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | platform_ststm32 | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | platform_ststm32 | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | platform_ststm32 | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | platform_ststm32 | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | platform_ststm32 | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | platform_ststm32 | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | platform_ststm32 | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | platform_ststm32 | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | platform_ststm32 | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_silica_sensor_node | platform_ststm32 | STM32L476JG | 80MHz | 1MB | 128KB
board_ststm32_disco_f750n8 | platform_ststm32 | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | platform_ststm32 | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_ststm32_seeedArchMax | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_wio_3g | platform_ststm32 | STM32F439VI | 180MHz | 2MB | 256KB
board_ststm32_sakuraio_evb_01 | platform_ststm32 | STM32F411RET6 | 100MHz | 1MB | 128KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | STM32F437VG | 180MHz | 1MB | 256KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_armed_v1 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rumba32_f446ve | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_b96b_argonkey | platform_ststm32 | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_neonkey | platform_ststm32 | STM32F411CE | 100MHz | 512KB | 128KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_ststm32_afroflight_f103cb | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_black_f407ve | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_blackpill_f401cc | platform_ststm32 | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_coreboard_f401rc | platform_ststm32 | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_demo_f030f4 | platform_ststm32 | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_ststm32_elmo_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_diymore_f407vgt | platform_ststm32 | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | platform_ststm32 | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_malyanm200_f070cb | platform_ststm32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple | platform_ststm32 | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_ststm32_microduino32_flash | platform_ststm32 | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | STM32L151CCU6 | 32MHz | 256KB | 32KB
board_ststm32_netduino2plus | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_mote_l152rc | platform_ststm32 | STM32L152RC | 32MHz | 256KB | 32KB
board_ststm32_olimexino | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_piconomix_px_her0 | platform_ststm32 | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | platform_ststm32 | STM32F407RE | 168MHz | 512KB | 192KB
board_ststm32_rak811_tracker | platform_ststm32 | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | STM32L151RBT6 | 32MHz | 128KB | 32KB
board_ststm32_rhf76_052 | platform_ststm32 | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_olimex_e407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | platform_ststm32 | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | STM32L4R9ZI | 120MHz | 2MB | 640KB
board_ststm32_sparky_v1 | platform_ststm32 | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_thunder_pack | platform_ststm32 | STM32L072KZ | 32MHz | 192KB | 20KB
board_ststm32_hy_tinystm103tb | platform_ststm32 | STM32F103TBU6 | 72MHz | 128KB | 20KB
board_ststm32_vake_v1 | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_wraith32_v1 | platform_ststm32 | STM32F051K6 | 48MHz | 32KB | 7.75KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | STM32F439ZIY6 | 168MHz | 2MB | 256KB

  Examples

    •   STM32Cube for ST STM32

  Platforms
Name | Description
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  1BitSquared
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB

  96Boards
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_b96b_argonkey | platform_ststm32 | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | platform_ststm32 | External | STM32F411CE | 100MHz | 512KB | 128KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB

  AfroFlight
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB

  Airbot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB

  Armed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB

  Armstrap
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB

  Avnet Silica
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_silica_sensor_node | platform_ststm32 | On-board | STM32L476JG | 80MHz | 1MB | 128KB

  Diymore
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB

  Espotel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_elmo_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_demo_f030f4 | platform_ststm32 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  HY
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_hy_tinystm103tb | platform_ststm32 | External | STM32F103TBU6 | 72MHz | 128KB | 20KB

  LeafLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB

  MXChip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mxchip_az3166 | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB

  Malyan
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB

  Microduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_microduino32_flash | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB

  MultiTech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | External | STM32L151CCU6 | 32MHz | 256KB | 32KB

  Netduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_netduino2plus | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

  Piconomix
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB

  PrntrBoard
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB

  RAK
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rak811_tracker | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB

  RUMBA
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rumba32_f446ve | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  RemRam
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_remram_v1 | platform_ststm32 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB

  RobotDyn
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  RushUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_st3dp001_eval | platform_ststm32 | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_f334c8 | platform_ststm32 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | platform_ststm32 | On-board | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | platform_ststm32 | On-board | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | platform_ststm32 | On-board | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | platform_ststm32 | On-board | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_disco_f750n8 | platform_ststm32 | On-board | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | platform_ststm32 | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_seeedArchMax | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_wio_3g | platform_ststm32 | On-board | STM32F439VI | 180MHz | 2MB | 256KB

  Semtech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mote_l152rc | platform_ststm32 | External | STM32L152RC | 32MHz | 256KB | 32KB

  TauLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sparky_v1 | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  ThunderPack
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB

  VAE
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_vake_v1 | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  rhomb.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB

  sakura.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB

  u-blox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB

  WiringPi

    Configuration
        projectconf_env_framework = wiringpi

WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

For more detailed information please visit vendor site.

  Contents

    •   Examples

    •   Platforms

    •   Boards

  Examples

    •   WiringPi for Linux ARM

  Platforms
Name | Description
platform_linux_arm | Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  Raspberry Pi
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_linux_arm_raspberrypi_1b | platform_linux_arm | No | BCM2835 | 700MHz | 512MB | 512MB
board_linux_arm_raspberrypi_2b | platform_linux_arm | No | BCM2836 | 900MHz | 1GB | 1GB
board_linux_arm_raspberrypi_3b | platform_linux_arm | No | BCM2837 | 1200MHz | 1GB | 1GB
board_linux_arm_raspberrypi_zero | platform_linux_arm | No | BCM2835 | 1000MHz | 512MB | 512MB

  Zephyr

    Configuration
        projectconf_env_framework = zephyr

The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

For more detailed information please visit vendor site.

  Contents

    •   Tutorials

    •   Configuration

    •   Debugging

    •   Examples

    •   Platforms

    •   Boards

  Tutorials

    •   tutorial_nordicnrf52_zephyr_debugging_unit_testing_analysis

  Configuration

    •   Project Structure

    •   Embedding files at compile time

    •   Zephyr modules

    •   Limitations

  Project Structure

WARNING:
        Zephyr framework currently requires Python 3.4 or later.

Zephyr framework requires an unusual project structure because most of the framework configuration is performed by the native for Zephyr build system called CMake.

NOTE:
        Since PlatformIO is able to generate CMake-based projects for certain IDEs, Zephyr-related files are moved to a separate folder in order to avoid conflicts between project files. That requires users to specify relative paths to source files in CMakeLists.txt.

A typical PlatformIO project for Zephyr framework must have the following structure:

        project_dir
        ├── include
        ├── src
        │    └── main.c
        ├── zephyr
        │    ├── prj.conf
        │    └── CMakeLists.txt
        └── platformio.ini

Besides files related to PlatformIO project, there is an additional folder zephyr that contains Zephyr-specific files CMakeLists.txt and prj.conf:

CMakeLists.txt file enables features supported by Zephyr's build system, e.g. board-specific kernel configuration files. A typical CMakeLists.txt file has the following content:

        # Boilerplate code, which pulls in the Zephyr build system.
        cmake_minimum_required(VERSION 3.13.1)
        include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
        project(my_zephyr_app)

        # Add your source file to the "app" target. This must come after the boilerplate
        # code, which defines the target. Note relative path to source file
        target_sources(app PRIVATE ../src/main.c)

The files specified in target_sources are used ONLY for generating build configurations, but it's highly recommended to specify all application source files in order to keep the project compatible with the usual Zephyr workflow.

Due to the current limitations of CMake file-based API, there is no way to generate build configuration for source files written in various programming languages if they are not specified in target_sources command. If your project contains libraries written in languages that differ from the language used for the main application you need to create an empty file with desired extension (e.g. *.cpp for C++) in order to force CMake generate build configuration for this language.

NOTE:
        Build configuration generated for source files specified in target_sources is also used as the base build environment for project sources (including libraries).

prj.conf file sets application-specific values for one or more kernel configuration options. These application settings are merged with board-specific settings to produce a kernel configuration.

  Embedding files at compile time

In case your CMakeLists.txt relies on using generate_inc_* functions that are used for generating and compressing individual files (for example certificates for secure connections) you need to configure your PlatformIO project accordingly using the following structure:

        [env:myenv]
        platform = ...
        board = ...
        framework = zephyr
        board_build.embed_files =
            # files to be embedded
            src/apps-cert.der
            src/apps-key.der

Where apps-cert.der and apps-key.der are the files you want to embed to your project at the compile time.

  Zephyr modules

NOTE:
        PlatformIO automatically installs several default modules used with Zephyr framework including modules that implement silicon vendor Hardware Abstraction Layers (HALs).

Zephyr modules are externally maintained packages that allow using well-established and mature code created by third party developers.

These modules contain either a single module.yml file or CMakeLists.txt and Kconfig files that describe how to build and configure them. You can specify paths to additional directories with source code, Kconfig, etc. using ZEPHYR_EXTRA_MODULES at the top of your project's CMakeLists.txt file, for example:

        # Additional modules
        set(ZEPHYR_EXTRA_MODULES "path/to-zephyr-custom-module"  [...])

        # Boilerplate code, which pulls in the Zephyr build system.
        cmake_minimum_required(VERSION 3.13.1)
        include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
        project(my_zephyr_app)

        # Add your source file to the "app" target. This must come after
        # the boilerplate code, which defines the target.
        target_sources(app PRIVATE ../src/main.c)

Since the build may not work correctly if the full path to sources is greater than 250 characters (see CMAKE_OBJECT_PATH_MAX) it might be a good idea to keep modules close to the project configuration files (e.g. in zephyr folder) in form of a git submodule.

WARNING:
        Make sure the ZEPHYR_EXTRA_MODULES variable is set before including the boilerplate file, as shown above.

  Limitations

At the moment several limitations are present:

    •   The minimum supported version of Python is 3.4

    •   No whitespace characters allowed in project paths.

    •   OpenThread module is not supported

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

    •   Tools & Debug Probes

        •   On-Board Debug Tools

        •   External Debug Tools

  Tools & Debug Probes

Supported debugging tools are listed in "Debug" column. For more detailed information, please scroll table by horizontal. You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

  On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_b96b_f446ve | platform_ststm32 | STM32F446VET6 | 168MHz | 512KB | 128KB
board_atmelsam_zero | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samr21_xpro | platform_atmelsam | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | SAMD21J18A | 48MHz | 256KB | 32KB
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | MKW41Z512VHT4 | 48MHz | 512KB | 128KB
board_sifive_hifive1 | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_nxplpc_lpc54114 | platform_nxplpc | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxpimxrt_mimxrt1010_evk | platform_nxpimxrt | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | platform_nxpimxrt | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | platform_nxpimxrt | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | platform_nxpimxrt | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | platform_nxpimxrt | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_ststm32_disco_f411ve | platform_ststm32 | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l476vg | platform_ststm32 | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f070rb | platform_ststm32 | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f411re | platform_ststm32 | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f746zg | platform_ststm32 | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l432kc | platform_ststm32 | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f051r8 | platform_ststm32 | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_disco_h743xi | platform_ststm32 | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_sifive_sparkfun_redboard_v | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | FE310 | 320MHz | 16MB | 16KB
board_nordicnrf51_vbluno51 | platform_nordicnrf51 | NRF51822 | 16MHz | 128KB | 32KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB

  External Debug Tools

Boards listed below are compatible with piodebug but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name | Platform | MCU | Frequency | Flash | RAM
board_ststm32_b96b_argonkey | platform_ststm32 | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_neonkey | platform_ststm32 | STM32F411CE | 100MHz | 512KB | 128KB
board_nordicnrf52_96b_nitrogen | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_due | platform_atmelsam | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_freescalekinetis_frdm_kw24d | platform_freescalekinetis | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_hexiwear | platform_freescalekinetis | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_nucleo_g071rb | platform_ststm32 | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431rb | platform_ststm32 | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_olimexino | platform_ststm32 | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | platform_ststm32 | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_nordicnrf52_particle_argon | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_boron | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_olimex_e407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | platform_ststm32 | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | NRF51822 | 32MHz | 256KB | 32KB

  Examples

    •   Zephyr for Atmel SAM

    •   Zephyr for Freescale Kinetis

    •   Zephyr for Nordic nRF51

    •   Zephyr for Nordic nRF52

    •   Zephyr for NXP i.MX RT

    •   Zephyr for NXP LPC

    •   Zephyr for SiFive

    •   Zephyr for Silicon Labs EFM32

    •   Zephyr for ST STM32

  Platforms
Name | Description
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_freescalekinetis | Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_nxpimxrt | The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
platform_nxplpc | The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
platform_siliconlabsefm32 | Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

  Boards

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll the tables below by horizontally.

  96Boards
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_b96b_argonkey | platform_ststm32 | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | platform_ststm32 | External | STM32F411CE | 100MHz | 512KB | 128KB
board_nordicnrf52_96b_nitrogen | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB

  Arduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB

  Atmel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB

  BBC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  ElectronutLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Freescale
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | On-board | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | On-board | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kw24d | platform_freescalekinetis | External | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | On-board | MKW41Z512VHT4 | 48MHz | 512KB | 128KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB

  Holyiot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  Laird Connectivity
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Makerdiary
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  MikroElektronika
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_hexiwear | platform_freescalekinetis | External | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB

  NXP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc54114 | platform_nxplpc | On-board | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxpimxrt_mimxrt1010_evk | platform_nxpimxrt | On-board | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | platform_nxpimxrt | On-board | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | platform_nxpimxrt | On-board | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | On-board | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | platform_nxpimxrt | On-board | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | platform_nxpimxrt | On-board | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB

  Nordic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

  Particle
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_particle_argon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_boron | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB

  RedBearLab
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_nucleo_g071rb | platform_ststm32 | External | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431rb | platform_ststm32 | External | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | External | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_disco_h743xi | platform_ststm32 | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB

  SiFive
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_hifive1 | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  Silicon Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_sparkfun_redboard_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  VNG
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_vbluno51 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 32KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  Waveshare
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  Boards

Rapid Embedded Development, Continuous and IDE integration in a few steps with PlatformIO thanks to built-in project generator for the most popular embedded boards and IDE.

NOTE:

            •   You can list pre-configured boards by cmd_boards command or PlatformIO Boards Explorer

            •   For more detailed board information please scroll tables below by horizontal.

  Aceinna IMU

  Aceinna Low Cost RTK

  Contents

    •   Aceinna Low Cost RTK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_aceinna_imu: Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
Microcontroller | STM32F469NIH6
Frequency | 180MHz
Flash | 1MB
RAM | 384KB
Vendor | Aceinna

  Configuration

Please use LowCostRTK ID for projectconf_env_board option in projectconf:

        [env:LowCostRTK]
        platform = aceinna_imu
        board = LowCostRTK

You can override default Aceinna Low Cost RTK settings per build environment using board_*** option, where *** is a JSON object path from board manifest LowCostRTK.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:LowCostRTK]
        platform = aceinna_imu
        board = LowCostRTK

        ; change microcontroller
        board_build.mcu = stm32f469nih6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

Aceinna Low Cost RTK supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:LowCostRTK]
        platform = aceinna_imu
        board = LowCostRTK

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Aceinna Low Cost RTK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Aceinna OpenIMU 300

  Contents

    •   Aceinna OpenIMU 300

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_aceinna_imu: Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
Microcontroller | STM32F405RG
Frequency | 120MHz
Flash | 1MB
RAM | 128KB
Vendor | Aceinna

  Configuration

Please use OpenIMU300 ID for projectconf_env_board option in projectconf:

        [env:OpenIMU300]
        platform = aceinna_imu
        board = OpenIMU300

You can override default Aceinna OpenIMU 300 settings per build environment using board_*** option, where *** is a JSON object path from board manifest OpenIMU300.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:OpenIMU300]
        platform = aceinna_imu
        board = OpenIMU300

        ; change microcontroller
        board_build.mcu = stm32f405rg

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Aceinna OpenIMU 300 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:OpenIMU300]
        platform = aceinna_imu
        board = OpenIMU300

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Aceinna OpenIMU 300 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Aceinna OpenIMU 300ZA

  Contents

    •   Aceinna OpenIMU 300ZA

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_aceinna_imu: Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
Microcontroller | STM32F405RG
Frequency | 120MHz
Flash | 1MB
RAM | 128KB
Vendor | Aceinna

  Configuration

Please use OpenIMU300ZA ID for projectconf_env_board option in projectconf:

        [env:OpenIMU300ZA]
        platform = aceinna_imu
        board = OpenIMU300ZA

You can override default Aceinna OpenIMU 300ZA settings per build environment using board_*** option, where *** is a JSON object path from board manifest OpenIMU300ZA.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:OpenIMU300ZA]
        platform = aceinna_imu
        board = OpenIMU300ZA

        ; change microcontroller
        board_build.mcu = stm32f405rg

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Aceinna OpenIMU 300ZA supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:OpenIMU300ZA]
        platform = aceinna_imu
        board = OpenIMU300ZA

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Aceinna OpenIMU 300ZA does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Aceinna OpenIMU 330

  Contents

    •   Aceinna OpenIMU 330

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_aceinna_imu: Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
Microcontroller | STM32L431CB
Frequency | 80MHz
Flash | 128KB
RAM | 64KB
Vendor | Aceinna

  Configuration

Please use OpenIMU330 ID for projectconf_env_board option in projectconf:

        [env:OpenIMU330]
        platform = aceinna_imu
        board = OpenIMU330

You can override default Aceinna OpenIMU 330 settings per build environment using board_*** option, where *** is a JSON object path from board manifest OpenIMU330.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:OpenIMU330]
        platform = aceinna_imu
        board = OpenIMU330

        ; change microcontroller
        board_build.mcu = stm32l431cb

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Aceinna OpenIMU 330 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:OpenIMU330]
        platform = aceinna_imu
        board = OpenIMU330

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Aceinna OpenIMU 330 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Aceinna OpenIMU 330ZA

  Contents

    •   Aceinna OpenIMU 330ZA

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_aceinna_imu: Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
Microcontroller | STM32F469IG
Frequency | 180MHz
Flash | 1MB
RAM | 384KB
Vendor | Aceinna

  Configuration

Please use OpenRTK ID for projectconf_env_board option in projectconf:

        [env:OpenRTK]
        platform = aceinna_imu
        board = OpenRTK

You can override default Aceinna OpenIMU 330ZA settings per build environment using board_*** option, where *** is a JSON object path from board manifest OpenRTK.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:OpenRTK]
        platform = aceinna_imu
        board = OpenRTK

        ; change microcontroller
        board_build.mcu = stm32f469IG

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

Aceinna OpenIMU 330ZA supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:OpenRTK]
        platform = aceinna_imu
        board = OpenRTK

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Aceinna OpenIMU 330ZA does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Aceinna OpenRTK330L

  Contents

    •   Aceinna OpenRTK330L

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_aceinna_imu: Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
Microcontroller | STM32F469IG
Frequency | 180MHz
Flash | 1MB
RAM | 384KB
Vendor | Aceinna

  Configuration

Please use OpenRTK330L ID for projectconf_env_board option in projectconf:

        [env:OpenRTK330L]
        platform = aceinna_imu
        board = OpenRTK330L

You can override default Aceinna OpenRTK330L settings per build environment using board_*** option, where *** is a JSON object path from board manifest OpenRTK330L.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:OpenRTK330L]
        platform = aceinna_imu
        board = OpenRTK330L

        ; change microcontroller
        board_build.mcu = stm32f469IG

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

Aceinna OpenRTK330L supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:OpenRTK330L]
        platform = aceinna_imu
        board = OpenRTK330L

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Aceinna OpenRTK330L does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Atmel AVR

  AT90CAN128

  Contents

    •   AT90CAN128

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | AT90CAN128
Frequency | 16MHz
Flash | 127KB
RAM | 4KB
Vendor | Microchip

  Configuration

Please use AT90CAN128 ID for projectconf_env_board option in projectconf:

        [env:AT90CAN128]
        platform = atmelavr
        board = AT90CAN128

You can override default AT90CAN128 settings per build environment using board_*** option, where *** is a JSON object path from board manifest AT90CAN128.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:AT90CAN128]
        platform = atmelavr
        board = AT90CAN128

        ; change microcontroller
        board_build.mcu = at90can128

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support AT90CAN128 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  AT90CAN32

  Contents

    •   AT90CAN32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | AT90CAN32
Frequency | 16MHz
Flash | 31KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use AT90CAN32 ID for projectconf_env_board option in projectconf:

        [env:AT90CAN32]
        platform = atmelavr
        board = AT90CAN32

You can override default AT90CAN32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest AT90CAN32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:AT90CAN32]
        platform = atmelavr
        board = AT90CAN32

        ; change microcontroller
        board_build.mcu = at90can32

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support AT90CAN32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  AT90CAN64

  Contents

    •   AT90CAN64

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | AT90CAN64
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Microchip

  Configuration

Please use AT90CAN64 ID for projectconf_env_board option in projectconf:

        [env:AT90CAN64]
        platform = atmelavr
        board = AT90CAN64

You can override default AT90CAN64 settings per build environment using board_*** option, where *** is a JSON object path from board manifest AT90CAN64.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:AT90CAN64]
        platform = atmelavr
        board = AT90CAN64

        ; change microcontroller
        board_build.mcu = at90can64

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support AT90CAN64 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega128/A

  Contents

    •   ATmega128/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA128
Frequency | 16MHz
Flash | 127KB
RAM | 4KB
Vendor | Microchip

  Configuration

Please use ATmega128 ID for projectconf_env_board option in projectconf:

        [env:ATmega128]
        platform = atmelavr
        board = ATmega128

You can override default ATmega128/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega128.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega128]
        platform = atmelavr
        board = ATmega128

        ; change microcontroller
        board_build.mcu = atmega128

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega128/A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega1280

  Contents

    •   ATmega1280

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1280
Frequency | 16MHz
Flash | 127KB
RAM | 8KB
Vendor | Microchip

  Configuration

Please use ATmega1280 ID for projectconf_env_board option in projectconf:

        [env:ATmega1280]
        platform = atmelavr
        board = ATmega1280

You can override default ATmega1280 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega1280.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega1280]
        platform = atmelavr
        board = ATmega1280

        ; change microcontroller
        board_build.mcu = atmega1280

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega1280 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega1281

  Contents

    •   ATmega1281

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1281
Frequency | 16MHz
Flash | 127KB
RAM | 8KB
Vendor | Microchip

  Configuration

Please use ATmega1281 ID for projectconf_env_board option in projectconf:

        [env:ATmega1281]
        platform = atmelavr
        board = ATmega1281

You can override default ATmega1281 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega1281.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega1281]
        platform = atmelavr
        board = ATmega1281

        ; change microcontroller
        board_build.mcu = atmega1281

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega1281 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega1284

  Contents

    •   ATmega1284

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284
Frequency | 16MHz
Flash | 127KB
RAM | 16KB
Vendor | Microchip

  Configuration

Please use ATmega1284 ID for projectconf_env_board option in projectconf:

        [env:ATmega1284]
        platform = atmelavr
        board = ATmega1284

You can override default ATmega1284 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega1284.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega1284]
        platform = atmelavr
        board = ATmega1284

        ; change microcontroller
        board_build.mcu = atmega1284

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega1284 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega1284P

  Contents

    •   ATmega1284P

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 16MHz
Flash | 127KB
RAM | 16KB
Vendor | Microchip

  Configuration

Please use ATmega1284P ID for projectconf_env_board option in projectconf:

        [env:ATmega1284P]
        platform = atmelavr
        board = ATmega1284P

You can override default ATmega1284P settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega1284P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega1284P]
        platform = atmelavr
        board = ATmega1284P

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega1284P has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega16

  Contents

    •   ATmega16

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA16
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega16 ID for projectconf_env_board option in projectconf:

        [env:ATmega16]
        platform = atmelavr
        board = ATmega16

You can override default ATmega16 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega16.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega16]
        platform = atmelavr
        board = ATmega16

        ; change microcontroller
        board_build.mcu = atmega16

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega16 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega162

  Contents

    •   ATmega162

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA162
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega162 ID for projectconf_env_board option in projectconf:

        [env:ATmega162]
        platform = atmelavr
        board = ATmega162

You can override default ATmega162 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega162.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega162]
        platform = atmelavr
        board = ATmega162

        ; change microcontroller
        board_build.mcu = atmega162

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega162 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega164A

  Contents

    •   ATmega164A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA164A
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega164A ID for projectconf_env_board option in projectconf:

        [env:ATmega164A]
        platform = atmelavr
        board = ATmega164A

You can override default ATmega164A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega164A.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega164A]
        platform = atmelavr
        board = ATmega164A

        ; change microcontroller
        board_build.mcu = atmega164a

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega164A board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega164P/PA

  Contents

    •   ATmega164P/PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA164P
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega164P ID for projectconf_env_board option in projectconf:

        [env:ATmega164P]
        platform = atmelavr
        board = ATmega164P

You can override default ATmega164P/PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega164P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega164P]
        platform = atmelavr
        board = ATmega164P

        ; change microcontroller
        board_build.mcu = atmega164p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega164P/PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega168/A

  Contents

    •   ATmega168/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega168 ID for projectconf_env_board option in projectconf:

        [env:ATmega168]
        platform = atmelavr
        board = ATmega168

You can override default ATmega168/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega168]
        platform = atmelavr
        board = ATmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega168/A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega168P/PA

  Contents

    •   ATmega168P/PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168P
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega168P ID for projectconf_env_board option in projectconf:

        [env:ATmega168P]
        platform = atmelavr
        board = ATmega168P

You can override default ATmega168P/PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega168P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega168P]
        platform = atmelavr
        board = ATmega168P

        ; change microcontroller
        board_build.mcu = atmega168p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega168P/PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega168PB

  Contents

    •   ATmega168PB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168PB
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega168PB ID for projectconf_env_board option in projectconf:

        [env:ATmega168PB]
        platform = atmelavr
        board = ATmega168PB

You can override default ATmega168PB settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega168PB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega168PB]
        platform = atmelavr
        board = ATmega168PB

        ; change microcontroller
        board_build.mcu = atmega168pb

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega168PB board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega2560

  Contents

    •   ATmega2560

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 255KB
RAM | 8KB
Vendor | Microchip

  Configuration

Please use ATmega2560 ID for projectconf_env_board option in projectconf:

        [env:ATmega2560]
        platform = atmelavr
        board = ATmega2560

You can override default ATmega2560 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega2560.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega2560]
        platform = atmelavr
        board = ATmega2560

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega2560 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega2561

  Contents

    •   ATmega2561

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2561
Frequency | 16MHz
Flash | 255KB
RAM | 8KB
Vendor | Microchip

  Configuration

Please use ATmega2561 ID for projectconf_env_board option in projectconf:

        [env:ATmega2561]
        platform = atmelavr
        board = ATmega2561

You can override default ATmega2561 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega2561.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega2561]
        platform = atmelavr
        board = ATmega2561

        ; change microcontroller
        board_build.mcu = atmega2561

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega2561 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega32

  Contents

    •   ATmega32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega32 ID for projectconf_env_board option in projectconf:

        [env:ATmega32]
        platform = atmelavr
        board = ATmega32

You can override default ATmega32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega32]
        platform = atmelavr
        board = ATmega32

        ; change microcontroller
        board_build.mcu = atmega32

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega324A

  Contents

    •   ATmega324A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA324A
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega324A ID for projectconf_env_board option in projectconf:

        [env:ATmega324A]
        platform = atmelavr
        board = ATmega324A

You can override default ATmega324A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega324A.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega324A]
        platform = atmelavr
        board = ATmega324A

        ; change microcontroller
        board_build.mcu = atmega324a

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega324A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega324P

  Contents

    •   ATmega324P

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA324P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega324P ID for projectconf_env_board option in projectconf:

        [env:ATmega324P]
        platform = atmelavr
        board = ATmega324P

You can override default ATmega324P settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega324P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega324P]
        platform = atmelavr
        board = ATmega324P

        ; change microcontroller
        board_build.mcu = atmega324p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega324P has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega324PA

  Contents

    •   ATmega324PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA324PA
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega324PA ID for projectconf_env_board option in projectconf:

        [env:ATmega324PA]
        platform = atmelavr
        board = ATmega324PA

You can override default ATmega324PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega324PA.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega324PA]
        platform = atmelavr
        board = ATmega324PA

        ; change microcontroller
        board_build.mcu = atmega324pa

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega324PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega324PB

  Contents

    •   ATmega324PB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA324PB
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega324PB ID for projectconf_env_board option in projectconf:

        [env:ATmega324PB]
        platform = atmelavr
        board = ATmega324PB

You can override default ATmega324PB settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega324PB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega324PB]
        platform = atmelavr
        board = ATmega324PB

        ; change microcontroller
        board_build.mcu = atmega324pb

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega324PB board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega328

  Contents

    •   ATmega328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega328 ID for projectconf_env_board option in projectconf:

        [env:ATmega328]
        platform = atmelavr
        board = ATmega328

You can override default ATmega328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega328]
        platform = atmelavr
        board = ATmega328

        ; change microcontroller
        board_build.mcu = atmega328

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega328P/PA

  Contents

    •   ATmega328P/PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega328P ID for projectconf_env_board option in projectconf:

        [env:ATmega328P]
        platform = atmelavr
        board = ATmega328P

You can override default ATmega328P/PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega328P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega328P]
        platform = atmelavr
        board = ATmega328P

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega328P/PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega328PB

  Contents

    •   ATmega328PB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328PB
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microchip

  Configuration

Please use ATmega328PB ID for projectconf_env_board option in projectconf:

        [env:ATmega328PB]
        platform = atmelavr
        board = ATmega328PB

You can override default ATmega328PB settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega328PB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega328PB]
        platform = atmelavr
        board = ATmega328PB

        ; change microcontroller
        board_build.mcu = atmega328pb

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega328PB board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega48/A

  Contents

    •   ATmega48/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA48
Frequency | 16MHz
Flash | 4KB
RAM | 512B
Vendor | Microchip

  Configuration

Please use ATmega48 ID for projectconf_env_board option in projectconf:

        [env:ATmega48]
        platform = atmelavr
        board = ATmega48

You can override default ATmega48/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega48.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega48]
        platform = atmelavr
        board = ATmega48

        ; change microcontroller
        board_build.mcu = atmega48

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega48/A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega48PB

  Contents

    •   ATmega48PB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA48PB
Frequency | 16MHz
Flash | 4KB
RAM | 512B
Vendor | Microchip

  Configuration

Please use ATmega48PB ID for projectconf_env_board option in projectconf:

        [env:ATmega48PB]
        platform = atmelavr
        board = ATmega48PB

You can override default ATmega48PB settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega48PB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega48PB]
        platform = atmelavr
        board = ATmega48PB

        ; change microcontroller
        board_build.mcu = atmega48pb

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega48PB board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega64/A

  Contents

    •   ATmega64/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA64
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Microchip

  Configuration

Please use ATmega64 ID for projectconf_env_board option in projectconf:

        [env:ATmega64]
        platform = atmelavr
        board = ATmega64

You can override default ATmega64/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega64.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega64]
        platform = atmelavr
        board = ATmega64

        ; change microcontroller
        board_build.mcu = atmega64

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega64/A board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega640

  Contents

    •   ATmega640

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA640
Frequency | 16MHz
Flash | 63KB
RAM | 8KB
Vendor | Microchip

  Configuration

Please use ATmega640 ID for projectconf_env_board option in projectconf:

        [env:ATmega640]
        platform = atmelavr
        board = ATmega640

You can override default ATmega640 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega640.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega640]
        platform = atmelavr
        board = ATmega640

        ; change microcontroller
        board_build.mcu = atmega640

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega640 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega644/A

  Contents

    •   ATmega644/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644A
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Microchip

  Configuration

Please use ATmega644A ID for projectconf_env_board option in projectconf:

        [env:ATmega644A]
        platform = atmelavr
        board = ATmega644A

You can override default ATmega644/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega644A.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega644A]
        platform = atmelavr
        board = ATmega644A

        ; change microcontroller
        board_build.mcu = atmega644a

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega644/A board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega644P/PA

  Contents

    •   ATmega644P/PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644P
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Microchip

  Configuration

Please use ATmega644P ID for projectconf_env_board option in projectconf:

        [env:ATmega644P]
        platform = atmelavr
        board = ATmega644P

You can override default ATmega644P/PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega644P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega644P]
        platform = atmelavr
        board = ATmega644P

        ; change microcontroller
        board_build.mcu = atmega644p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega644P/PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega8/A

  Contents

    •   ATmega8/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA8
Frequency | 16MHz
Flash | 7.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega8 ID for projectconf_env_board option in projectconf:

        [env:ATmega8]
        platform = atmelavr
        board = ATmega8

You can override default ATmega8/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega8]
        platform = atmelavr
        board = ATmega8

        ; change microcontroller
        board_build.mcu = atmega8

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega8/A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega8515

  Contents

    •   ATmega8515

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA8515
Frequency | 16MHz
Flash | 7.50KB
RAM | 512B
Vendor | Microchip

  Configuration

Please use ATmega8515 ID for projectconf_env_board option in projectconf:

        [env:ATmega8515]
        platform = atmelavr
        board = ATmega8515

You can override default ATmega8515 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega8515.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega8515]
        platform = atmelavr
        board = ATmega8515

        ; change microcontroller
        board_build.mcu = atmega8515

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega8515 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega8535

  Contents

    •   ATmega8535

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA8535
Frequency | 16MHz
Flash | 7.50KB
RAM | 512B
Vendor | Microchip

  Configuration

Please use ATmega8535 ID for projectconf_env_board option in projectconf:

        [env:ATmega8535]
        platform = atmelavr
        board = ATmega8535

You can override default ATmega8535 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega8535.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega8535]
        platform = atmelavr
        board = ATmega8535

        ; change microcontroller
        board_build.mcu = atmega8535

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega8535 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega88/A

  Contents

    •   ATmega88/A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA88
Frequency | 16MHz
Flash | 7.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega88 ID for projectconf_env_board option in projectconf:

        [env:ATmega88]
        platform = atmelavr
        board = ATmega88

You can override default ATmega88/A settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega88.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega88]
        platform = atmelavr
        board = ATmega88

        ; change microcontroller
        board_build.mcu = atmega88

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega88/A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega88P/PA

  Contents

    •   ATmega88P/PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA88P
Frequency | 16MHz
Flash | 7.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega88P ID for projectconf_env_board option in projectconf:

        [env:ATmega88P]
        platform = atmelavr
        board = ATmega88P

You can override default ATmega88P/PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega88P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega88P]
        platform = atmelavr
        board = ATmega88P

        ; change microcontroller
        board_build.mcu = atmega88p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega88P/PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega88PB

  Contents

    •   ATmega88PB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA88PB
Frequency | 16MHz
Flash | 7.50KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use ATmega88PB ID for projectconf_env_board option in projectconf:

        [env:ATmega88PB]
        platform = atmelavr
        board = ATmega88PB

You can override default ATmega88PB settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega88PB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega88PB]
        platform = atmelavr
        board = ATmega88PB

        ; change microcontroller
        board_build.mcu = atmega88pb

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support ATmega88PB board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ATmega8P/PA

  Contents

    •   ATmega8P/PA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA48P
Frequency | 16MHz
Flash | 4KB
RAM | 512B
Vendor | Microchip

  Configuration

Please use ATmega48P ID for projectconf_env_board option in projectconf:

        [env:ATmega48P]
        platform = atmelavr
        board = ATmega48P

You can override default ATmega8P/PA settings per build environment using board_*** option, where *** is a JSON object path from board manifest ATmega48P.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ATmega48P]
        platform = atmelavr
        board = ATmega48P

        ; change microcontroller
        board_build.mcu = atmega48p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ATmega8P/PA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Bluefruit Micro

  Contents

    •   Adafruit Bluefruit Micro

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Adafruit

  Configuration

Please use bluefruitmicro ID for projectconf_env_board option in projectconf:

        [env:bluefruitmicro]
        platform = atmelavr
        board = bluefruitmicro

You can override default Adafruit Bluefruit Micro settings per build environment using board_*** option, where *** is a JSON object path from board manifest bluefruitmicro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bluefruitmicro]
        platform = atmelavr
        board = bluefruitmicro

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Bluefruit Micro has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Circuit Playground Classic

  Contents

    •   Adafruit Circuit Playground Classic

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Adafruit

  Configuration

Please use circuitplay_classic ID for projectconf_env_board option in projectconf:

        [env:circuitplay_classic]
        platform = atmelavr
        board = circuitplay_classic

You can override default Adafruit Circuit Playground Classic settings per build environment using board_*** option, where *** is a JSON object path from board manifest circuitplay_classic.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:circuitplay_classic]
        platform = atmelavr
        board = circuitplay_classic

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Circuit Playground Classic has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Feather 328P

  Contents

    •   Adafruit Feather 328P

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Adafruit

  Configuration

Please use feather328p ID for projectconf_env_board option in projectconf:

        [env:feather328p]
        platform = atmelavr
        board = feather328p

You can override default Adafruit Feather 328P settings per build environment using board_*** option, where *** is a JSON object path from board manifest feather328p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:feather328p]
        platform = atmelavr
        board = feather328p

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather 328P has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Feather 32u4

  Contents

    •   Adafruit Feather 32u4

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Adafruit

  Configuration

Please use feather32u4 ID for projectconf_env_board option in projectconf:

        [env:feather32u4]
        platform = atmelavr
        board = feather32u4

You can override default Adafruit Feather 32u4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest feather32u4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:feather32u4]
        platform = atmelavr
        board = feather32u4

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather 32u4 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Flora

  Contents

    •   Adafruit Flora

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Adafruit

  Configuration

Please use flora8 ID for projectconf_env_board option in projectconf:

        [env:flora8]
        platform = atmelavr
        board = flora8

You can override default Adafruit Flora settings per build environment using board_*** option, where *** is a JSON object path from board manifest flora8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:flora8]
        platform = atmelavr
        board = flora8

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Flora has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Gemma

  Contents

    •   Adafruit Gemma

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY85
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Adafruit

  Configuration

Please use gemma ID for projectconf_env_board option in projectconf:

        [env:gemma]
        platform = atmelavr
        board = gemma

You can override default Adafruit Gemma settings per build environment using board_*** option, where *** is a JSON object path from board manifest gemma.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:gemma]
        platform = atmelavr
        board = gemma

        ; change microcontroller
        board_build.mcu = attiny85

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Gemma has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit ItsyBitsy 3V/8MHz

  Contents

    •   Adafruit ItsyBitsy 3V/8MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Adafruit

  Configuration

Please use itsybitsy32u4_3V ID for projectconf_env_board option in projectconf:

        [env:itsybitsy32u4_3V]
        platform = atmelavr
        board = itsybitsy32u4_3V

You can override default Adafruit ItsyBitsy 3V/8MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest itsybitsy32u4_3V.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:itsybitsy32u4_3V]
        platform = atmelavr
        board = itsybitsy32u4_3V

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit ItsyBitsy 3V/8MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit ItsyBitsy 5V/16MHz

  Contents

    •   Adafruit ItsyBitsy 5V/16MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Adafruit

  Configuration

Please use itsybitsy32u4_5V ID for projectconf_env_board option in projectconf:

        [env:itsybitsy32u4_5V]
        platform = atmelavr
        board = itsybitsy32u4_5V

You can override default Adafruit ItsyBitsy 5V/16MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest itsybitsy32u4_5V.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:itsybitsy32u4_5V]
        platform = atmelavr
        board = itsybitsy32u4_5V

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit ItsyBitsy 5V/16MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Metro

  Contents

    •   Adafruit Metro

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Adafruit

  Configuration

Please use metro ID for projectconf_env_board option in projectconf:

        [env:metro]
        platform = atmelavr
        board = metro

You can override default Adafruit Metro settings per build environment using board_*** option, where *** is a JSON object path from board manifest metro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:metro]
        platform = atmelavr
        board = metro

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Metro has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Pro Trinket 3V/12MHz (FTDI)

  Contents

    •   Adafruit Pro Trinket 3V/12MHz (FTDI)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 12MHz
Flash | 28KB
RAM | 2KB
Vendor | Adafruit

  Configuration

Please use protrinket3ftdi ID for projectconf_env_board option in projectconf:

        [env:protrinket3ftdi]
        platform = atmelavr
        board = protrinket3ftdi

You can override default Adafruit Pro Trinket 3V/12MHz (FTDI) settings per build environment using board_*** option, where *** is a JSON object path from board manifest protrinket3ftdi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:protrinket3ftdi]
        platform = atmelavr
        board = protrinket3ftdi

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 12000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Pro Trinket 3V/12MHz (FTDI) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Pro Trinket 3V/12MHz (USB)

  Contents

    •   Adafruit Pro Trinket 3V/12MHz (USB)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 12MHz
Flash | 28KB
RAM | 2KB
Vendor | Adafruit

  Configuration

Please use protrinket3 ID for projectconf_env_board option in projectconf:

        [env:protrinket3]
        platform = atmelavr
        board = protrinket3

You can override default Adafruit Pro Trinket 3V/12MHz (USB) settings per build environment using board_*** option, where *** is a JSON object path from board manifest protrinket3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:protrinket3]
        platform = atmelavr
        board = protrinket3

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 12000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Pro Trinket 3V/12MHz (USB) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Pro Trinket 5V/16MHz (FTDI)

  Contents

    •   Adafruit Pro Trinket 5V/16MHz (FTDI)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 28KB
RAM | 2KB
Vendor | Adafruit

  Configuration

Please use protrinket5ftdi ID for projectconf_env_board option in projectconf:

        [env:protrinket5ftdi]
        platform = atmelavr
        board = protrinket5ftdi

You can override default Adafruit Pro Trinket 5V/16MHz (FTDI) settings per build environment using board_*** option, where *** is a JSON object path from board manifest protrinket5ftdi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:protrinket5ftdi]
        platform = atmelavr
        board = protrinket5ftdi

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Pro Trinket 5V/16MHz (FTDI) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Pro Trinket 5V/16MHz (USB)

  Contents

    •   Adafruit Pro Trinket 5V/16MHz (USB)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 28KB
RAM | 2KB
Vendor | Adafruit

  Configuration

Please use protrinket5 ID for projectconf_env_board option in projectconf:

        [env:protrinket5]
        platform = atmelavr
        board = protrinket5

You can override default Adafruit Pro Trinket 5V/16MHz (USB) settings per build environment using board_*** option, where *** is a JSON object path from board manifest protrinket5.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:protrinket5]
        platform = atmelavr
        board = protrinket5

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Pro Trinket 5V/16MHz (USB) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Trinket 3V/8MHz

  Contents

    •   Adafruit Trinket 3V/8MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY85
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Adafruit

  Configuration

Please use trinket3 ID for projectconf_env_board option in projectconf:

        [env:trinket3]
        platform = atmelavr
        board = trinket3

You can override default Adafruit Trinket 3V/8MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest trinket3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:trinket3]
        platform = atmelavr
        board = trinket3

        ; change microcontroller
        board_build.mcu = attiny85

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Trinket 3V/8MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Trinket 5V/16MHz

  Contents

    •   Adafruit Trinket 5V/16MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY85
Frequency | 16MHz
Flash | 8KB
RAM | 512B
Vendor | Adafruit

  Configuration

Please use trinket5 ID for projectconf_env_board option in projectconf:

        [env:trinket5]
        platform = atmelavr
        board = trinket5

You can override default Adafruit Trinket 5V/16MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest trinket5.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:trinket5]
        platform = atmelavr
        board = trinket5

        ; change microcontroller
        board_build.mcu = attiny85

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Trinket 5V/16MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Alorium Hinj

  Contents

    •   Alorium Hinj

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Alorium Technology

  Configuration

Please use alorium_hinj ID for projectconf_env_board option in projectconf:

        [env:alorium_hinj]
        platform = atmelavr
        board = alorium_hinj

You can override default Alorium Hinj settings per build environment using board_*** option, where *** is a JSON object path from board manifest alorium_hinj.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:alorium_hinj]
        platform = atmelavr
        board = alorium_hinj

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Alorium Hinj has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Alorium Sno

  Contents

    •   Alorium Sno

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Alorium Technology

  Configuration

Please use alorium_sno ID for projectconf_env_board option in projectconf:

        [env:alorium_sno]
        platform = atmelavr
        board = alorium_sno

You can override default Alorium Sno settings per build environment using board_*** option, where *** is a JSON object path from board manifest alorium_sno.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:alorium_sno]
        platform = atmelavr
        board = alorium_sno

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Alorium Sno has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Alorium XLR8

  Contents

    •   Alorium XLR8

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Alorium Technology

  Configuration

Please use alorium_xlr8 ID for projectconf_env_board option in projectconf:

        [env:alorium_xlr8]
        platform = atmelavr
        board = alorium_xlr8

You can override default Alorium XLR8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest alorium_xlr8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:alorium_xlr8]
        platform = atmelavr
        board = alorium_xlr8

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Alorium XLR8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Altair

  Contents

    •   Altair

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA256RFR2
Frequency | 16MHz
Flash | 248KB
RAM | 32KB
Vendor | makerlab.mx

  Configuration

Please use altair ID for projectconf_env_board option in projectconf:

        [env:altair]
        platform = atmelavr
        board = altair

You can override default Altair settings per build environment using board_*** option, where *** is a JSON object path from board manifest altair.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:altair]
        platform = atmelavr
        board = altair

        ; change microcontroller
        board_build.mcu = atmega256rfr2

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Altair board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Anarduino MiniWireless

  Contents

    •   Anarduino MiniWireless

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Anarduino

  Configuration

Please use miniwireless ID for projectconf_env_board option in projectconf:

        [env:miniwireless]
        platform = atmelavr
        board = miniwireless

You can override default Anarduino MiniWireless settings per build environment using board_*** option, where *** is a JSON object path from board manifest miniwireless.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:miniwireless]
        platform = atmelavr
        board = miniwireless

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Anarduino MiniWireless has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduboy

  Contents

    •   Arduboy

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduboy

  Configuration

Please use arduboy ID for projectconf_env_board option in projectconf:

        [env:arduboy]
        platform = atmelavr
        board = arduboy

You can override default Arduboy settings per build environment using board_*** option, where *** is a JSON object path from board manifest arduboy.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:arduboy]
        platform = atmelavr
        board = arduboy

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduboy has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduboy DevKit

  Contents

    •   Arduboy DevKit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduboy

  Configuration

Please use arduboy_devkit ID for projectconf_env_board option in projectconf:

        [env:arduboy_devkit]
        platform = atmelavr
        board = arduboy_devkit

You can override default Arduboy DevKit settings per build environment using board_*** option, where *** is a JSON object path from board manifest arduboy_devkit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:arduboy_devkit]
        platform = atmelavr
        board = arduboy_devkit

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduboy DevKit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino BT ATmega168

  Contents

    •   Arduino BT ATmega168

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use btatmega168 ID for projectconf_env_board option in projectconf:

        [env:btatmega168]
        platform = atmelavr
        board = btatmega168

You can override default Arduino BT ATmega168 settings per build environment using board_*** option, where *** is a JSON object path from board manifest btatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:btatmega168]
        platform = atmelavr
        board = btatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino BT ATmega168 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino BT ATmega328

  Contents

    •   Arduino BT ATmega328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 28KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use btatmega328 ID for projectconf_env_board option in projectconf:

        [env:btatmega328]
        platform = atmelavr
        board = btatmega328

You can override default Arduino BT ATmega328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest btatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:btatmega328]
        platform = atmelavr
        board = btatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino BT ATmega328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Duemilanove or Diecimila ATmega168

  Contents

    •   Arduino Duemilanove or Diecimila ATmega168

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use diecimilaatmega168 ID for projectconf_env_board option in projectconf:

        [env:diecimilaatmega168]
        platform = atmelavr
        board = diecimilaatmega168

You can override default Arduino Duemilanove or Diecimila ATmega168 settings per build environment using board_*** option, where *** is a JSON object path from board manifest diecimilaatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:diecimilaatmega168]
        platform = atmelavr
        board = diecimilaatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Duemilanove or Diecimila ATmega168 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Duemilanove or Diecimila ATmega328

  Contents

    •   Arduino Duemilanove or Diecimila ATmega328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use diecimilaatmega328 ID for projectconf_env_board option in projectconf:

        [env:diecimilaatmega328]
        platform = atmelavr
        board = diecimilaatmega328

You can override default Arduino Duemilanove or Diecimila ATmega328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest diecimilaatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:diecimilaatmega328]
        platform = atmelavr
        board = diecimilaatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Duemilanove or Diecimila ATmega328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Esplora

  Contents

    •   Arduino Esplora

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use esplora ID for projectconf_env_board option in projectconf:

        [env:esplora]
        platform = atmelavr
        board = esplora

You can override default Arduino Esplora settings per build environment using board_*** option, where *** is a JSON object path from board manifest esplora.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esplora]
        platform = atmelavr
        board = esplora

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Esplora has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Ethernet

  Contents

    •   Arduino Ethernet

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use ethernet ID for projectconf_env_board option in projectconf:

        [env:ethernet]
        platform = atmelavr
        board = ethernet

You can override default Arduino Ethernet settings per build environment using board_*** option, where *** is a JSON object path from board manifest ethernet.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ethernet]
        platform = atmelavr
        board = ethernet

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Ethernet has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Fio

  Contents

    •   Arduino Fio

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use fio ID for projectconf_env_board option in projectconf:

        [env:fio]
        platform = atmelavr
        board = fio

You can override default Arduino Fio settings per build environment using board_*** option, where *** is a JSON object path from board manifest fio.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fio]
        platform = atmelavr
        board = fio

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Fio has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Industrial 101

  Contents

    •   Arduino Industrial 101

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use chiwawa ID for projectconf_env_board option in projectconf:

        [env:chiwawa]
        platform = atmelavr
        board = chiwawa

You can override default Arduino Industrial 101 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chiwawa.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chiwawa]
        platform = atmelavr
        board = chiwawa

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Industrial 101 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Leonardo

  Contents

    •   Arduino Leonardo

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use leonardo ID for projectconf_env_board option in projectconf:

        [env:leonardo]
        platform = atmelavr
        board = leonardo

You can override default Arduino Leonardo settings per build environment using board_*** option, where *** is a JSON object path from board manifest leonardo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:leonardo]
        platform = atmelavr
        board = leonardo

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Leonardo has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Leonardo ETH

  Contents

    •   Arduino Leonardo ETH

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use leonardoeth ID for projectconf_env_board option in projectconf:

        [env:leonardoeth]
        platform = atmelavr
        board = leonardoeth

You can override default Arduino Leonardo ETH settings per build environment using board_*** option, where *** is a JSON object path from board manifest leonardoeth.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:leonardoeth]
        platform = atmelavr
        board = leonardoeth

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Leonardo ETH has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino LilyPad ATmega168

  Contents

    •   Arduino LilyPad ATmega168

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 8MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use lilypadatmega168 ID for projectconf_env_board option in projectconf:

        [env:lilypadatmega168]
        platform = atmelavr
        board = lilypadatmega168

You can override default Arduino LilyPad ATmega168 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lilypadatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lilypadatmega168]
        platform = atmelavr
        board = lilypadatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino LilyPad ATmega168 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino LilyPad ATmega328

  Contents

    •   Arduino LilyPad ATmega328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use lilypadatmega328 ID for projectconf_env_board option in projectconf:

        [env:lilypadatmega328]
        platform = atmelavr
        board = lilypadatmega328

You can override default Arduino LilyPad ATmega328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lilypadatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lilypadatmega328]
        platform = atmelavr
        board = lilypadatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino LilyPad ATmega328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino LilyPad USB

  Contents

    •   Arduino LilyPad USB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use LilyPadUSB ID for projectconf_env_board option in projectconf:

        [env:LilyPadUSB]
        platform = atmelavr
        board = LilyPadUSB

You can override default Arduino LilyPad USB settings per build environment using board_*** option, where *** is a JSON object path from board manifest LilyPadUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:LilyPadUSB]
        platform = atmelavr
        board = LilyPadUSB

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino LilyPad USB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Mega ADK

  Contents

    •   Arduino Mega ADK

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 248KB
RAM | 8KB
Vendor | Arduino

  Configuration

Please use megaADK ID for projectconf_env_board option in projectconf:

        [env:megaADK]
        platform = atmelavr
        board = megaADK

You can override default Arduino Mega ADK settings per build environment using board_*** option, where *** is a JSON object path from board manifest megaADK.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:megaADK]
        platform = atmelavr
        board = megaADK

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Mega ADK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Mega or Mega 2560 ATmega1280

  Contents

    •   Arduino Mega or Mega 2560 ATmega1280

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1280
Frequency | 16MHz
Flash | 124KB
RAM | 8KB
Vendor | Arduino

  Configuration

Please use megaatmega1280 ID for projectconf_env_board option in projectconf:

        [env:megaatmega1280]
        platform = atmelavr
        board = megaatmega1280

You can override default Arduino Mega or Mega 2560 ATmega1280 settings per build environment using board_*** option, where *** is a JSON object path from board manifest megaatmega1280.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:megaatmega1280]
        platform = atmelavr
        board = megaatmega1280

        ; change microcontroller
        board_build.mcu = atmega1280

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Mega or Mega 2560 ATmega1280 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)

  Contents

    •   Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 248KB
RAM | 8KB
Vendor | Arduino

  Configuration

Please use megaatmega2560 ID for projectconf_env_board option in projectconf:

        [env:megaatmega2560]
        platform = atmelavr
        board = megaatmega2560

You can override default Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) settings per build environment using board_*** option, where *** is a JSON object path from board manifest megaatmega2560.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:megaatmega2560]
        platform = atmelavr
        board = megaatmega2560

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Arduino Micro

  Contents

    •   Arduino Micro

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use micro ID for projectconf_env_board option in projectconf:

        [env:micro]
        platform = atmelavr
        board = micro

You can override default Arduino Micro settings per build environment using board_*** option, where *** is a JSON object path from board manifest micro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:micro]
        platform = atmelavr
        board = micro

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Micro has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Mini ATmega168

  Contents

    •   Arduino Mini ATmega168

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use miniatmega168 ID for projectconf_env_board option in projectconf:

        [env:miniatmega168]
        platform = atmelavr
        board = miniatmega168

You can override default Arduino Mini ATmega168 settings per build environment using board_*** option, where *** is a JSON object path from board manifest miniatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:miniatmega168]
        platform = atmelavr
        board = miniatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Mini ATmega168 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Mini ATmega328

  Contents

    •   Arduino Mini ATmega328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 28KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use miniatmega328 ID for projectconf_env_board option in projectconf:

        [env:miniatmega328]
        platform = atmelavr
        board = miniatmega328

You can override default Arduino Mini ATmega328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest miniatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:miniatmega328]
        platform = atmelavr
        board = miniatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Mini ATmega328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino NG or older ATmega168

  Contents

    •   Arduino NG or older ATmega168

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use atmegangatmega168 ID for projectconf_env_board option in projectconf:

        [env:atmegangatmega168]
        platform = atmelavr
        board = atmegangatmega168

You can override default Arduino NG or older ATmega168 settings per build environment using board_*** option, where *** is a JSON object path from board manifest atmegangatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:atmegangatmega168]
        platform = atmelavr
        board = atmegangatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino NG or older ATmega168 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino NG or older ATmega8

  Contents

    •   Arduino NG or older ATmega8

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA8
Frequency | 16MHz
Flash | 7KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use atmegangatmega8 ID for projectconf_env_board option in projectconf:

        [env:atmegangatmega8]
        platform = atmelavr
        board = atmegangatmega8

You can override default Arduino NG or older ATmega8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest atmegangatmega8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:atmegangatmega8]
        platform = atmelavr
        board = atmegangatmega8

        ; change microcontroller
        board_build.mcu = atmega8

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino NG or older ATmega8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Nano ATmega168

  Contents

    •   Arduino Nano ATmega168

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use nanoatmega168 ID for projectconf_env_board option in projectconf:

        [env:nanoatmega168]
        platform = atmelavr
        board = nanoatmega168

You can override default Arduino Nano ATmega168 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nanoatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nanoatmega168]
        platform = atmelavr
        board = nanoatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Nano ATmega168 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Nano ATmega328

  Contents

    •   Arduino Nano ATmega328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use nanoatmega328 ID for projectconf_env_board option in projectconf:

        [env:nanoatmega328]
        platform = atmelavr
        board = nanoatmega328

You can override default Arduino Nano ATmega328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nanoatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nanoatmega328]
        platform = atmelavr
        board = nanoatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Nano ATmega328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Arduino Nano ATmega328 (New Bootloader)

  Contents

    •   Arduino Nano ATmega328 (New Bootloader)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use nanoatmega328new ID for projectconf_env_board option in projectconf:

        [env:nanoatmega328new]
        platform = atmelavr
        board = nanoatmega328new

You can override default Arduino Nano ATmega328 (New Bootloader) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nanoatmega328new.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nanoatmega328new]
        platform = atmelavr
        board = nanoatmega328new

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Nano ATmega328 (New Bootloader) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)

  Contents

    •   Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 8MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use pro8MHzatmega168 ID for projectconf_env_board option in projectconf:

        [env:pro8MHzatmega168]
        platform = atmelavr
        board = pro8MHzatmega168

You can override default Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest pro8MHzatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pro8MHzatmega168]
        platform = atmelavr
        board = pro8MHzatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)

  Contents

    •   Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168
Frequency | 16MHz
Flash | 14KB
RAM | 1KB
Vendor | Arduino

  Configuration

Please use pro16MHzatmega168 ID for projectconf_env_board option in projectconf:

        [env:pro16MHzatmega168]
        platform = atmelavr
        board = pro16MHzatmega168

You can override default Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest pro16MHzatmega168.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pro16MHzatmega168]
        platform = atmelavr
        board = pro16MHzatmega168

        ; change microcontroller
        board_build.mcu = atmega168

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)

  Contents

    •   Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use pro8MHzatmega328 ID for projectconf_env_board option in projectconf:

        [env:pro8MHzatmega328]
        platform = atmelavr
        board = pro8MHzatmega328

You can override default Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest pro8MHzatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pro8MHzatmega328]
        platform = atmelavr
        board = pro8MHzatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)

  Contents

    •   Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 30KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use pro16MHzatmega328 ID for projectconf_env_board option in projectconf:

        [env:pro16MHzatmega328]
        platform = atmelavr
        board = pro16MHzatmega328

You can override default Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest pro16MHzatmega328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pro16MHzatmega328]
        platform = atmelavr
        board = pro16MHzatmega328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Robot Control

  Contents

    •   Arduino Robot Control

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use robotControl ID for projectconf_env_board option in projectconf:

        [env:robotControl]
        platform = atmelavr
        board = robotControl

You can override default Arduino Robot Control settings per build environment using board_*** option, where *** is a JSON object path from board manifest robotControl.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:robotControl]
        platform = atmelavr
        board = robotControl

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Robot Control has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Robot Motor

  Contents

    •   Arduino Robot Motor

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use robotMotor ID for projectconf_env_board option in projectconf:

        [env:robotMotor]
        platform = atmelavr
        board = robotMotor

You can override default Arduino Robot Motor settings per build environment using board_*** option, where *** is a JSON object path from board manifest robotMotor.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:robotMotor]
        platform = atmelavr
        board = robotMotor

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Robot Motor has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Uno

  Contents

    •   Arduino Uno

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Arduino

  Configuration

Please use uno ID for projectconf_env_board option in projectconf:

        [env:uno]
        platform = atmelavr
        board = uno

You can override default Arduino Uno settings per build environment using board_*** option, where *** is a JSON object path from board manifest uno.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:uno]
        platform = atmelavr
        board = uno

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Uno has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Arduino Yun

  Contents

    •   Arduino Yun

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use yun ID for projectconf_env_board option in projectconf:

        [env:yun]
        platform = atmelavr
        board = yun

You can override default Arduino Yun settings per build environment using board_*** option, where *** is a JSON object path from board manifest yun.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:yun]
        platform = atmelavr
        board = yun

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Yun has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Yun Mini

  Contents

    •   Arduino Yun Mini

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Arduino

  Configuration

Please use yunmini ID for projectconf_env_board option in projectconf:

        [env:yunmini]
        platform = atmelavr
        board = yunmini

You can override default Arduino Yun Mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest yunmini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:yunmini]
        platform = atmelavr
        board = yunmini

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Yun Mini has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Atmel AT90PWM216

  Contents

    •   Atmel AT90PWM216

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | AT90PWM216
Frequency | 16MHz
Flash | 16KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use at90pwm216 ID for projectconf_env_board option in projectconf:

        [env:at90pwm216]
        platform = atmelavr
        board = at90pwm216

You can override default Atmel AT90PWM216 settings per build environment using board_*** option, where *** is a JSON object path from board manifest at90pwm216.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:at90pwm216]
        platform = atmelavr
        board = at90pwm216

        ; change microcontroller
        board_build.mcu = at90pwm216

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Atmel AT90PWM216 board.

  Atmel AT90PWM316

  Contents

    •   Atmel AT90PWM316

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | AT90PWM316
Frequency | 16MHz
Flash | 16KB
RAM | 1KB
Vendor | Microchip

  Configuration

Please use at90pwm316 ID for projectconf_env_board option in projectconf:

        [env:at90pwm316]
        platform = atmelavr
        board = at90pwm316

You can override default Atmel AT90PWM316 settings per build environment using board_*** option, where *** is a JSON object path from board manifest at90pwm316.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:at90pwm316]
        platform = atmelavr
        board = at90pwm316

        ; change microcontroller
        board_build.mcu = at90pwm316

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Atmel AT90PWM316 board.

  BQ ZUM BT-328

  Contents

    •   BQ ZUM BT-328

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 28KB
RAM | 2KB
Vendor | BQ

  Configuration

Please use zumbt328 ID for projectconf_env_board option in projectconf:

        [env:zumbt328]
        platform = atmelavr
        board = zumbt328

You can override default BQ ZUM BT-328 settings per build environment using board_*** option, where *** is a JSON object path from board manifest zumbt328.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:zumbt328]
        platform = atmelavr
        board = zumbt328

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BQ ZUM BT-328 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  BitWizard Raspduino

  Contents

    •   BitWizard Raspduino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 30KB
RAM | 2KB
Vendor | BitWizard

  Configuration

Please use raspduino ID for projectconf_env_board option in projectconf:

        [env:raspduino]
        platform = atmelavr
        board = raspduino

You can override default BitWizard Raspduino settings per build environment using board_*** option, where *** is a JSON object path from board manifest raspduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:raspduino]
        platform = atmelavr
        board = raspduino

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BitWizard Raspduino has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Controllino Maxi

  Contents

    •   Controllino Maxi

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 248KB
RAM | 8KB
Vendor | Controllino

  Configuration

Please use controllino_maxi ID for projectconf_env_board option in projectconf:

        [env:controllino_maxi]
        platform = atmelavr
        board = controllino_maxi

You can override default Controllino Maxi settings per build environment using board_*** option, where *** is a JSON object path from board manifest controllino_maxi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:controllino_maxi]
        platform = atmelavr
        board = controllino_maxi

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Controllino Maxi has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Controllino Maxi Automation

  Contents

    •   Controllino Maxi Automation

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 248KB
RAM | 8KB
Vendor | Controllino

  Configuration

Please use controllino_maxi_automation ID for projectconf_env_board option in projectconf:

        [env:controllino_maxi_automation]
        platform = atmelavr
        board = controllino_maxi_automation

You can override default Controllino Maxi Automation settings per build environment using board_*** option, where *** is a JSON object path from board manifest controllino_maxi_automation.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:controllino_maxi_automation]
        platform = atmelavr
        board = controllino_maxi_automation

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Controllino Maxi Automation has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Controllino Mega

  Contents

    •   Controllino Mega

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 248KB
RAM | 8KB
Vendor | Controllino

  Configuration

Please use controllino_mega ID for projectconf_env_board option in projectconf:

        [env:controllino_mega]
        platform = atmelavr
        board = controllino_mega

You can override default Controllino Mega settings per build environment using board_*** option, where *** is a JSON object path from board manifest controllino_mega.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:controllino_mega]
        platform = atmelavr
        board = controllino_mega

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Controllino Mega has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Controllino Mini

  Contents

    •   Controllino Mini

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Controllino

  Configuration

Please use controllino_mini ID for projectconf_env_board option in projectconf:

        [env:controllino_mini]
        platform = atmelavr
        board = controllino_mini

You can override default Controllino Mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest controllino_mini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:controllino_mini]
        platform = atmelavr
        board = controllino_mini

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Controllino Mini has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digispark Pro

  Contents

    •   Digispark Pro

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY167
Frequency | 16MHz
Flash | 14.50KB
RAM | 512B
Vendor | Digistump

  Configuration

Please use digispark-pro ID for projectconf_env_board option in projectconf:

        [env:digispark-pro]
        platform = atmelavr
        board = digispark-pro

You can override default Digispark Pro settings per build environment using board_*** option, where *** is a JSON object path from board manifest digispark-pro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:digispark-pro]
        platform = atmelavr
        board = digispark-pro

        ; change microcontroller
        board_build.mcu = attiny167

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Digispark Pro board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digispark Pro (16 MHz) (64 byte buffer)

  Contents

    •   Digispark Pro (16 MHz) (64 byte buffer)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY167
Frequency | 16MHz
Flash | 14.50KB
RAM | 512B
Vendor | Digistump

  Configuration

Please use digispark-pro64 ID for projectconf_env_board option in projectconf:

        [env:digispark-pro64]
        platform = atmelavr
        board = digispark-pro64

You can override default Digispark Pro (16 MHz) (64 byte buffer) settings per build environment using board_*** option, where *** is a JSON object path from board manifest digispark-pro64.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:digispark-pro64]
        platform = atmelavr
        board = digispark-pro64

        ; change microcontroller
        board_build.mcu = attiny167

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Digispark Pro (16 MHz) (64 byte buffer) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digispark Pro (32 byte buffer)

  Contents

    •   Digispark Pro (32 byte buffer)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY167
Frequency | 16MHz
Flash | 14.50KB
RAM | 512B
Vendor | Digistump

  Configuration

Please use digispark-pro32 ID for projectconf_env_board option in projectconf:

        [env:digispark-pro32]
        platform = atmelavr
        board = digispark-pro32

You can override default Digispark Pro (32 byte buffer) settings per build environment using board_*** option, where *** is a JSON object path from board manifest digispark-pro32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:digispark-pro32]
        platform = atmelavr
        board = digispark-pro32

        ; change microcontroller
        board_build.mcu = attiny167

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Digispark Pro (32 byte buffer) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digispark USB

  Contents

    •   Digispark USB

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY85
Frequency | 16MHz
Flash | 5.87KB
RAM | 512B
Vendor | Digistump

  Configuration

Please use digispark-tiny ID for projectconf_env_board option in projectconf:

        [env:digispark-tiny]
        platform = atmelavr
        board = digispark-tiny

You can override default Digispark USB settings per build environment using board_*** option, where *** is a JSON object path from board manifest digispark-tiny.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:digispark-tiny]
        platform = atmelavr
        board = digispark-tiny

        ; change microcontroller
        board_build.mcu = attiny85

        ; change MCU frequency
        board_build.f_cpu = 16500000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Digispark USB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Dwenguino

  Contents

    •   Dwenguino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | AT90USB646
Frequency | 16MHz
Flash | 60KB
RAM | 2KB
Vendor | Dwengo

  Configuration

Please use dwenguino ID for projectconf_env_board option in projectconf:

        [env:dwenguino]
        platform = atmelavr
        board = dwenguino

You can override default Dwenguino settings per build environment using board_*** option, where *** is a JSON object path from board manifest dwenguino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:dwenguino]
        platform = atmelavr
        board = dwenguino

        ; change microcontroller
        board_build.mcu = at90usb646

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Dwenguino board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Elektor Uno R4

  Contents

    •   Elektor Uno R4

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328PB
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Elektor

  Configuration

Please use elektor_uno_r4 ID for projectconf_env_board option in projectconf:

        [env:elektor_uno_r4]
        platform = atmelavr
        board = elektor_uno_r4

You can override default Elektor Uno R4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest elektor_uno_r4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:elektor_uno_r4]
        platform = atmelavr
        board = elektor_uno_r4

        ; change microcontroller
        board_build.mcu = atmega328pb

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Elektor Uno R4 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Engduino 3

  Contents

    •   Engduino 3

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Engduino

  Configuration

Please use engduinov3 ID for projectconf_env_board option in projectconf:

        [env:engduinov3]
        platform = atmelavr
        board = engduinov3

You can override default Engduino 3 settings per build environment using board_*** option, where *** is a JSON object path from board manifest engduinov3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:engduinov3]
        platform = atmelavr
        board = engduinov3

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Engduino 3 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  EnviroDIY Mayfly

  Contents

    •   EnviroDIY Mayfly

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | EnviroDIY

  Configuration

Please use mayfly ID for projectconf_env_board option in projectconf:

        [env:mayfly]
        platform = atmelavr
        board = mayfly

You can override default EnviroDIY Mayfly settings per build environment using board_*** option, where *** is a JSON object path from board manifest mayfly.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mayfly]
        platform = atmelavr
        board = mayfly

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

EnviroDIY Mayfly has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  FYSETC F6 V1.3

  Contents

    •   FYSETC F6 V1.3

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 252KB
RAM | 8KB
Vendor | FYSETC

  Configuration

Please use fysetc_f6_13 ID for projectconf_env_board option in projectconf:

        [env:fysetc_f6_13]
        platform = atmelavr
        board = fysetc_f6_13

You can override default FYSETC F6 V1.3 settings per build environment using board_*** option, where *** is a JSON object path from board manifest fysetc_f6_13.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fysetc_f6_13]
        platform = atmelavr
        board = fysetc_f6_13

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

FYSETC F6 V1.3 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny13

  Contents

    •   Generic ATtiny13

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY13
Frequency | 1MHz
Flash | 1KB
RAM | 64B
Vendor | Atmel

  Configuration

Please use attiny13 ID for projectconf_env_board option in projectconf:

        [env:attiny13]
        platform = atmelavr
        board = attiny13

You can override default Generic ATtiny13 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny13.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny13]
        platform = atmelavr
        board = attiny13

        ; change microcontroller
        board_build.mcu = attiny13

        ; change MCU frequency
        board_build.f_cpu = 1200000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny13 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny13A

  Contents

    •   Generic ATtiny13A

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY13A
Frequency | 1MHz
Flash | 1KB
RAM | 64B
Vendor | Atmel

  Configuration

Please use attiny13a ID for projectconf_env_board option in projectconf:

        [env:attiny13a]
        platform = atmelavr
        board = attiny13a

You can override default Generic ATtiny13A settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny13a.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny13a]
        platform = atmelavr
        board = attiny13a

        ; change microcontroller
        board_build.mcu = attiny13a

        ; change MCU frequency
        board_build.f_cpu = 1200000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny13A has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny1634

  Contents

    •   Generic ATtiny1634

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY1634
Frequency | 8MHz
Flash | 16KB
RAM | 1KB
Vendor | Atmel

  Configuration

Please use attiny1634 ID for projectconf_env_board option in projectconf:

        [env:attiny1634]
        platform = atmelavr
        board = attiny1634

You can override default Generic ATtiny1634 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny1634.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny1634]
        platform = atmelavr
        board = attiny1634

        ; change microcontroller
        board_build.mcu = attiny1634

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny1634 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny167

  Contents

    •   Generic ATtiny167

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY167
Frequency | 8MHz
Flash | 16KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny167 ID for projectconf_env_board option in projectconf:

        [env:attiny167]
        platform = atmelavr
        board = attiny167

You can override default Generic ATtiny167 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny167.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny167]
        platform = atmelavr
        board = attiny167

        ; change microcontroller
        board_build.mcu = attiny167

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny167 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny2313

  Contents

    •   Generic ATtiny2313

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY2313
Frequency | 8MHz
Flash | 2KB
RAM | 128B
Vendor | Atmel

  Configuration

Please use attiny2313 ID for projectconf_env_board option in projectconf:

        [env:attiny2313]
        platform = atmelavr
        board = attiny2313

You can override default Generic ATtiny2313 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny2313.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny2313]
        platform = atmelavr
        board = attiny2313

        ; change microcontroller
        board_build.mcu = attiny2313

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny2313 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny24

  Contents

    •   Generic ATtiny24

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY24
Frequency | 8MHz
Flash | 2KB
RAM | 128B
Vendor | Atmel

  Configuration

Please use attiny24 ID for projectconf_env_board option in projectconf:

        [env:attiny24]
        platform = atmelavr
        board = attiny24

You can override default Generic ATtiny24 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny24.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny24]
        platform = atmelavr
        board = attiny24

        ; change microcontroller
        board_build.mcu = attiny24

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny24 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny25

  Contents

    •   Generic ATtiny25

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY25
Frequency | 8MHz
Flash | 2KB
RAM | 128B
Vendor | Atmel

  Configuration

Please use attiny25 ID for projectconf_env_board option in projectconf:

        [env:attiny25]
        platform = atmelavr
        board = attiny25

You can override default Generic ATtiny25 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny25.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny25]
        platform = atmelavr
        board = attiny25

        ; change microcontroller
        board_build.mcu = attiny25

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny25 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny261

  Contents

    •   Generic ATtiny261

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY261
Frequency | 8MHz
Flash | 2KB
RAM | 128B
Vendor | Atmel

  Configuration

Please use attiny261 ID for projectconf_env_board option in projectconf:

        [env:attiny261]
        platform = atmelavr
        board = attiny261

You can override default Generic ATtiny261 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny261.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny261]
        platform = atmelavr
        board = attiny261

        ; change microcontroller
        board_build.mcu = attiny261

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny261 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny4313

  Contents

    •   Generic ATtiny4313

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY4313
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny4313 ID for projectconf_env_board option in projectconf:

        [env:attiny4313]
        platform = atmelavr
        board = attiny4313

You can override default Generic ATtiny4313 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny4313.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny4313]
        platform = atmelavr
        board = attiny4313

        ; change microcontroller
        board_build.mcu = attiny4313

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny4313 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny43U

  Contents

    •   Generic ATtiny43U

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY43U
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny43 ID for projectconf_env_board option in projectconf:

        [env:attiny43]
        platform = atmelavr
        board = attiny43

You can override default Generic ATtiny43U settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny43.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny43]
        platform = atmelavr
        board = attiny43

        ; change microcontroller
        board_build.mcu = attiny43u

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny43U board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny44

  Contents

    •   Generic ATtiny44

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY44
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny44 ID for projectconf_env_board option in projectconf:

        [env:attiny44]
        platform = atmelavr
        board = attiny44

You can override default Generic ATtiny44 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny44.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny44]
        platform = atmelavr
        board = attiny44

        ; change microcontroller
        board_build.mcu = attiny44

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny44 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny441

  Contents

    •   Generic ATtiny441

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY441
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny441 ID for projectconf_env_board option in projectconf:

        [env:attiny441]
        platform = atmelavr
        board = attiny441

You can override default Generic ATtiny441 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny441.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny441]
        platform = atmelavr
        board = attiny441

        ; change microcontroller
        board_build.mcu = attiny441

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny441 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny45

  Contents

    •   Generic ATtiny45

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY45
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny45 ID for projectconf_env_board option in projectconf:

        [env:attiny45]
        platform = atmelavr
        board = attiny45

You can override default Generic ATtiny45 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny45.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny45]
        platform = atmelavr
        board = attiny45

        ; change microcontroller
        board_build.mcu = attiny45

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny45 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny461

  Contents

    •   Generic ATtiny461

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY461
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny461 ID for projectconf_env_board option in projectconf:

        [env:attiny461]
        platform = atmelavr
        board = attiny461

You can override default Generic ATtiny461 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny461.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny461]
        platform = atmelavr
        board = attiny461

        ; change microcontroller
        board_build.mcu = attiny461

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny461 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny48

  Contents

    •   Generic ATtiny48

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY48
Frequency | 8MHz
Flash | 4KB
RAM | 256B
Vendor | Atmel

  Configuration

Please use attiny48 ID for projectconf_env_board option in projectconf:

        [env:attiny48]
        platform = atmelavr
        board = attiny48

You can override default Generic ATtiny48 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny48.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny48]
        platform = atmelavr
        board = attiny48

        ; change microcontroller
        board_build.mcu = attiny48

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny48 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny828

  Contents

    •   Generic ATtiny828

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY828
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny828 ID for projectconf_env_board option in projectconf:

        [env:attiny828]
        platform = atmelavr
        board = attiny828

You can override default Generic ATtiny828 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny828.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny828]
        platform = atmelavr
        board = attiny828

        ; change microcontroller
        board_build.mcu = attiny828

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny828 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny84

  Contents

    •   Generic ATtiny84

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY84
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny84 ID for projectconf_env_board option in projectconf:

        [env:attiny84]
        platform = atmelavr
        board = attiny84

You can override default Generic ATtiny84 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny84.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny84]
        platform = atmelavr
        board = attiny84

        ; change microcontroller
        board_build.mcu = attiny84

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny84 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny841

  Contents

    •   Generic ATtiny841

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY841
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny841 ID for projectconf_env_board option in projectconf:

        [env:attiny841]
        platform = atmelavr
        board = attiny841

You can override default Generic ATtiny841 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny841.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny841]
        platform = atmelavr
        board = attiny841

        ; change microcontroller
        board_build.mcu = attiny841

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny841 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny85

  Contents

    •   Generic ATtiny85

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY85
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny85 ID for projectconf_env_board option in projectconf:

        [env:attiny85]
        platform = atmelavr
        board = attiny85

You can override default Generic ATtiny85 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny85.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny85]
        platform = atmelavr
        board = attiny85

        ; change microcontroller
        board_build.mcu = attiny85

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Generic ATtiny85 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny861

  Contents

    •   Generic ATtiny861

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY861
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny861 ID for projectconf_env_board option in projectconf:

        [env:attiny861]
        platform = atmelavr
        board = attiny861

You can override default Generic ATtiny861 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny861.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny861]
        platform = atmelavr
        board = attiny861

        ; change microcontroller
        board_build.mcu = attiny861

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny861 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny87

  Contents

    •   Generic ATtiny87

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY87
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny87 ID for projectconf_env_board option in projectconf:

        [env:attiny87]
        platform = atmelavr
        board = attiny87

You can override default Generic ATtiny87 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny87.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny87]
        platform = atmelavr
        board = attiny87

        ; change microcontroller
        board_build.mcu = attiny87

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny87 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Generic ATtiny88

  Contents

    •   Generic ATtiny88

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATTINY88
Frequency | 8MHz
Flash | 8KB
RAM | 512B
Vendor | Atmel

  Configuration

Please use attiny88 ID for projectconf_env_board option in projectconf:

        [env:attiny88]
        platform = atmelavr
        board = attiny88

You can override default Generic ATtiny88 settings per build environment using board_*** option, where *** is a JSON object path from board manifest attiny88.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:attiny88]
        platform = atmelavr
        board = attiny88

        ; change microcontroller
        board_build.mcu = attiny88

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug currently does not support Generic ATtiny88 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LightBlue Bean

  Contents

    •   LightBlue Bean

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Punch Through

  Configuration

Please use lightblue-bean ID for projectconf_env_board option in projectconf:

        [env:lightblue-bean]
        platform = atmelavr
        board = lightblue-bean

You can override default LightBlue Bean settings per build environment using board_*** option, where *** is a JSON object path from board manifest lightblue-bean.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lightblue-bean]
        platform = atmelavr
        board = lightblue-bean

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LightBlue Bean has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LightBlue Bean+

  Contents

    •   LightBlue Bean+

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Punch Through

  Configuration

Please use lightblue-beanplus ID for projectconf_env_board option in projectconf:

        [env:lightblue-beanplus]
        platform = atmelavr
        board = lightblue-beanplus

You can override default LightBlue Bean+ settings per build environment using board_*** option, where *** is a JSON object path from board manifest lightblue-beanplus.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lightblue-beanplus]
        platform = atmelavr
        board = lightblue-beanplus

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LightBlue Bean+ has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LightUp

  Contents

    •   LightUp

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | LightUp

  Configuration

Please use lightup ID for projectconf_env_board option in projectconf:

        [env:lightup]
        platform = atmelavr
        board = lightup

You can override default LightUp settings per build environment using board_*** option, where *** is a JSON object path from board manifest lightup.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lightup]
        platform = atmelavr
        board = lightup

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LightUp has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Linino One

  Contents

    •   Linino One

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Linino

  Configuration

Please use one ID for projectconf_env_board option in projectconf:

        [env:one]
        platform = atmelavr
        board = one

You can override default Linino One settings per build environment using board_*** option, where *** is a JSON object path from board manifest one.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:one]
        platform = atmelavr
        board = one

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Linino One has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LinkIt Smart 7688 Duo

  Contents

    •   LinkIt Smart 7688 Duo

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | MediaTek Labs

  Configuration

Please use smart7688 ID for projectconf_env_board option in projectconf:

        [env:smart7688]
        platform = atmelavr
        board = smart7688

You can override default LinkIt Smart 7688 Duo settings per build environment using board_*** option, where *** is a JSON object path from board manifest smart7688.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:smart7688]
        platform = atmelavr
        board = smart7688

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LinkIt Smart 7688 Duo has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LoRa32u4II (868-915MHz)

  Contents

    •   LoRa32u4II (868-915MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | BSFrance

  Configuration

Please use lora32u4II ID for projectconf_env_board option in projectconf:

        [env:lora32u4II]
        platform = atmelavr
        board = lora32u4II

You can override default LoRa32u4II (868-915MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest lora32u4II.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lora32u4II]
        platform = atmelavr
        board = lora32u4II

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LoRa32u4II (868-915MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LowPowerLab MightyHat

  Contents

    •   LowPowerLab MightyHat

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31KB
RAM | 2KB
Vendor | LowPowerLab

  Configuration

Please use mightyhat ID for projectconf_env_board option in projectconf:

        [env:mightyhat]
        platform = atmelavr
        board = mightyhat

You can override default LowPowerLab MightyHat settings per build environment using board_*** option, where *** is a JSON object path from board manifest mightyhat.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mightyhat]
        platform = atmelavr
        board = mightyhat

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LowPowerLab MightyHat has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LowPowerLab Moteino

  Contents

    •   LowPowerLab Moteino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | LowPowerLab

  Configuration

Please use moteino ID for projectconf_env_board option in projectconf:

        [env:moteino]
        platform = atmelavr
        board = moteino

You can override default LowPowerLab Moteino settings per build environment using board_*** option, where *** is a JSON object path from board manifest moteino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:moteino]
        platform = atmelavr
        board = moteino

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LowPowerLab Moteino has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LowPowerLab Moteino (8Mhz)

  Contents

    •   LowPowerLab Moteino (8Mhz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | LowPowerLab

  Configuration

Please use moteino8mhz ID for projectconf_env_board option in projectconf:

        [env:moteino8mhz]
        platform = atmelavr
        board = moteino8mhz

You can override default LowPowerLab Moteino (8Mhz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest moteino8mhz.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:moteino8mhz]
        platform = atmelavr
        board = moteino8mhz

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LowPowerLab Moteino (8Mhz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LowPowerLab MoteinoMEGA

  Contents

    •   LowPowerLab MoteinoMEGA

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 16MHz
Flash | 127KB
RAM | 16KB
Vendor | LowPowerLab

  Configuration

Please use moteinomega ID for projectconf_env_board option in projectconf:

        [env:moteinomega]
        platform = atmelavr
        board = moteinomega

You can override default LowPowerLab MoteinoMEGA settings per build environment using board_*** option, where *** is a JSON object path from board manifest moteinomega.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:moteinomega]
        platform = atmelavr
        board = moteinomega

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LowPowerLab MoteinoMEGA has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core (Atmega168PA@16M,5V)

  Contents

    •   Microduino Core (Atmega168PA@16M,5V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168P
Frequency | 16MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microduino

  Configuration

Please use 168pa16m ID for projectconf_env_board option in projectconf:

        [env:168pa16m]
        platform = atmelavr
        board = 168pa16m

You can override default Microduino Core (Atmega168PA@16M,5V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 168pa16m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:168pa16m]
        platform = atmelavr
        board = 168pa16m

        ; change microcontroller
        board_build.mcu = atmega168p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core (Atmega168PA@16M,5V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core (Atmega168PA@8M,3.3V)

  Contents

    •   Microduino Core (Atmega168PA@8M,3.3V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA168P
Frequency | 8MHz
Flash | 15.50KB
RAM | 1KB
Vendor | Microduino

  Configuration

Please use 168pa8m ID for projectconf_env_board option in projectconf:

        [env:168pa8m]
        platform = atmelavr
        board = 168pa8m

You can override default Microduino Core (Atmega168PA@8M,3.3V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 168pa8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:168pa8m]
        platform = atmelavr
        board = 168pa8m

        ; change microcontroller
        board_build.mcu = atmega168p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core (Atmega168PA@8M,3.3V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core (Atmega328P@16M,5V)

  Contents

    •   Microduino Core (Atmega328P@16M,5V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microduino

  Configuration

Please use 328p16m ID for projectconf_env_board option in projectconf:

        [env:328p16m]
        platform = atmelavr
        board = 328p16m

You can override default Microduino Core (Atmega328P@16M,5V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 328p16m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:328p16m]
        platform = atmelavr
        board = 328p16m

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core (Atmega328P@16M,5V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core (Atmega328P@8M,3.3V)

  Contents

    •   Microduino Core (Atmega328P@8M,3.3V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Microduino

  Configuration

Please use 328p8m ID for projectconf_env_board option in projectconf:

        [env:328p8m]
        platform = atmelavr
        board = 328p8m

You can override default Microduino Core (Atmega328P@8M,3.3V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 328p8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:328p8m]
        platform = atmelavr
        board = 328p8m

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core (Atmega328P@8M,3.3V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core USB (ATmega32U4@16M,5V)

  Contents

    •   Microduino Core USB (ATmega32U4@16M,5V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Microduino

  Configuration

Please use 32u416m ID for projectconf_env_board option in projectconf:

        [env:32u416m]
        platform = atmelavr
        board = 32u416m

You can override default Microduino Core USB (ATmega32U4@16M,5V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 32u416m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:32u416m]
        platform = atmelavr
        board = 32u416m

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core USB (ATmega32U4@16M,5V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core+ (ATmega1284P@16M,5V)

  Contents

    •   Microduino Core+ (ATmega1284P@16M,5V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 16MHz
Flash | 127KB
RAM | 16KB
Vendor | Microduino

  Configuration

Please use 1284p16m ID for projectconf_env_board option in projectconf:

        [env:1284p16m]
        platform = atmelavr
        board = 1284p16m

You can override default Microduino Core+ (ATmega1284P@16M,5V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 1284p16m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:1284p16m]
        platform = atmelavr
        board = 1284p16m

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core+ (ATmega1284P@16M,5V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core+ (ATmega1284P@8M,3.3V)

  Contents

    •   Microduino Core+ (ATmega1284P@8M,3.3V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | Microduino

  Configuration

Please use 1284p8m ID for projectconf_env_board option in projectconf:

        [env:1284p8m]
        platform = atmelavr
        board = 1284p8m

You can override default Microduino Core+ (ATmega1284P@8M,3.3V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 1284p8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:1284p8m]
        platform = atmelavr
        board = 1284p8m

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core+ (ATmega1284P@8M,3.3V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core+ (Atmega644PA@16M,5V)

  Contents

    •   Microduino Core+ (Atmega644PA@16M,5V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644P
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Microduino

  Configuration

Please use 644pa16m ID for projectconf_env_board option in projectconf:

        [env:644pa16m]
        platform = atmelavr
        board = 644pa16m

You can override default Microduino Core+ (Atmega644PA@16M,5V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 644pa16m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:644pa16m]
        platform = atmelavr
        board = 644pa16m

        ; change microcontroller
        board_build.mcu = atmega644p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core+ (Atmega644PA@16M,5V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Microduino Core+ (Atmega644PA@8M,3.3V)

  Contents

    •   Microduino Core+ (Atmega644PA@8M,3.3V)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644P
Frequency | 8MHz
Flash | 63KB
RAM | 4KB
Vendor | Microduino

  Configuration

Please use 644pa8m ID for projectconf_env_board option in projectconf:

        [env:644pa8m]
        platform = atmelavr
        board = 644pa8m

You can override default Microduino Core+ (Atmega644PA@8M,3.3V) settings per build environment using board_*** option, where *** is a JSON object path from board manifest 644pa8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:644pa8m]
        platform = atmelavr
        board = 644pa8m

        ; change microcontroller
        board_build.mcu = atmega644p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core+ (Atmega644PA@8M,3.3V) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  OpenEnergyMonitor emonPi

  Contents

    •   OpenEnergyMonitor emonPi

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 30KB
RAM | 2KB
Vendor | OpenEnergyMonitor

  Configuration

Please use emonpi ID for projectconf_env_board option in projectconf:

        [env:emonpi]
        platform = atmelavr
        board = emonpi

You can override default OpenEnergyMonitor emonPi settings per build environment using board_*** option, where *** is a JSON object path from board manifest emonpi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:emonpi]
        platform = atmelavr
        board = emonpi

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

OpenEnergyMonitor emonPi has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Original Prusa i3 MK3 Multi Material 2.0 Upgrade

  Contents

    •   Original Prusa i3 MK3 Multi Material 2.0 Upgrade

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Prusa 3D

  Configuration

Please use prusa_mm_control ID for projectconf_env_board option in projectconf:

        [env:prusa_mm_control]
        platform = atmelavr
        board = prusa_mm_control

You can override default Original Prusa i3 MK3 Multi Material 2.0 Upgrade settings per build environment using board_*** option, where *** is a JSON object path from board manifest prusa_mm_control.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:prusa_mm_control]
        platform = atmelavr
        board = prusa_mm_control

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Original Prusa i3 MK3 Multi Material 2.0 Upgrade has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  PanStamp AVR

  Contents

    •   PanStamp AVR

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | PanStamp

  Configuration

Please use panStampAVR ID for projectconf_env_board option in projectconf:

        [env:panStampAVR]
        platform = atmelavr
        board = panStampAVR

You can override default PanStamp AVR settings per build environment using board_*** option, where *** is a JSON object path from board manifest panStampAVR.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:panStampAVR]
        platform = atmelavr
        board = panStampAVR

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

PanStamp AVR has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Pinoccio Scout

  Contents

    •   Pinoccio Scout

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA256RFR2
Frequency | 16MHz
Flash | 248KB
RAM | 32KB
Vendor | Pinoccio

  Configuration

Please use pinoccio ID for projectconf_env_board option in projectconf:

        [env:pinoccio]
        platform = atmelavr
        board = pinoccio

You can override default Pinoccio Scout settings per build environment using board_*** option, where *** is a JSON object path from board manifest pinoccio.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pinoccio]
        platform = atmelavr
        board = pinoccio

        ; change microcontroller
        board_build.mcu = atmega256rfr2

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Pinoccio Scout board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Pololu A-Star 32U4

  Contents

    •   Pololu A-Star 32U4

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Pololu Corporation

  Configuration

Please use a-star32U4 ID for projectconf_env_board option in projectconf:

        [env:a-star32U4]
        platform = atmelavr
        board = a-star32U4

You can override default Pololu A-Star 32U4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest a-star32U4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:a-star32U4]
        platform = atmelavr
        board = a-star32U4

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Pololu A-Star 32U4 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Prusa RAMBo

  Contents

    •   Prusa RAMBo

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 252KB
RAM | 8KB
Vendor | Prusa 3D

  Configuration

Please use prusa_rambo ID for projectconf_env_board option in projectconf:

        [env:prusa_rambo]
        platform = atmelavr
        board = prusa_rambo

You can override default Prusa RAMBo settings per build environment using board_*** option, where *** is a JSON object path from board manifest prusa_rambo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:prusa_rambo]
        platform = atmelavr
        board = prusa_rambo

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Prusa RAMBo has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Quirkbot

  Contents

    •   Quirkbot

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Quirkbot

  Configuration

Please use quirkbot ID for projectconf_env_board option in projectconf:

        [env:quirkbot]
        platform = atmelavr
        board = quirkbot

You can override default Quirkbot settings per build environment using board_*** option, where *** is a JSON object path from board manifest quirkbot.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:quirkbot]
        platform = atmelavr
        board = quirkbot

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Quirkbot has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  RedBearLab Blend

  Contents

    •   RedBearLab Blend

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | RedBearLab

  Configuration

Please use blend ID for projectconf_env_board option in projectconf:

        [env:blend]
        platform = atmelavr
        board = blend

You can override default RedBearLab Blend settings per build environment using board_*** option, where *** is a JSON object path from board manifest blend.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blend]
        platform = atmelavr
        board = blend

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab Blend has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  RedBearLab Blend Micro 3.3V/16MHz (overclock)

  Contents

    •   RedBearLab Blend Micro 3.3V/16MHz (overclock)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | RedBearLab

  Configuration

Please use blendmicro16 ID for projectconf_env_board option in projectconf:

        [env:blendmicro16]
        platform = atmelavr
        board = blendmicro16

You can override default RedBearLab Blend Micro 3.3V/16MHz (overclock) settings per build environment using board_*** option, where *** is a JSON object path from board manifest blendmicro16.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blendmicro16]
        platform = atmelavr
        board = blendmicro16

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab Blend Micro 3.3V/16MHz (overclock) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  RedBearLab Blend Micro 3.3V/8MHz

  Contents

    •   RedBearLab Blend Micro 3.3V/8MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | RedBearLab

  Configuration

Please use blendmicro8 ID for projectconf_env_board option in projectconf:

        [env:blendmicro8]
        platform = atmelavr
        board = blendmicro8

You can override default RedBearLab Blend Micro 3.3V/8MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest blendmicro8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blendmicro8]
        platform = atmelavr
        board = blendmicro8

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab Blend Micro 3.3V/8MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  RepRap RAMBo

  Contents

    •   RepRap RAMBo

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 252KB
RAM | 8KB
Vendor | RepRap

  Configuration

Please use reprap_rambo ID for projectconf_env_board option in projectconf:

        [env:reprap_rambo]
        platform = atmelavr
        board = reprap_rambo

You can override default RepRap RAMBo settings per build environment using board_*** option, where *** is a JSON object path from board manifest reprap_rambo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:reprap_rambo]
        platform = atmelavr
        board = reprap_rambo

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RepRap RAMBo has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ GaLoRa

  Contents

    •   SODAQ GaLoRa

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | SODAQ

  Configuration

Please use sodaq_galora ID for projectconf_env_board option in projectconf:

        [env:sodaq_galora]
        platform = atmelavr
        board = sodaq_galora

You can override default SODAQ GaLoRa settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_galora.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_galora]
        platform = atmelavr
        board = sodaq_galora

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ GaLoRa has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ Mbili

  Contents

    •   SODAQ Mbili

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | SODAQ

  Configuration

Please use sodaq_mbili ID for projectconf_env_board option in projectconf:

        [env:sodaq_mbili]
        platform = atmelavr
        board = sodaq_mbili

You can override default SODAQ Mbili settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_mbili.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_mbili]
        platform = atmelavr
        board = sodaq_mbili

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ Mbili has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ Moja

  Contents

    •   SODAQ Moja

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | SODAQ

  Configuration

Please use sodaq_moja ID for projectconf_env_board option in projectconf:

        [env:sodaq_moja]
        platform = atmelavr
        board = sodaq_moja

You can override default SODAQ Moja settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_moja.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_moja]
        platform = atmelavr
        board = sodaq_moja

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ Moja has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ Ndogo

  Contents

    •   SODAQ Ndogo

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | SODAQ

  Configuration

Please use sodaq_ndogo ID for projectconf_env_board option in projectconf:

        [env:sodaq_ndogo]
        platform = atmelavr
        board = sodaq_ndogo

You can override default SODAQ Ndogo settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_ndogo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_ndogo]
        platform = atmelavr
        board = sodaq_ndogo

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ Ndogo has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ Tatu

  Contents

    •   SODAQ Tatu

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | SODAQ

  Configuration

Please use sodaq_tatu ID for projectconf_env_board option in projectconf:

        [env:sodaq_tatu]
        platform = atmelavr
        board = sodaq_tatu

You can override default SODAQ Tatu settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_tatu.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_tatu]
        platform = atmelavr
        board = sodaq_tatu

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ Tatu has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Sanguino ATmega1284p (16MHz)

  Contents

    •   Sanguino ATmega1284p (16MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 16MHz
Flash | 127KB
RAM | 16KB
Vendor | Sanguino

  Configuration

Please use sanguino_atmega1284p ID for projectconf_env_board option in projectconf:

        [env:sanguino_atmega1284p]
        platform = atmelavr
        board = sanguino_atmega1284p

You can override default Sanguino ATmega1284p (16MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sanguino_atmega1284p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sanguino_atmega1284p]
        platform = atmelavr
        board = sanguino_atmega1284p

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sanguino ATmega1284p (16MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Sanguino ATmega1284p (8MHz)

  Contents

    •   Sanguino ATmega1284p (8MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 8MHz
Flash | 127KB
RAM | 16KB
Vendor | Sanguino

  Configuration

Please use sanguino_atmega1284_8m ID for projectconf_env_board option in projectconf:

        [env:sanguino_atmega1284_8m]
        platform = atmelavr
        board = sanguino_atmega1284_8m

You can override default Sanguino ATmega1284p (8MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sanguino_atmega1284_8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sanguino_atmega1284_8m]
        platform = atmelavr
        board = sanguino_atmega1284_8m

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sanguino ATmega1284p (8MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Sanguino ATmega644 or ATmega644A (16 MHz)

  Contents

    •   Sanguino ATmega644 or ATmega644A (16 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Sanguino

  Configuration

Please use sanguino_atmega644 ID for projectconf_env_board option in projectconf:

        [env:sanguino_atmega644]
        platform = atmelavr
        board = sanguino_atmega644

You can override default Sanguino ATmega644 or ATmega644A (16 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sanguino_atmega644.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sanguino_atmega644]
        platform = atmelavr
        board = sanguino_atmega644

        ; change microcontroller
        board_build.mcu = atmega644

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sanguino ATmega644 or ATmega644A (16 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Sanguino ATmega644 or ATmega644A (8 MHz)

  Contents

    •   Sanguino ATmega644 or ATmega644A (8 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644
Frequency | 8MHz
Flash | 63KB
RAM | 4KB
Vendor | Sanguino

  Configuration

Please use sanguino_atmega644_8m ID for projectconf_env_board option in projectconf:

        [env:sanguino_atmega644_8m]
        platform = atmelavr
        board = sanguino_atmega644_8m

You can override default Sanguino ATmega644 or ATmega644A (8 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sanguino_atmega644_8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sanguino_atmega644_8m]
        platform = atmelavr
        board = sanguino_atmega644_8m

        ; change microcontroller
        board_build.mcu = atmega644

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sanguino ATmega644 or ATmega644A (8 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Sanguino ATmega644P or ATmega644PA (16 MHz)

  Contents

    •   Sanguino ATmega644P or ATmega644PA (16 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644P
Frequency | 16MHz
Flash | 63KB
RAM | 4KB
Vendor | Sanguino

  Configuration

Please use sanguino_atmega644p ID for projectconf_env_board option in projectconf:

        [env:sanguino_atmega644p]
        platform = atmelavr
        board = sanguino_atmega644p

You can override default Sanguino ATmega644P or ATmega644PA (16 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sanguino_atmega644p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sanguino_atmega644p]
        platform = atmelavr
        board = sanguino_atmega644p

        ; change microcontroller
        board_build.mcu = atmega644p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sanguino ATmega644P or ATmega644PA (16 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Sanguino ATmega644P or ATmega644PA (8 MHz)

  Contents

    •   Sanguino ATmega644P or ATmega644PA (8 MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA644P
Frequency | 8MHz
Flash | 63KB
RAM | 4KB
Vendor | Sanguino

  Configuration

Please use sanguino_atmega644p_8m ID for projectconf_env_board option in projectconf:

        [env:sanguino_atmega644p_8m]
        platform = atmelavr
        board = sanguino_atmega644p_8m

You can override default Sanguino ATmega644P or ATmega644PA (8 MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sanguino_atmega644p_8m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sanguino_atmega644p_8m]
        platform = atmelavr
        board = sanguino_atmega644p_8m

        ; change microcontroller
        board_build.mcu = atmega644p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sanguino ATmega644P or ATmega644PA (8 MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Seeeduino

  Contents

    •   Seeeduino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | SeeedStudio

  Configuration

Please use seeeduino ID for projectconf_env_board option in projectconf:

        [env:seeeduino]
        platform = atmelavr
        board = seeeduino

You can override default Seeeduino settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeeduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeeduino]
        platform = atmelavr
        board = seeeduino

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeeduino has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  SparkFun ATmega128RFA1 Dev Board

  Contents

    •   SparkFun ATmega128RFA1 Dev Board

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA128RFA1
Frequency | 16MHz
Flash | 16KB
RAM | 124KB
Vendor | SparkFun

  Configuration

Please use sparkfun_satmega128rfa1 ID for projectconf_env_board option in projectconf:

        [env:sparkfun_satmega128rfa1]
        platform = atmelavr
        board = sparkfun_satmega128rfa1

You can override default SparkFun ATmega128RFA1 Dev Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_satmega128rfa1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_satmega128rfa1]
        platform = atmelavr
        board = sparkfun_satmega128rfa1

        ; change microcontroller
        board_build.mcu = atmega128rfa1

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun ATmega128RFA1 Dev Board has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Digital Sandbox

  Contents

    •   SparkFun Digital Sandbox

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | SparkFun

  Configuration

Please use sparkfun_digitalsandbox ID for projectconf_env_board option in projectconf:

        [env:sparkfun_digitalsandbox]
        platform = atmelavr
        board = sparkfun_digitalsandbox

You can override default SparkFun Digital Sandbox settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_digitalsandbox.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_digitalsandbox]
        platform = atmelavr
        board = sparkfun_digitalsandbox

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Digital Sandbox has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Fio V3 3.3V/8MHz

  Contents

    •   SparkFun Fio V3 3.3V/8MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | SparkFun

  Configuration

Please use sparkfun_fiov3 ID for projectconf_env_board option in projectconf:

        [env:sparkfun_fiov3]
        platform = atmelavr
        board = sparkfun_fiov3

You can override default SparkFun Fio V3 3.3V/8MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_fiov3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_fiov3]
        platform = atmelavr
        board = sparkfun_fiov3

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Fio V3 3.3V/8MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Makey Makey

  Contents

    •   SparkFun Makey Makey

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | SparkFun

  Configuration

Please use sparkfun_makeymakey ID for projectconf_env_board option in projectconf:

        [env:sparkfun_makeymakey]
        platform = atmelavr
        board = sparkfun_makeymakey

You can override default SparkFun Makey Makey settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_makeymakey.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_makeymakey]
        platform = atmelavr
        board = sparkfun_makeymakey

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Makey Makey has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Mega Pro 3.3V/8MHz

  Contents

    •   SparkFun Mega Pro 3.3V/8MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 8MHz
Flash | 252KB
RAM | 8KB
Vendor | SparkFun

  Configuration

Please use sparkfun_megapro8MHz ID for projectconf_env_board option in projectconf:

        [env:sparkfun_megapro8MHz]
        platform = atmelavr
        board = sparkfun_megapro8MHz

You can override default SparkFun Mega Pro 3.3V/8MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_megapro8MHz.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_megapro8MHz]
        platform = atmelavr
        board = sparkfun_megapro8MHz

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Mega Pro 3.3V/8MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Mega Pro 5V/16MHz

  Contents

    •   SparkFun Mega Pro 5V/16MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 16MHz
Flash | 248KB
RAM | 8KB
Vendor | SparkFun

  Configuration

Please use sparkfun_megapro16MHz ID for projectconf_env_board option in projectconf:

        [env:sparkfun_megapro16MHz]
        platform = atmelavr
        board = sparkfun_megapro16MHz

You can override default SparkFun Mega Pro 5V/16MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_megapro16MHz.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_megapro16MHz]
        platform = atmelavr
        board = sparkfun_megapro16MHz

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Mega Pro 5V/16MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Mega Pro Mini 3.3V

  Contents

    •   SparkFun Mega Pro Mini 3.3V

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA2560
Frequency | 8MHz
Flash | 252KB
RAM | 8KB
Vendor | SparkFun

  Configuration

Please use sparkfun_megamini ID for projectconf_env_board option in projectconf:

        [env:sparkfun_megamini]
        platform = atmelavr
        board = sparkfun_megamini

You can override default SparkFun Mega Pro Mini 3.3V settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_megamini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_megamini]
        platform = atmelavr
        board = sparkfun_megamini

        ; change microcontroller
        board_build.mcu = atmega2560

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Mega Pro Mini 3.3V has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun MicroView

  Contents

    •   SparkFun MicroView

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | SparkFun

  Configuration

Please use uview ID for projectconf_env_board option in projectconf:

        [env:uview]
        platform = atmelavr
        board = uview

You can override default SparkFun MicroView settings per build environment using board_*** option, where *** is a JSON object path from board manifest uview.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:uview]
        platform = atmelavr
        board = uview

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun MicroView has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Pro Micro 3.3V/8MHz

  Contents

    •   SparkFun Pro Micro 3.3V/8MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | SparkFun

  Configuration

Please use sparkfun_promicro8 ID for projectconf_env_board option in projectconf:

        [env:sparkfun_promicro8]
        platform = atmelavr
        board = sparkfun_promicro8

You can override default SparkFun Pro Micro 3.3V/8MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_promicro8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_promicro8]
        platform = atmelavr
        board = sparkfun_promicro8

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Pro Micro 3.3V/8MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Pro Micro 5V/16MHz

  Contents

    •   SparkFun Pro Micro 5V/16MHz

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | SparkFun

  Configuration

Please use sparkfun_promicro16 ID for projectconf_env_board option in projectconf:

        [env:sparkfun_promicro16]
        platform = atmelavr
        board = sparkfun_promicro16

You can override default SparkFun Pro Micro 5V/16MHz settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_promicro16.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_promicro16]
        platform = atmelavr
        board = sparkfun_promicro16

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Pro Micro 5V/16MHz has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Qduino Mini

  Contents

    •   SparkFun Qduino Mini

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 8MHz
Flash | 28KB
RAM | 2.50KB
Vendor | SparkFun

  Configuration

Please use sparkfun_qduinomini ID for projectconf_env_board option in projectconf:

        [env:sparkfun_qduinomini]
        platform = atmelavr
        board = sparkfun_qduinomini

You can override default SparkFun Qduino Mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_qduinomini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_qduinomini]
        platform = atmelavr
        board = sparkfun_qduinomini

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Qduino Mini has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun RedBoard

  Contents

    •   SparkFun RedBoard

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | SparkFun

  Configuration

Please use sparkfun_redboard ID for projectconf_env_board option in projectconf:

        [env:sparkfun_redboard]
        platform = atmelavr
        board = sparkfun_redboard

You can override default SparkFun RedBoard settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_redboard.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_redboard]
        platform = atmelavr
        board = sparkfun_redboard

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun RedBoard has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Serial 7-Segment Display

  Contents

    •   SparkFun Serial 7-Segment Display

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 31.50KB
RAM | 2KB
Vendor | SparkFun

  Configuration

Please use sparkfun_serial7seg ID for projectconf_env_board option in projectconf:

        [env:sparkfun_serial7seg]
        platform = atmelavr
        board = sparkfun_serial7seg

You can override default SparkFun Serial 7-Segment Display settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_serial7seg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_serial7seg]
        platform = atmelavr
        board = sparkfun_serial7seg

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Serial 7-Segment Display has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SpellFoundry Sleepy Pi 2

  Contents

    •   SpellFoundry Sleepy Pi 2

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 30KB
RAM | 2KB
Vendor | SpellFoundry

  Configuration

Please use sleepypi ID for projectconf_env_board option in projectconf:

        [env:sleepypi]
        platform = atmelavr
        board = sleepypi

You can override default SpellFoundry Sleepy Pi 2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest sleepypi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sleepypi]
        platform = atmelavr
        board = sleepypi

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SpellFoundry Sleepy Pi 2 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Talk2 Whisper Node

  Contents

    •   Talk2 Whisper Node

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | Wisen

  Configuration

Please use whispernode ID for projectconf_env_board option in projectconf:

        [env:whispernode]
        platform = atmelavr
        board = whispernode

You can override default Talk2 Whisper Node settings per build environment using board_*** option, where *** is a JSON object path from board manifest whispernode.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:whispernode]
        platform = atmelavr
        board = whispernode

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Talk2 Whisper Node has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  The Things Uno

  Contents

    •   The Things Uno

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | The Things Network

  Configuration

Please use the_things_uno ID for projectconf_env_board option in projectconf:

        [env:the_things_uno]
        platform = atmelavr
        board = the_things_uno

You can override default The Things Uno settings per build environment using board_*** option, where *** is a JSON object path from board manifest the_things_uno.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:the_things_uno]
        platform = atmelavr
        board = the_things_uno

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

The Things Uno has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TinyCircuits TinyDuino Processor Board

  Contents

    •   TinyCircuits TinyDuino Processor Board

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 30KB
RAM | 2KB
Vendor | TinyCircuits

  Configuration

Please use tinyduino ID for projectconf_env_board option in projectconf:

        [env:tinyduino]
        platform = atmelavr
        board = tinyduino

You can override default TinyCircuits TinyDuino Processor Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest tinyduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:tinyduino]
        platform = atmelavr
        board = tinyduino

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TinyCircuits TinyDuino Processor Board has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TinyCircuits TinyLily Mini Processor

  Contents

    •   TinyCircuits TinyLily Mini Processor

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 8MHz
Flash | 30KB
RAM | 2KB
Vendor | TinyCircuits

  Configuration

Please use tinylily ID for projectconf_env_board option in projectconf:

        [env:tinylily]
        platform = atmelavr
        board = tinylily

You can override default TinyCircuits TinyLily Mini Processor settings per build environment using board_*** option, where *** is a JSON object path from board manifest tinylily.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:tinylily]
        platform = atmelavr
        board = tinylily

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TinyCircuits TinyLily Mini Processor has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  USBasp stick

  Contents

    •   USBasp stick

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA8
Frequency | 12MHz
Flash | 8KB
RAM | 1KB
Vendor | Atmel

  Configuration

Please use usbasp ID for projectconf_env_board option in projectconf:

        [env:usbasp]
        platform = atmelavr
        board = usbasp

You can override default USBasp stick settings per build environment using board_*** option, where *** is a JSON object path from board manifest usbasp.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:usbasp]
        platform = atmelavr
        board = usbasp

        ; change microcontroller
        board_build.mcu = atmega8

        ; change MCU frequency
        board_build.f_cpu = 12000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

USBasp stick has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Wicked Device WildFire V2

  Contents

    •   Wicked Device WildFire V2

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 16MHz
Flash | 120.00KB
RAM | 16KB
Vendor | Wicked Device

  Configuration

Please use wildfirev2 ID for projectconf_env_board option in projectconf:

        [env:wildfirev2]
        platform = atmelavr
        board = wildfirev2

You can override default Wicked Device WildFire V2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest wildfirev2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wildfirev2]
        platform = atmelavr
        board = wildfirev2

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Wicked Device WildFire V2 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Wicked Device WildFire V3

  Contents

    •   Wicked Device WildFire V3

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 16MHz
Flash | 127KB
RAM | 16KB
Vendor | Wicked Device

  Configuration

Please use wildfirev3 ID for projectconf_env_board option in projectconf:

        [env:wildfirev3]
        platform = atmelavr
        board = wildfirev3

You can override default Wicked Device WildFire V3 settings per build environment using board_*** option, where *** is a JSON object path from board manifest wildfirev3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wildfirev3]
        platform = atmelavr
        board = wildfirev3

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Wicked Device WildFire V3 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ftDuino

  Contents

    •   ftDuino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 28KB
RAM | 2.50KB
Vendor | Till Harbaum

  Configuration

Please use ftduino ID for projectconf_env_board option in projectconf:

        [env:ftduino]
        platform = atmelavr
        board = ftduino

You can override default ftDuino settings per build environment using board_*** option, where *** is a JSON object path from board manifest ftduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ftduino]
        platform = atmelavr
        board = ftduino

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ftDuino has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  nicai-systems BOB3 coding bot

  Contents

    •   nicai-systems BOB3 coding bot

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA88
Frequency | 8MHz
Flash | 8KB
RAM | 1KB
Vendor | nicai-systems

  Configuration

Please use bob3 ID for projectconf_env_board option in projectconf:

        [env:bob3]
        platform = atmelavr
        board = bob3

You can override default nicai-systems BOB3 coding bot settings per build environment using board_*** option, where *** is a JSON object path from board manifest bob3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bob3]
        platform = atmelavr
        board = bob3

        ; change microcontroller
        board_build.mcu = atmega88

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

nicai-systems BOB3 coding bot has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  nicai-systems NIBO 2 robot

  Contents

    •   nicai-systems NIBO 2 robot

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA128
Frequency | 16MHz
Flash | 128KB
RAM | 4KB
Vendor | nicai-systems

  Configuration

Please use nibo2 ID for projectconf_env_board option in projectconf:

        [env:nibo2]
        platform = atmelavr
        board = nibo2

You can override default nicai-systems NIBO 2 robot settings per build environment using board_*** option, where *** is a JSON object path from board manifest nibo2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nibo2]
        platform = atmelavr
        board = nibo2

        ; change microcontroller
        board_build.mcu = atmega128

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

nicai-systems NIBO 2 robot has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  nicai-systems NIBO burger robot

  Contents

    •   nicai-systems NIBO burger robot

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA16
Frequency | 15MHz
Flash | 16KB
RAM | 1KB
Vendor | nicai-systems

  Configuration

Please use niboburger ID for projectconf_env_board option in projectconf:

        [env:niboburger]
        platform = atmelavr
        board = niboburger

You can override default nicai-systems NIBO burger robot settings per build environment using board_*** option, where *** is a JSON object path from board manifest niboburger.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:niboburger]
        platform = atmelavr
        board = niboburger

        ; change microcontroller
        board_build.mcu = atmega16

        ; change MCU frequency
        board_build.f_cpu = 15000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

nicai-systems NIBO burger robot has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  nicai-systems NIBO burger robot with Tuning Kit

  Contents

    •   nicai-systems NIBO burger robot with Tuning Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 20MHz
Flash | 128KB
RAM | 16KB
Vendor | nicai-systems

  Configuration

Please use niboburger_1284 ID for projectconf_env_board option in projectconf:

        [env:niboburger_1284]
        platform = atmelavr
        board = niboburger_1284

You can override default nicai-systems NIBO burger robot with Tuning Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest niboburger_1284.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:niboburger_1284]
        platform = atmelavr
        board = niboburger_1284

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 20000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

nicai-systems NIBO burger robot with Tuning Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  nicai-systems NIBObee robot

  Contents

    •   nicai-systems NIBObee robot

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA16
Frequency | 15MHz
Flash | 16KB
RAM | 1KB
Vendor | nicai-systems

  Configuration

Please use nibobee ID for projectconf_env_board option in projectconf:

        [env:nibobee]
        platform = atmelavr
        board = nibobee

You can override default nicai-systems NIBObee robot settings per build environment using board_*** option, where *** is a JSON object path from board manifest nibobee.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nibobee]
        platform = atmelavr
        board = nibobee

        ; change microcontroller
        board_build.mcu = atmega16

        ; change MCU frequency
        board_build.f_cpu = 15000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

nicai-systems NIBObee robot has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  nicai-systems NIBObee robot with Tuning Kit

  Contents

    •   nicai-systems NIBObee robot with Tuning Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA1284P
Frequency | 20MHz
Flash | 128KB
RAM | 16KB
Vendor | nicai-systems

  Configuration

Please use nibobee_1284 ID for projectconf_env_board option in projectconf:

        [env:nibobee_1284]
        platform = atmelavr
        board = nibobee_1284

You can override default nicai-systems NIBObee robot with Tuning Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest nibobee_1284.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nibobee_1284]
        platform = atmelavr
        board = nibobee_1284

        ; change microcontroller
        board_build.mcu = atmega1284p

        ; change MCU frequency
        board_build.f_cpu = 20000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

nicai-systems NIBObee robot with Tuning Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ubIQio Ardhat

  Contents

    •   ubIQio Ardhat

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelavr: Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
Microcontroller | ATMEGA328P
Frequency | 16MHz
Flash | 31.50KB
RAM | 2KB
Vendor | ubIQio

  Configuration

Please use ardhat ID for projectconf_env_board option in projectconf:

        [env:ardhat]
        platform = atmelavr
        board = ardhat

You can override default ubIQio Ardhat settings per build environment using board_*** option, where *** is a JSON object path from board manifest ardhat.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ardhat]
        platform = atmelavr
        board = ardhat

        ; change microcontroller
        board_build.mcu = atmega328p

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ubIQio Ardhat has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_simavr | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Atmel megaAVR

  Arduino Nano Every

  Contents

    •   Arduino Nano Every

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelmegaavr: 8-bit MCUs Built for Real-time Control with Core Independent Peripherals combining intelligent hardware peripherals along with the low-power capability of an AVR core, megaAVR microcontrollers (MCUs) broaden the effectiveness of your real-time control systems.
Microcontroller | ATMEGA4809
Frequency | 16MHz
Flash | 47.50KB
RAM | 6KB
Vendor | Arduino

  Configuration

Please use nano_every ID for projectconf_env_board option in projectconf:

        [env:nano_every]
        platform = atmelmegaavr
        board = nano_every

You can override default Arduino Nano Every settings per build environment using board_*** option, where *** is a JSON object path from board manifest nano_every.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nano_every]
        platform = atmelmegaavr
        board = nano_every

        ; change microcontroller
        board_build.mcu = atmega4809

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Arduino Nano Every board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Uno WiFi Rev2

  Contents

    •   Arduino Uno WiFi Rev2

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelmegaavr: 8-bit MCUs Built for Real-time Control with Core Independent Peripherals combining intelligent hardware peripherals along with the low-power capability of an AVR core, megaAVR microcontrollers (MCUs) broaden the effectiveness of your real-time control systems.
Microcontroller | ATMEGA4809
Frequency | 16MHz
Flash | 47.50KB
RAM | 6KB
Vendor | Arduino

  Configuration

Please use uno_wifi_rev2 ID for projectconf_env_board option in projectconf:

        [env:uno_wifi_rev2]
        platform = atmelmegaavr
        board = uno_wifi_rev2

You can override default Arduino Uno WiFi Rev2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest uno_wifi_rev2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:uno_wifi_rev2]
        platform = atmelmegaavr
        board = uno_wifi_rev2

        ; change microcontroller
        board_build.mcu = atmega4809

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug currently does not support Arduino Uno WiFi Rev2 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Atmel SAM

  Adafruit Circuit Playground Express

  Contents

    •   Adafruit Circuit Playground Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_circuitplayground_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_circuitplayground_m0]
        platform = atmelsam
        board = adafruit_circuitplayground_m0

You can override default Adafruit Circuit Playground Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_circuitplayground_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_circuitplayground_m0]
        platform = atmelsam
        board = adafruit_circuitplayground_m0

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Circuit Playground Express supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_circuitplayground_m0]
        platform = atmelsam
        board = adafruit_circuitplayground_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Circuit Playground Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Crickit M0

  Contents

    •   Adafruit Crickit M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_crickit_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_crickit_m0]
        platform = atmelsam
        board = adafruit_crickit_m0

You can override default Adafruit Crickit M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_crickit_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_crickit_m0]
        platform = atmelsam
        board = adafruit_crickit_m0

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Crickit M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_crickit_m0]
        platform = atmelsam
        board = adafruit_crickit_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Crickit M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Feather M0

  Contents

    •   Adafruit Feather M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_m0]
        platform = atmelsam
        board = adafruit_feather_m0

You can override default Adafruit Feather M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_m0]
        platform = atmelsam
        board = adafruit_feather_m0

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Feather M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_m0]
        platform = atmelsam
        board = adafruit_feather_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Adafruit Feather M0 Express

  Contents

    •   Adafruit Feather M0 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_m0_express ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_m0_express]
        platform = atmelsam
        board = adafruit_feather_m0_express

You can override default Adafruit Feather M0 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_m0_express.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_m0_express]
        platform = atmelsam
        board = adafruit_feather_m0_express

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Feather M0 Express supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_m0_express]
        platform = atmelsam
        board = adafruit_feather_m0_express

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather M0 Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Feather M4 Express

  Contents

    •   Adafruit Feather M4 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_m4]
        platform = atmelsam
        board = adafruit_feather_m4

You can override default Adafruit Feather M4 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_m4]
        platform = atmelsam
        board = adafruit_feather_m4

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit Feather M4 Express supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_m4]
        platform = atmelsam
        board = adafruit_feather_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather M4 Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Gemma M0

  Contents

    •   Adafruit Gemma M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21E18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_gemma_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_gemma_m0]
        platform = atmelsam
        board = adafruit_gemma_m0

You can override default Adafruit Gemma M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_gemma_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_gemma_m0]
        platform = atmelsam
        board = adafruit_gemma_m0

        ; change microcontroller
        board_build.mcu = samd21e18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Gemma M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_gemma_m0]
        platform = atmelsam
        board = adafruit_gemma_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Gemma M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Grand Central M4

  Contents

    •   Adafruit Grand Central M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51P20A
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | Adafruit

  Configuration

Please use adafruit_grandcentral_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_grandcentral_m4]
        platform = atmelsam
        board = adafruit_grandcentral_m4

You can override default Adafruit Grand Central M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_grandcentral_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_grandcentral_m4]
        platform = atmelsam
        board = adafruit_grandcentral_m4

        ; change microcontroller
        board_build.mcu = samd51p20a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit Grand Central M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_grandcentral_m4]
        platform = atmelsam
        board = adafruit_grandcentral_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Grand Central M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Hallowing M0

  Contents

    •   Adafruit Hallowing M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_hallowing ID for projectconf_env_board option in projectconf:

        [env:adafruit_hallowing]
        platform = atmelsam
        board = adafruit_hallowing

You can override default Adafruit Hallowing M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_hallowing.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_hallowing]
        platform = atmelsam
        board = adafruit_hallowing

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Hallowing M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_hallowing]
        platform = atmelsam
        board = adafruit_hallowing

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Hallowing M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Hallowing M4

  Contents

    •   Adafruit Hallowing M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 496KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_hallowing_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_hallowing_m4]
        platform = atmelsam
        board = adafruit_hallowing_m4

You can override default Adafruit Hallowing M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_hallowing_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_hallowing_m4]
        platform = atmelsam
        board = adafruit_hallowing_m4

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit Hallowing M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_hallowing_m4]
        platform = atmelsam
        board = adafruit_hallowing_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Hallowing M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit ItsyBitsy M0

  Contents

    •   Adafruit ItsyBitsy M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_itsybitsy_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_itsybitsy_m0]
        platform = atmelsam
        board = adafruit_itsybitsy_m0

You can override default Adafruit ItsyBitsy M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_itsybitsy_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_itsybitsy_m0]
        platform = atmelsam
        board = adafruit_itsybitsy_m0

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit ItsyBitsy M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_itsybitsy_m0]
        platform = atmelsam
        board = adafruit_itsybitsy_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit ItsyBitsy M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit ItsyBitsy M4

  Contents

    •   Adafruit ItsyBitsy M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51G19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_itsybitsy_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_itsybitsy_m4]
        platform = atmelsam
        board = adafruit_itsybitsy_m4

You can override default Adafruit ItsyBitsy M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_itsybitsy_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_itsybitsy_m4]
        platform = atmelsam
        board = adafruit_itsybitsy_m4

        ; change microcontroller
        board_build.mcu = samd51g19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit ItsyBitsy M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_itsybitsy_m4]
        platform = atmelsam
        board = adafruit_itsybitsy_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit ItsyBitsy M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit MONSTER M4SK

  Contents

    •   Adafruit MONSTER M4SK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51G19A
Frequency | 120MHz
Flash | 496KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_monster_m4sk ID for projectconf_env_board option in projectconf:

        [env:adafruit_monster_m4sk]
        platform = atmelsam
        board = adafruit_monster_m4sk

You can override default Adafruit MONSTER M4SK settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_monster_m4sk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_monster_m4sk]
        platform = atmelsam
        board = adafruit_monster_m4sk

        ; change microcontroller
        board_build.mcu = samd51g19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit MONSTER M4SK supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_monster_m4sk]
        platform = atmelsam
        board = adafruit_monster_m4sk

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit MONSTER M4SK does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Metro M0 Expresss

  Contents

    •   Adafruit Metro M0 Expresss

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_metro_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_metro_m0]
        platform = atmelsam
        board = adafruit_metro_m0

You can override default Adafruit Metro M0 Expresss settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_metro_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_metro_m0]
        platform = atmelsam
        board = adafruit_metro_m0

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Metro M0 Expresss supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_metro_m0]
        platform = atmelsam
        board = adafruit_metro_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Metro M0 Expresss does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Metro M4

  Contents

    •   Adafruit Metro M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_metro_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_metro_m4]
        platform = atmelsam
        board = adafruit_metro_m4

You can override default Adafruit Metro M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_metro_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_metro_m4]
        platform = atmelsam
        board = adafruit_metro_m4

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit Metro M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_metro_m4]
        platform = atmelsam
        board = adafruit_metro_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Metro M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Metro M4 AirLift Lite

  Contents

    •   Adafruit Metro M4 AirLift Lite

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_metro_m4_airliftlite ID for projectconf_env_board option in projectconf:

        [env:adafruit_metro_m4_airliftlite]
        platform = atmelsam
        board = adafruit_metro_m4_airliftlite

You can override default Adafruit Metro M4 AirLift Lite settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_metro_m4_airliftlite.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_metro_m4_airliftlite]
        platform = atmelsam
        board = adafruit_metro_m4_airliftlite

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit Metro M4 AirLift Lite supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_metro_m4_airliftlite]
        platform = atmelsam
        board = adafruit_metro_m4_airliftlite

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Metro M4 AirLift Lite does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit PyGamer Advance M4

  Contents

    •   Adafruit PyGamer Advance M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J20A
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | Adafruit

  Configuration

Please use adafruit_pygamer_advance_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_pygamer_advance_m4]
        platform = atmelsam
        board = adafruit_pygamer_advance_m4

You can override default Adafruit PyGamer Advance M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pygamer_advance_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pygamer_advance_m4]
        platform = atmelsam
        board = adafruit_pygamer_advance_m4

        ; change microcontroller
        board_build.mcu = samd51j20a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit PyGamer Advance M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pygamer_advance_m4]
        platform = atmelsam
        board = adafruit_pygamer_advance_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit PyGamer Advance M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit PyGamer M4 Express

  Contents

    •   Adafruit PyGamer M4 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_pygamer_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_pygamer_m4]
        platform = atmelsam
        board = adafruit_pygamer_m4

You can override default Adafruit PyGamer M4 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pygamer_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pygamer_m4]
        platform = atmelsam
        board = adafruit_pygamer_m4

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit PyGamer M4 Express supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pygamer_m4]
        platform = atmelsam
        board = adafruit_pygamer_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit PyGamer M4 Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit PyPortal M4

  Contents

    •   Adafruit PyPortal M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J20A
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | Adafruit

  Configuration

Please use adafruit_pyportal_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_pyportal_m4]
        platform = atmelsam
        board = adafruit_pyportal_m4

You can override default Adafruit PyPortal M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pyportal_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pyportal_m4]
        platform = atmelsam
        board = adafruit_pyportal_m4

        ; change microcontroller
        board_build.mcu = samd51j20a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit PyPortal M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pyportal_m4]
        platform = atmelsam
        board = adafruit_pyportal_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit PyPortal M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit PyPortal M4 Titano

  Contents

    •   Adafruit PyPortal M4 Titano

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J20A
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | Adafruit

  Configuration

Please use adafruit_pyportal_m4_titano ID for projectconf_env_board option in projectconf:

        [env:adafruit_pyportal_m4_titano]
        platform = atmelsam
        board = adafruit_pyportal_m4_titano

You can override default Adafruit PyPortal M4 Titano settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pyportal_m4_titano.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pyportal_m4_titano]
        platform = atmelsam
        board = adafruit_pyportal_m4_titano

        ; change microcontroller
        board_build.mcu = samd51j20a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit PyPortal M4 Titano supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pyportal_m4_titano]
        platform = atmelsam
        board = adafruit_pyportal_m4_titano

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit PyPortal M4 Titano does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Trellis M4

  Contents

    •   Adafruit Trellis M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_trellis_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_trellis_m4]
        platform = atmelsam
        board = adafruit_trellis_m4

You can override default Adafruit Trellis M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_trellis_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_trellis_m4]
        platform = atmelsam
        board = adafruit_trellis_m4

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit Trellis M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_trellis_m4]
        platform = atmelsam
        board = adafruit_trellis_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Trellis M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Trinket M0

  Contents

    •   Adafruit Trinket M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21E18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_trinket_m0 ID for projectconf_env_board option in projectconf:

        [env:adafruit_trinket_m0]
        platform = atmelsam
        board = adafruit_trinket_m0

You can override default Adafruit Trinket M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_trinket_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_trinket_m0]
        platform = atmelsam
        board = adafruit_trinket_m0

        ; change microcontroller
        board_build.mcu = samd21e18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit Trinket M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_trinket_m0]
        platform = atmelsam
        board = adafruit_trinket_m0

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Trinket M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Adafruit pIRkey

  Contents

    •   Adafruit pIRkey

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21E18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Adafruit

  Configuration

Please use adafruit_pirkey ID for projectconf_env_board option in projectconf:

        [env:adafruit_pirkey]
        platform = atmelsam
        board = adafruit_pirkey

You can override default Adafruit pIRkey settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pirkey.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pirkey]
        platform = atmelsam
        board = adafruit_pirkey

        ; change microcontroller
        board_build.mcu = samd21e18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Adafruit pIRkey supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pirkey]
        platform = atmelsam
        board = adafruit_pirkey

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit pIRkey does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit pyBadge AirLift M4

  Contents

    •   Adafruit pyBadge AirLift M4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J20A
Frequency | 120MHz
Flash | 1008KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_pybadge_airlift_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_pybadge_airlift_m4]
        platform = atmelsam
        board = adafruit_pybadge_airlift_m4

You can override default Adafruit pyBadge AirLift M4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pybadge_airlift_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pybadge_airlift_m4]
        platform = atmelsam
        board = adafruit_pybadge_airlift_m4

        ; change microcontroller
        board_build.mcu = samd51j20a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit pyBadge AirLift M4 supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pybadge_airlift_m4]
        platform = atmelsam
        board = adafruit_pybadge_airlift_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit pyBadge AirLift M4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit pyBadge M4 Express

  Contents

    •   Adafruit pyBadge M4 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD51J19A
Frequency | 120MHz
Flash | 512KB
RAM | 192KB
Vendor | Adafruit

  Configuration

Please use adafruit_pybadge_m4 ID for projectconf_env_board option in projectconf:

        [env:adafruit_pybadge_m4]
        platform = atmelsam
        board = adafruit_pybadge_m4

You can override default Adafruit pyBadge M4 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_pybadge_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_pybadge_m4]
        platform = atmelsam
        board = adafruit_pybadge_m4

        ; change microcontroller
        board_build.mcu = samd51j19a

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Adafruit pyBadge M4 Express supports the next uploading protocols:

    •   atmel-ice

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_pybadge_m4]
        platform = atmelsam
        board = adafruit_pybadge_m4

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit pyBadge M4 Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Due (Programming Port)

  Contents

    •   Arduino Due (Programming Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | AT91SAM3X8E
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | Arduino

  Configuration

Please use due ID for projectconf_env_board option in projectconf:

        [env:due]
        platform = atmelsam
        board = due

You can override default Arduino Due (Programming Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest due.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:due]
        platform = atmelsam
        board = due

        ; change microcontroller
        board_build.mcu = at91sam3x8e

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

Arduino Due (Programming Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

    •   stlink

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:due]
        platform = atmelsam
        board = due

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Due (Programming Port) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Arduino Due (USB Native Port)

  Contents

    •   Arduino Due (USB Native Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | AT91SAM3X8E
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | Arduino

  Configuration

Please use dueUSB ID for projectconf_env_board option in projectconf:

        [env:dueUSB]
        platform = atmelsam
        board = dueUSB

You can override default Arduino Due (USB Native Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest dueUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:dueUSB]
        platform = atmelsam
        board = dueUSB

        ; change microcontroller
        board_build.mcu = at91sam3x8e

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

Arduino Due (USB Native Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

    •   stlink

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:dueUSB]
        platform = atmelsam
        board = dueUSB

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Due (USB Native Port) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Arduino M0

  Contents

    •   Arduino M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mzeroUSB ID for projectconf_env_board option in projectconf:

        [env:mzeroUSB]
        platform = atmelsam
        board = mzeroUSB

You can override default Arduino M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mzeroUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mzeroUSB]
        platform = atmelsam
        board = mzeroUSB

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   stk500v2

Default protocol is stk500v2

You can change upload protocol using projectconf_upload_protocol option:

        [env:mzeroUSB]
        platform = atmelsam
        board = mzeroUSB

        upload_protocol = stk500v2

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino M0 Pro (Native USB Port)

  Contents

    •   Arduino M0 Pro (Native USB Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mzeroproUSB ID for projectconf_env_board option in projectconf:

        [env:mzeroproUSB]
        platform = atmelsam
        board = mzeroproUSB

You can override default Arduino M0 Pro (Native USB Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest mzeroproUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mzeroproUSB]
        platform = atmelsam
        board = mzeroproUSB

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino M0 Pro (Native USB Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   stk500v2

Default protocol is stk500v2

You can change upload protocol using projectconf_upload_protocol option:

        [env:mzeroproUSB]
        platform = atmelsam
        board = mzeroproUSB

        upload_protocol = stk500v2

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino M0 Pro (Native USB Port) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino M0 Pro (Programming/Debug Port)

  Contents

    •   Arduino M0 Pro (Programming/Debug Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mzeropro ID for projectconf_env_board option in projectconf:

        [env:mzeropro]
        platform = atmelsam
        board = mzeropro

You can override default Arduino M0 Pro (Programming/Debug Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest mzeropro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mzeropro]
        platform = atmelsam
        board = mzeropro

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino M0 Pro (Programming/Debug Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:mzeropro]
        platform = atmelsam
        board = mzeropro

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino M0 Pro (Programming/Debug Port) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR FOX 1200

  Contents

    •   Arduino MKR FOX 1200

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrfox1200 ID for projectconf_env_board option in projectconf:

        [env:mkrfox1200]
        platform = atmelsam
        board = mkrfox1200

You can override default Arduino MKR FOX 1200 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrfox1200.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrfox1200]
        platform = atmelsam
        board = mkrfox1200

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR FOX 1200 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrfox1200]
        platform = atmelsam
        board = mkrfox1200

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR FOX 1200 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR GSM 1400

  Contents

    •   Arduino MKR GSM 1400

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrgsm1400 ID for projectconf_env_board option in projectconf:

        [env:mkrgsm1400]
        platform = atmelsam
        board = mkrgsm1400

You can override default Arduino MKR GSM 1400 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrgsm1400.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrgsm1400]
        platform = atmelsam
        board = mkrgsm1400

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR GSM 1400 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrgsm1400]
        platform = atmelsam
        board = mkrgsm1400

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR GSM 1400 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR NB 1500

  Contents

    •   Arduino MKR NB 1500

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrnb1500 ID for projectconf_env_board option in projectconf:

        [env:mkrnb1500]
        platform = atmelsam
        board = mkrnb1500

You can override default Arduino MKR NB 1500 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrnb1500.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrnb1500]
        platform = atmelsam
        board = mkrnb1500

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR NB 1500 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrnb1500]
        platform = atmelsam
        board = mkrnb1500

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR NB 1500 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR WAN 1300

  Contents

    •   Arduino MKR WAN 1300

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrwan1300 ID for projectconf_env_board option in projectconf:

        [env:mkrwan1300]
        platform = atmelsam
        board = mkrwan1300

You can override default Arduino MKR WAN 1300 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrwan1300.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrwan1300]
        platform = atmelsam
        board = mkrwan1300

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR WAN 1300 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrwan1300]
        platform = atmelsam
        board = mkrwan1300

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR WAN 1300 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR WAN 1310

  Contents

    •   Arduino MKR WAN 1310

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrwan1310 ID for projectconf_env_board option in projectconf:

        [env:mkrwan1310]
        platform = atmelsam
        board = mkrwan1310

You can override default Arduino MKR WAN 1310 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrwan1310.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrwan1310]
        platform = atmelsam
        board = mkrwan1310

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR WAN 1310 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrwan1310]
        platform = atmelsam
        board = mkrwan1310

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR WAN 1310 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR WiFi 1010

  Contents

    •   Arduino MKR WiFi 1010

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrwifi1010 ID for projectconf_env_board option in projectconf:

        [env:mkrwifi1010]
        platform = atmelsam
        board = mkrwifi1010

You can override default Arduino MKR WiFi 1010 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrwifi1010.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrwifi1010]
        platform = atmelsam
        board = mkrwifi1010

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR WiFi 1010 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrwifi1010]
        platform = atmelsam
        board = mkrwifi1010

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR WiFi 1010 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKR1000

  Contents

    •   Arduino MKR1000

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkr1000USB ID for projectconf_env_board option in projectconf:

        [env:mkr1000USB]
        platform = atmelsam
        board = mkr1000USB

You can override default Arduino MKR1000 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkr1000USB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkr1000USB]
        platform = atmelsam
        board = mkr1000USB

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKR1000 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkr1000USB]
        platform = atmelsam
        board = mkr1000USB

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKR1000 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino MKRZERO

  Contents

    •   Arduino MKRZERO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrzero ID for projectconf_env_board option in projectconf:

        [env:mkrzero]
        platform = atmelsam
        board = mkrzero

You can override default Arduino MKRZERO settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrzero.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrzero]
        platform = atmelsam
        board = mkrzero

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino MKRZERO supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrzero]
        platform = atmelsam
        board = mkrzero

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino MKRZERO does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Tian

  Contents

    •   Arduino Tian

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use tian ID for projectconf_env_board option in projectconf:

        [env:tian]
        platform = atmelsam
        board = tian

You can override default Arduino Tian settings per build environment using board_*** option, where *** is a JSON object path from board manifest tian.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:tian]
        platform = atmelsam
        board = tian

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino Tian supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   stk500v2

Default protocol is stk500v2

You can change upload protocol using projectconf_upload_protocol option:

        [env:tian]
        platform = atmelsam
        board = tian

        upload_protocol = stk500v2

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Tian does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Zero (Programming/Debug Port)

  Contents

    •   Arduino Zero (Programming/Debug Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use zero ID for projectconf_env_board option in projectconf:

        [env:zero]
        platform = atmelsam
        board = zero

You can override default Arduino Zero (Programming/Debug Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest zero.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:zero]
        platform = atmelsam
        board = zero

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino Zero (Programming/Debug Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:zero]
        platform = atmelsam
        board = zero

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Zero (Programming/Debug Port) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Arduino Zero (USB Native Port)

  Contents

    •   Arduino Zero (USB Native Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use zeroUSB ID for projectconf_env_board option in projectconf:

        [env:zeroUSB]
        platform = atmelsam
        board = zeroUSB

You can override default Arduino Zero (USB Native Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest zeroUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:zeroUSB]
        platform = atmelsam
        board = zeroUSB

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Arduino Zero (USB Native Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:zeroUSB]
        platform = atmelsam
        board = zeroUSB

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Zero (USB Native Port) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Atmel ATSAMR21-XPRO

  Contents

    •   Atmel ATSAMR21-XPRO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMR21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Atmel

  Configuration

Please use samr21_xpro ID for projectconf_env_board option in projectconf:

        [env:samr21_xpro]
        platform = atmelsam
        board = samr21_xpro

You can override default Atmel ATSAMR21-XPRO settings per build environment using board_*** option, where *** is a JSON object path from board manifest samr21_xpro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:samr21_xpro]
        platform = atmelsam
        board = samr21_xpro

        ; change microcontroller
        board_build.mcu = samr21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Atmel ATSAMR21-XPRO supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:samr21_xpro]
        platform = atmelsam
        board = samr21_xpro

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Atmel ATSAMR21-XPRO has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Atmel ATSAMW25-XPRO

  Contents

    •   Atmel ATSAMW25-XPRO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Atmel

  Configuration

Please use samd21g18a ID for projectconf_env_board option in projectconf:

        [env:samd21g18a]
        platform = atmelsam
        board = samd21g18a

You can override default Atmel ATSAMW25-XPRO settings per build environment using board_*** option, where *** is a JSON object path from board manifest samd21g18a.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:samd21g18a]
        platform = atmelsam
        board = samd21g18a

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Atmel ATSAMW25-XPRO supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:samd21g18a]
        platform = atmelsam
        board = samd21g18a

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Atmel ATSAMW25-XPRO has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Atmel SAMC21-XPRO

  Contents

    •   Atmel SAMC21-XPRO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMC21J18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Atmel

  Configuration

Please use samc21_xpro ID for projectconf_env_board option in projectconf:

        [env:samc21_xpro]
        platform = atmelsam
        board = samc21_xpro

You can override default Atmel SAMC21-XPRO settings per build environment using board_*** option, where *** is a JSON object path from board manifest samc21_xpro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:samc21_xpro]
        platform = atmelsam
        board = samc21_xpro

        ; change microcontroller
        board_build.mcu = samc21j18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Atmel SAMC21-XPRO supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:samc21_xpro]
        platform = atmelsam
        board = samc21_xpro

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Atmel SAMC21-XPRO has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Atmel SAMD21-XPRO

  Contents

    •   Atmel SAMD21-XPRO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21J18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Atmel

  Configuration

Please use samd21_xpro ID for projectconf_env_board option in projectconf:

        [env:samd21_xpro]
        platform = atmelsam
        board = samd21_xpro

You can override default Atmel SAMD21-XPRO settings per build environment using board_*** option, where *** is a JSON object path from board manifest samd21_xpro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:samd21_xpro]
        platform = atmelsam
        board = samd21_xpro

        ; change microcontroller
        board_build.mcu = samd21j18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Atmel SAMD21-XPRO supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:samd21_xpro]
        platform = atmelsam
        board = samd21_xpro

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Atmel SAMD21-XPRO has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Atmel SAML21-XPRO-B

  Contents

    •   Atmel SAML21-XPRO-B

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAML21J18B
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Atmel

  Configuration

Please use saml21_xpro_b ID for projectconf_env_board option in projectconf:

        [env:saml21_xpro_b]
        platform = atmelsam
        board = saml21_xpro_b

You can override default Atmel SAML21-XPRO-B settings per build environment using board_*** option, where *** is a JSON object path from board manifest saml21_xpro_b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:saml21_xpro_b]
        platform = atmelsam
        board = saml21_xpro_b

        ; change microcontroller
        board_build.mcu = saml21j18b

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Atmel SAML21-XPRO-B supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:saml21_xpro_b]
        platform = atmelsam
        board = saml21_xpro_b

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Atmel SAML21-XPRO-B has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  |
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Briki ABC (MBC-WB) - Samd21

  Contents

    •   Briki ABC (MBC-WB) - Samd21

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | meteca

  Configuration

Please use briki_abc_samd21 ID for projectconf_env_board option in projectconf:

        [env:briki_abc_samd21]
        platform = atmelsam
        board = briki_abc_samd21

You can override default Briki ABC (MBC-WB) - Samd21 settings per build environment using board_*** option, where *** is a JSON object path from board manifest briki_abc_samd21.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:briki_abc_samd21]
        platform = atmelsam
        board = briki_abc_samd21

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Briki ABC (MBC-WB) - Samd21 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   mbctool

    •   sam-ba

    •   stk500v2

Default protocol is mbctool

You can change upload protocol using projectconf_upload_protocol option:

        [env:briki_abc_samd21]
        platform = atmelsam
        board = briki_abc_samd21

        upload_protocol = mbctool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Briki ABC (MBC-WB) - Samd21 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Briki MBC-WB - Samd21

  Contents

    •   Briki MBC-WB - Samd21

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | meteca

  Configuration

Please use briki_mbcwb_samd21 ID for projectconf_env_board option in projectconf:

        [env:briki_mbcwb_samd21]
        platform = atmelsam
        board = briki_mbcwb_samd21

You can override default Briki MBC-WB - Samd21 settings per build environment using board_*** option, where *** is a JSON object path from board manifest briki_mbcwb_samd21.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:briki_mbcwb_samd21]
        platform = atmelsam
        board = briki_mbcwb_samd21

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Briki MBC-WB - Samd21 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   mbctool

    •   sam-ba

    •   stk500v2

Default protocol is mbctool

You can change upload protocol using projectconf_upload_protocol option:

        [env:briki_mbcwb_samd21]
        platform = atmelsam
        board = briki_mbcwb_samd21

        upload_protocol = mbctool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Briki MBC-WB - Samd21 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digistump DigiX

  Contents

    •   Digistump DigiX

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | AT91SAM3X8E
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | Digistump

  Configuration

Please use digix ID for projectconf_env_board option in projectconf:

        [env:digix]
        platform = atmelsam
        board = digix

You can override default Digistump DigiX settings per build environment using board_*** option, where *** is a JSON object path from board manifest digix.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:digix]
        platform = atmelsam
        board = digix

        ; change microcontroller
        board_build.mcu = at91sam3x8e

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

Digistump DigiX supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

    •   stlink

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:digix]
        platform = atmelsam
        board = digix

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Digistump DigiX does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  LowPowerLab CurrentRanger

  Contents

    •   LowPowerLab CurrentRanger

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | LowPowerLab

  Configuration

Please use current_ranger ID for projectconf_env_board option in projectconf:

        [env:current_ranger]
        platform = atmelsam
        board = current_ranger

You can override default LowPowerLab CurrentRanger settings per build environment using board_*** option, where *** is a JSON object path from board manifest current_ranger.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:current_ranger]
        platform = atmelsam
        board = current_ranger

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support LowPowerLab CurrentRanger board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  MKR Vidor 4000

  Contents

    •   MKR Vidor 4000

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use mkrvidor4000 ID for projectconf_env_board option in projectconf:

        [env:mkrvidor4000]
        platform = atmelsam
        board = mkrvidor4000

You can override default MKR Vidor 4000 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkrvidor4000.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkrvidor4000]
        platform = atmelsam
        board = mkrvidor4000

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

MKR Vidor 4000 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkrvidor4000]
        platform = atmelsam
        board = mkrvidor4000

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MKR Vidor 4000 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Minitronics v2.0

  Contents

    •   Minitronics v2.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21J18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | ReprapWorld

  Configuration

Please use minitronics20 ID for projectconf_env_board option in projectconf:

        [env:minitronics20]
        platform = atmelsam
        board = minitronics20

You can override default Minitronics v2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest minitronics20.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:minitronics20]
        platform = atmelsam
        board = minitronics20

        ; change microcontroller
        board_build.mcu = samd21j18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Minitronics v2.0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:minitronics20]
        platform = atmelsam
        board = minitronics20

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Minitronics v2.0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Moteino M0

  Contents

    •   Moteino M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | LowPowerLab

  Configuration

Please use moteino_zero ID for projectconf_env_board option in projectconf:

        [env:moteino_zero]
        platform = atmelsam
        board = moteino_zero

You can override default Moteino M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest moteino_zero.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:moteino_zero]
        platform = atmelsam
        board = moteino_zero

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Moteino M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:moteino_zero]
        platform = atmelsam
        board = moteino_zero

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Moteino M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  NANO 33 IoT

  Contents

    •   NANO 33 IoT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Arduino

  Configuration

Please use nano_33_iot ID for projectconf_env_board option in projectconf:

        [env:nano_33_iot]
        platform = atmelsam
        board = nano_33_iot

You can override default NANO 33 IoT settings per build environment using board_*** option, where *** is a JSON object path from board manifest nano_33_iot.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nano_33_iot]
        platform = atmelsam
        board = nano_33_iot

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

NANO 33 IoT supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:nano_33_iot]
        platform = atmelsam
        board = nano_33_iot

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NANO 33 IoT does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ Autonomo

  Contents

    •   SODAQ Autonomo

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21J18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SODAQ

  Configuration

Please use sodaq_autonomo ID for projectconf_env_board option in projectconf:

        [env:sodaq_autonomo]
        platform = atmelsam
        board = sodaq_autonomo

You can override default SODAQ Autonomo settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_autonomo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_autonomo]
        platform = atmelsam
        board = sodaq_autonomo

        ; change microcontroller
        board_build.mcu = samd21j18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SODAQ Autonomo supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sodaq_autonomo]
        platform = atmelsam
        board = sodaq_autonomo

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ Autonomo does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ ExpLoRer

  Contents

    •   SODAQ ExpLoRer

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21J18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SODAQ

  Configuration

Please use sodaq_explorer ID for projectconf_env_board option in projectconf:

        [env:sodaq_explorer]
        platform = atmelsam
        board = sodaq_explorer

You can override default SODAQ ExpLoRer settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_explorer.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_explorer]
        platform = atmelsam
        board = sodaq_explorer

        ; change microcontroller
        board_build.mcu = samd21j18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SODAQ ExpLoRer supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sodaq_explorer]
        platform = atmelsam
        board = sodaq_explorer

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ ExpLoRer does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ ONE

  Contents

    •   SODAQ ONE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SODAQ

  Configuration

Please use sodaq_one ID for projectconf_env_board option in projectconf:

        [env:sodaq_one]
        platform = atmelsam
        board = sodaq_one

You can override default SODAQ ONE settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_one.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_one]
        platform = atmelsam
        board = sodaq_one

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SODAQ ONE supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sodaq_one]
        platform = atmelsam
        board = sodaq_one

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ ONE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ SARA

  Contents

    •   SODAQ SARA

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21J18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SODAQ

  Configuration

Please use sodaq_sara ID for projectconf_env_board option in projectconf:

        [env:sodaq_sara]
        platform = atmelsam
        board = sodaq_sara

You can override default SODAQ SARA settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_sara.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_sara]
        platform = atmelsam
        board = sodaq_sara

        ; change microcontroller
        board_build.mcu = samd21j18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SODAQ SARA supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sodaq_sara]
        platform = atmelsam
        board = sodaq_sara

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ SARA does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SODAQ SFF

  Contents

    •   SODAQ SFF

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SODAQ

  Configuration

Please use sodaq_sff ID for projectconf_env_board option in projectconf:

        [env:sodaq_sff]
        platform = atmelsam
        board = sodaq_sff

You can override default SODAQ SFF settings per build environment using board_*** option, where *** is a JSON object path from board manifest sodaq_sff.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sodaq_sff]
        platform = atmelsam
        board = sodaq_sff

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SODAQ SFF supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sodaq_sff]
        platform = atmelsam
        board = sodaq_sff

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SODAQ SFF does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SainSmart Due (Programming Port)

  Contents

    •   SainSmart Due (Programming Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | AT91SAM3X8E
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | SainSmart

  Configuration

Please use sainSmartDue ID for projectconf_env_board option in projectconf:

        [env:sainSmartDue]
        platform = atmelsam
        board = sainSmartDue

You can override default SainSmart Due (Programming Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sainSmartDue.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sainSmartDue]
        platform = atmelsam
        board = sainSmartDue

        ; change microcontroller
        board_build.mcu = at91sam3x8e

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

SainSmart Due (Programming Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

    •   stlink

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sainSmartDue]
        platform = atmelsam
        board = sainSmartDue

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SainSmart Due (Programming Port) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SainSmart Due (USB Native Port)

  Contents

    •   SainSmart Due (USB Native Port)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | AT91SAM3X8E
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | SainSmart

  Configuration

Please use sainSmartDueUSB ID for projectconf_env_board option in projectconf:

        [env:sainSmartDueUSB]
        platform = atmelsam
        board = sainSmartDueUSB

You can override default SainSmart Due (USB Native Port) settings per build environment using board_*** option, where *** is a JSON object path from board manifest sainSmartDueUSB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sainSmartDueUSB]
        platform = atmelsam
        board = sainSmartDueUSB

        ; change microcontroller
        board_build.mcu = at91sam3x8e

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

SainSmart Due (USB Native Port) supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

    •   stlink

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sainSmartDueUSB]
        platform = atmelsam
        board = sainSmartDueUSB

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SainSmart Due (USB Native Port) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Seeeduino LoRaWAN

  Contents

    •   Seeeduino LoRaWAN

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Seeed

  Configuration

Please use seeeduino_lorawan ID for projectconf_env_board option in projectconf:

        [env:seeeduino_lorawan]
        platform = atmelsam
        board = seeeduino_lorawan

You can override default Seeeduino LoRaWAN settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeeduino_lorawan.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeeduino_lorawan]
        platform = atmelsam
        board = seeeduino_lorawan

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Seeeduino LoRaWAN supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:seeeduino_lorawan]
        platform = atmelsam
        board = seeeduino_lorawan

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeeduino LoRaWAN does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun 9DoF Razor IMU M0

  Contents

    •   SparkFun 9DoF Razor IMU M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use sparkfun_samd21_9dof ID for projectconf_env_board option in projectconf:

        [env:sparkfun_samd21_9dof]
        platform = atmelsam
        board = sparkfun_samd21_9dof

You can override default SparkFun 9DoF Razor IMU M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_samd21_9dof.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_samd21_9dof]
        platform = atmelsam
        board = sparkfun_samd21_9dof

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SparkFun 9DoF Razor IMU M0 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_samd21_9dof]
        platform = atmelsam
        board = sparkfun_samd21_9dof

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun 9DoF Razor IMU M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun Qwiic Micro

  Contents

    •   SparkFun Qwiic Micro

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21E18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use sparkfun_qwiic_micro_samd21e ID for projectconf_env_board option in projectconf:

        [env:sparkfun_qwiic_micro_samd21e]
        platform = atmelsam
        board = sparkfun_qwiic_micro_samd21e

You can override default SparkFun Qwiic Micro settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_qwiic_micro_samd21e.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_qwiic_micro_samd21e]
        platform = atmelsam
        board = sparkfun_qwiic_micro_samd21e

        ; change microcontroller
        board_build.mcu = samd21e18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SparkFun Qwiic Micro supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_qwiic_micro_samd21e]
        platform = atmelsam
        board = sparkfun_qwiic_micro_samd21e

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun Qwiic Micro does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun RedBoard Turbo

  Contents

    •   SparkFun RedBoard Turbo

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use sparkfun_redboard_turbo ID for projectconf_env_board option in projectconf:

        [env:sparkfun_redboard_turbo]
        platform = atmelsam
        board = sparkfun_redboard_turbo

You can override default SparkFun RedBoard Turbo settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_redboard_turbo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_redboard_turbo]
        platform = atmelsam
        board = sparkfun_redboard_turbo

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SparkFun RedBoard Turbo supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_redboard_turbo]
        platform = atmelsam
        board = sparkfun_redboard_turbo

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun RedBoard Turbo does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun SAMD21 Dev Breakout

  Contents

    •   SparkFun SAMD21 Dev Breakout

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use sparkfun_samd21_dev_usb ID for projectconf_env_board option in projectconf:

        [env:sparkfun_samd21_dev_usb]
        platform = atmelsam
        board = sparkfun_samd21_dev_usb

You can override default SparkFun SAMD21 Dev Breakout settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_samd21_dev_usb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_samd21_dev_usb]
        platform = atmelsam
        board = sparkfun_samd21_dev_usb

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SparkFun SAMD21 Dev Breakout supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_samd21_dev_usb]
        platform = atmelsam
        board = sparkfun_samd21_dev_usb

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun SAMD21 Dev Breakout does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun SAMD21 Mini Breakout

  Contents

    •   SparkFun SAMD21 Mini Breakout

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use sparkfun_samd21_mini_usb ID for projectconf_env_board option in projectconf:

        [env:sparkfun_samd21_mini_usb]
        platform = atmelsam
        board = sparkfun_samd21_mini_usb

You can override default SparkFun SAMD21 Mini Breakout settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_samd21_mini_usb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_samd21_mini_usb]
        platform = atmelsam
        board = sparkfun_samd21_mini_usb

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SparkFun SAMD21 Mini Breakout supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_samd21_mini_usb]
        platform = atmelsam
        board = sparkfun_samd21_mini_usb

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun SAMD21 Mini Breakout does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SparkFun SAMD21 Pro RF

  Contents

    •   SparkFun SAMD21 Pro RF

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use sparkfun_samd21_proRF ID for projectconf_env_board option in projectconf:

        [env:sparkfun_samd21_proRF]
        platform = atmelsam
        board = sparkfun_samd21_proRF

You can override default SparkFun SAMD21 Pro RF settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_samd21_proRF.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_samd21_proRF]
        platform = atmelsam
        board = sparkfun_samd21_proRF

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

SparkFun SAMD21 Pro RF supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_samd21_proRF]
        platform = atmelsam
        board = sparkfun_samd21_proRF

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun SAMD21 Pro RF does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Tuino 096

  Contents

    •   Tuino 096

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_atmelsam: Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Microcontroller | SAMD21G18A
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Gimasi

  Configuration

Please use tuinozero96 ID for projectconf_env_board option in projectconf:

        [env:tuinozero96]
        platform = atmelsam
        board = tuinozero96

You can override default Tuino 096 settings per build environment using board_*** option, where *** is a JSON object path from board manifest tuinozero96.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:tuinozero96]
        platform = atmelsam
        board = tuinozero96

        ; change microcontroller
        board_build.mcu = samd21g18a

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Tuino 096 supports the next uploading protocols:

    •   atmel-ice

    •   blackmagic

    •   jlink

    •   stk500v2

Default protocol is stk500v2

You can change upload protocol using projectconf_upload_protocol option:

        [env:tuinozero96]
        platform = atmelsam
        board = tuinozero96

        upload_protocol = stk500v2

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Tuino 096 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_atmel-ice |  | Yes
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Espressif 32

  AI Thinker ESP32-CAM

  Contents

    •   AI Thinker ESP32-CAM

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | AI Thinker

  Configuration

Please use esp32cam ID for projectconf_env_board option in projectconf:

        [env:esp32cam]
        platform = espressif32
        board = esp32cam

You can override default AI Thinker ESP32-CAM settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32cam.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32cam]
        platform = espressif32
        board = esp32cam

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

AI Thinker ESP32-CAM supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32cam]
        platform = espressif32
        board = esp32cam

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

AI Thinker ESP32-CAM does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ALKS ESP32

  Contents

    •   ALKS ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | RoboticsBrno

  Configuration

Please use alksesp32 ID for projectconf_env_board option in projectconf:

        [env:alksesp32]
        platform = espressif32
        board = alksesp32

You can override default ALKS ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest alksesp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:alksesp32]
        platform = espressif32
        board = alksesp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ALKS ESP32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:alksesp32]
        platform = espressif32
        board = alksesp32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ALKS ESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  AZ-Delivery ESP-32 Dev Kit C V4

  Contents

    •   AZ-Delivery ESP-32 Dev Kit C V4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 520KB
Vendor | AZ-Delivery

  Configuration

Please use az-delivery-devkit-v4 ID for projectconf_env_board option in projectconf:

        [env:az-delivery-devkit-v4]
        platform = espressif32
        board = az-delivery-devkit-v4

You can override default AZ-Delivery ESP-32 Dev Kit C V4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest az-delivery-devkit-v4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:az-delivery-devkit-v4]
        platform = espressif32
        board = az-delivery-devkit-v4

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

AZ-Delivery ESP-32 Dev Kit C V4 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:az-delivery-devkit-v4]
        platform = espressif32
        board = az-delivery-devkit-v4

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

AZ-Delivery ESP-32 Dev Kit C V4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Adafruit ESP32 Feather

  Contents

    •   Adafruit ESP32 Feather

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Adafruit

  Configuration

Please use featheresp32 ID for projectconf_env_board option in projectconf:

        [env:featheresp32]
        platform = espressif32
        board = featheresp32

You can override default Adafruit ESP32 Feather settings per build environment using board_*** option, where *** is a JSON object path from board manifest featheresp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:featheresp32]
        platform = espressif32
        board = featheresp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Adafruit ESP32 Feather supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:featheresp32]
        platform = espressif32
        board = featheresp32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit ESP32 Feather does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  April Brother ESPea32

  Contents

    •   April Brother ESPea32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | April Brother

  Configuration

Please use espea32 ID for projectconf_env_board option in projectconf:

        [env:espea32]
        platform = espressif32
        board = espea32

You can override default April Brother ESPea32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest espea32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espea32]
        platform = espressif32
        board = espea32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

April Brother ESPea32 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espea32]
        platform = espressif32
        board = espea32

        upload_protocol = esptool

  Debugging

piodebug currently does not support April Brother ESPea32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  BPI-Bit

  Contents

    •   BPI-Bit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 160MHz
Flash | 4MB
RAM | 320KB
Vendor | BPI Tech

  Configuration

Please use bpi-bit ID for projectconf_env_board option in projectconf:

        [env:bpi-bit]
        platform = espressif32
        board = bpi-bit

You can override default BPI-Bit settings per build environment using board_*** option, where *** is a JSON object path from board manifest bpi-bit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bpi-bit]
        platform = espressif32
        board = bpi-bit

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 160000000L

  Uploading

BPI-Bit supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:bpi-bit]
        platform = espressif32
        board = bpi-bit

        upload_protocol = esptool

  Debugging

piodebug currently does not support BPI-Bit board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Briki ABC (MBC-WB) - ESP32

  Contents

    •   Briki ABC (MBC-WB) - ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 3.25MB
RAM | 320KB
Vendor | meteca

  Configuration

Please use briki_abc_esp32 ID for projectconf_env_board option in projectconf:

        [env:briki_abc_esp32]
        platform = espressif32
        board = briki_abc_esp32

You can override default Briki ABC (MBC-WB) - ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest briki_abc_esp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:briki_abc_esp32]
        platform = espressif32
        board = briki_abc_esp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Briki ABC (MBC-WB) - ESP32 supports the next uploading protocols:

    •   esp-prog

    •   iot-bus-jtag

    •   jlink

    •   mbctool

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is mbctool

You can change upload protocol using projectconf_upload_protocol option:

        [env:briki_abc_esp32]
        platform = espressif32
        board = briki_abc_esp32

        upload_protocol = mbctool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Briki ABC (MBC-WB) - ESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Briki MBC-WB - ESP32

  Contents

    •   Briki MBC-WB - ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 3.25MB
RAM | 320KB
Vendor | meteca

  Configuration

Please use briki_mbc-wb_esp32 ID for projectconf_env_board option in projectconf:

        [env:briki_mbc-wb_esp32]
        platform = espressif32
        board = briki_mbc-wb_esp32

You can override default Briki MBC-WB - ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest briki_mbc-wb_esp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:briki_mbc-wb_esp32]
        platform = espressif32
        board = briki_mbc-wb_esp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Briki MBC-WB - ESP32 supports the next uploading protocols:

    •   esp-prog

    •   iot-bus-jtag

    •   jlink

    •   mbctool

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is mbctool

You can change upload protocol using projectconf_upload_protocol option:

        [env:briki_mbc-wb_esp32]
        platform = espressif32
        board = briki_mbc-wb_esp32

        upload_protocol = mbctool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Briki MBC-WB - ESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  D-duino-32

  Contents

    •   D-duino-32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | DSTIKE

  Configuration

Please use d-duino-32 ID for projectconf_env_board option in projectconf:

        [env:d-duino-32]
        platform = espressif32
        board = d-duino-32

You can override default D-duino-32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest d-duino-32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:d-duino-32]
        platform = espressif32
        board = d-duino-32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

D-duino-32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:d-duino-32]
        platform = espressif32
        board = d-duino-32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

D-duino-32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  DOIT ESP32 DEVKIT V1

  Contents

    •   DOIT ESP32 DEVKIT V1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | DOIT

  Configuration

Please use esp32doit-devkit-v1 ID for projectconf_env_board option in projectconf:

        [env:esp32doit-devkit-v1]
        platform = espressif32
        board = esp32doit-devkit-v1

You can override default DOIT ESP32 DEVKIT V1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32doit-devkit-v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32doit-devkit-v1]
        platform = espressif32
        board = esp32doit-devkit-v1

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

DOIT ESP32 DEVKIT V1 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32doit-devkit-v1]
        platform = espressif32
        board = esp32doit-devkit-v1

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

DOIT ESP32 DEVKIT V1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Dongsen Tech Pocket 32

  Contents

    •   Dongsen Tech Pocket 32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Dongsen Technology

  Configuration

Please use pocket_32 ID for projectconf_env_board option in projectconf:

        [env:pocket_32]
        platform = espressif32
        board = pocket_32

You can override default Dongsen Tech Pocket 32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest pocket_32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pocket_32]
        platform = espressif32
        board = pocket_32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Dongsen Tech Pocket 32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:pocket_32]
        platform = espressif32
        board = pocket_32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Dongsen Tech Pocket 32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ESP32 FM DevKit

  Contents

    •   ESP32 FM DevKit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Unknown

  Configuration

Please use fm-devkit ID for projectconf_env_board option in projectconf:

        [env:fm-devkit]
        platform = espressif32
        board = fm-devkit

You can override default ESP32 FM DevKit settings per build environment using board_*** option, where *** is a JSON object path from board manifest fm-devkit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fm-devkit]
        platform = espressif32
        board = fm-devkit

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ESP32 FM DevKit supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:fm-devkit]
        platform = espressif32
        board = fm-devkit

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ESP32 FM DevKit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ESP32 Pico Kit

  Contents

    •   ESP32 Pico Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Espressif

  Configuration

Please use pico32 ID for projectconf_env_board option in projectconf:

        [env:pico32]
        platform = espressif32
        board = pico32

You can override default ESP32 Pico Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest pico32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pico32]
        platform = espressif32
        board = pico32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ESP32 Pico Kit supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:pico32]
        platform = espressif32
        board = pico32

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESP32 Pico Kit board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ESP32vn IoT Uno

  Contents

    •   ESP32vn IoT Uno

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | ESP32vn

  Configuration

Please use esp32vn-iot-uno ID for projectconf_env_board option in projectconf:

        [env:esp32vn-iot-uno]
        platform = espressif32
        board = esp32vn-iot-uno

You can override default ESP32vn IoT Uno settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32vn-iot-uno.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32vn-iot-uno]
        platform = espressif32
        board = esp32vn-iot-uno

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ESP32vn IoT Uno supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32vn-iot-uno]
        platform = espressif32
        board = esp32vn-iot-uno

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ESP32vn IoT Uno does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ESPectro32

  Contents

    •   ESPectro32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | DycodeX

  Configuration

Please use espectro32 ID for projectconf_env_board option in projectconf:

        [env:espectro32]
        platform = espressif32
        board = espectro32

You can override default ESPectro32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest espectro32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espectro32]
        platform = espressif32
        board = espectro32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ESPectro32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espectro32]
        platform = espressif32
        board = espectro32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ESPectro32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ESPino32

  Contents

    •   ESPino32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | ThaiEasyElec

  Configuration

Please use espino32 ID for projectconf_env_board option in projectconf:

        [env:espino32]
        platform = espressif32
        board = espino32

You can override default ESPino32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest espino32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espino32]
        platform = espressif32
        board = espino32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ESPino32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espino32]
        platform = espressif32
        board = espino32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ESPino32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Electronic SweetPeas ESP320

  Contents

    •   Electronic SweetPeas ESP320

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Electronic SweetPeas

  Configuration

Please use esp320 ID for projectconf_env_board option in projectconf:

        [env:esp320]
        platform = espressif32
        board = esp320

You can override default Electronic SweetPeas ESP320 settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp320.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp320]
        platform = espressif32
        board = esp320

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Electronic SweetPeas ESP320 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp320]
        platform = espressif32
        board = esp320

        upload_protocol = esptool

  Debugging

piodebug currently does not support Electronic SweetPeas ESP320 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Espressif ESP-WROVER-KIT

  Contents

    •   Espressif ESP-WROVER-KIT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Espressif

  Configuration

Please use esp-wrover-kit ID for projectconf_env_board option in projectconf:

        [env:esp-wrover-kit]
        platform = espressif32
        board = esp-wrover-kit

You can override default Espressif ESP-WROVER-KIT settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp-wrover-kit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp-wrover-kit]
        platform = espressif32
        board = esp-wrover-kit

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Espressif ESP-WROVER-KIT supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   ftdi

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp-wrover-kit]
        platform = espressif32
        board = esp-wrover-kit

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Espressif ESP-WROVER-KIT has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  |
debugging_tool_ftdi | Yes | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Espressif ESP32 Dev Module

  Contents

    •   Espressif ESP32 Dev Module

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Espressif

  Configuration

Please use esp32dev ID for projectconf_env_board option in projectconf:

        [env:esp32dev]
        platform = espressif32
        board = esp32dev

You can override default Espressif ESP32 Dev Module settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32dev.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32dev]
        platform = espressif32
        board = esp32dev

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Espressif ESP32 Dev Module supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32dev]
        platform = espressif32
        board = esp32dev

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Espressif ESP32 Dev Module does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  FireBeetle-ESP32

  Contents

    •   FireBeetle-ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | DFRobot

  Configuration

Please use firebeetle32 ID for projectconf_env_board option in projectconf:

        [env:firebeetle32]
        platform = espressif32
        board = firebeetle32

You can override default FireBeetle-ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest firebeetle32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:firebeetle32]
        platform = espressif32
        board = firebeetle32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

FireBeetle-ESP32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:firebeetle32]
        platform = espressif32
        board = firebeetle32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

FireBeetle-ESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Frog Board ESP32

  Contents

    •   Frog Board ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Fred

  Configuration

Please use frogboard ID for projectconf_env_board option in projectconf:

        [env:frogboard]
        platform = espressif32
        board = frogboard

You can override default Frog Board ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest frogboard.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frogboard]
        platform = espressif32
        board = frogboard

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Frog Board ESP32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:frogboard]
        platform = espressif32
        board = frogboard

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Frog Board ESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Heltec WiFi Kit 32

  Contents

    •   Heltec WiFi Kit 32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Heltec Automation

  Configuration

Please use heltec_wifi_kit_32 ID for projectconf_env_board option in projectconf:

        [env:heltec_wifi_kit_32]
        platform = espressif32
        board = heltec_wifi_kit_32

You can override default Heltec WiFi Kit 32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest heltec_wifi_kit_32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:heltec_wifi_kit_32]
        platform = espressif32
        board = heltec_wifi_kit_32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Heltec WiFi Kit 32 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:heltec_wifi_kit_32]
        platform = espressif32
        board = heltec_wifi_kit_32

        upload_protocol = esptool

  Debugging

piodebug currently does not support Heltec WiFi Kit 32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Heltec WiFi LoRa 32

  Contents

    •   Heltec WiFi LoRa 32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Heltec Automation

  Configuration

Please use heltec_wifi_lora_32 ID for projectconf_env_board option in projectconf:

        [env:heltec_wifi_lora_32]
        platform = espressif32
        board = heltec_wifi_lora_32

You can override default Heltec WiFi LoRa 32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest heltec_wifi_lora_32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:heltec_wifi_lora_32]
        platform = espressif32
        board = heltec_wifi_lora_32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Heltec WiFi LoRa 32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:heltec_wifi_lora_32]
        platform = espressif32
        board = heltec_wifi_lora_32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Heltec WiFi LoRa 32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Heltec WiFi LoRa 32 (V2)

  Contents

    •   Heltec WiFi LoRa 32 (V2)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 8MB
RAM | 320KB
Vendor | Heltec Automation

  Configuration

Please use heltec_wifi_lora_32_V2 ID for projectconf_env_board option in projectconf:

        [env:heltec_wifi_lora_32_V2]
        platform = espressif32
        board = heltec_wifi_lora_32_V2

You can override default Heltec WiFi LoRa 32 (V2) settings per build environment using board_*** option, where *** is a JSON object path from board manifest heltec_wifi_lora_32_V2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:heltec_wifi_lora_32_V2]
        platform = espressif32
        board = heltec_wifi_lora_32_V2

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Heltec WiFi LoRa 32 (V2) supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:heltec_wifi_lora_32_V2]
        platform = espressif32
        board = heltec_wifi_lora_32_V2

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Heltec WiFi LoRa 32 (V2) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Heltec Wireless Stick

  Contents

    •   Heltec Wireless Stick

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 8MB
RAM | 320KB
Vendor | Heltec Automation

  Configuration

Please use heltec_wireless_stick ID for projectconf_env_board option in projectconf:

        [env:heltec_wireless_stick]
        platform = espressif32
        board = heltec_wireless_stick

You can override default Heltec Wireless Stick settings per build environment using board_*** option, where *** is a JSON object path from board manifest heltec_wireless_stick.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:heltec_wireless_stick]
        platform = espressif32
        board = heltec_wireless_stick

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Heltec Wireless Stick supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:heltec_wireless_stick]
        platform = espressif32
        board = heltec_wireless_stick

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Heltec Wireless Stick does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Hornbill ESP32 Dev

  Contents

    •   Hornbill ESP32 Dev

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Hornbill

  Configuration

Please use hornbill32dev ID for projectconf_env_board option in projectconf:

        [env:hornbill32dev]
        platform = espressif32
        board = hornbill32dev

You can override default Hornbill ESP32 Dev settings per build environment using board_*** option, where *** is a JSON object path from board manifest hornbill32dev.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hornbill32dev]
        platform = espressif32
        board = hornbill32dev

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Hornbill ESP32 Dev supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:hornbill32dev]
        platform = espressif32
        board = hornbill32dev

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Hornbill ESP32 Dev does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Hornbill ESP32 Minima

  Contents

    •   Hornbill ESP32 Minima

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Hornbill

  Configuration

Please use hornbill32minima ID for projectconf_env_board option in projectconf:

        [env:hornbill32minima]
        platform = espressif32
        board = hornbill32minima

You can override default Hornbill ESP32 Minima settings per build environment using board_*** option, where *** is a JSON object path from board manifest hornbill32minima.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hornbill32minima]
        platform = espressif32
        board = hornbill32minima

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Hornbill ESP32 Minima supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:hornbill32minima]
        platform = espressif32
        board = hornbill32minima

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Hornbill ESP32 Minima does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  IntoRobot Fig

  Contents

    •   IntoRobot Fig

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | IntoRobot

  Configuration

Please use intorobot ID for projectconf_env_board option in projectconf:

        [env:intorobot]
        platform = espressif32
        board = intorobot

You can override default IntoRobot Fig settings per build environment using board_*** option, where *** is a JSON object path from board manifest intorobot.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:intorobot]
        platform = espressif32
        board = intorobot

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

IntoRobot Fig supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:intorobot]
        platform = espressif32
        board = intorobot

        upload_protocol = esptool

  Debugging

piodebug currently does not support IntoRobot Fig board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  IoTaaP Magnolia

  Contents

    •   IoTaaP Magnolia

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | IoTaaP

  Configuration

Please use iotaap_magnolia ID for projectconf_env_board option in projectconf:

        [env:iotaap_magnolia]
        platform = espressif32
        board = iotaap_magnolia

You can override default IoTaaP Magnolia settings per build environment using board_*** option, where *** is a JSON object path from board manifest iotaap_magnolia.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:iotaap_magnolia]
        platform = espressif32
        board = iotaap_magnolia

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

IoTaaP Magnolia supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:iotaap_magnolia]
        platform = espressif32
        board = iotaap_magnolia

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

IoTaaP Magnolia does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  M5Stack Core ESP32

  Contents

    •   M5Stack Core ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | M5Stack

  Configuration

Please use m5stack-core-esp32 ID for projectconf_env_board option in projectconf:

        [env:m5stack-core-esp32]
        platform = espressif32
        board = m5stack-core-esp32

You can override default M5Stack Core ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest m5stack-core-esp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:m5stack-core-esp32]
        platform = espressif32
        board = m5stack-core-esp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

M5Stack Core ESP32 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:m5stack-core-esp32]
        platform = espressif32
        board = m5stack-core-esp32

        upload_protocol = esptool

  Debugging

piodebug currently does not support M5Stack Core ESP32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  M5Stack FIRE

  Contents

    •   M5Stack FIRE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 6.25MB
Vendor | M5Stack

  Configuration

Please use m5stack-fire ID for projectconf_env_board option in projectconf:

        [env:m5stack-fire]
        platform = espressif32
        board = m5stack-fire

You can override default M5Stack FIRE settings per build environment using board_*** option, where *** is a JSON object path from board manifest m5stack-fire.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:m5stack-fire]
        platform = espressif32
        board = m5stack-fire

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

M5Stack FIRE supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:m5stack-fire]
        platform = espressif32
        board = m5stack-fire

        upload_protocol = esptool

  Debugging

piodebug currently does not support M5Stack FIRE board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  M5Stack GREY ESP32

  Contents

    •   M5Stack GREY ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 520KB
Vendor | M5Stack

  Configuration

Please use m5stack-grey ID for projectconf_env_board option in projectconf:

        [env:m5stack-grey]
        platform = espressif32
        board = m5stack-grey

You can override default M5Stack GREY ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest m5stack-grey.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:m5stack-grey]
        platform = espressif32
        board = m5stack-grey

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

M5Stack GREY ESP32 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:m5stack-grey]
        platform = espressif32
        board = m5stack-grey

        upload_protocol = esptool

  Debugging

piodebug currently does not support M5Stack GREY ESP32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  M5Stick-C

  Contents

    •   M5Stick-C

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | M5Stack

  Configuration

Please use m5stick-c ID for projectconf_env_board option in projectconf:

        [env:m5stick-c]
        platform = espressif32
        board = m5stick-c

You can override default M5Stick-C settings per build environment using board_*** option, where *** is a JSON object path from board manifest m5stick-c.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:m5stick-c]
        platform = espressif32
        board = m5stick-c

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

M5Stick-C supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:m5stick-c]
        platform = espressif32
        board = m5stick-c

        upload_protocol = esptool

  Debugging

piodebug currently does not support M5Stick-C board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  MH ET LIVE ESP32DevKIT

  Contents

    •   MH ET LIVE ESP32DevKIT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | MH-ET Live

  Configuration

Please use mhetesp32devkit ID for projectconf_env_board option in projectconf:

        [env:mhetesp32devkit]
        platform = espressif32
        board = mhetesp32devkit

You can override default MH ET LIVE ESP32DevKIT settings per build environment using board_*** option, where *** is a JSON object path from board manifest mhetesp32devkit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mhetesp32devkit]
        platform = espressif32
        board = mhetesp32devkit

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

MH ET LIVE ESP32DevKIT supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:mhetesp32devkit]
        platform = espressif32
        board = mhetesp32devkit

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MH ET LIVE ESP32DevKIT does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  MH ET LIVE ESP32MiniKit

  Contents

    •   MH ET LIVE ESP32MiniKit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | MH-ET Live

  Configuration

Please use mhetesp32minikit ID for projectconf_env_board option in projectconf:

        [env:mhetesp32minikit]
        platform = espressif32
        board = mhetesp32minikit

You can override default MH ET LIVE ESP32MiniKit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mhetesp32minikit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mhetesp32minikit]
        platform = espressif32
        board = mhetesp32minikit

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

MH ET LIVE ESP32MiniKit supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:mhetesp32minikit]
        platform = espressif32
        board = mhetesp32minikit

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MH ET LIVE ESP32MiniKit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  MagicBit

  Contents

    •   MagicBit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Magicblocks.io

  Configuration

Please use magicbit ID for projectconf_env_board option in projectconf:

        [env:magicbit]
        platform = espressif32
        board = magicbit

You can override default MagicBit settings per build environment using board_*** option, where *** is a JSON object path from board manifest magicbit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:magicbit]
        platform = espressif32
        board = magicbit

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

MagicBit supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:magicbit]
        platform = espressif32
        board = magicbit

        upload_protocol = esptool

  Debugging

piodebug currently does not support MagicBit board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  MakerAsia Nano32

  Contents

    •   MakerAsia Nano32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | MakerAsia

  Configuration

Please use nano32 ID for projectconf_env_board option in projectconf:

        [env:nano32]
        platform = espressif32
        board = nano32

You can override default MakerAsia Nano32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nano32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nano32]
        platform = espressif32
        board = nano32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

MakerAsia Nano32 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:nano32]
        platform = espressif32
        board = nano32

        upload_protocol = esptool

  Debugging

piodebug currently does not support MakerAsia Nano32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_pumbaa | Pumbaa is Python on top of Simba. The implementation is a port of MicroPython, designed for embedded devices with limited amount of RAM and code memory.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Microduino Core ESP32

  Contents

    •   Microduino Core ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Microduino

  Configuration

Please use microduino-core-esp32 ID for projectconf_env_board option in projectconf:

        [env:microduino-core-esp32]
        platform = espressif32
        board = microduino-core-esp32

You can override default Microduino Core ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest microduino-core-esp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:microduino-core-esp32]
        platform = espressif32
        board = microduino-core-esp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Microduino Core ESP32 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:microduino-core-esp32]
        platform = espressif32
        board = microduino-core-esp32

        upload_protocol = esptool

  Debugging

piodebug currently does not support Microduino Core ESP32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Node32s

  Contents

    •   Node32s

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Aiyarafun

  Configuration

Please use node32s ID for projectconf_env_board option in projectconf:

        [env:node32s]
        platform = espressif32
        board = node32s

You can override default Node32s settings per build environment using board_*** option, where *** is a JSON object path from board manifest node32s.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:node32s]
        platform = espressif32
        board = node32s

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Node32s supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:node32s]
        platform = espressif32
        board = node32s

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Node32s does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  NodeMCU-32S

  Contents

    •   NodeMCU-32S

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | NodeMCU

  Configuration

Please use nodemcu-32s ID for projectconf_env_board option in projectconf:

        [env:nodemcu-32s]
        platform = espressif32
        board = nodemcu-32s

You can override default NodeMCU-32S settings per build environment using board_*** option, where *** is a JSON object path from board manifest nodemcu-32s.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nodemcu-32s]
        platform = espressif32
        board = nodemcu-32s

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

NodeMCU-32S supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:nodemcu-32s]
        platform = espressif32
        board = nodemcu-32s

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NodeMCU-32S does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Noduino Quantum

  Contents

    •   Noduino Quantum

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 320KB
Vendor | Noduino

  Configuration

Please use quantum ID for projectconf_env_board option in projectconf:

        [env:quantum]
        platform = espressif32
        board = quantum

You can override default Noduino Quantum settings per build environment using board_*** option, where *** is a JSON object path from board manifest quantum.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:quantum]
        platform = espressif32
        board = quantum

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Noduino Quantum supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:quantum]
        platform = espressif32
        board = quantum

        upload_protocol = esptool

  Debugging

piodebug currently does not support Noduino Quantum board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  ODROID-GO

  Contents

    •   ODROID-GO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 320KB
Vendor | Hardkernel

  Configuration

Please use odroid_esp32 ID for projectconf_env_board option in projectconf:

        [env:odroid_esp32]
        platform = espressif32
        board = odroid_esp32

You can override default ODROID-GO settings per build environment using board_*** option, where *** is a JSON object path from board manifest odroid_esp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:odroid_esp32]
        platform = espressif32
        board = odroid_esp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

ODROID-GO supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:odroid_esp32]
        platform = espressif32
        board = odroid_esp32

        upload_protocol = esptool

  Debugging

piodebug currently does not support ODROID-GO board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OLIMEX ESP32-DevKit-LiPo

  Contents

    •   OLIMEX ESP32-DevKit-LiPo

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OLIMEX

  Configuration

Please use esp32-devkitlipo ID for projectconf_env_board option in projectconf:

        [env:esp32-devkitlipo]
        platform = espressif32
        board = esp32-devkitlipo

You can override default OLIMEX ESP32-DevKit-LiPo settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32-devkitlipo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32-devkitlipo]
        platform = espressif32
        board = esp32-devkitlipo

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OLIMEX ESP32-DevKit-LiPo supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32-devkitlipo]
        platform = espressif32
        board = esp32-devkitlipo

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

OLIMEX ESP32-DevKit-LiPo does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OLIMEX ESP32-EVB

  Contents

    •   OLIMEX ESP32-EVB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OLIMEX

  Configuration

Please use esp32-evb ID for projectconf_env_board option in projectconf:

        [env:esp32-evb]
        platform = espressif32
        board = esp32-evb

You can override default OLIMEX ESP32-EVB settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32-evb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32-evb]
        platform = espressif32
        board = esp32-evb

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OLIMEX ESP32-EVB supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32-evb]
        platform = espressif32
        board = esp32-evb

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

OLIMEX ESP32-EVB does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OLIMEX ESP32-GATEWAY

  Contents

    •   OLIMEX ESP32-GATEWAY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OLIMEX

  Configuration

Please use esp32-gateway ID for projectconf_env_board option in projectconf:

        [env:esp32-gateway]
        platform = espressif32
        board = esp32-gateway

You can override default OLIMEX ESP32-GATEWAY settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32-gateway.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32-gateway]
        platform = espressif32
        board = esp32-gateway

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OLIMEX ESP32-GATEWAY supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32-gateway]
        platform = espressif32
        board = esp32-gateway

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

OLIMEX ESP32-GATEWAY does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OLIMEX ESP32-PRO

  Contents

    •   OLIMEX ESP32-PRO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OLIMEX

  Configuration

Please use esp32-pro ID for projectconf_env_board option in projectconf:

        [env:esp32-pro]
        platform = espressif32
        board = esp32-pro

You can override default OLIMEX ESP32-PRO settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32-pro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32-pro]
        platform = espressif32
        board = esp32-pro

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OLIMEX ESP32-PRO supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32-pro]
        platform = espressif32
        board = esp32-pro

        upload_protocol = esptool

  Debugging

piodebug currently does not support OLIMEX ESP32-PRO board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OLIMEX ESP32-PoE

  Contents

    •   OLIMEX ESP32-PoE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OLIMEX

  Configuration

Please use esp32-poe ID for projectconf_env_board option in projectconf:

        [env:esp32-poe]
        platform = espressif32
        board = esp32-poe

You can override default OLIMEX ESP32-PoE settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32-poe.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32-poe]
        platform = espressif32
        board = esp32-poe

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OLIMEX ESP32-PoE supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32-poe]
        platform = espressif32
        board = esp32-poe

        upload_protocol = esptool

  Debugging

piodebug currently does not support OLIMEX ESP32-PoE board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OLIMEX ESP32-PoE-ISO

  Contents

    •   OLIMEX ESP32-PoE-ISO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OLIMEX

  Configuration

Please use esp32-poe-iso ID for projectconf_env_board option in projectconf:

        [env:esp32-poe-iso]
        platform = espressif32
        board = esp32-poe-iso

You can override default OLIMEX ESP32-PoE-ISO settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32-poe-iso.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32-poe-iso]
        platform = espressif32
        board = esp32-poe-iso

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OLIMEX ESP32-PoE-ISO supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32-poe-iso]
        platform = espressif32
        board = esp32-poe-iso

        upload_protocol = esptool

  Debugging

piodebug currently does not support OLIMEX ESP32-PoE-ISO board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  OROCA EduBot

  Contents

    •   OROCA EduBot

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | OROCA

  Configuration

Please use oroca_edubot ID for projectconf_env_board option in projectconf:

        [env:oroca_edubot]
        platform = espressif32
        board = oroca_edubot

You can override default OROCA EduBot settings per build environment using board_*** option, where *** is a JSON object path from board manifest oroca_edubot.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:oroca_edubot]
        platform = espressif32
        board = oroca_edubot

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

OROCA EduBot supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:oroca_edubot]
        platform = espressif32
        board = oroca_edubot

        upload_protocol = esptool

  Debugging

piodebug currently does not support OROCA EduBot board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Onehorse ESP32 Dev Module

  Contents

    •   Onehorse ESP32 Dev Module

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Onehorse

  Configuration

Please use onehorse32dev ID for projectconf_env_board option in projectconf:

        [env:onehorse32dev]
        platform = espressif32
        board = onehorse32dev

You can override default Onehorse ESP32 Dev Module settings per build environment using board_*** option, where *** is a JSON object path from board manifest onehorse32dev.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:onehorse32dev]
        platform = espressif32
        board = onehorse32dev

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Onehorse ESP32 Dev Module supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:onehorse32dev]
        platform = espressif32
        board = onehorse32dev

        upload_protocol = esptool

  Debugging

piodebug currently does not support Onehorse ESP32 Dev Module board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Pycom GPy

  Contents

    •   Pycom GPy

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Pycom Ltd.

  Configuration

Please use pycom_gpy ID for projectconf_env_board option in projectconf:

        [env:pycom_gpy]
        platform = espressif32
        board = pycom_gpy

You can override default Pycom GPy settings per build environment using board_*** option, where *** is a JSON object path from board manifest pycom_gpy.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pycom_gpy]
        platform = espressif32
        board = pycom_gpy

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Pycom GPy supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:pycom_gpy]
        platform = espressif32
        board = pycom_gpy

        upload_protocol = esptool

  Debugging

piodebug currently does not support Pycom GPy board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Pycom LoPy

  Contents

    •   Pycom LoPy

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Pycom Ltd.

  Configuration

Please use lopy ID for projectconf_env_board option in projectconf:

        [env:lopy]
        platform = espressif32
        board = lopy

You can override default Pycom LoPy settings per build environment using board_*** option, where *** is a JSON object path from board manifest lopy.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lopy]
        platform = espressif32
        board = lopy

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Pycom LoPy supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:lopy]
        platform = espressif32
        board = lopy

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Pycom LoPy does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Pycom LoPy4

  Contents

    •   Pycom LoPy4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 1.25MB
Vendor | Pycom Ltd.

  Configuration

Please use lopy4 ID for projectconf_env_board option in projectconf:

        [env:lopy4]
        platform = espressif32
        board = lopy4

You can override default Pycom LoPy4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lopy4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lopy4]
        platform = espressif32
        board = lopy4

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Pycom LoPy4 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:lopy4]
        platform = espressif32
        board = lopy4

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Pycom LoPy4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Qchip

  Contents

    •   Qchip

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Qmobot LLP

  Configuration

Please use qchip ID for projectconf_env_board option in projectconf:

        [env:qchip]
        platform = espressif32
        board = qchip

You can override default Qchip settings per build environment using board_*** option, where *** is a JSON object path from board manifest qchip.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:qchip]
        platform = espressif32
        board = qchip

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Qchip supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:qchip]
        platform = espressif32
        board = qchip

        upload_protocol = esptool

  Debugging

piodebug currently does not support Qchip board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  SG-O AirMon

  Contents

    •   SG-O AirMon

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | SG-O

  Configuration

Please use sg-o_airMon ID for projectconf_env_board option in projectconf:

        [env:sg-o_airMon]
        platform = espressif32
        board = sg-o_airMon

You can override default SG-O AirMon settings per build environment using board_*** option, where *** is a JSON object path from board manifest sg-o_airMon.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sg-o_airMon]
        platform = espressif32
        board = sg-o_airMon

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

SG-O AirMon supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sg-o_airMon]
        platform = espressif32
        board = sg-o_airMon

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SG-O AirMon does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Silicognition wESP32

  Contents

    •   Silicognition wESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Silicognition

  Configuration

Please use wesp32 ID for projectconf_env_board option in projectconf:

        [env:wesp32]
        platform = espressif32
        board = wesp32

You can override default Silicognition wESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest wesp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wesp32]
        platform = espressif32
        board = wesp32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Silicognition wESP32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wesp32]
        platform = espressif32
        board = wesp32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Silicognition wESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  SparkFun ESP32 Thing

  Contents

    •   SparkFun ESP32 Thing

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | SparkFun Electronics

  Configuration

Please use esp32thing ID for projectconf_env_board option in projectconf:

        [env:esp32thing]
        platform = espressif32
        board = esp32thing

You can override default SparkFun ESP32 Thing settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp32thing.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp32thing]
        platform = espressif32
        board = esp32thing

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

SparkFun ESP32 Thing supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp32thing]
        platform = espressif32
        board = esp32thing

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun ESP32 Thing does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  SparkFun LoRa Gateway 1-Channel

  Contents

    •   SparkFun LoRa Gateway 1-Channel

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | SparkFun

  Configuration

Please use sparkfun_lora_gateway_1-channel ID for projectconf_env_board option in projectconf:

        [env:sparkfun_lora_gateway_1-channel]
        platform = espressif32
        board = sparkfun_lora_gateway_1-channel

You can override default SparkFun LoRa Gateway 1-Channel settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_lora_gateway_1-channel.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_lora_gateway_1-channel]
        platform = espressif32
        board = sparkfun_lora_gateway_1-channel

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

SparkFun LoRa Gateway 1-Channel supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfun_lora_gateway_1-channel]
        platform = espressif32
        board = sparkfun_lora_gateway_1-channel

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun LoRa Gateway 1-Channel does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  TTGO LoRa32-OLED V1

  Contents

    •   TTGO LoRa32-OLED V1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | TTGO

  Configuration

Please use ttgo-lora32-v1 ID for projectconf_env_board option in projectconf:

        [env:ttgo-lora32-v1]
        platform = espressif32
        board = ttgo-lora32-v1

You can override default TTGO LoRa32-OLED V1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ttgo-lora32-v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ttgo-lora32-v1]
        platform = espressif32
        board = ttgo-lora32-v1

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

TTGO LoRa32-OLED V1 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:ttgo-lora32-v1]
        platform = espressif32
        board = ttgo-lora32-v1

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TTGO LoRa32-OLED V1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  TTGO LoRa32-OLED V2

  Contents

    •   TTGO LoRa32-OLED V2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | TTGO

  Configuration

Please use ttgo-lora32-v2 ID for projectconf_env_board option in projectconf:

        [env:ttgo-lora32-v2]
        platform = espressif32
        board = ttgo-lora32-v2

You can override default TTGO LoRa32-OLED V2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ttgo-lora32-v2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ttgo-lora32-v2]
        platform = espressif32
        board = ttgo-lora32-v2

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

TTGO LoRa32-OLED V2 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:ttgo-lora32-v2]
        platform = espressif32
        board = ttgo-lora32-v2

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TTGO LoRa32-OLED V2 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  TTGO T-Beam

  Contents

    •   TTGO T-Beam

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 1.25MB
Vendor | TTGO

  Configuration

Please use ttgo-t-beam ID for projectconf_env_board option in projectconf:

        [env:ttgo-t-beam]
        platform = espressif32
        board = ttgo-t-beam

You can override default TTGO T-Beam settings per build environment using board_*** option, where *** is a JSON object path from board manifest ttgo-t-beam.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ttgo-t-beam]
        platform = espressif32
        board = ttgo-t-beam

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

TTGO T-Beam supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:ttgo-t-beam]
        platform = espressif32
        board = ttgo-t-beam

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TTGO T-Beam does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  TTGO T-Watch

  Contents

    •   TTGO T-Watch

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 320KB
Vendor | TTGO

  Configuration

Please use ttgo-t-watch ID for projectconf_env_board option in projectconf:

        [env:ttgo-t-watch]
        platform = espressif32
        board = ttgo-t-watch

You can override default TTGO T-Watch settings per build environment using board_*** option, where *** is a JSON object path from board manifest ttgo-t-watch.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ttgo-t-watch]
        platform = espressif32
        board = ttgo-t-watch

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

TTGO T-Watch supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:ttgo-t-watch]
        platform = espressif32
        board = ttgo-t-watch

        upload_protocol = esptool

  Debugging

piodebug currently does not support TTGO T-Watch board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  TTGO T1

  Contents

    •   TTGO T1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | TTGO

  Configuration

Please use ttgo-t1 ID for projectconf_env_board option in projectconf:

        [env:ttgo-t1]
        platform = espressif32
        board = ttgo-t1

You can override default TTGO T1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ttgo-t1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ttgo-t1]
        platform = espressif32
        board = ttgo-t1

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

TTGO T1 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:ttgo-t1]
        platform = espressif32
        board = ttgo-t1

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TTGO T1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  TinyPICO

  Contents

    •   TinyPICO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | TinyPICO

  Configuration

Please use tinypico ID for projectconf_env_board option in projectconf:

        [env:tinypico]
        platform = espressif32
        board = tinypico

You can override default TinyPICO settings per build environment using board_*** option, where *** is a JSON object path from board manifest tinypico.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:tinypico]
        platform = espressif32
        board = tinypico

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

TinyPICO supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:tinypico]
        platform = espressif32
        board = tinypico

        upload_protocol = esptool

  Debugging

piodebug currently does not support TinyPICO board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Turta IoT Node

  Contents

    •   Turta IoT Node

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | Turta

  Configuration

Please use turta_iot_node ID for projectconf_env_board option in projectconf:

        [env:turta_iot_node]
        platform = espressif32
        board = turta_iot_node

You can override default Turta IoT Node settings per build environment using board_*** option, where *** is a JSON object path from board manifest turta_iot_node.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:turta_iot_node]
        platform = espressif32
        board = turta_iot_node

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Turta IoT Node supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:turta_iot_node]
        platform = espressif32
        board = turta_iot_node

        upload_protocol = esptool

  Debugging

piodebug currently does not support Turta IoT Node board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  VintLabs ESP32 Devkit

  Contents

    •   VintLabs ESP32 Devkit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | VintLabs

  Configuration

Please use vintlabs-devkit-v1 ID for projectconf_env_board option in projectconf:

        [env:vintlabs-devkit-v1]
        platform = espressif32
        board = vintlabs-devkit-v1

You can override default VintLabs ESP32 Devkit settings per build environment using board_*** option, where *** is a JSON object path from board manifest vintlabs-devkit-v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:vintlabs-devkit-v1]
        platform = espressif32
        board = vintlabs-devkit-v1

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

VintLabs ESP32 Devkit supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:vintlabs-devkit-v1]
        platform = espressif32
        board = vintlabs-devkit-v1

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

VintLabs ESP32 Devkit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  WEMOS LOLIN D32

  Contents

    •   WEMOS LOLIN D32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | WEMOS

  Configuration

Please use lolin_d32 ID for projectconf_env_board option in projectconf:

        [env:lolin_d32]
        platform = espressif32
        board = lolin_d32

You can override default WEMOS LOLIN D32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lolin_d32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lolin_d32]
        platform = espressif32
        board = lolin_d32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

WEMOS LOLIN D32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:lolin_d32]
        platform = espressif32
        board = lolin_d32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WEMOS LOLIN D32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  WEMOS LOLIN D32 PRO

  Contents

    •   WEMOS LOLIN D32 PRO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | WEMOS

  Configuration

Please use lolin_d32_pro ID for projectconf_env_board option in projectconf:

        [env:lolin_d32_pro]
        platform = espressif32
        board = lolin_d32_pro

You can override default WEMOS LOLIN D32 PRO settings per build environment using board_*** option, where *** is a JSON object path from board manifest lolin_d32_pro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lolin_d32_pro]
        platform = espressif32
        board = lolin_d32_pro

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

WEMOS LOLIN D32 PRO supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:lolin_d32_pro]
        platform = espressif32
        board = lolin_d32_pro

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WEMOS LOLIN D32 PRO does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  WEMOS LOLIN32

  Contents

    •   WEMOS LOLIN32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | WEMOS

  Configuration

Please use lolin32 ID for projectconf_env_board option in projectconf:

        [env:lolin32]
        platform = espressif32
        board = lolin32

You can override default WEMOS LOLIN32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lolin32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lolin32]
        platform = espressif32
        board = lolin32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

WEMOS LOLIN32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:lolin32]
        platform = espressif32
        board = lolin32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WEMOS LOLIN32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  WeMos D1 MINI ESP32

  Contents

    •   WeMos D1 MINI ESP32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | WEMOS

  Configuration

Please use wemos_d1_mini32 ID for projectconf_env_board option in projectconf:

        [env:wemos_d1_mini32]
        platform = espressif32
        board = wemos_d1_mini32

You can override default WeMos D1 MINI ESP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest wemos_d1_mini32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wemos_d1_mini32]
        platform = espressif32
        board = wemos_d1_mini32

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

WeMos D1 MINI ESP32 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wemos_d1_mini32]
        platform = espressif32
        board = wemos_d1_mini32

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WeMos D1 MINI ESP32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  WeMos WiFi and Bluetooth Battery

  Contents

    •   WeMos WiFi and Bluetooth Battery

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | WEMOS

  Configuration

Please use wemosbat ID for projectconf_env_board option in projectconf:

        [env:wemosbat]
        platform = espressif32
        board = wemosbat

You can override default WeMos WiFi and Bluetooth Battery settings per build environment using board_*** option, where *** is a JSON object path from board manifest wemosbat.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wemosbat]
        platform = espressif32
        board = wemosbat

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

WeMos WiFi and Bluetooth Battery supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wemosbat]
        platform = espressif32
        board = wemosbat

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WeMos WiFi and Bluetooth Battery does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Widora AIR

  Contents

    •   Widora AIR

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 16MB
RAM | 320KB
Vendor | Widora

  Configuration

Please use widora-air ID for projectconf_env_board option in projectconf:

        [env:widora-air]
        platform = espressif32
        board = widora-air

You can override default Widora AIR settings per build environment using board_*** option, where *** is a JSON object path from board manifest widora-air.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:widora-air]
        platform = espressif32
        board = widora-air

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

Widora AIR supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:widora-air]
        platform = espressif32
        board = widora-air

        upload_protocol = esptool

  Debugging

piodebug currently does not support Widora AIR board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  XinaBox CW02

  Contents

    •   XinaBox CW02

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | XinaBox

  Configuration

Please use xinabox_cw02 ID for projectconf_env_board option in projectconf:

        [env:xinabox_cw02]
        platform = espressif32
        board = xinabox_cw02

You can override default XinaBox CW02 settings per build environment using board_*** option, where *** is a JSON object path from board manifest xinabox_cw02.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xinabox_cw02]
        platform = espressif32
        board = xinabox_cw02

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

XinaBox CW02 supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:xinabox_cw02]
        platform = espressif32
        board = xinabox_cw02

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XinaBox CW02 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  | Yes
debugging_tool_iot-bus-jtag |  |
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  oddWires IoT-Bus Io

  Contents

    •   oddWires IoT-Bus Io

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | oddWires

  Configuration

Please use iotbusio ID for projectconf_env_board option in projectconf:

        [env:iotbusio]
        platform = espressif32
        board = iotbusio

You can override default oddWires IoT-Bus Io settings per build environment using board_*** option, where *** is a JSON object path from board manifest iotbusio.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:iotbusio]
        platform = espressif32
        board = iotbusio

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

oddWires IoT-Bus Io supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:iotbusio]
        platform = espressif32
        board = iotbusio

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

oddWires IoT-Bus Io does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  |
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  oddWires IoT-Bus Proteus

  Contents

    •   oddWires IoT-Bus Proteus

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 4MB
RAM | 320KB
Vendor | oddWires

  Configuration

Please use iotbusproteus ID for projectconf_env_board option in projectconf:

        [env:iotbusproteus]
        platform = espressif32
        board = iotbusproteus

You can override default oddWires IoT-Bus Proteus settings per build environment using board_*** option, where *** is a JSON object path from board manifest iotbusproteus.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:iotbusproteus]
        platform = espressif32
        board = iotbusproteus

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

oddWires IoT-Bus Proteus supports the next uploading protocols:

    •   esp-prog

    •   espota

    •   esptool

    •   iot-bus-jtag

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:iotbusproteus]
        platform = espressif32
        board = iotbusproteus

        upload_protocol = esptool

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

oddWires IoT-Bus Proteus does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_esp-prog |  |
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  u-blox NINA-W10 series

  Contents

    •   u-blox NINA-W10 series

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif32: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP32
Frequency | 240MHz
Flash | 2MB
RAM | 320KB
Vendor | u-blox

  Configuration

Please use nina_w10 ID for projectconf_env_board option in projectconf:

        [env:nina_w10]
        platform = espressif32
        board = nina_w10

You can override default u-blox NINA-W10 series settings per build environment using board_*** option, where *** is a JSON object path from board manifest nina_w10.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nina_w10]
        platform = espressif32
        board = nina_w10

        ; change microcontroller
        board_build.mcu = esp32

        ; change MCU frequency
        board_build.f_cpu = 240000000L

  Uploading

u-blox NINA-W10 series supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:nina_w10]
        platform = espressif32
        board = nina_w10

        upload_protocol = esptool

  Debugging

piodebug currently does not support u-blox NINA-W10 series board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.

  Espressif 8266

  4D Systems gen4 IoD Range

  Contents

    •   4D Systems gen4 IoD Range

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 512KB
RAM | 80KB
Vendor | 4D Systems

  Configuration

Please use gen4iod ID for projectconf_env_board option in projectconf:

        [env:gen4iod]
        platform = espressif8266
        board = gen4iod

You can override default 4D Systems gen4 IoD Range settings per build environment using board_*** option, where *** is a JSON object path from board manifest gen4iod.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:gen4iod]
        platform = espressif8266
        board = gen4iod

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

4D Systems gen4 IoD Range supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:gen4iod]
        platform = espressif8266
        board = gen4iod

        upload_protocol = esptool

  Debugging

piodebug currently does not support 4D Systems gen4 IoD Range board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Adafruit HUZZAH ESP8266

  Contents

    •   Adafruit HUZZAH ESP8266

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Adafruit

  Configuration

Please use huzzah ID for projectconf_env_board option in projectconf:

        [env:huzzah]
        platform = espressif8266
        board = huzzah

You can override default Adafruit HUZZAH ESP8266 settings per build environment using board_*** option, where *** is a JSON object path from board manifest huzzah.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:huzzah]
        platform = espressif8266
        board = huzzah

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Adafruit HUZZAH ESP8266 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:huzzah]
        platform = espressif8266
        board = huzzah

        upload_protocol = esptool

  Debugging

piodebug currently does not support Adafruit HUZZAH ESP8266 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  DigiStump Oak

  Contents

    •   DigiStump Oak

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | DigiStump

  Configuration

Please use oak ID for projectconf_env_board option in projectconf:

        [env:oak]
        platform = espressif8266
        board = oak

You can override default DigiStump Oak settings per build environment using board_*** option, where *** is a JSON object path from board manifest oak.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:oak]
        platform = espressif8266
        board = oak

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

DigiStump Oak supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:oak]
        platform = espressif8266
        board = oak

        upload_protocol = esptool

  Debugging

piodebug currently does not support DigiStump Oak board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  ESP-Mx DevKit (ESP8285)

  Contents

    •   ESP-Mx DevKit (ESP8285)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | Doit

  Configuration

Please use espmxdevkit ID for projectconf_env_board option in projectconf:

        [env:espmxdevkit]
        platform = espressif8266
        board = espmxdevkit

You can override default ESP-Mx DevKit (ESP8285) settings per build environment using board_*** option, where *** is a JSON object path from board manifest espmxdevkit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espmxdevkit]
        platform = espressif8266
        board = espmxdevkit

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESP-Mx DevKit (ESP8285) supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espmxdevkit]
        platform = espressif8266
        board = espmxdevkit

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESP-Mx DevKit (ESP8285) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  ESP-WROOM-02

  Contents

    •   ESP-WROOM-02

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 2MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use esp_wroom_02 ID for projectconf_env_board option in projectconf:

        [env:esp_wroom_02]
        platform = espressif8266
        board = esp_wroom_02

You can override default ESP-WROOM-02 settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp_wroom_02.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp_wroom_02]
        platform = espressif8266
        board = esp_wroom_02

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESP-WROOM-02 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp_wroom_02]
        platform = espressif8266
        board = esp_wroom_02

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESP-WROOM-02 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  ESPDuino (ESP-13 Module)

  Contents

    •   ESPDuino (ESP-13 Module)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Doit

  Configuration

Please use espduino ID for projectconf_env_board option in projectconf:

        [env:espduino]
        platform = espressif8266
        board = espduino

You can override default ESPDuino (ESP-13 Module) settings per build environment using board_*** option, where *** is a JSON object path from board manifest espduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espduino]
        platform = espressif8266
        board = espduino

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESPDuino (ESP-13 Module) supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espduino]
        platform = espressif8266
        board = espduino

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESPDuino (ESP-13 Module) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  ESPectro Core

  Contents

    •   ESPectro Core

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | DycodeX

  Configuration

Please use espectro ID for projectconf_env_board option in projectconf:

        [env:espectro]
        platform = espressif8266
        board = espectro

You can override default ESPectro Core settings per build environment using board_*** option, where *** is a JSON object path from board manifest espectro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espectro]
        platform = espressif8266
        board = espectro

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESPectro Core supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espectro]
        platform = espressif8266
        board = espectro

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESPectro Core board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  ESPino

  Contents

    •   ESPino

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | ESPino

  Configuration

Please use espino ID for projectconf_env_board option in projectconf:

        [env:espino]
        platform = espressif8266
        board = espino

You can override default ESPino settings per build environment using board_*** option, where *** is a JSON object path from board manifest espino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espino]
        platform = espressif8266
        board = espino

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESPino supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espino]
        platform = espressif8266
        board = espino

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESPino board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  ESPresso Lite 1.0

  Contents

    •   ESPresso Lite 1.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | ESPert

  Configuration

Please use espresso_lite_v1 ID for projectconf_env_board option in projectconf:

        [env:espresso_lite_v1]
        platform = espressif8266
        board = espresso_lite_v1

You can override default ESPresso Lite 1.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest espresso_lite_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espresso_lite_v1]
        platform = espressif8266
        board = espresso_lite_v1

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESPresso Lite 1.0 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espresso_lite_v1]
        platform = espressif8266
        board = espresso_lite_v1

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESPresso Lite 1.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  ESPresso Lite 2.0

  Contents

    •   ESPresso Lite 2.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | ESPert

  Configuration

Please use espresso_lite_v2 ID for projectconf_env_board option in projectconf:

        [env:espresso_lite_v2]
        platform = espressif8266
        board = espresso_lite_v2

You can override default ESPresso Lite 2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest espresso_lite_v2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espresso_lite_v2]
        platform = espressif8266
        board = espresso_lite_v2

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ESPresso Lite 2.0 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espresso_lite_v2]
        platform = espressif8266
        board = espresso_lite_v2

        upload_protocol = esptool

  Debugging

piodebug currently does not support ESPresso Lite 2.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Espressif ESP8266 ESP-12E

  Contents

    •   Espressif ESP8266 ESP-12E

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use esp12e ID for projectconf_env_board option in projectconf:

        [env:esp12e]
        platform = espressif8266
        board = esp12e

You can override default Espressif ESP8266 ESP-12E settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp12e.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp12e]
        platform = espressif8266
        board = esp12e

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Espressif ESP8266 ESP-12E supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp12e]
        platform = espressif8266
        board = esp12e

        upload_protocol = esptool

  Debugging

piodebug currently does not support Espressif ESP8266 ESP-12E board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Espressif Generic ESP8266 ESP-01 1M

  Contents

    •   Espressif Generic ESP8266 ESP-01 1M

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use esp01_1m ID for projectconf_env_board option in projectconf:

        [env:esp01_1m]
        platform = espressif8266
        board = esp01_1m

You can override default Espressif Generic ESP8266 ESP-01 1M settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp01_1m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp01_1m]
        platform = espressif8266
        board = esp01_1m

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Espressif Generic ESP8266 ESP-01 1M supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp01_1m]
        platform = espressif8266
        board = esp01_1m

        upload_protocol = esptool

  Debugging

piodebug currently does not support Espressif Generic ESP8266 ESP-01 1M board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Espressif Generic ESP8266 ESP-01 512k

  Contents

    •   Espressif Generic ESP8266 ESP-01 512k

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 512KB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use esp01 ID for projectconf_env_board option in projectconf:

        [env:esp01]
        platform = espressif8266
        board = esp01

You can override default Espressif Generic ESP8266 ESP-01 512k settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp01.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp01]
        platform = espressif8266
        board = esp01

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Espressif Generic ESP8266 ESP-01 512k supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp01]
        platform = espressif8266
        board = esp01

        upload_protocol = esptool

  Debugging

piodebug currently does not support Espressif Generic ESP8266 ESP-01 512k board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Espressif Generic ESP8266 ESP-07

  Contents

    •   Espressif Generic ESP8266 ESP-07

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use esp07 ID for projectconf_env_board option in projectconf:

        [env:esp07]
        platform = espressif8266
        board = esp07

You can override default Espressif Generic ESP8266 ESP-07 settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp07.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp07]
        platform = espressif8266
        board = esp07

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Espressif Generic ESP8266 ESP-07 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp07]
        platform = espressif8266
        board = esp07

        upload_protocol = esptool

  Debugging

piodebug currently does not support Espressif Generic ESP8266 ESP-07 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Generic ESP8285 Module

  Contents

    •   Generic ESP8285 Module

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use esp8285 ID for projectconf_env_board option in projectconf:

        [env:esp8285]
        platform = espressif8266
        board = esp8285

You can override default Generic ESP8285 Module settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp8285.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp8285]
        platform = espressif8266
        board = esp8285

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Generic ESP8285 Module supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp8285]
        platform = espressif8266
        board = esp8285

        upload_protocol = esptool

  Debugging

piodebug currently does not support Generic ESP8285 Module board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Heltec Wifi kit 8

  Contents

    •   Heltec Wifi kit 8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Heltec

  Configuration

Please use heltec_wifi_kit_8 ID for projectconf_env_board option in projectconf:

        [env:heltec_wifi_kit_8]
        platform = espressif8266
        board = heltec_wifi_kit_8

You can override default Heltec Wifi kit 8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest heltec_wifi_kit_8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:heltec_wifi_kit_8]
        platform = espressif8266
        board = heltec_wifi_kit_8

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Heltec Wifi kit 8 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:heltec_wifi_kit_8]
        platform = espressif8266
        board = heltec_wifi_kit_8

        upload_protocol = esptool

  Debugging

piodebug currently does not support Heltec Wifi kit 8 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Invent One

  Contents

    •   Invent One

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Invent One

  Configuration

Please use inventone ID for projectconf_env_board option in projectconf:

        [env:inventone]
        platform = espressif8266
        board = inventone

You can override default Invent One settings per build environment using board_*** option, where *** is a JSON object path from board manifest inventone.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:inventone]
        platform = espressif8266
        board = inventone

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Invent One supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:inventone]
        platform = espressif8266
        board = inventone

        upload_protocol = esptool

  Debugging

piodebug currently does not support Invent One board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  NodeMCU 0.9 (ESP-12 Module)

  Contents

    •   NodeMCU 0.9 (ESP-12 Module)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | NodeMCU

  Configuration

Please use nodemcu ID for projectconf_env_board option in projectconf:

        [env:nodemcu]
        platform = espressif8266
        board = nodemcu

You can override default NodeMCU 0.9 (ESP-12 Module) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nodemcu.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nodemcu]
        platform = espressif8266
        board = nodemcu

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

NodeMCU 0.9 (ESP-12 Module) supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:nodemcu]
        platform = espressif8266
        board = nodemcu

        upload_protocol = esptool

  Debugging

piodebug currently does not support NodeMCU 0.9 (ESP-12 Module) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  NodeMCU 1.0 (ESP-12E Module)

  Contents

    •   NodeMCU 1.0 (ESP-12E Module)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | NodeMCU

  Configuration

Please use nodemcuv2 ID for projectconf_env_board option in projectconf:

        [env:nodemcuv2]
        platform = espressif8266
        board = nodemcuv2

You can override default NodeMCU 1.0 (ESP-12E Module) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nodemcuv2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nodemcuv2]
        platform = espressif8266
        board = nodemcuv2

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

NodeMCU 1.0 (ESP-12E Module) supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:nodemcuv2]
        platform = espressif8266
        board = nodemcuv2

        upload_protocol = esptool

  Debugging

piodebug currently does not support NodeMCU 1.0 (ESP-12E Module) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Olimex MOD-WIFI-ESP8266(-DEV)

  Contents

    •   Olimex MOD-WIFI-ESP8266(-DEV)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 2MB
RAM | 80KB
Vendor | Olimex

  Configuration

Please use modwifi ID for projectconf_env_board option in projectconf:

        [env:modwifi]
        platform = espressif8266
        board = modwifi

You can override default Olimex MOD-WIFI-ESP8266(-DEV) settings per build environment using board_*** option, where *** is a JSON object path from board manifest modwifi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:modwifi]
        platform = espressif8266
        board = modwifi

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Olimex MOD-WIFI-ESP8266(-DEV) supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:modwifi]
        platform = espressif8266
        board = modwifi

        upload_protocol = esptool

  Debugging

piodebug currently does not support Olimex MOD-WIFI-ESP8266(-DEV) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Phoenix 1.0

  Contents

    •   Phoenix 1.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use phoenix_v1 ID for projectconf_env_board option in projectconf:

        [env:phoenix_v1]
        platform = espressif8266
        board = phoenix_v1

You can override default Phoenix 1.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest phoenix_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:phoenix_v1]
        platform = espressif8266
        board = phoenix_v1

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Phoenix 1.0 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:phoenix_v1]
        platform = espressif8266
        board = phoenix_v1

        upload_protocol = esptool

  Debugging

piodebug currently does not support Phoenix 1.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Phoenix 2.0

  Contents

    •   Phoenix 2.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use phoenix_v2 ID for projectconf_env_board option in projectconf:

        [env:phoenix_v2]
        platform = espressif8266
        board = phoenix_v2

You can override default Phoenix 2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest phoenix_v2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:phoenix_v2]
        platform = espressif8266
        board = phoenix_v2

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Phoenix 2.0 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:phoenix_v2]
        platform = espressif8266
        board = phoenix_v2

        upload_protocol = esptool

  Debugging

piodebug currently does not support Phoenix 2.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Schirmilabs Eduino WiFi

  Contents

    •   Schirmilabs Eduino WiFi

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Schirmilabs

  Configuration

Please use eduinowifi ID for projectconf_env_board option in projectconf:

        [env:eduinowifi]
        platform = espressif8266
        board = eduinowifi

You can override default Schirmilabs Eduino WiFi settings per build environment using board_*** option, where *** is a JSON object path from board manifest eduinowifi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:eduinowifi]
        platform = espressif8266
        board = eduinowifi

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Schirmilabs Eduino WiFi supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:eduinowifi]
        platform = espressif8266
        board = eduinowifi

        upload_protocol = esptool

  Debugging

piodebug currently does not support Schirmilabs Eduino WiFi board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Sonoff Basic

  Contents

    •   Sonoff Basic

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | ITEAD

  Configuration

Please use sonoff_basic ID for projectconf_env_board option in projectconf:

        [env:sonoff_basic]
        platform = espressif8266
        board = sonoff_basic

You can override default Sonoff Basic settings per build environment using board_*** option, where *** is a JSON object path from board manifest sonoff_basic.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sonoff_basic]
        platform = espressif8266
        board = sonoff_basic

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Sonoff Basic supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sonoff_basic]
        platform = espressif8266
        board = sonoff_basic

        upload_protocol = esptool

  Debugging

piodebug currently does not support Sonoff Basic board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Sonoff S20

  Contents

    •   Sonoff S20

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | ITEAD

  Configuration

Please use sonoff_s20 ID for projectconf_env_board option in projectconf:

        [env:sonoff_s20]
        platform = espressif8266
        board = sonoff_s20

You can override default Sonoff S20 settings per build environment using board_*** option, where *** is a JSON object path from board manifest sonoff_s20.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sonoff_s20]
        platform = espressif8266
        board = sonoff_s20

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Sonoff S20 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sonoff_s20]
        platform = espressif8266
        board = sonoff_s20

        upload_protocol = esptool

  Debugging

piodebug currently does not support Sonoff S20 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Sonoff SV

  Contents

    •   Sonoff SV

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | ITEAD

  Configuration

Please use sonoff_sv ID for projectconf_env_board option in projectconf:

        [env:sonoff_sv]
        platform = espressif8266
        board = sonoff_sv

You can override default Sonoff SV settings per build environment using board_*** option, where *** is a JSON object path from board manifest sonoff_sv.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sonoff_sv]
        platform = espressif8266
        board = sonoff_sv

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Sonoff SV supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sonoff_sv]
        platform = espressif8266
        board = sonoff_sv

        upload_protocol = esptool

  Debugging

piodebug currently does not support Sonoff SV board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Sonoff TH

  Contents

    •   Sonoff TH

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | ITEAD

  Configuration

Please use sonoff_th ID for projectconf_env_board option in projectconf:

        [env:sonoff_th]
        platform = espressif8266
        board = sonoff_th

You can override default Sonoff TH settings per build environment using board_*** option, where *** is a JSON object path from board manifest sonoff_th.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sonoff_th]
        platform = espressif8266
        board = sonoff_th

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Sonoff TH supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sonoff_th]
        platform = espressif8266
        board = sonoff_th

        upload_protocol = esptool

  Debugging

piodebug currently does not support Sonoff TH board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  SparkFun Blynk Board

  Contents

    •   SparkFun Blynk Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | SparkFun

  Configuration

Please use sparkfunBlynk ID for projectconf_env_board option in projectconf:

        [env:sparkfunBlynk]
        platform = espressif8266
        board = sparkfunBlynk

You can override default SparkFun Blynk Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfunBlynk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfunBlynk]
        platform = espressif8266
        board = sparkfunBlynk

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

SparkFun Blynk Board supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparkfunBlynk]
        platform = espressif8266
        board = sparkfunBlynk

        upload_protocol = esptool

  Debugging

piodebug currently does not support SparkFun Blynk Board board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  SparkFun ESP8266 Thing

  Contents

    •   SparkFun ESP8266 Thing

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 512KB
RAM | 80KB
Vendor | SparkFun

  Configuration

Please use thing ID for projectconf_env_board option in projectconf:

        [env:thing]
        platform = espressif8266
        board = thing

You can override default SparkFun ESP8266 Thing settings per build environment using board_*** option, where *** is a JSON object path from board manifest thing.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:thing]
        platform = espressif8266
        board = thing

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

SparkFun ESP8266 Thing supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:thing]
        platform = espressif8266
        board = thing

        upload_protocol = esptool

  Debugging

piodebug currently does not support SparkFun ESP8266 Thing board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  SparkFun ESP8266 Thing Dev

  Contents

    •   SparkFun ESP8266 Thing Dev

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 512KB
RAM | 80KB
Vendor | SparkFun

  Configuration

Please use thingdev ID for projectconf_env_board option in projectconf:

        [env:thingdev]
        platform = espressif8266
        board = thingdev

You can override default SparkFun ESP8266 Thing Dev settings per build environment using board_*** option, where *** is a JSON object path from board manifest thingdev.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:thingdev]
        platform = espressif8266
        board = thingdev

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

SparkFun ESP8266 Thing Dev supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:thingdev]
        platform = espressif8266
        board = thingdev

        upload_protocol = esptool

  Debugging

piodebug currently does not support SparkFun ESP8266 Thing Dev board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  SweetPea ESP-210

  Contents

    •   SweetPea ESP-210

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | SweetPea

  Configuration

Please use esp210 ID for projectconf_env_board option in projectconf:

        [env:esp210]
        platform = espressif8266
        board = esp210

You can override default SweetPea ESP-210 settings per build environment using board_*** option, where *** is a JSON object path from board manifest esp210.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:esp210]
        platform = espressif8266
        board = esp210

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

SweetPea ESP-210 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:esp210]
        platform = espressif8266
        board = esp210

        upload_protocol = esptool

  Debugging

piodebug currently does not support SweetPea ESP-210 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  ThaiEasyElec ESPino

  Contents

    •   ThaiEasyElec ESPino

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | ThaiEasyElec

  Configuration

Please use espinotee ID for projectconf_env_board option in projectconf:

        [env:espinotee]
        platform = espressif8266
        board = espinotee

You can override default ThaiEasyElec ESPino settings per build environment using board_*** option, where *** is a JSON object path from board manifest espinotee.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:espinotee]
        platform = espressif8266
        board = espinotee

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ThaiEasyElec ESPino supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:espinotee]
        platform = espressif8266
        board = espinotee

        upload_protocol = esptool

  Debugging

piodebug currently does not support ThaiEasyElec ESPino board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  WEMOS D1 R1

  Contents

    •   WEMOS D1 R1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | WEMOS

  Configuration

Please use d1 ID for projectconf_env_board option in projectconf:

        [env:d1]
        platform = espressif8266
        board = d1

You can override default WEMOS D1 R1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest d1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:d1]
        platform = espressif8266
        board = d1

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WEMOS D1 R1 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:d1]
        platform = espressif8266
        board = d1

        upload_protocol = esptool

  Debugging

piodebug currently does not support WEMOS D1 R1 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  WeMos D1 R2 and mini

  Contents

    •   WeMos D1 R2 and mini

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | WEMOS

  Configuration

Please use d1_mini ID for projectconf_env_board option in projectconf:

        [env:d1_mini]
        platform = espressif8266
        board = d1_mini

You can override default WeMos D1 R2 and mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest d1_mini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:d1_mini]
        platform = espressif8266
        board = d1_mini

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WeMos D1 R2 and mini supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:d1_mini]
        platform = espressif8266
        board = d1_mini

        upload_protocol = esptool

  Debugging

piodebug currently does not support WeMos D1 R2 and mini board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  WeMos D1 mini Lite

  Contents

    •   WeMos D1 mini Lite

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | WEMOS

  Configuration

Please use d1_mini_lite ID for projectconf_env_board option in projectconf:

        [env:d1_mini_lite]
        platform = espressif8266
        board = d1_mini_lite

You can override default WeMos D1 mini Lite settings per build environment using board_*** option, where *** is a JSON object path from board manifest d1_mini_lite.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:d1_mini_lite]
        platform = espressif8266
        board = d1_mini_lite

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WeMos D1 mini Lite supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:d1_mini_lite]
        platform = espressif8266
        board = d1_mini_lite

        upload_protocol = esptool

  Debugging

piodebug currently does not support WeMos D1 mini Lite board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  WeMos D1 mini Pro

  Contents

    •   WeMos D1 mini Pro

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 16MB
RAM | 80KB
Vendor | WEMOS

  Configuration

Please use d1_mini_pro ID for projectconf_env_board option in projectconf:

        [env:d1_mini_pro]
        platform = espressif8266
        board = d1_mini_pro

You can override default WeMos D1 mini Pro settings per build environment using board_*** option, where *** is a JSON object path from board manifest d1_mini_pro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:d1_mini_pro]
        platform = espressif8266
        board = d1_mini_pro

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WeMos D1 mini Pro supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:d1_mini_pro]
        platform = espressif8266
        board = d1_mini_pro

        upload_protocol = esptool

  Debugging

piodebug currently does not support WeMos D1 mini Pro board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  WiFi Slot

  Contents

    •   WiFi Slot

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | Amperka

  Configuration

Please use wifi_slot ID for projectconf_env_board option in projectconf:

        [env:wifi_slot]
        platform = espressif8266
        board = wifi_slot

You can override default WiFi Slot settings per build environment using board_*** option, where *** is a JSON object path from board manifest wifi_slot.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wifi_slot]
        platform = espressif8266
        board = wifi_slot

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WiFi Slot supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wifi_slot]
        platform = espressif8266
        board = wifi_slot

        upload_protocol = esptool

  Debugging

piodebug currently does not support WiFi Slot board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  WiFiduino

  Contents

    •   WiFiduino

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | WifiDuino

  Configuration

Please use wifiduino ID for projectconf_env_board option in projectconf:

        [env:wifiduino]
        platform = espressif8266
        board = wifiduino

You can override default WiFiduino settings per build environment using board_*** option, where *** is a JSON object path from board manifest wifiduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wifiduino]
        platform = espressif8266
        board = wifiduino

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WiFiduino supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wifiduino]
        platform = espressif8266
        board = wifiduino

        upload_protocol = esptool

  Debugging

piodebug currently does not support WiFiduino board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  WifInfo

  Contents

    •   WifInfo

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 1MB
RAM | 80KB
Vendor | Espressif

  Configuration

Please use wifinfo ID for projectconf_env_board option in projectconf:

        [env:wifinfo]
        platform = espressif8266
        board = wifinfo

You can override default WifInfo settings per build environment using board_*** option, where *** is a JSON object path from board manifest wifinfo.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wifinfo]
        platform = espressif8266
        board = wifinfo

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

WifInfo supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wifinfo]
        platform = espressif8266
        board = wifinfo

        upload_protocol = esptool

  Debugging

piodebug currently does not support WifInfo board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Wio Link

  Contents

    •   Wio Link

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | SeeedStudio

  Configuration

Please use wio_link ID for projectconf_env_board option in projectconf:

        [env:wio_link]
        platform = espressif8266
        board = wio_link

You can override default Wio Link settings per build environment using board_*** option, where *** is a JSON object path from board manifest wio_link.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wio_link]
        platform = espressif8266
        board = wio_link

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Wio Link supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wio_link]
        platform = espressif8266
        board = wio_link

        upload_protocol = esptool

  Debugging

piodebug currently does not support Wio Link board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Wio Node

  Contents

    •   Wio Node

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | SeeedStudio

  Configuration

Please use wio_node ID for projectconf_env_board option in projectconf:

        [env:wio_node]
        platform = espressif8266
        board = wio_node

You can override default Wio Node settings per build environment using board_*** option, where *** is a JSON object path from board manifest wio_node.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wio_node]
        platform = espressif8266
        board = wio_node

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

Wio Node supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:wio_node]
        platform = espressif8266
        board = wio_node

        upload_protocol = esptool

  Debugging

piodebug currently does not support Wio Node board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  XinaBox CW01

  Contents

    •   XinaBox CW01

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_espressif8266: Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Microcontroller | ESP8266
Frequency | 80MHz
Flash | 4MB
RAM | 80KB
Vendor | XinaBox

  Configuration

Please use xinabox_cw01 ID for projectconf_env_board option in projectconf:

        [env:xinabox_cw01]
        platform = espressif8266
        board = xinabox_cw01

You can override default XinaBox CW01 settings per build environment using board_*** option, where *** is a JSON object path from board manifest xinabox_cw01.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xinabox_cw01]
        platform = espressif8266
        board = xinabox_cw01

        ; change microcontroller
        board_build.mcu = esp8266

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

XinaBox CW01 supports the next uploading protocols:

    •   espota

    •   esptool

Default protocol is esptool

You can change upload protocol using projectconf_upload_protocol option:

        [env:xinabox_cw01]
        platform = espressif8266
        board = xinabox_cw01

        upload_protocol = esptool

  Debugging

piodebug currently does not support XinaBox CW01 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_esp8266-nonos-sdk | The non-OS SDK provides a set of application programming interfaces (APIs) for core ESP8266 functionalities such as data reception/transmission over Wi-Fi, TCP/IP stack functions, hardware interface functions and basic system management functions.
framework_esp8266-rtos-sdk | ESP8266 SDK based on FreeRTOS, a truly free professional grade RTOS for microcontrollers

  Freescale Kinetis

  Ethernet IoT Starter Kit

  Contents

    •   Ethernet IoT Starter Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK64FN1M0VLL12
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | Freescale

  Configuration

Please use IBMEthernetKit ID for projectconf_env_board option in projectconf:

        [env:IBMEthernetKit]
        platform = freescalekinetis
        board = IBMEthernetKit

You can override default Ethernet IoT Starter Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest IBMEthernetKit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:IBMEthernetKit]
        platform = freescalekinetis
        board = IBMEthernetKit

        ; change microcontroller
        board_build.mcu = mk64fn1m0vll12

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Ethernet IoT Starter Kit supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:IBMEthernetKit]
        platform = freescalekinetis
        board = IBMEthernetKit

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Ethernet IoT Starter Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-K20D50M

  Contents

    •   Freescale Kinetis FRDM-K20D50M

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK20DX128VLH5
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | Freescale

  Configuration

Please use frdm_k20d50m ID for projectconf_env_board option in projectconf:

        [env:frdm_k20d50m]
        platform = freescalekinetis
        board = frdm_k20d50m

You can override default Freescale Kinetis FRDM-K20D50M settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_k20d50m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_k20d50m]
        platform = freescalekinetis
        board = frdm_k20d50m

        ; change microcontroller
        board_build.mcu = mk20dx128vlh5

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-K20D50M supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_k20d50m]
        platform = freescalekinetis
        board = frdm_k20d50m

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-K20D50M has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-K22F

  Contents

    •   Freescale Kinetis FRDM-K22F

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK22FN512VLH12
Frequency | 120MHz
Flash | 512KB
RAM | 128KB
Vendor | Freescale

  Configuration

Please use frdm_k22f ID for projectconf_env_board option in projectconf:

        [env:frdm_k22f]
        platform = freescalekinetis
        board = frdm_k22f

You can override default Freescale Kinetis FRDM-K22F settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_k22f.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_k22f]
        platform = freescalekinetis
        board = frdm_k22f

        ; change microcontroller
        board_build.mcu = mk22fn512vlh12

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Freescale Kinetis FRDM-K22F supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_k22f]
        platform = freescalekinetis
        board = frdm_k22f

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-K22F has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Freescale Kinetis FRDM-K64F

  Contents

    •   Freescale Kinetis FRDM-K64F

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK64FN1M0VLL12
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | Freescale

  Configuration

Please use frdm_k64f ID for projectconf_env_board option in projectconf:

        [env:frdm_k64f]
        platform = freescalekinetis
        board = frdm_k64f

You can override default Freescale Kinetis FRDM-K64F settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_k64f.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_k64f]
        platform = freescalekinetis
        board = frdm_k64f

        ; change microcontroller
        board_build.mcu = mk64fn1m0vll12

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Freescale Kinetis FRDM-K64F supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_k64f]
        platform = freescalekinetis
        board = frdm_k64f

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-K64F has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Freescale Kinetis FRDM-K66F

  Contents

    •   Freescale Kinetis FRDM-K66F

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK66FN2M0VMD18
Frequency | 180MHz
Flash | 2MB
RAM | 256KB
Vendor | Freescale

  Configuration

Please use frdm_k66f ID for projectconf_env_board option in projectconf:

        [env:frdm_k66f]
        platform = freescalekinetis
        board = frdm_k66f

You can override default Freescale Kinetis FRDM-K66F settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_k66f.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_k66f]
        platform = freescalekinetis
        board = frdm_k66f

        ; change microcontroller
        board_build.mcu = mk66fn2m0vmd18

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

Freescale Kinetis FRDM-K66F supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_k66f]
        platform = freescalekinetis
        board = frdm_k66f

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-K66F has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-K82F

  Contents

    •   Freescale Kinetis FRDM-K82F

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK82FN256VLL15
Frequency | 150MHz
Flash | 256KB
RAM | 256KB
Vendor | Freescale

  Configuration

Please use frdm_k82f ID for projectconf_env_board option in projectconf:

        [env:frdm_k82f]
        platform = freescalekinetis
        board = frdm_k82f

You can override default Freescale Kinetis FRDM-K82F settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_k82f.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_k82f]
        platform = freescalekinetis
        board = frdm_k82f

        ; change microcontroller
        board_build.mcu = mk82fn256vll15

        ; change MCU frequency
        board_build.f_cpu = 150000000L

  Uploading

Freescale Kinetis FRDM-K82F supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_k82f]
        platform = freescalekinetis
        board = frdm_k82f

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-K82F has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Freescale Kinetis FRDM-KL05Z

  Contents

    •   Freescale Kinetis FRDM-KL05Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKL05Z32VFM4
Frequency | 48MHz
Flash | 32KB
RAM | 4KB
Vendor | Freescale

  Configuration

Please use frdm_kl05z ID for projectconf_env_board option in projectconf:

        [env:frdm_kl05z]
        platform = freescalekinetis
        board = frdm_kl05z

You can override default Freescale Kinetis FRDM-KL05Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kl05z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kl05z]
        platform = freescalekinetis
        board = frdm_kl05z

        ; change microcontroller
        board_build.mcu = mkl05z32vfm4

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-KL05Z supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kl05z]
        platform = freescalekinetis
        board = frdm_kl05z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KL05Z has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-KL25Z

  Contents

    •   Freescale Kinetis FRDM-KL25Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKL25Z128VLK4
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | Freescale

  Configuration

Please use frdm_kl25z ID for projectconf_env_board option in projectconf:

        [env:frdm_kl25z]
        platform = freescalekinetis
        board = frdm_kl25z

You can override default Freescale Kinetis FRDM-KL25Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kl25z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kl25z]
        platform = freescalekinetis
        board = frdm_kl25z

        ; change microcontroller
        board_build.mcu = mkl25z128vlk4

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-KL25Z supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kl25z]
        platform = freescalekinetis
        board = frdm_kl25z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KL25Z has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Freescale Kinetis FRDM-KL27Z

  Contents

    •   Freescale Kinetis FRDM-KL27Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKL27Z64VLH4
Frequency | 48MHz
Flash | 64KB
RAM | 16KB
Vendor | Freescale

  Configuration

Please use frdm_kl27z ID for projectconf_env_board option in projectconf:

        [env:frdm_kl27z]
        platform = freescalekinetis
        board = frdm_kl27z

You can override default Freescale Kinetis FRDM-KL27Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kl27z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kl27z]
        platform = freescalekinetis
        board = frdm_kl27z

        ; change microcontroller
        board_build.mcu = mkl27z64vlh4

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-KL27Z supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kl27z]
        platform = freescalekinetis
        board = frdm_kl27z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KL27Z has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-KL43Z

  Contents

    •   Freescale Kinetis FRDM-KL43Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKL43Z256VLH4
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Freescale

  Configuration

Please use frdm_kl43z ID for projectconf_env_board option in projectconf:

        [env:frdm_kl43z]
        platform = freescalekinetis
        board = frdm_kl43z

You can override default Freescale Kinetis FRDM-KL43Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kl43z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kl43z]
        platform = freescalekinetis
        board = frdm_kl43z

        ; change microcontroller
        board_build.mcu = mkl43z256vlh4

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-KL43Z supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kl43z]
        platform = freescalekinetis
        board = frdm_kl43z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KL43Z has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-KL46Z

  Contents

    •   Freescale Kinetis FRDM-KL46Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKL46Z256VLL4
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Freescale

  Configuration

Please use frdm_kl46z ID for projectconf_env_board option in projectconf:

        [env:frdm_kl46z]
        platform = freescalekinetis
        board = frdm_kl46z

You can override default Freescale Kinetis FRDM-KL46Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kl46z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kl46z]
        platform = freescalekinetis
        board = frdm_kl46z

        ; change microcontroller
        board_build.mcu = mkl46z256vll4

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-KL46Z supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kl46z]
        platform = freescalekinetis
        board = frdm_kl46z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KL46Z has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-KL82Z

  Contents

    •   Freescale Kinetis FRDM-KL82Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKL82Z128VLK7
Frequency | 96MHz
Flash | 128KB
RAM | 96KB
Vendor | Freescale

  Configuration

Please use frdm_kl82z ID for projectconf_env_board option in projectconf:

        [env:frdm_kl82z]
        platform = freescalekinetis
        board = frdm_kl82z

You can override default Freescale Kinetis FRDM-KL82Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kl82z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kl82z]
        platform = freescalekinetis
        board = frdm_kl82z

        ; change microcontroller
        board_build.mcu = mkl82z128vlk7

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Uploading

Freescale Kinetis FRDM-KL82Z supports the next uploading protocols:

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kl82z]
        platform = freescalekinetis
        board = frdm_kl82z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KL82Z does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Freescale Kinetis FRDM-KW24D512

  Contents

    •   Freescale Kinetis FRDM-KW24D512

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKW24D512
Frequency | 50MHz
Flash | 512KB
RAM | 64KB
Vendor | Freescale

  Configuration

Please use frdm_kw24d ID for projectconf_env_board option in projectconf:

        [env:frdm_kw24d]
        platform = freescalekinetis
        board = frdm_kw24d

You can override default Freescale Kinetis FRDM-KW24D512 settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kw24d.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kw24d]
        platform = freescalekinetis
        board = frdm_kw24d

        ; change microcontroller
        board_build.mcu = mkw24d512

        ; change MCU frequency
        board_build.f_cpu = 50000000L

  Uploading

Freescale Kinetis FRDM-KW24D512 supports the next uploading protocols:

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kw24d]
        platform = freescalekinetis
        board = frdm_kw24d

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KW24D512 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Freescale Kinetis FRDM-KW41Z

  Contents

    •   Freescale Kinetis FRDM-KW41Z

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MKW41Z512VHT4
Frequency | 48MHz
Flash | 512KB
RAM | 128KB
Vendor | Freescale

  Configuration

Please use frdm_kw41z ID for projectconf_env_board option in projectconf:

        [env:frdm_kw41z]
        platform = freescalekinetis
        board = frdm_kw41z

You can override default Freescale Kinetis FRDM-KW41Z settings per build environment using board_*** option, where *** is a JSON object path from board manifest frdm_kw41z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:frdm_kw41z]
        platform = freescalekinetis
        board = frdm_kw41z

        ; change microcontroller
        board_build.mcu = mkw41z512vht4

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Freescale Kinetis FRDM-KW41Z supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:frdm_kw41z]
        platform = freescalekinetis
        board = frdm_kw41z

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Freescale Kinetis FRDM-KW41Z has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Hexiwear

  Contents

    •   Hexiwear

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_freescalekinetis: Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Microcontroller | MK64FN1M0VDC12
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | MikroElektronika

  Configuration

Please use hexiwear ID for projectconf_env_board option in projectconf:

        [env:hexiwear]
        platform = freescalekinetis
        board = hexiwear

You can override default Hexiwear settings per build environment using board_*** option, where *** is a JSON object path from board manifest hexiwear.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hexiwear]
        platform = freescalekinetis
        board = hexiwear

        ; change microcontroller
        board_build.mcu = mk64fn1m0vdc12

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Hexiwear supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:hexiwear]
        platform = freescalekinetis
        board = hexiwear

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Hexiwear does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  GigaDevice GD32V

  GD32VF103V-EVAL

  Contents

    •   GD32VF103V-EVAL

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_gd32v: The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
Microcontroller | GD32VF103VBT6
Frequency | 108MHz
Flash | 128KB
RAM | 32KB
Vendor | Sipeed

  Configuration

Please use gd32vf103v-eval ID for projectconf_env_board option in projectconf:

        [env:gd32vf103v-eval]
        platform = gd32v
        board = gd32vf103v-eval

You can override default GD32VF103V-EVAL settings per build environment using board_*** option, where *** is a JSON object path from board manifest gd32vf103v-eval.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:gd32vf103v-eval]
        platform = gd32v
        board = gd32vf103v-eval

        ; change microcontroller
        board_build.mcu = GD32VF103VBT6

        ; change MCU frequency
        board_build.f_cpu = 108000000L

  Uploading

GD32VF103V-EVAL supports the next uploading protocols:

    •   altera-usb-blaster

    •   gd-link

    •   jlink

    •   rv-link

    •   serial

    •   sipeed-rv-debugger

    •   um232h

Default protocol is gd-link

You can change upload protocol using projectconf_upload_protocol option:

        [env:gd32vf103v-eval]
        platform = gd32v
        board = gd32vf103v-eval

        upload_protocol = gd-link

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

GD32VF103V-EVAL does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_altera-usb-blaster |  | Yes
debugging_tool_gd-link |  |
debugging_tool_jlink |  |
debugging_tool_rv-link |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_um232h |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)

  Sipeed Longan Nano

  Contents

    •   Sipeed Longan Nano

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_gd32v: The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
Microcontroller | GD32VF103CBT6
Frequency | 108MHz
Flash | 128KB
RAM | 32KB
Vendor | Sipeed

  Configuration

Please use sipeed-longan-nano ID for projectconf_env_board option in projectconf:

        [env:sipeed-longan-nano]
        platform = gd32v
        board = sipeed-longan-nano

You can override default Sipeed Longan Nano settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-longan-nano.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-longan-nano]
        platform = gd32v
        board = sipeed-longan-nano

        ; change microcontroller
        board_build.mcu = GD32VF103CBT6

        ; change MCU frequency
        board_build.f_cpu = 108000000L

  Uploading

Sipeed Longan Nano supports the next uploading protocols:

    •   altera-usb-blaster

    •   gd-link

    •   jlink

    •   rv-link

    •   serial

    •   sipeed-rv-debugger

    •   um232h

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-longan-nano]
        platform = gd32v
        board = sipeed-longan-nano

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed Longan Nano does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_altera-usb-blaster |  | Yes
debugging_tool_gd-link |  |
debugging_tool_jlink |  |
debugging_tool_rv-link |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_um232h |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)

  Sipeed Longan Nano Lite

  Contents

    •   Sipeed Longan Nano Lite

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_gd32v: The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
Microcontroller | GD32VF103C8T6
Frequency | 108MHz
Flash | 64KB
RAM | 20KB
Vendor | Sipeed

  Configuration

Please use sipeed-longan-nano-lite ID for projectconf_env_board option in projectconf:

        [env:sipeed-longan-nano-lite]
        platform = gd32v
        board = sipeed-longan-nano-lite

You can override default Sipeed Longan Nano Lite settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-longan-nano-lite.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-longan-nano-lite]
        platform = gd32v
        board = sipeed-longan-nano-lite

        ; change microcontroller
        board_build.mcu = GD32VF103C8T6

        ; change MCU frequency
        board_build.f_cpu = 108000000L

  Uploading

Sipeed Longan Nano Lite supports the next uploading protocols:

    •   altera-usb-blaster

    •   gd-link

    •   jlink

    •   rv-link

    •   serial

    •   sipeed-rv-debugger

    •   um232h

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-longan-nano-lite]
        platform = gd32v
        board = sipeed-longan-nano-lite

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed Longan Nano Lite does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_altera-usb-blaster |  | Yes
debugging_tool_gd-link |  |
debugging_tool_jlink |  |
debugging_tool_rv-link |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_um232h |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)

  Wio Lite RISC-V

  Contents

    •   Wio Lite RISC-V

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_gd32v: The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
Microcontroller | GD32VF103CBT6
Frequency | 108MHz
Flash | 128KB
RAM | 32KB
Vendor | SeeedStudio

  Configuration

Please use wio_lite_risc-v ID for projectconf_env_board option in projectconf:

        [env:wio_lite_risc-v]
        platform = gd32v
        board = wio_lite_risc-v

You can override default Wio Lite RISC-V settings per build environment using board_*** option, where *** is a JSON object path from board manifest wio_lite_risc-v.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wio_lite_risc-v]
        platform = gd32v
        board = wio_lite_risc-v

        ; change microcontroller
        board_build.mcu = GD32VF103CBT6

        ; change MCU frequency
        board_build.f_cpu = 108000000L

  Uploading

Wio Lite RISC-V supports the next uploading protocols:

    •   altera-usb-blaster

    •   gd-link

    •   jlink

    •   rv-link

    •   serial

    •   sipeed-rv-debugger

    •   um232h

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:wio_lite_risc-v]
        platform = gd32v
        board = wio_lite_risc-v

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Wio Lite RISC-V does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_altera-usb-blaster |  | Yes
debugging_tool_gd-link |  |
debugging_tool_jlink |  |
debugging_tool_rv-link |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_um232h |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)

  Infineon XMC

  XMC1100 Boot Kit

  Contents

    •   XMC1100 Boot Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC1100
Frequency | 32MHz
Flash | 64KB
RAM | 16KB
Vendor | Infineon

  Configuration

Please use xmc1100_boot_kit ID for projectconf_env_board option in projectconf:

        [env:xmc1100_boot_kit]
        platform = infineonxmc
        board = xmc1100_boot_kit

You can override default XMC1100 Boot Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc1100_boot_kit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc1100_boot_kit]
        platform = infineonxmc
        board = xmc1100_boot_kit

        ; change microcontroller
        board_build.mcu = XMC1100

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC1100 Boot Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC1100 H-Bridge 2Go

  Contents

    •   XMC1100 H-Bridge 2Go

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC1100
Frequency | 32MHz
Flash | 64KB
RAM | 16KB
Vendor | Infineon

  Configuration

Please use xmc1100_h_bridge2go ID for projectconf_env_board option in projectconf:

        [env:xmc1100_h_bridge2go]
        platform = infineonxmc
        board = xmc1100_h_bridge2go

You can override default XMC1100 H-Bridge 2Go settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc1100_h_bridge2go.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc1100_h_bridge2go]
        platform = infineonxmc
        board = xmc1100_h_bridge2go

        ; change microcontroller
        board_build.mcu = XMC1100

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC1100 H-Bridge 2Go has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC1100 XMC2Go

  Contents

    •   XMC1100 XMC2Go

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC1100
Frequency | 32MHz
Flash | 64KB
RAM | 16KB
Vendor | Infineon

  Configuration

Please use xmc1100_xmc2go ID for projectconf_env_board option in projectconf:

        [env:xmc1100_xmc2go]
        platform = infineonxmc
        board = xmc1100_xmc2go

You can override default XMC1100 XMC2Go settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc1100_xmc2go.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc1100_xmc2go]
        platform = infineonxmc
        board = xmc1100_xmc2go

        ; change microcontroller
        board_build.mcu = XMC1100

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC1100 XMC2Go has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC1300 Boot Kit

  Contents

    •   XMC1300 Boot Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC1300
Frequency | 32MHz
Flash | 64KB
RAM | 16KB
Vendor | Infineon

  Configuration

Please use xmc1300_boot_kit ID for projectconf_env_board option in projectconf:

        [env:xmc1300_boot_kit]
        platform = infineonxmc
        board = xmc1300_boot_kit

You can override default XMC1300 Boot Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc1300_boot_kit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc1300_boot_kit]
        platform = infineonxmc
        board = xmc1300_boot_kit

        ; change microcontroller
        board_build.mcu = XMC1300

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC1300 Boot Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC1300 Sense2GoL

  Contents

    •   XMC1300 Sense2GoL

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC1300
Frequency | 32MHz
Flash | 32KB
RAM | 16KB
Vendor | Infineon

  Configuration

Please use xmc1300_sense2gol ID for projectconf_env_board option in projectconf:

        [env:xmc1300_sense2gol]
        platform = infineonxmc
        board = xmc1300_sense2gol

You can override default XMC1300 Sense2GoL settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc1300_sense2gol.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc1300_sense2gol]
        platform = infineonxmc
        board = xmc1300_sense2gol

        ; change microcontroller
        board_build.mcu = XMC1300

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC1300 Sense2GoL has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC1400 Boot Kit

  Contents

    •   XMC1400 Boot Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC1400
Frequency | 48MHz
Flash | 1.95MB
RAM | 16KB
Vendor | Infineon

  Configuration

Please use xmc1400_boot_kit ID for projectconf_env_board option in projectconf:

        [env:xmc1400_boot_kit]
        platform = infineonxmc
        board = xmc1400_boot_kit

You can override default XMC1400 Boot Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc1400_boot_kit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc1400_boot_kit]
        platform = infineonxmc
        board = xmc1400_boot_kit

        ; change microcontroller
        board_build.mcu = XMC1400

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC1400 Boot Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC4200 Distance2Go

  Contents

    •   XMC4200 Distance2Go

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC4200
Frequency | 80MHz
Flash | 256KB
RAM | 40KB
Vendor | Infineon

  Configuration

Please use xmc4200_distance2go ID for projectconf_env_board option in projectconf:

        [env:xmc4200_distance2go]
        platform = infineonxmc
        board = xmc4200_distance2go

You can override default XMC4200 Distance2Go settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc4200_distance2go.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc4200_distance2go]
        platform = infineonxmc
        board = xmc4200_distance2go

        ; change microcontroller
        board_build.mcu = XMC4200

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC4200 Distance2Go has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  XMC4700 Relax Kit

  Contents

    •   XMC4700 Relax Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_infineonxmc: Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
Microcontroller | XMC4700
Frequency | 144MHz
Flash | 2.00MB
RAM | 1.95MB
Vendor | Infineon

  Configuration

Please use xmc4700_relax_kit ID for projectconf_env_board option in projectconf:

        [env:xmc4700_relax_kit]
        platform = infineonxmc
        board = xmc4700_relax_kit

You can override default XMC4700 Relax Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest xmc4700_relax_kit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xmc4700_relax_kit]
        platform = infineonxmc
        board = xmc4700_relax_kit

        ; change microcontroller
        board_build.mcu = XMC4700

        ; change MCU frequency
        board_build.f_cpu = 144000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

XMC4700 Relax Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Intel ARC32

  Arduino/Genuino 101

  Contents

    •   Arduino/Genuino 101

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_intel_arc32: ARC embedded processors are a family of 32-bit CPUs that are widely used in SoC devices for storage, home, mobile, automotive, and Internet of Things applications.
Microcontroller | ARCV2EM
Frequency | 32MHz
Flash | 152KB
RAM | 80KB
Vendor | Intel

  Configuration

Please use genuino101 ID for projectconf_env_board option in projectconf:

        [env:genuino101]
        platform = intel_arc32
        board = genuino101

You can override default Arduino/Genuino 101 settings per build environment using board_*** option, where *** is a JSON object path from board manifest genuino101.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genuino101]
        platform = intel_arc32
        board = genuino101

        ; change microcontroller
        board_build.mcu = ARCv2EM

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Debugging

piodebug currently does not support Arduino/Genuino 101 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Intel MCS-51 (8051)

  Generic N79E8432

  Contents

    •   Generic N79E8432

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | N79E8432
Frequency | 22MHz
Flash | 4KB
RAM | 512B
Vendor | Nuvoton

  Configuration

Please use n79e8432 ID for projectconf_env_board option in projectconf:

        [env:n79e8432]
        platform = intel_mcs51
        board = n79e8432

You can override default Generic N79E8432 settings per build environment using board_*** option, where *** is a JSON object path from board manifest n79e8432.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:n79e8432]
        platform = intel_mcs51
        board = n79e8432

        ; change microcontroller
        board_build.mcu = n79e8432

        ; change MCU frequency
        board_build.f_cpu = 22118400L

  Debugging

piodebug currently does not support Generic N79E8432 board.

  Generic N79E844

  Contents

    •   Generic N79E844

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | N79E844
Frequency | 22MHz
Flash | 8KB
RAM | 512B
Vendor | Nuvoton

  Configuration

Please use n79e844 ID for projectconf_env_board option in projectconf:

        [env:n79e844]
        platform = intel_mcs51
        board = n79e844

You can override default Generic N79E844 settings per build environment using board_*** option, where *** is a JSON object path from board manifest n79e844.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:n79e844]
        platform = intel_mcs51
        board = n79e844

        ; change microcontroller
        board_build.mcu = n79e844

        ; change MCU frequency
        board_build.f_cpu = 22118400L

  Debugging

piodebug currently does not support Generic N79E844 board.

  Generic N79E845

  Contents

    •   Generic N79E845

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | N79E845
Frequency | 22MHz
Flash | 16KB
RAM | 512B
Vendor | Nuvoton

  Configuration

Please use n79e845 ID for projectconf_env_board option in projectconf:

        [env:n79e845]
        platform = intel_mcs51
        board = n79e845

You can override default Generic N79E845 settings per build environment using board_*** option, where *** is a JSON object path from board manifest n79e845.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:n79e845]
        platform = intel_mcs51
        board = n79e845

        ; change microcontroller
        board_build.mcu = n79e845

        ; change MCU frequency
        board_build.f_cpu = 22118400L

  Debugging

piodebug currently does not support Generic N79E845 board.

  Generic N79E854

  Contents

    •   Generic N79E854

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | N79E854
Frequency | 22MHz
Flash | 8KB
RAM | 512B
Vendor | Nuvoton

  Configuration

Please use n79e854 ID for projectconf_env_board option in projectconf:

        [env:n79e854]
        platform = intel_mcs51
        board = n79e854

You can override default Generic N79E854 settings per build environment using board_*** option, where *** is a JSON object path from board manifest n79e854.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:n79e854]
        platform = intel_mcs51
        board = n79e854

        ; change microcontroller
        board_build.mcu = n79e854

        ; change MCU frequency
        board_build.f_cpu = 22118400L

  Debugging

piodebug currently does not support Generic N79E854 board.

  Generic N79E855

  Contents

    •   Generic N79E855

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | N79E855
Frequency | 22MHz
Flash | 16KB
RAM | 512B
Vendor | Nuvoton

  Configuration

Please use n79e855 ID for projectconf_env_board option in projectconf:

        [env:n79e855]
        platform = intel_mcs51
        board = n79e855

You can override default Generic N79E855 settings per build environment using board_*** option, where *** is a JSON object path from board manifest n79e855.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:n79e855]
        platform = intel_mcs51
        board = n79e855

        ; change microcontroller
        board_build.mcu = n79e855

        ; change MCU frequency
        board_build.f_cpu = 22118400L

  Debugging

piodebug currently does not support Generic N79E855 board.

  Generic STC15F204EA

  Contents

    •   Generic STC15F204EA

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | STC15F204EA
Frequency | 11MHz
Flash | 4KB
RAM | 256B
Vendor | STC

  Configuration

Please use stc15f204ea ID for projectconf_env_board option in projectconf:

        [env:stc15f204ea]
        platform = intel_mcs51
        board = stc15f204ea

You can override default Generic STC15F204EA settings per build environment using board_*** option, where *** is a JSON object path from board manifest stc15f204ea.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stc15f204ea]
        platform = intel_mcs51
        board = stc15f204ea

        ; change microcontroller
        board_build.mcu = stc15f204ea

        ; change MCU frequency
        board_build.f_cpu = 11059200L

  Debugging

piodebug currently does not support Generic STC15F204EA board.

  Generic STC15F2K60S2

  Contents

    •   Generic STC15F2K60S2

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | STC15F2K60S2
Frequency | 6MHz
Flash | 60KB
RAM | 2KB
Vendor | STC

  Configuration

Please use stc15f2k60s2 ID for projectconf_env_board option in projectconf:

        [env:stc15f2k60s2]
        platform = intel_mcs51
        board = stc15f2k60s2

You can override default Generic STC15F2K60S2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest stc15f2k60s2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stc15f2k60s2]
        platform = intel_mcs51
        board = stc15f2k60s2

        ; change microcontroller
        board_build.mcu = stc15f2k60s2

        ; change MCU frequency
        board_build.f_cpu = 6000000L

  Debugging

piodebug currently does not support Generic STC15F2K60S2 board.

  Generic STC15W204S

  Contents

    •   Generic STC15W204S

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | STC15W204S
Frequency | 11MHz
Flash | 4KB
RAM | 256B
Vendor | STC

  Configuration

Please use stc15w204s ID for projectconf_env_board option in projectconf:

        [env:stc15w204s]
        platform = intel_mcs51
        board = stc15w204s

You can override default Generic STC15W204S settings per build environment using board_*** option, where *** is a JSON object path from board manifest stc15w204s.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stc15w204s]
        platform = intel_mcs51
        board = stc15w204s

        ; change microcontroller
        board_build.mcu = stc15w204s

        ; change MCU frequency
        board_build.f_cpu = 11059200L

  Debugging

piodebug currently does not support Generic STC15W204S board.

  Generic STC15W404AS

  Contents

    •   Generic STC15W404AS

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | STC15W404AS
Frequency | 11MHz
Flash | 4KB
RAM | 512B
Vendor | STC

  Configuration

Please use stc15w404as ID for projectconf_env_board option in projectconf:

        [env:stc15w404as]
        platform = intel_mcs51
        board = stc15w404as

You can override default Generic STC15W404AS settings per build environment using board_*** option, where *** is a JSON object path from board manifest stc15w404as.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stc15w404as]
        platform = intel_mcs51
        board = stc15w404as

        ; change microcontroller
        board_build.mcu = stc15w404as

        ; change MCU frequency
        board_build.f_cpu = 11059200L

  Debugging

piodebug currently does not support Generic STC15W404AS board.

  Generic STC15W408AS

  Contents

    •   Generic STC15W408AS

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | STC15W408AS
Frequency | 11MHz
Flash | 8KB
RAM | 512B
Vendor | STC

  Configuration

Please use stc15w408as ID for projectconf_env_board option in projectconf:

        [env:stc15w408as]
        platform = intel_mcs51
        board = stc15w408as

You can override default Generic STC15W408AS settings per build environment using board_*** option, where *** is a JSON object path from board manifest stc15w408as.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stc15w408as]
        platform = intel_mcs51
        board = stc15w408as

        ; change microcontroller
        board_build.mcu = stc15w408as

        ; change MCU frequency
        board_build.f_cpu = 11059200L

  Debugging

piodebug currently does not support Generic STC15W408AS board.

  Generic STC89C52RC

  Contents

    •   Generic STC89C52RC

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_intel_mcs51: The Intel MCS-51 (commonly termed 8051) is an internally Harvard architecture, complex instruction set computer (CISC) instruction set, single chip microcontroller (uC) series developed by Intel in 1980 for use in embedded systems.
Microcontroller | STC89C52RC
Frequency | 11MHz
Flash | 8KB
RAM | 512B
Vendor | STC

  Configuration

Please use stc89c52rc ID for projectconf_env_board option in projectconf:

        [env:stc89c52rc]
        platform = intel_mcs51
        board = stc89c52rc

You can override default Generic STC89C52RC settings per build environment using board_*** option, where *** is a JSON object path from board manifest stc89c52rc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stc89c52rc]
        platform = intel_mcs51
        board = stc89c52rc

        ; change microcontroller
        board_build.mcu = stc89c52rc

        ; change MCU frequency
        board_build.f_cpu = 11059200L

  Debugging

piodebug currently does not support Generic STC89C52RC board.

  Kendryte K210

  Sipeed MAIX BiT

  Contents

    •   Sipeed MAIX BiT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_kendryte210: Kendryte K210 is an AI capable RISCV64 dual core SoC.
Microcontroller | K210
Frequency | 400MHz
Flash | 16MB
RAM | 6MB
Vendor | Sipeed

  Configuration

Please use sipeed-maix-bit ID for projectconf_env_board option in projectconf:

        [env:sipeed-maix-bit]
        platform = kendryte210
        board = sipeed-maix-bit

You can override default Sipeed MAIX BiT settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-maix-bit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-maix-bit]
        platform = kendryte210
        board = sipeed-maix-bit

        ; change microcontroller
        board_build.mcu = K210

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

Sipeed MAIX BiT supports the next uploading protocols:

    •   iot-bus-jtag

    •   jlink

    •   kflash

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   sipeed-rv-debugger

    •   tumpa

Default protocol is kflash

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-maix-bit]
        platform = kendryte210
        board = sipeed-maix-bit

        upload_protocol = kflash

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed MAIX BiT does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Sipeed MAIX BiT with Mic

  Contents

    •   Sipeed MAIX BiT with Mic

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_kendryte210: Kendryte K210 is an AI capable RISCV64 dual core SoC.
Microcontroller | K210
Frequency | 400MHz
Flash | 16MB
RAM | 6MB
Vendor | Sipeed

  Configuration

Please use sipeed-maix-bit-mic ID for projectconf_env_board option in projectconf:

        [env:sipeed-maix-bit-mic]
        platform = kendryte210
        board = sipeed-maix-bit-mic

You can override default Sipeed MAIX BiT with Mic settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-maix-bit-mic.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-maix-bit-mic]
        platform = kendryte210
        board = sipeed-maix-bit-mic

        ; change microcontroller
        board_build.mcu = K210

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

Sipeed MAIX BiT with Mic supports the next uploading protocols:

    •   iot-bus-jtag

    •   jlink

    •   kflash

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   sipeed-rv-debugger

    •   tumpa

Default protocol is kflash

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-maix-bit-mic]
        platform = kendryte210
        board = sipeed-maix-bit-mic

        upload_protocol = kflash

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed MAIX BiT with Mic does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Sipeed MAIX GO

  Contents

    •   Sipeed MAIX GO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_kendryte210: Kendryte K210 is an AI capable RISCV64 dual core SoC.
Microcontroller | K210
Frequency | 400MHz
Flash | 16MB
RAM | 6MB
Vendor | Sipeed

  Configuration

Please use sipeed-maix-go ID for projectconf_env_board option in projectconf:

        [env:sipeed-maix-go]
        platform = kendryte210
        board = sipeed-maix-go

You can override default Sipeed MAIX GO settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-maix-go.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-maix-go]
        platform = kendryte210
        board = sipeed-maix-go

        ; change microcontroller
        board_build.mcu = K210

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

Sipeed MAIX GO supports the next uploading protocols:

    •   iot-bus-jtag

    •   jlink

    •   kflash

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   sipeed-rv-debugger

    •   tumpa

Default protocol is kflash

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-maix-go]
        platform = kendryte210
        board = sipeed-maix-go

        upload_protocol = kflash

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed MAIX GO does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Sipeed MAIX ONE DOCK

  Contents

    •   Sipeed MAIX ONE DOCK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_kendryte210: Kendryte K210 is an AI capable RISCV64 dual core SoC.
Microcontroller | K210
Frequency | 400MHz
Flash | 16MB
RAM | 6MB
Vendor | Sipeed

  Configuration

Please use sipeed-maix-one-dock ID for projectconf_env_board option in projectconf:

        [env:sipeed-maix-one-dock]
        platform = kendryte210
        board = sipeed-maix-one-dock

You can override default Sipeed MAIX ONE DOCK settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-maix-one-dock.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-maix-one-dock]
        platform = kendryte210
        board = sipeed-maix-one-dock

        ; change microcontroller
        board_build.mcu = K210

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

Sipeed MAIX ONE DOCK supports the next uploading protocols:

    •   iot-bus-jtag

    •   jlink

    •   kflash

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   sipeed-rv-debugger

    •   tumpa

Default protocol is kflash

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-maix-one-dock]
        platform = kendryte210
        board = sipeed-maix-one-dock

        upload_protocol = kflash

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed MAIX ONE DOCK does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Sipeed MAIXDUINO

  Contents

    •   Sipeed MAIXDUINO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_kendryte210: Kendryte K210 is an AI capable RISCV64 dual core SoC.
Microcontroller | K210
Frequency | 400MHz
Flash | 16MB
RAM | 6MB
Vendor | Sipeed

  Configuration

Please use sipeed-maixduino ID for projectconf_env_board option in projectconf:

        [env:sipeed-maixduino]
        platform = kendryte210
        board = sipeed-maixduino

You can override default Sipeed MAIXDUINO settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-maixduino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-maixduino]
        platform = kendryte210
        board = sipeed-maixduino

        ; change microcontroller
        board_build.mcu = K210

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

Sipeed MAIXDUINO supports the next uploading protocols:

    •   iot-bus-jtag

    •   jlink

    •   kflash

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   sipeed-rv-debugger

    •   tumpa

Default protocol is kflash

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-maixduino]
        platform = kendryte210
        board = sipeed-maixduino

        upload_protocol = kflash

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed MAIXDUINO does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Sipeed MF1 MF1

  Contents

    •   Sipeed MF1 MF1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_kendryte210: Kendryte K210 is an AI capable RISCV64 dual core SoC.
Microcontroller | K210
Frequency | 400MHz
Flash | 16MB
RAM | 6MB
Vendor | Sipeed

  Configuration

Please use sipeed-MF1 ID for projectconf_env_board option in projectconf:

        [env:sipeed-MF1]
        platform = kendryte210
        board = sipeed-MF1

You can override default Sipeed MF1 MF1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest sipeed-MF1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sipeed-MF1]
        platform = kendryte210
        board = sipeed-MF1

        ; change microcontroller
        board_build.mcu = K210

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

Sipeed MF1 MF1 supports the next uploading protocols:

    •   iot-bus-jtag

    •   jlink

    •   kflash

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   sipeed-rv-debugger

    •   tumpa

Default protocol is kflash

You can change upload protocol using projectconf_upload_protocol option:

        [env:sipeed-MF1]
        platform = kendryte210
        board = sipeed-MF1

        upload_protocol = kflash

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sipeed MF1 MF1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_iot-bus-jtag |  | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_sipeed-rv-debugger |  |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Lattice iCE40

  IceZUM Alhambra FPGA

  Contents

    •   IceZUM Alhambra FPGA

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_lattice_ice40: The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications.
Microcontroller | ICE40-HX1K-TQ144
Frequency | 12MHz
Flash | 32KB
RAM | 32KB
Vendor | FPGAwars

  Configuration

Please use icezum ID for projectconf_env_board option in projectconf:

        [env:icezum]
        platform = lattice_ice40
        board = icezum

You can override default IceZUM Alhambra FPGA settings per build environment using board_*** option, where *** is a JSON object path from board manifest icezum.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:icezum]
        platform = lattice_ice40
        board = icezum

        ; change microcontroller
        board_build.mcu = iCE40-HX1K-TQ144

        ; change MCU frequency
        board_build.f_cpu = 12000000L

  Debugging

piodebug currently does not support IceZUM Alhambra FPGA board.

  Lattice iCEstick FPGA Evaluation Kit

  Contents

    •   Lattice iCEstick FPGA Evaluation Kit

        •   Hardware

        •   Configuration

        •   Debugging

  Hardware

Platform platform_lattice_ice40: The iCE40 family of ultra-low power, non-volatile FPGAs has five devices with densities ranging from 384 to 7680 Look-Up Tables (LUTs). In addition to LUT-based,low-cost programmable logic, these devices feature Embedded Block RAM (EBR), Non-volatile Configuration Memory (NVCM) and Phase Locked Loops (PLLs). These features allow the devices to be used in low-cost, high-volume consumer and system applications.
Microcontroller | ICE40-HX1K-TQ144
Frequency | 12MHz
Flash | 32KB
RAM | 32KB
Vendor | Lattice

  Configuration

Please use icestick ID for projectconf_env_board option in projectconf:

        [env:icestick]
        platform = lattice_ice40
        board = icestick

You can override default Lattice iCEstick FPGA Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest icestick.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:icestick]
        platform = lattice_ice40
        board = icestick

        ; change microcontroller
        board_build.mcu = iCE40-HX1K-TQ144

        ; change MCU frequency
        board_build.f_cpu = 12000000L

  Debugging

piodebug currently does not support Lattice iCEstick FPGA Evaluation Kit board.

  Linux ARM

  Raspberry Pi 1 Model B

  Contents

    •   Raspberry Pi 1 Model B

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_linux_arm: Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.
Microcontroller | BCM2835
Frequency | 700MHz
Flash | 512MB
RAM | 512MB
Vendor | Raspberry Pi

  Configuration

Please use raspberrypi_1b ID for projectconf_env_board option in projectconf:

        [env:raspberrypi_1b]
        platform = linux_arm
        board = raspberrypi_1b

You can override default Raspberry Pi 1 Model B settings per build environment using board_*** option, where *** is a JSON object path from board manifest raspberrypi_1b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:raspberrypi_1b]
        platform = linux_arm
        board = raspberrypi_1b

        ; change microcontroller
        board_build.mcu = bcm2835

        ; change MCU frequency
        board_build.f_cpu = 700000000L

  Debugging

piodebug currently does not support Raspberry Pi 1 Model B board.

  Frameworks
Name | Description
framework_wiringpi | WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

  Raspberry Pi 2 Model B

  Contents

    •   Raspberry Pi 2 Model B

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_linux_arm: Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.
Microcontroller | BCM2836
Frequency | 900MHz
Flash | 1GB
RAM | 1GB
Vendor | Raspberry Pi

  Configuration

Please use raspberrypi_2b ID for projectconf_env_board option in projectconf:

        [env:raspberrypi_2b]
        platform = linux_arm
        board = raspberrypi_2b

You can override default Raspberry Pi 2 Model B settings per build environment using board_*** option, where *** is a JSON object path from board manifest raspberrypi_2b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:raspberrypi_2b]
        platform = linux_arm
        board = raspberrypi_2b

        ; change microcontroller
        board_build.mcu = bcm2836

        ; change MCU frequency
        board_build.f_cpu = 900000000L

  Debugging

piodebug currently does not support Raspberry Pi 2 Model B board.

  Frameworks
Name | Description
framework_wiringpi | WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

  Raspberry Pi 3 Model B

  Contents

    •   Raspberry Pi 3 Model B

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_linux_arm: Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.
Microcontroller | BCM2837
Frequency | 1200MHz
Flash | 1GB
RAM | 1GB
Vendor | Raspberry Pi

  Configuration

Please use raspberrypi_3b ID for projectconf_env_board option in projectconf:

        [env:raspberrypi_3b]
        platform = linux_arm
        board = raspberrypi_3b

You can override default Raspberry Pi 3 Model B settings per build environment using board_*** option, where *** is a JSON object path from board manifest raspberrypi_3b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:raspberrypi_3b]
        platform = linux_arm
        board = raspberrypi_3b

        ; change microcontroller
        board_build.mcu = bcm2837

        ; change MCU frequency
        board_build.f_cpu = 1200000000L

  Debugging

piodebug currently does not support Raspberry Pi 3 Model B board.

  Frameworks
Name | Description
framework_wiringpi | WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

  Raspberry Pi Zero

  Contents

    •   Raspberry Pi Zero

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_linux_arm: Linux ARM is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. Using host OS (Mac OS X, Linux ARM) you can build native application for Linux ARM platform.
Microcontroller | BCM2835
Frequency | 1000MHz
Flash | 512MB
RAM | 512MB
Vendor | Raspberry Pi

  Configuration

Please use raspberrypi_zero ID for projectconf_env_board option in projectconf:

        [env:raspberrypi_zero]
        platform = linux_arm
        board = raspberrypi_zero

You can override default Raspberry Pi Zero settings per build environment using board_*** option, where *** is a JSON object path from board manifest raspberrypi_zero.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:raspberrypi_zero]
        platform = linux_arm
        board = raspberrypi_zero

        ; change microcontroller
        board_build.mcu = bcm2835

        ; change MCU frequency
        board_build.f_cpu = 1000000000L

  Debugging

piodebug currently does not support Raspberry Pi Zero board.

  Frameworks
Name | Description
framework_wiringpi | WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.

  Maxim 32

  MAX32620FTHR

  Contents

    •   MAX32620FTHR

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32620FTHR
Frequency | 96MHz
Flash | 2MB
RAM | 256KB
Vendor | Maxim

  Configuration

Please use max32620fthr ID for projectconf_env_board option in projectconf:

        [env:max32620fthr]
        platform = maxim32
        board = max32620fthr

You can override default MAX32620FTHR settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32620fthr.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32620fthr]
        platform = maxim32
        board = max32620fthr

        ; change microcontroller
        board_build.mcu = max32620fthr

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Uploading

MAX32620FTHR supports the next uploading protocols:

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:max32620fthr]
        platform = maxim32
        board = max32620fthr

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MAX32620FTHR does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  MAX32625MBED

  Contents

    •   MAX32625MBED

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32625
Frequency | 96MHz
Flash | 512KB
RAM | 160KB
Vendor | Maxim

  Configuration

Please use max32625mbed ID for projectconf_env_board option in projectconf:

        [env:max32625mbed]
        platform = maxim32
        board = max32625mbed

You can override default MAX32625MBED settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32625mbed.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32625mbed]
        platform = maxim32
        board = max32625mbed

        ; change microcontroller
        board_build.mcu = max32625

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support MAX32625MBED board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  MAX32625NEXPAQ

  Contents

    •   MAX32625NEXPAQ

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32625
Frequency | 96MHz
Flash | 512KB
RAM | 160KB
Vendor | Maxim

  Configuration

Please use max32625nexpaq ID for projectconf_env_board option in projectconf:

        [env:max32625nexpaq]
        platform = maxim32
        board = max32625nexpaq

You can override default MAX32625NEXPAQ settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32625nexpaq.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32625nexpaq]
        platform = maxim32
        board = max32625nexpaq

        ; change microcontroller
        board_build.mcu = max32625

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support MAX32625NEXPAQ board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  MAX32625PICO

  Contents

    •   MAX32625PICO

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32625
Frequency | 96MHz
Flash | 512KB
RAM | 160KB
Vendor | Maxim

  Configuration

Please use max32625pico ID for projectconf_env_board option in projectconf:

        [env:max32625pico]
        platform = maxim32
        board = max32625pico

You can override default MAX32625PICO settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32625pico.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32625pico]
        platform = maxim32
        board = max32625pico

        ; change microcontroller
        board_build.mcu = max32625

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support MAX32625PICO board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Maxim ARM mbed Enabled Development Platform for MAX32600

  Contents

    •   Maxim ARM mbed Enabled Development Platform for MAX32600

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32600
Frequency | 24MHz
Flash | 256KB
RAM | 32KB
Vendor | Maxim

  Configuration

Please use max32600mbed ID for projectconf_env_board option in projectconf:

        [env:max32600mbed]
        platform = maxim32
        board = max32600mbed

You can override default Maxim ARM mbed Enabled Development Platform for MAX32600 settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32600mbed.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32600mbed]
        platform = maxim32
        board = max32600mbed

        ; change microcontroller
        board_build.mcu = max32600

        ; change MCU frequency
        board_build.f_cpu = 24000000L

  Uploading

Maxim ARM mbed Enabled Development Platform for MAX32600 supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:max32600mbed]
        platform = maxim32
        board = max32600mbed

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maxim ARM mbed Enabled Development Platform for MAX32600 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Maxim Health Sensor Platform

  Contents

    •   Maxim Health Sensor Platform

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32620
Frequency | 96MHz
Flash | 2MB
RAM | 256KB
Vendor | Maxim

  Configuration

Please use max32620hsp ID for projectconf_env_board option in projectconf:

        [env:max32620hsp]
        platform = maxim32
        board = max32620hsp

You can override default Maxim Health Sensor Platform settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32620hsp.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32620hsp]
        platform = maxim32
        board = max32620hsp

        ; change microcontroller
        board_build.mcu = max32620

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Uploading

Maxim Health Sensor Platform supports the next uploading protocols:

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:max32620hsp]
        platform = maxim32
        board = max32620hsp

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maxim Health Sensor Platform does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Maxim MAX32630FTHR Application Platform

  Contents

    •   Maxim MAX32630FTHR Application Platform

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32630
Frequency | 96MHz
Flash | 2MB
RAM | 512KB
Vendor | Maxim

  Configuration

Please use max32630fthr ID for projectconf_env_board option in projectconf:

        [env:max32630fthr]
        platform = maxim32
        board = max32630fthr

You can override default Maxim MAX32630FTHR Application Platform settings per build environment using board_*** option, where *** is a JSON object path from board manifest max32630fthr.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:max32630fthr]
        platform = maxim32
        board = max32630fthr

        ; change microcontroller
        board_build.mcu = max32630

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support Maxim MAX32630FTHR Application Platform board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Maxim Wireless Sensor Node Demonstrator

  Contents

    •   Maxim Wireless Sensor Node Demonstrator

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32610
Frequency | 24MHz
Flash | 256KB
RAM | 32KB
Vendor | Maxim

  Configuration

Please use maxwsnenv ID for projectconf_env_board option in projectconf:

        [env:maxwsnenv]
        platform = maxim32
        board = maxwsnenv

You can override default Maxim Wireless Sensor Node Demonstrator settings per build environment using board_*** option, where *** is a JSON object path from board manifest maxwsnenv.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:maxwsnenv]
        platform = maxim32
        board = maxwsnenv

        ; change microcontroller
        board_build.mcu = max32610

        ; change MCU frequency
        board_build.f_cpu = 24000000L

  Uploading

Maxim Wireless Sensor Node Demonstrator supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:maxwsnenv]
        platform = maxim32
        board = maxwsnenv

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maxim Wireless Sensor Node Demonstrator does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  SDT32620B

  Contents

    •   SDT32620B

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32620IWG
Frequency | 96MHz
Flash | 2MB
RAM | 256KB
Vendor | Sigma Delta Technologies

  Configuration

Please use sdt32620b ID for projectconf_env_board option in projectconf:

        [env:sdt32620b]
        platform = maxim32
        board = sdt32620b

You can override default SDT32620B settings per build environment using board_*** option, where *** is a JSON object path from board manifest sdt32620b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sdt32620b]
        platform = maxim32
        board = sdt32620b

        ; change microcontroller
        board_build.mcu = max32620iwg

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support SDT32620B board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  SDT32625B

  Contents

    •   SDT32625B

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_maxim32: Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
Microcontroller | MAX32625ITK
Frequency | 96MHz
Flash | 512KB
RAM | 160KB
Vendor | Sigma Delta Technologies

  Configuration

Please use sdt32625b ID for projectconf_env_board option in projectconf:

        [env:sdt32625b]
        platform = maxim32
        board = sdt32625b

You can override default SDT32625B settings per build environment using board_*** option, where *** is a JSON object path from board manifest sdt32625b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sdt32625b]
        platform = maxim32
        board = sdt32625b

        ; change microcontroller
        board_build.mcu = max32625itk

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support SDT32625B board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Microchip PIC32

  4D Systems PICadillo 35T

  Contents

    •   4D Systems PICadillo 35T

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | 4D Systems

  Configuration

Please use picadillo_35t ID for projectconf_env_board option in projectconf:

        [env:picadillo_35t]
        platform = microchippic32
        board = picadillo_35t

You can override default 4D Systems PICadillo 35T settings per build environment using board_*** option, where *** is a JSON object path from board manifest picadillo_35t.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:picadillo_35t]
        platform = microchippic32
        board = picadillo_35t

        ; change microcontroller
        board_build.mcu = 32MX795F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support 4D Systems PICadillo 35T board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  DataStation Mini

  Contents

    •   DataStation Mini

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX150F128C
Frequency | 40MHz
Flash | 120KB
RAM | 32KB
Vendor | Makerology

  Configuration

Please use dsmini ID for projectconf_env_board option in projectconf:

        [env:dsmini]
        platform = microchippic32
        board = dsmini

You can override default DataStation Mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest dsmini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:dsmini]
        platform = microchippic32
        board = dsmini

        ; change microcontroller
        board_build.mcu = 32MX150F128C

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Debugging

piodebug currently does not support DataStation Mini board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent Cerebot 32MX4

  Contents

    •   Digilent Cerebot 32MX4

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX460F512L
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | Digilent

  Configuration

Please use cerebot32mx4 ID for projectconf_env_board option in projectconf:

        [env:cerebot32mx4]
        platform = microchippic32
        board = cerebot32mx4

You can override default Digilent Cerebot 32MX4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest cerebot32mx4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:cerebot32mx4]
        platform = microchippic32
        board = cerebot32mx4

        ; change microcontroller
        board_build.mcu = 32MX460F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent Cerebot 32MX4 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent Cerebot 32MX7

  Contents

    •   Digilent Cerebot 32MX7

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | Digilent

  Configuration

Please use cerebot32mx7 ID for projectconf_env_board option in projectconf:

        [env:cerebot32mx7]
        platform = microchippic32
        board = cerebot32mx7

You can override default Digilent Cerebot 32MX7 settings per build environment using board_*** option, where *** is a JSON object path from board manifest cerebot32mx7.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:cerebot32mx7]
        platform = microchippic32
        board = cerebot32mx7

        ; change microcontroller
        board_build.mcu = 32MX795F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent Cerebot 32MX7 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent OpenScope

  Contents

    •   Digilent OpenScope

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MZ2048EFG124
Frequency | 200MHz
Flash | 1.98MB
RAM | 512KB
Vendor | Digilent

  Configuration

Please use openscope ID for projectconf_env_board option in projectconf:

        [env:openscope]
        platform = microchippic32
        board = openscope

You can override default Digilent OpenScope settings per build environment using board_*** option, where *** is a JSON object path from board manifest openscope.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:openscope]
        platform = microchippic32
        board = openscope

        ; change microcontroller
        board_build.mcu = 32MZ2048EFG124

        ; change MCU frequency
        board_build.f_cpu = 200000000L

  Debugging

piodebug currently does not support Digilent OpenScope board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT Cmod

  Contents

    •   Digilent chipKIT Cmod

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX150F128D
Frequency | 40MHz
Flash | 124KB
RAM | 32KB
Vendor | Digilent

  Configuration

Please use chipkit_cmod ID for projectconf_env_board option in projectconf:

        [env:chipkit_cmod]
        platform = microchippic32
        board = chipkit_cmod

You can override default Digilent chipKIT Cmod settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_cmod.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_cmod]
        platform = microchippic32
        board = chipkit_cmod

        ; change microcontroller
        board_build.mcu = 32MX150F128D

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Debugging

piodebug currently does not support Digilent chipKIT Cmod board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT DP32

  Contents

    •   Digilent chipKIT DP32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128B
Frequency | 40MHz
Flash | 120KB
RAM | 32KB
Vendor | Digilent

  Configuration

Please use chipkit_dp32 ID for projectconf_env_board option in projectconf:

        [env:chipkit_dp32]
        platform = microchippic32
        board = chipkit_dp32

You can override default Digilent chipKIT DP32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_dp32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_dp32]
        platform = microchippic32
        board = chipkit_dp32

        ; change microcontroller
        board_build.mcu = 32MX250F128B

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Debugging

piodebug currently does not support Digilent chipKIT DP32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT MAX32

  Contents

    •   Digilent chipKIT MAX32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | Digilent

  Configuration

Please use mega_pic32 ID for projectconf_env_board option in projectconf:

        [env:mega_pic32]
        platform = microchippic32
        board = mega_pic32

You can override default Digilent chipKIT MAX32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mega_pic32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mega_pic32]
        platform = microchippic32
        board = mega_pic32

        ; change microcontroller
        board_build.mcu = 32MX795F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT MAX32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT MX3

  Contents

    •   Digilent chipKIT MX3

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX320F128H
Frequency | 80MHz
Flash | 124KB
RAM | 16KB
Vendor | Digilent

  Configuration

Please use chipkit_mx3 ID for projectconf_env_board option in projectconf:

        [env:chipkit_mx3]
        platform = microchippic32
        board = chipkit_mx3

You can override default Digilent chipKIT MX3 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_mx3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_mx3]
        platform = microchippic32
        board = chipkit_mx3

        ; change microcontroller
        board_build.mcu = 32MX320F128H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT MX3 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT Pro MX4

  Contents

    •   Digilent chipKIT Pro MX4

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX460F512L
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | Digilent

  Configuration

Please use chipkit_pro_mx4 ID for projectconf_env_board option in projectconf:

        [env:chipkit_pro_mx4]
        platform = microchippic32
        board = chipkit_pro_mx4

You can override default Digilent chipKIT Pro MX4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_pro_mx4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_pro_mx4]
        platform = microchippic32
        board = chipkit_pro_mx4

        ; change microcontroller
        board_build.mcu = 32MX460F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT Pro MX4 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT Pro MX7

  Contents

    •   Digilent chipKIT Pro MX7

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | Digilent

  Configuration

Please use chipkit_pro_mx7 ID for projectconf_env_board option in projectconf:

        [env:chipkit_pro_mx7]
        platform = microchippic32
        board = chipkit_pro_mx7

You can override default Digilent chipKIT Pro MX7 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_pro_mx7.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_pro_mx7]
        platform = microchippic32
        board = chipkit_pro_mx7

        ; change microcontroller
        board_build.mcu = 32MX795F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT Pro MX7 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT UNO32

  Contents

    •   Digilent chipKIT UNO32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX320F128H
Frequency | 80MHz
Flash | 124KB
RAM | 16KB
Vendor | Digilent

  Configuration

Please use uno_pic32 ID for projectconf_env_board option in projectconf:

        [env:uno_pic32]
        platform = microchippic32
        board = uno_pic32

You can override default Digilent chipKIT UNO32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest uno_pic32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:uno_pic32]
        platform = microchippic32
        board = uno_pic32

        ; change microcontroller
        board_build.mcu = 32MX320F128H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT UNO32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT WF32

  Contents

    •   Digilent chipKIT WF32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX695F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | Digilent

  Configuration

Please use chipkit_wf32 ID for projectconf_env_board option in projectconf:

        [env:chipkit_wf32]
        platform = microchippic32
        board = chipkit_wf32

You can override default Digilent chipKIT WF32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_wf32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_wf32]
        platform = microchippic32
        board = chipkit_wf32

        ; change microcontroller
        board_build.mcu = 32MX695F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT WF32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT WiFire

  Contents

    •   Digilent chipKIT WiFire

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MZ2048ECG100
Frequency | 200MHz
Flash | 1.98MB
RAM | 512KB
Vendor | Digilent

  Configuration

Please use chipkit_wifire ID for projectconf_env_board option in projectconf:

        [env:chipkit_wifire]
        platform = microchippic32
        board = chipkit_wifire

You can override default Digilent chipKIT WiFire settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_wifire.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_wifire]
        platform = microchippic32
        board = chipkit_wifire

        ; change microcontroller
        board_build.mcu = 32MZ2048ECG100

        ; change MCU frequency
        board_build.f_cpu = 200000000L

  Debugging

piodebug currently does not support Digilent chipKIT WiFire board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Digilent chipKIT uC32

  Contents

    •   Digilent chipKIT uC32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX340F512H
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | Digilent

  Configuration

Please use chipkit_uc32 ID for projectconf_env_board option in projectconf:

        [env:chipkit_uc32]
        platform = microchippic32
        board = chipkit_uc32

You can override default Digilent chipKIT uC32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_uc32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_uc32]
        platform = microchippic32
        board = chipkit_uc32

        ; change microcontroller
        board_build.mcu = 32MX340F512H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Digilent chipKIT uC32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Element14 chipKIT Pi

  Contents

    •   Element14 chipKIT Pi

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128B
Frequency | 40MHz
Flash | 120KB
RAM | 32KB
Vendor | element14

  Configuration

Please use chipkit_pi ID for projectconf_env_board option in projectconf:

        [env:chipkit_pi]
        platform = microchippic32
        board = chipkit_pi

You can override default Element14 chipKIT Pi settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_pi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_pi]
        platform = microchippic32
        board = chipkit_pi

        ; change microcontroller
        board_build.mcu = 32MX250F128B

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Debugging

piodebug currently does not support Element14 chipKIT Pi board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Fubarino Mini

  Contents

    •   Fubarino Mini

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128D
Frequency | 48MHz
Flash | 120KB
RAM | 32KB
Vendor | Fubarino

  Configuration

Please use fubarino_mini ID for projectconf_env_board option in projectconf:

        [env:fubarino_mini]
        platform = microchippic32
        board = fubarino_mini

You can override default Fubarino Mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest fubarino_mini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fubarino_mini]
        platform = microchippic32
        board = fubarino_mini

        ; change microcontroller
        board_build.mcu = 32MX250F128D

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support Fubarino Mini board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Fubarino SD (1.5)

  Contents

    •   Fubarino SD (1.5)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512H
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | Fubarino

  Configuration

Please use fubarino_sd ID for projectconf_env_board option in projectconf:

        [env:fubarino_sd]
        platform = microchippic32
        board = fubarino_sd

You can override default Fubarino SD (1.5) settings per build environment using board_*** option, where *** is a JSON object path from board manifest fubarino_sd.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fubarino_sd]
        platform = microchippic32
        board = fubarino_sd

        ; change microcontroller
        board_build.mcu = 32MX795F512H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Fubarino SD (1.5) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  HelvePic32

  Contents

    •   HelvePic32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128B
Frequency | 48MHz
Flash | 120KB
RAM | 32KB
Vendor | BOXTEC

  Configuration

Please use helvepic32 ID for projectconf_env_board option in projectconf:

        [env:helvepic32]
        platform = microchippic32
        board = helvepic32

You can override default HelvePic32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest helvepic32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:helvepic32]
        platform = microchippic32
        board = helvepic32

        ; change microcontroller
        board_build.mcu = 32MX250F128B

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support HelvePic32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  HelvePic32

  Contents

    •   HelvePic32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128B
Frequency | 48MHz
Flash | 120KB
RAM | 32KB
Vendor | BOXTEC

  Configuration

Please use helvepic32_breadboardside ID for projectconf_env_board option in projectconf:

        [env:helvepic32_breadboardside]
        platform = microchippic32
        board = helvepic32_breadboardside

You can override default HelvePic32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest helvepic32_breadboardside.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:helvepic32_breadboardside]
        platform = microchippic32
        board = helvepic32_breadboardside

        ; change microcontroller
        board_build.mcu = 32MX250F128B

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support HelvePic32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  HelvePic32

  Contents

    •   HelvePic32

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128D
Frequency | 48MHz
Flash | 120KB
RAM | 32KB
Vendor | BOXTEC

  Configuration

Please use helvepic32_smd ID for projectconf_env_board option in projectconf:

        [env:helvepic32_smd]
        platform = microchippic32
        board = helvepic32_smd

You can override default HelvePic32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest helvepic32_smd.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:helvepic32_smd]
        platform = microchippic32
        board = helvepic32_smd

        ; change microcontroller
        board_build.mcu = 32MX250F128D

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support HelvePic32 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  HelvePic32 MX270

  Contents

    •   HelvePic32 MX270

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX270F256B
Frequency | 48MHz
Flash | 244KB
RAM | 62KB
Vendor | BOXTEC

  Configuration

Please use helvepic32_mx270 ID for projectconf_env_board option in projectconf:

        [env:helvepic32_mx270]
        platform = microchippic32
        board = helvepic32_mx270

You can override default HelvePic32 MX270 settings per build environment using board_*** option, where *** is a JSON object path from board manifest helvepic32_mx270.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:helvepic32_mx270]
        platform = microchippic32
        board = helvepic32_mx270

        ; change microcontroller
        board_build.mcu = 32MX270F256B

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support HelvePic32 MX270 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  HelvePic32 Robot

  Contents

    •   HelvePic32 Robot

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX270F256D
Frequency | 48MHz
Flash | 244KB
RAM | 62KB
Vendor | BOXTEC

  Configuration

Please use helvepic32_robot ID for projectconf_env_board option in projectconf:

        [env:helvepic32_robot]
        platform = microchippic32
        board = helvepic32_robot

You can override default HelvePic32 Robot settings per build environment using board_*** option, where *** is a JSON object path from board manifest helvepic32_robot.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:helvepic32_robot]
        platform = microchippic32
        board = helvepic32_robot

        ; change microcontroller
        board_build.mcu = 32MX270F256D

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support HelvePic32 Robot board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  HelvePic32 SMD MX270

  Contents

    •   HelvePic32 SMD MX270

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX270F256D
Frequency | 48MHz
Flash | 244KB
RAM | 62KB
Vendor | BOXTEC

  Configuration

Please use helvepic32_smd_mx270 ID for projectconf_env_board option in projectconf:

        [env:helvepic32_smd_mx270]
        platform = microchippic32
        board = helvepic32_smd_mx270

You can override default HelvePic32 SMD MX270 settings per build environment using board_*** option, where *** is a JSON object path from board manifest helvepic32_smd_mx270.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:helvepic32_smd_mx270]
        platform = microchippic32
        board = helvepic32_smd_mx270

        ; change microcontroller
        board_build.mcu = 32MX270F256D

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support HelvePic32 SMD MX270 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  MikroElektronika Clicker 2

  Contents

    •   MikroElektronika Clicker 2

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX460F512L
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | MikroElektronika

  Configuration

Please use clicker2 ID for projectconf_env_board option in projectconf:

        [env:clicker2]
        platform = microchippic32
        board = clicker2

You can override default MikroElektronika Clicker 2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest clicker2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:clicker2]
        platform = microchippic32
        board = clicker2

        ; change microcontroller
        board_build.mcu = 32MX460F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support MikroElektronika Clicker 2 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  MikroElektronika Flip N Click MZ

  Contents

    •   MikroElektronika Flip N Click MZ

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MZ2048EFH100
Frequency | 252MHz
Flash | 1.98MB
RAM | 512KB
Vendor | MikroElektronika

  Configuration

Please use flipnclickmz ID for projectconf_env_board option in projectconf:

        [env:flipnclickmz]
        platform = microchippic32
        board = flipnclickmz

You can override default MikroElektronika Flip N Click MZ settings per build environment using board_*** option, where *** is a JSON object path from board manifest flipnclickmz.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:flipnclickmz]
        platform = microchippic32
        board = flipnclickmz

        ; change microcontroller
        board_build.mcu = 32MZ2048EFH100

        ; change MCU frequency
        board_build.f_cpu = 252000000L

  Debugging

piodebug currently does not support MikroElektronika Flip N Click MZ board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Mini 2.0

  Contents

    •   Mini 2.0

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX270F256D
Frequency | 48MHz
Flash | 240KB
RAM | 62KB
Vendor | Fubarino

  Configuration

Please use fubarino_mini_20 ID for projectconf_env_board option in projectconf:

        [env:fubarino_mini_20]
        platform = microchippic32
        board = fubarino_mini_20

You can override default Mini 2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest fubarino_mini_20.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fubarino_mini_20]
        platform = microchippic32
        board = fubarino_mini_20

        ; change microcontroller
        board_build.mcu = 32MX270F256D

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support Mini 2.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Olimex PIC32-PINGUINO

  Contents

    •   Olimex PIC32-PINGUINO

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX440F256H
Frequency | 80MHz
Flash | 252KB
RAM | 32KB
Vendor | Olimex

  Configuration

Please use pinguino32 ID for projectconf_env_board option in projectconf:

        [env:pinguino32]
        platform = microchippic32
        board = pinguino32

You can override default Olimex PIC32-PINGUINO settings per build environment using board_*** option, where *** is a JSON object path from board manifest pinguino32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:pinguino32]
        platform = microchippic32
        board = pinguino32

        ; change microcontroller
        board_build.mcu = 32MX440F256H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Olimex PIC32-PINGUINO board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  OpenBCI 32bit

  Contents

    •   OpenBCI 32bit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX250F128B
Frequency | 40MHz
Flash | 120KB
RAM | 32KB
Vendor | OpenBCI

  Configuration

Please use openbci ID for projectconf_env_board option in projectconf:

        [env:openbci]
        platform = microchippic32
        board = openbci

You can override default OpenBCI 32bit settings per build environment using board_*** option, where *** is a JSON object path from board manifest openbci.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:openbci]
        platform = microchippic32
        board = openbci

        ; change microcontroller
        board_build.mcu = 32MX250F128B

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Debugging

piodebug currently does not support OpenBCI 32bit board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  PONTECH UAV100

  Contents

    •   PONTECH UAV100

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX440F512H
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | PONTECH

  Configuration

Please use usbono_pic32 ID for projectconf_env_board option in projectconf:

        [env:usbono_pic32]
        platform = microchippic32
        board = usbono_pic32

You can override default PONTECH UAV100 settings per build environment using board_*** option, where *** is a JSON object path from board manifest usbono_pic32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:usbono_pic32]
        platform = microchippic32
        board = usbono_pic32

        ; change microcontroller
        board_build.mcu = 32MX440F512H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support PONTECH UAV100 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Pic32 CUI32-Development Stick

  Contents

    •   Pic32 CUI32-Development Stick

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX440F512H
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | SparkFun

  Configuration

Please use cui32 ID for projectconf_env_board option in projectconf:

        [env:cui32]
        platform = microchippic32
        board = cui32

You can override default Pic32 CUI32-Development Stick settings per build environment using board_*** option, where *** is a JSON object path from board manifest cui32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:cui32]
        platform = microchippic32
        board = cui32

        ; change microcontroller
        board_build.mcu = 32MX440F512H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Pic32 CUI32-Development Stick board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Pontech NoFire

  Contents

    •   Pontech NoFire

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MZ2048EFG100
Frequency | 200MHz
Flash | 1.98MB
RAM | 512KB
Vendor | Pontech

  Configuration

Please use nofire ID for projectconf_env_board option in projectconf:

        [env:nofire]
        platform = microchippic32
        board = nofire

You can override default Pontech NoFire settings per build environment using board_*** option, where *** is a JSON object path from board manifest nofire.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nofire]
        platform = microchippic32
        board = nofire

        ; change microcontroller
        board_build.mcu = 32MZ2048EFG100

        ; change MCU frequency
        board_build.f_cpu = 200000000L

  Debugging

piodebug currently does not support Pontech NoFire board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Pontech Quick240

  Contents

    •   Pontech Quick240

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | Pontech

  Configuration

Please use quick240_usb ID for projectconf_env_board option in projectconf:

        [env:quick240_usb]
        platform = microchippic32
        board = quick240_usb

You can override default Pontech Quick240 settings per build environment using board_*** option, where *** is a JSON object path from board manifest quick240_usb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:quick240_usb]
        platform = microchippic32
        board = quick240_usb

        ; change microcontroller
        board_build.mcu = 32MX795F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support Pontech Quick240 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  RGB Station

  Contents

    •   RGB Station

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX270F256D
Frequency | 48MHz
Flash | 240KB
RAM | 62KB
Vendor | ChipKIT

  Configuration

Please use rgb_station ID for projectconf_env_board option in projectconf:

        [env:rgb_station]
        platform = microchippic32
        board = rgb_station

You can override default RGB Station settings per build environment using board_*** option, where *** is a JSON object path from board manifest rgb_station.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:rgb_station]
        platform = microchippic32
        board = rgb_station

        ; change microcontroller
        board_build.mcu = 32MX270F256D

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support RGB Station board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SeeedStudio CUI32stem

  Contents

    •   SeeedStudio CUI32stem

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512H
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | SeeedStudio

  Configuration

Please use cui32stem ID for projectconf_env_board option in projectconf:

        [env:cui32stem]
        platform = microchippic32
        board = cui32stem

You can override default SeeedStudio CUI32stem settings per build environment using board_*** option, where *** is a JSON object path from board manifest cui32stem.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:cui32stem]
        platform = microchippic32
        board = cui32stem

        ; change microcontroller
        board_build.mcu = 32MX795F512H

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support SeeedStudio CUI32stem board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  UBW32 MX460

  Contents

    •   UBW32 MX460

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX460F512L
Frequency | 80MHz
Flash | 508KB
RAM | 32KB
Vendor | UBW32

  Configuration

Please use ubw32_mx460 ID for projectconf_env_board option in projectconf:

        [env:ubw32_mx460]
        platform = microchippic32
        board = ubw32_mx460

You can override default UBW32 MX460 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ubw32_mx460.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ubw32_mx460]
        platform = microchippic32
        board = ubw32_mx460

        ; change microcontroller
        board_build.mcu = 32MX460F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support UBW32 MX460 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  UBW32 MX795

  Contents

    •   UBW32 MX795

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX795F512L
Frequency | 80MHz
Flash | 508KB
RAM | 128KB
Vendor | UBW32

  Configuration

Please use ubw32_mx795 ID for projectconf_env_board option in projectconf:

        [env:ubw32_mx795]
        platform = microchippic32
        board = ubw32_mx795

You can override default UBW32 MX795 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ubw32_mx795.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ubw32_mx795]
        platform = microchippic32
        board = ubw32_mx795

        ; change microcontroller
        board_build.mcu = 32MX795F512L

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug currently does not support UBW32 MX795 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  chipKIT Lenny

  Contents

    •   chipKIT Lenny

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MX270F256D
Frequency | 40MHz
Flash | 120KB
RAM | 32KB
Vendor | chipKIT

  Configuration

Please use lenny ID for projectconf_env_board option in projectconf:

        [env:lenny]
        platform = microchippic32
        board = lenny

You can override default chipKIT Lenny settings per build environment using board_*** option, where *** is a JSON object path from board manifest lenny.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lenny]
        platform = microchippic32
        board = lenny

        ; change microcontroller
        board_build.mcu = 32MX270F256D

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Debugging

piodebug currently does not support chipKIT Lenny board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  chipKIT WiFire rev. C

  Contents

    •   chipKIT WiFire rev. C

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_microchippic32: Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer high performance microcontrollers, and all the tools needed to develop your embedded projects. PIC32 MCUs gives your application the processing power, memory and peripherals your design needs!
Microcontroller | 32MZ2048EFG100
Frequency | 200MHz
Flash | 1.98MB
RAM | 512KB
Vendor | Digilent

  Configuration

Please use chipkit_wifire_revc ID for projectconf_env_board option in projectconf:

        [env:chipkit_wifire_revc]
        platform = microchippic32
        board = chipkit_wifire_revc

You can override default chipKIT WiFire rev. C settings per build environment using board_*** option, where *** is a JSON object path from board manifest chipkit_wifire_revc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:chipkit_wifire_revc]
        platform = microchippic32
        board = chipkit_wifire_revc

        ; change microcontroller
        board_build.mcu = 32MZ2048EFG100

        ; change MCU frequency
        board_build.f_cpu = 200000000L

  Debugging

piodebug currently does not support chipKIT WiFire rev. C board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Nordic nRF51

  BBC micro:bit

  Contents

    •   BBC micro:bit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | BBC

  Configuration

Please use bbcmicrobit ID for projectconf_env_board option in projectconf:

        [env:bbcmicrobit]
        platform = nordicnrf51
        board = bbcmicrobit

You can override default BBC micro:bit settings per build environment using board_*** option, where *** is a JSON object path from board manifest bbcmicrobit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bbcmicrobit]
        platform = nordicnrf51
        board = bbcmicrobit

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

BBC micro:bit supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:bbcmicrobit]
        platform = nordicnrf51
        board = bbcmicrobit

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BBC micro:bit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  BluzDK

  Contents

    •   BluzDK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | BluzDK

  Configuration

Please use bluz_dk ID for projectconf_env_board option in projectconf:

        [env:bluz_dk]
        platform = nordicnrf51
        board = bluz_dk

You can override default BluzDK settings per build environment using board_*** option, where *** is a JSON object path from board manifest bluz_dk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bluz_dk]
        platform = nordicnrf51
        board = bluz_dk

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

BluzDK supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:bluz_dk]
        platform = nordicnrf51
        board = bluz_dk

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BluzDK does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Calliope mini

  Contents

    •   Calliope mini

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | Calliope

  Configuration

Please use calliope_mini ID for projectconf_env_board option in projectconf:

        [env:calliope_mini]
        platform = nordicnrf51
        board = calliope_mini

You can override default Calliope mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest calliope_mini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:calliope_mini]
        platform = nordicnrf51
        board = calliope_mini

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Calliope mini supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:calliope_mini]
        platform = nordicnrf51
        board = calliope_mini

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Calliope mini has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Delta DFCM-NNN40

  Contents

    •   Delta DFCM-NNN40

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Delta

  Configuration

Please use dfcm_nnn40 ID for projectconf_env_board option in projectconf:

        [env:dfcm_nnn40]
        platform = nordicnrf51
        board = dfcm_nnn40

You can override default Delta DFCM-NNN40 settings per build environment using board_*** option, where *** is a JSON object path from board manifest dfcm_nnn40.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:dfcm_nnn40]
        platform = nordicnrf51
        board = dfcm_nnn40

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Delta DFCM-NNN40 supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:dfcm_nnn40]
        platform = nordicnrf51
        board = dfcm_nnn40

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Delta DFCM-NNN40 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Delta DFCM-NNN50

  Contents

    •   Delta DFCM-NNN50

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 16KB
Vendor | Delta

  Configuration

Please use delta_dfcm_nnn50 ID for projectconf_env_board option in projectconf:

        [env:delta_dfcm_nnn50]
        platform = nordicnrf51
        board = delta_dfcm_nnn50

You can override default Delta DFCM-NNN50 settings per build environment using board_*** option, where *** is a JSON object path from board manifest delta_dfcm_nnn50.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:delta_dfcm_nnn50]
        platform = nordicnrf51
        board = delta_dfcm_nnn50

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Delta DFCM-NNN50 supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:delta_dfcm_nnn50]
        platform = nordicnrf51
        board = delta_dfcm_nnn50

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Delta DFCM-NNN50 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  JKSoft Wallbot BLE

  Contents

    •   JKSoft Wallbot BLE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 128KB
RAM | 16KB
Vendor | JKSoft

  Configuration

Please use wallbot_ble ID for projectconf_env_board option in projectconf:

        [env:wallbot_ble]
        platform = nordicnrf51
        board = wallbot_ble

You can override default JKSoft Wallbot BLE settings per build environment using board_*** option, where *** is a JSON object path from board manifest wallbot_ble.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wallbot_ble]
        platform = nordicnrf51
        board = wallbot_ble

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

JKSoft Wallbot BLE supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:wallbot_ble]
        platform = nordicnrf51
        board = wallbot_ble

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

JKSoft Wallbot BLE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Nordic Beacon Kit (PCA20006)

  Contents

    •   Nordic Beacon Kit (PCA20006)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Nordic

  Configuration

Please use nrf51_beacon ID for projectconf_env_board option in projectconf:

        [env:nrf51_beacon]
        platform = nordicnrf51
        board = nrf51_beacon

You can override default Nordic Beacon Kit (PCA20006) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf51_beacon.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf51_beacon]
        platform = nordicnrf51
        board = nrf51_beacon

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Nordic Beacon Kit (PCA20006) supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf51_beacon]
        platform = nordicnrf51
        board = nrf51_beacon

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic Beacon Kit (PCA20006) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Nordic nRF51 Dongle (PCA10031)

  Contents

    •   Nordic nRF51 Dongle (PCA10031)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Nordic

  Configuration

Please use nrf51_dongle ID for projectconf_env_board option in projectconf:

        [env:nrf51_dongle]
        platform = nordicnrf51
        board = nrf51_dongle

You can override default Nordic nRF51 Dongle (PCA10031) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf51_dongle.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf51_dongle]
        platform = nordicnrf51
        board = nrf51_dongle

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Nordic nRF51 Dongle (PCA10031) supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf51_dongle]
        platform = nordicnrf51
        board = nrf51_dongle

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic nRF51 Dongle (PCA10031) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Nordic nRF51822-mKIT

  Contents

    •   Nordic nRF51822-mKIT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 128KB
RAM | 16KB
Vendor | Nordic

  Configuration

Please use nrf51_mkit ID for projectconf_env_board option in projectconf:

        [env:nrf51_mkit]
        platform = nordicnrf51
        board = nrf51_mkit

You can override default Nordic nRF51822-mKIT settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf51_mkit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf51_mkit]
        platform = nordicnrf51
        board = nrf51_mkit

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Nordic nRF51822-mKIT supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf51_mkit]
        platform = nordicnrf51
        board = nrf51_mkit

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic nRF51822-mKIT has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Nordic nRF51X22 Development Kit(PCA1000X)

  Contents

    •   Nordic nRF51X22 Development Kit(PCA1000X)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Nordic

  Configuration

Please use nrf51_dk ID for projectconf_env_board option in projectconf:

        [env:nrf51_dk]
        platform = nordicnrf51
        board = nrf51_dk

You can override default Nordic nRF51X22 Development Kit(PCA1000X) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf51_dk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf51_dk]
        platform = nordicnrf51
        board = nrf51_dk

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Nordic nRF51X22 Development Kit(PCA1000X) supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf51_dk]
        platform = nordicnrf51
        board = nrf51_dk

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic nRF51X22 Development Kit(PCA1000X) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  OSHChip

  Contents

    •   OSHChip

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | OSHChip

  Configuration

Please use oshchip ID for projectconf_env_board option in projectconf:

        [env:oshchip]
        platform = nordicnrf51
        board = oshchip

You can override default OSHChip settings per build environment using board_*** option, where *** is a JSON object path from board manifest oshchip.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:oshchip]
        platform = nordicnrf51
        board = oshchip

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

OSHChip supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:oshchip]
        platform = nordicnrf51
        board = oshchip

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

OSHChip does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  RedBearLab BLE Nano 1.5

  Contents

    •   RedBearLab BLE Nano 1.5

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 32KB
Vendor | RedBearLab

  Configuration

Please use redBearLabBLENano ID for projectconf_env_board option in projectconf:

        [env:redBearLabBLENano]
        platform = nordicnrf51
        board = redBearLabBLENano

You can override default RedBearLab BLE Nano 1.5 settings per build environment using board_*** option, where *** is a JSON object path from board manifest redBearLabBLENano.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:redBearLabBLENano]
        platform = nordicnrf51
        board = redBearLabBLENano

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

RedBearLab BLE Nano 1.5 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:redBearLabBLENano]
        platform = nordicnrf51
        board = redBearLabBLENano

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab BLE Nano 1.5 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  RedBearLab nRF51822

  Contents

    •   RedBearLab nRF51822

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | RedBearLab

  Configuration

Please use redBearLab ID for projectconf_env_board option in projectconf:

        [env:redBearLab]
        platform = nordicnrf51
        board = redBearLab

You can override default RedBearLab nRF51822 settings per build environment using board_*** option, where *** is a JSON object path from board manifest redBearLab.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:redBearLab]
        platform = nordicnrf51
        board = redBearLab

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

RedBearLab nRF51822 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:redBearLab]
        platform = nordicnrf51
        board = redBearLab

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab nRF51822 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Seeed Arch BLE

  Contents

    •   Seeed Arch BLE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 128KB
RAM | 16KB
Vendor | SeeedStudio

  Configuration

Please use seeedArchBLE ID for projectconf_env_board option in projectconf:

        [env:seeedArchBLE]
        platform = nordicnrf51
        board = seeedArchBLE

You can override default Seeed Arch BLE settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeedArchBLE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeedArchBLE]
        platform = nordicnrf51
        board = seeedArchBLE

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Seeed Arch BLE supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:seeedArchBLE]
        platform = nordicnrf51
        board = seeedArchBLE

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeed Arch BLE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Seeed Arch Link

  Contents

    •   Seeed Arch Link

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | SeeedStudio

  Configuration

Please use seeedArchLink ID for projectconf_env_board option in projectconf:

        [env:seeedArchLink]
        platform = nordicnrf51
        board = seeedArchLink

You can override default Seeed Arch Link settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeedArchLink.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeedArchLink]
        platform = nordicnrf51
        board = seeedArchLink

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Seeed Arch Link supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:seeedArchLink]
        platform = nordicnrf51
        board = seeedArchLink

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeed Arch Link has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Seeed Tiny BLE

  Contents

    •   Seeed Tiny BLE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | SeeedStudio

  Configuration

Please use seeedTinyBLE ID for projectconf_env_board option in projectconf:

        [env:seeedTinyBLE]
        platform = nordicnrf51
        board = seeedTinyBLE

You can override default Seeed Tiny BLE settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeedTinyBLE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeedTinyBLE]
        platform = nordicnrf51
        board = seeedTinyBLE

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Seeed Tiny BLE supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:seeedTinyBLE]
        platform = nordicnrf51
        board = seeedTinyBLE

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeed Tiny BLE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Sino:Bit

  Contents

    •   Sino:Bit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | sino:bit

  Configuration

Please use Sinobit ID for projectconf_env_board option in projectconf:

        [env:Sinobit]
        platform = nordicnrf51
        board = Sinobit

You can override default Sino:Bit settings per build environment using board_*** option, where *** is a JSON object path from board manifest Sinobit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:Sinobit]
        platform = nordicnrf51
        board = Sinobit

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Sino:Bit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:Sinobit]
        platform = nordicnrf51
        board = Sinobit

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sino:Bit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Switch Science mbed HRM1017

  Contents

    •   Switch Science mbed HRM1017

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | Switch Science

  Configuration

Please use hrm1017 ID for projectconf_env_board option in projectconf:

        [env:hrm1017]
        platform = nordicnrf51
        board = hrm1017

You can override default Switch Science mbed HRM1017 settings per build environment using board_*** option, where *** is a JSON object path from board manifest hrm1017.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hrm1017]
        platform = nordicnrf51
        board = hrm1017

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Switch Science mbed HRM1017 supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:hrm1017]
        platform = nordicnrf51
        board = hrm1017

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Switch Science mbed HRM1017 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Switch Science mbed TY51822r3

  Contents

    •   Switch Science mbed TY51822r3

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Switch Science

  Configuration

Please use ty51822r3 ID for projectconf_env_board option in projectconf:

        [env:ty51822r3]
        platform = nordicnrf51
        board = ty51822r3

You can override default Switch Science mbed TY51822r3 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ty51822r3.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ty51822r3]
        platform = nordicnrf51
        board = ty51822r3

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Switch Science mbed TY51822r3 supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:ty51822r3]
        platform = nordicnrf51
        board = ty51822r3

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Switch Science mbed TY51822r3 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  VNG VBLUNO51

  Contents

    •   VNG VBLUNO51

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 128KB
RAM | 32KB
Vendor | VNG

  Configuration

Please use vbluno51 ID for projectconf_env_board option in projectconf:

        [env:vbluno51]
        platform = nordicnrf51
        board = vbluno51

You can override default VNG VBLUNO51 settings per build environment using board_*** option, where *** is a JSON object path from board manifest vbluno51.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:vbluno51]
        platform = nordicnrf51
        board = vbluno51

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

VNG VBLUNO51 supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:vbluno51]
        platform = nordicnrf51
        board = vbluno51

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

VNG VBLUNO51 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Waveshare BLE400

  Contents

    •   Waveshare BLE400

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Waveshare

  Configuration

Please use waveshare_ble400 ID for projectconf_env_board option in projectconf:

        [env:waveshare_ble400]
        platform = nordicnrf51
        board = waveshare_ble400

You can override default Waveshare BLE400 settings per build environment using board_*** option, where *** is a JSON object path from board manifest waveshare_ble400.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:waveshare_ble400]
        platform = nordicnrf51
        board = waveshare_ble400

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Waveshare BLE400 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:waveshare_ble400]
        platform = nordicnrf51
        board = waveshare_ble400

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Waveshare BLE400 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ng-beacon

  Contents

    •   ng-beacon

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 32KB
Vendor | ng-beacon

  Configuration

Please use ng_beacon ID for projectconf_env_board option in projectconf:

        [env:ng_beacon]
        platform = nordicnrf51
        board = ng_beacon

You can override default ng-beacon settings per build environment using board_*** option, where *** is a JSON object path from board manifest ng_beacon.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ng_beacon]
        platform = nordicnrf51
        board = ng_beacon

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

ng-beacon supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:ng_beacon]
        platform = nordicnrf51
        board = ng_beacon

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ng-beacon does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  y5 nRF51822 mbug

  Contents

    •   y5 nRF51822 mbug

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf51: The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Microcontroller | NRF51822
Frequency | 16MHz
Flash | 256KB
RAM | 16KB
Vendor | y5 design

  Configuration

Please use nrf51822_y5_mbug ID for projectconf_env_board option in projectconf:

        [env:nrf51822_y5_mbug]
        platform = nordicnrf51
        board = nrf51822_y5_mbug

You can override default y5 nRF51822 mbug settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf51822_y5_mbug.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf51822_y5_mbug]
        platform = nordicnrf51
        board = nrf51822_y5_mbug

        ; change microcontroller
        board_build.mcu = nrf51822

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

y5 nRF51822 mbug supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf51822_y5_mbug]
        platform = nordicnrf51
        board = nrf51822_y5_mbug

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

y5 nRF51822 mbug has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Nordic nRF52

  96Boards Nitrogen

  Contents

    •   96Boards Nitrogen

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | 96Boards

  Configuration

Please use 96b_nitrogen ID for projectconf_env_board option in projectconf:

        [env:96b_nitrogen]
        platform = nordicnrf52
        board = 96b_nitrogen

You can override default 96Boards Nitrogen settings per build environment using board_*** option, where *** is a JSON object path from board manifest 96b_nitrogen.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:96b_nitrogen]
        platform = nordicnrf52
        board = 96b_nitrogen

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

96Boards Nitrogen supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:96b_nitrogen]
        platform = nordicnrf52
        board = 96b_nitrogen

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

96Boards Nitrogen does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Adafruit Bluefruit nRF52832 Feather

  Contents

    •   Adafruit Bluefruit nRF52832 Feather

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_nrf52832 ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_nrf52832]
        platform = nordicnrf52
        board = adafruit_feather_nrf52832

You can override default Adafruit Bluefruit nRF52832 Feather settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_nrf52832.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_nrf52832]
        platform = nordicnrf52
        board = adafruit_feather_nrf52832

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Adafruit Bluefruit nRF52832 Feather supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_nrf52832]
        platform = nordicnrf52
        board = adafruit_feather_nrf52832

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Bluefruit nRF52832 Feather does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Adafruit Feather Bluefruit Sense

  Contents

    •   Adafruit Feather Bluefruit Sense

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_nrf52840_sense ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_nrf52840_sense]
        platform = nordicnrf52
        board = adafruit_feather_nrf52840_sense

You can override default Adafruit Feather Bluefruit Sense settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_nrf52840_sense.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_nrf52840_sense]
        platform = nordicnrf52
        board = adafruit_feather_nrf52840_sense

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Adafruit Feather Bluefruit Sense supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_nrf52840_sense]
        platform = nordicnrf52
        board = adafruit_feather_nrf52840_sense

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather Bluefruit Sense does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Adafruit Feather nRF52840 Express

  Contents

    •   Adafruit Feather nRF52840 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_nrf52840 ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_nrf52840]
        platform = nordicnrf52
        board = adafruit_feather_nrf52840

You can override default Adafruit Feather nRF52840 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_nrf52840.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_nrf52840]
        platform = nordicnrf52
        board = adafruit_feather_nrf52840

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Adafruit Feather nRF52840 Express supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_nrf52840]
        platform = nordicnrf52
        board = adafruit_feather_nrf52840

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather nRF52840 Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Arduino Nano 33 BLE

  Contents

    •   Arduino Nano 33 BLE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 960KB
RAM | 256KB
Vendor | Arduino

  Configuration

Please use nano33ble ID for projectconf_env_board option in projectconf:

        [env:nano33ble]
        platform = nordicnrf52
        board = nano33ble

You can override default Arduino Nano 33 BLE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nano33ble.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nano33ble]
        platform = nordicnrf52
        board = nano33ble

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Arduino Nano 33 BLE supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   sam-ba

Default protocol is sam-ba

You can change upload protocol using projectconf_upload_protocol option:

        [env:nano33ble]
        platform = nordicnrf52
        board = nano33ble

        upload_protocol = sam-ba

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arduino Nano 33 BLE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  BL652 Development Kit

  Contents

    •   BL652 Development Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Laird Connectivity

  Configuration

Please use laird_bl652_dvk ID for projectconf_env_board option in projectconf:

        [env:laird_bl652_dvk]
        platform = nordicnrf52
        board = laird_bl652_dvk

You can override default BL652 Development Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest laird_bl652_dvk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:laird_bl652_dvk]
        platform = nordicnrf52
        board = laird_bl652_dvk

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

BL652 Development Kit supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:laird_bl652_dvk]
        platform = nordicnrf52
        board = laird_bl652_dvk

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BL652 Development Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  BL654 Development Kit

  Contents

    •   BL654 Development Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 1MB
RAM | 256KB
Vendor | Laird Connectivity

  Configuration

Please use laird_bl654_dvk ID for projectconf_env_board option in projectconf:

        [env:laird_bl654_dvk]
        platform = nordicnrf52
        board = laird_bl654_dvk

You can override default BL654 Development Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest laird_bl654_dvk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:laird_bl654_dvk]
        platform = nordicnrf52
        board = laird_bl654_dvk

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

BL654 Development Kit supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:laird_bl654_dvk]
        platform = nordicnrf52
        board = laird_bl654_dvk

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BL654 Development Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Bluey nRF52832 IoT

  Contents

    •   Bluey nRF52832 IoT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Electronut Labs

  Configuration

Please use bluey ID for projectconf_env_board option in projectconf:

        [env:bluey]
        platform = nordicnrf52
        board = bluey

You can override default Bluey nRF52832 IoT settings per build environment using board_*** option, where *** is a JSON object path from board manifest bluey.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bluey]
        platform = nordicnrf52
        board = bluey

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Bluey nRF52832 IoT supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:bluey]
        platform = nordicnrf52
        board = bluey

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Bluey nRF52832 IoT does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Circuit Playground Bluefruit

  Contents

    •   Circuit Playground Bluefruit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Adafruit

  Configuration

Please use adafruit_cplaynrf52840 ID for projectconf_env_board option in projectconf:

        [env:adafruit_cplaynrf52840]
        platform = nordicnrf52
        board = adafruit_cplaynrf52840

You can override default Circuit Playground Bluefruit settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_cplaynrf52840.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_cplaynrf52840]
        platform = nordicnrf52
        board = adafruit_cplaynrf52840

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Circuit Playground Bluefruit supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_cplaynrf52840]
        platform = nordicnrf52
        board = adafruit_cplaynrf52840

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Circuit Playground Bluefruit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Delta DFBM-NQ620

  Contents

    •   Delta DFBM-NQ620

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Delta

  Configuration

Please use delta_dfbm_nq620 ID for projectconf_env_board option in projectconf:

        [env:delta_dfbm_nq620]
        platform = nordicnrf52
        board = delta_dfbm_nq620

You can override default Delta DFBM-NQ620 settings per build environment using board_*** option, where *** is a JSON object path from board manifest delta_dfbm_nq620.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:delta_dfbm_nq620]
        platform = nordicnrf52
        board = delta_dfbm_nq620

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Delta DFBM-NQ620 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:delta_dfbm_nq620]
        platform = nordicnrf52
        board = delta_dfbm_nq620

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Delta DFBM-NQ620 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  ElectronutLabs Blip

  Contents

    •   ElectronutLabs Blip

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 1MB
RAM | 256KB
Vendor | ElectronutLabs

  Configuration

Please use electronut_blip ID for projectconf_env_board option in projectconf:

        [env:electronut_blip]
        platform = nordicnrf52
        board = electronut_blip

You can override default ElectronutLabs Blip settings per build environment using board_*** option, where *** is a JSON object path from board manifest electronut_blip.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:electronut_blip]
        platform = nordicnrf52
        board = electronut_blip

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

ElectronutLabs Blip supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is blackmagic

You can change upload protocol using projectconf_upload_protocol option:

        [env:electronut_blip]
        platform = nordicnrf52
        board = electronut_blip

        upload_protocol = blackmagic

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ElectronutLabs Blip has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic | Yes | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ElectronutLabs Papyr

  Contents

    •   ElectronutLabs Papyr

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 1MB
RAM | 256KB
Vendor | ElectronutLabs

  Configuration

Please use electronut_papyr ID for projectconf_env_board option in projectconf:

        [env:electronut_papyr]
        platform = nordicnrf52
        board = electronut_papyr

You can override default ElectronutLabs Papyr settings per build environment using board_*** option, where *** is a JSON object path from board manifest electronut_papyr.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:electronut_papyr]
        platform = nordicnrf52
        board = electronut_papyr

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

ElectronutLabs Papyr supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is blackmagic

You can change upload protocol using projectconf_upload_protocol option:

        [env:electronut_papyr]
        platform = nordicnrf52
        board = electronut_papyr

        upload_protocol = blackmagic

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ElectronutLabs Papyr has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic | Yes | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Holyiot YJ-16019

  Contents

    •   Holyiot YJ-16019

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Holyiot

  Configuration

Please use holyiot_yj16019 ID for projectconf_env_board option in projectconf:

        [env:holyiot_yj16019]
        platform = nordicnrf52
        board = holyiot_yj16019

You can override default Holyiot YJ-16019 settings per build environment using board_*** option, where *** is a JSON object path from board manifest holyiot_yj16019.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:holyiot_yj16019]
        platform = nordicnrf52
        board = holyiot_yj16019

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Holyiot YJ-16019 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:holyiot_yj16019]
        platform = nordicnrf52
        board = holyiot_yj16019

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Holyiot YJ-16019 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ItsyBitsy nRF52840 Express

  Contents

    •   ItsyBitsy nRF52840 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Adafruit

  Configuration

Please use adafruit_itsybitsy_nrf52840 ID for projectconf_env_board option in projectconf:

        [env:adafruit_itsybitsy_nrf52840]
        platform = nordicnrf52
        board = adafruit_itsybitsy_nrf52840

You can override default ItsyBitsy nRF52840 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_itsybitsy_nrf52840.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_itsybitsy_nrf52840]
        platform = nordicnrf52
        board = adafruit_itsybitsy_nrf52840

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

ItsyBitsy nRF52840 Express supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_itsybitsy_nrf52840]
        platform = nordicnrf52
        board = adafruit_itsybitsy_nrf52840

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ItsyBitsy nRF52840 Express has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Makerdiary nRF52832-MDK

  Contents

    •   Makerdiary nRF52832-MDK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Makerdiary

  Configuration

Please use nrf52832_mdk ID for projectconf_env_board option in projectconf:

        [env:nrf52832_mdk]
        platform = nordicnrf52
        board = nrf52832_mdk

You can override default Makerdiary nRF52832-MDK settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf52832_mdk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf52832_mdk]
        platform = nordicnrf52
        board = nrf52832_mdk

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Makerdiary nRF52832-MDK supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf52832_mdk]
        platform = nordicnrf52
        board = nrf52832_mdk

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Makerdiary nRF52832-MDK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Makerdiary nRF52840-MDK

  Contents

    •   Makerdiary nRF52840-MDK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 1MB
RAM | 256KB
Vendor | Makerdiary

  Configuration

Please use nrf52840_mdk ID for projectconf_env_board option in projectconf:

        [env:nrf52840_mdk]
        platform = nordicnrf52
        board = nrf52840_mdk

You can override default Makerdiary nRF52840-MDK settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf52840_mdk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf52840_mdk]
        platform = nordicnrf52
        board = nrf52840_mdk

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Makerdiary nRF52840-MDK supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf52840_mdk]
        platform = nordicnrf52
        board = nrf52840_mdk

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Makerdiary nRF52840-MDK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Metro nRF52840 Express

  Contents

    •   Metro nRF52840 Express

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Adafruit

  Configuration

Please use adafruit_metro_nrf52840 ID for projectconf_env_board option in projectconf:

        [env:adafruit_metro_nrf52840]
        platform = nordicnrf52
        board = adafruit_metro_nrf52840

You can override default Metro nRF52840 Express settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_metro_nrf52840.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_metro_nrf52840]
        platform = nordicnrf52
        board = adafruit_metro_nrf52840

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Metro nRF52840 Express supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_metro_nrf52840]
        platform = nordicnrf52
        board = adafruit_metro_nrf52840

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Metro nRF52840 Express does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Nordic Thingy:52 (nRF52-PCA20020)

  Contents

    •   Nordic Thingy:52 (nRF52-PCA20020)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Nordic

  Configuration

Please use thingy_52 ID for projectconf_env_board option in projectconf:

        [env:thingy_52]
        platform = nordicnrf52
        board = thingy_52

You can override default Nordic Thingy:52 (nRF52-PCA20020) settings per build environment using board_*** option, where *** is a JSON object path from board manifest thingy_52.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:thingy_52]
        platform = nordicnrf52
        board = thingy_52

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Nordic Thingy:52 (nRF52-PCA20020) supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:thingy_52]
        platform = nordicnrf52
        board = thingy_52

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic Thingy:52 (nRF52-PCA20020) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Nordic nRF52-DK

  Contents

    •   Nordic nRF52-DK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Nordic

  Configuration

Please use nrf52_dk ID for projectconf_env_board option in projectconf:

        [env:nrf52_dk]
        platform = nordicnrf52
        board = nrf52_dk

You can override default Nordic nRF52-DK settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf52_dk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf52_dk]
        platform = nordicnrf52
        board = nrf52_dk

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Nordic nRF52-DK supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf52_dk]
        platform = nordicnrf52
        board = nrf52_dk

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic nRF52-DK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Nordic nRF52840-DK

  Contents

    •   Nordic nRF52840-DK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 1MB
RAM | 256KB
Vendor | Nordic

  Configuration

Please use nrf52840_dk ID for projectconf_env_board option in projectconf:

        [env:nrf52840_dk]
        platform = nordicnrf52
        board = nrf52840_dk

You can override default Nordic nRF52840-DK settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf52840_dk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf52840_dk]
        platform = nordicnrf52
        board = nrf52840_dk

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Nordic nRF52840-DK supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf52840_dk]
        platform = nordicnrf52
        board = nrf52840_dk

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic nRF52840-DK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Nordic nRF52840-DK (Adafruit BSP)

  Contents

    •   Nordic nRF52840-DK (Adafruit BSP)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Nordic

  Configuration

Please use nrf52840_dk_adafruit ID for projectconf_env_board option in projectconf:

        [env:nrf52840_dk_adafruit]
        platform = nordicnrf52
        board = nrf52840_dk_adafruit

You can override default Nordic nRF52840-DK (Adafruit BSP) settings per build environment using board_*** option, where *** is a JSON object path from board manifest nrf52840_dk_adafruit.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nrf52840_dk_adafruit]
        platform = nordicnrf52
        board = nrf52840_dk_adafruit

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Nordic nRF52840-DK (Adafruit BSP) supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nrf52840_dk_adafruit]
        platform = nordicnrf52
        board = nrf52840_dk_adafruit

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nordic nRF52840-DK (Adafruit BSP) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Particle Argon

  Contents

    •   Particle Argon

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Particle

  Configuration

Please use particle_argon ID for projectconf_env_board option in projectconf:

        [env:particle_argon]
        platform = nordicnrf52
        board = particle_argon

You can override default Particle Argon settings per build environment using board_*** option, where *** is a JSON object path from board manifest particle_argon.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:particle_argon]
        platform = nordicnrf52
        board = particle_argon

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Particle Argon supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:particle_argon]
        platform = nordicnrf52
        board = particle_argon

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Particle Argon does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Particle Boron

  Contents

    •   Particle Boron

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Particle

  Configuration

Please use particle_boron ID for projectconf_env_board option in projectconf:

        [env:particle_boron]
        platform = nordicnrf52
        board = particle_boron

You can override default Particle Boron settings per build environment using board_*** option, where *** is a JSON object path from board manifest particle_boron.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:particle_boron]
        platform = nordicnrf52
        board = particle_boron

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Particle Boron supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:particle_boron]
        platform = nordicnrf52
        board = particle_boron

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Particle Boron does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Particle Xenon

  Contents

    •   Particle Xenon

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52840
Frequency | 64MHz
Flash | 796KB
RAM | 243KB
Vendor | Particle

  Configuration

Please use particle_xenon ID for projectconf_env_board option in projectconf:

        [env:particle_xenon]
        platform = nordicnrf52
        board = particle_xenon

You can override default Particle Xenon settings per build environment using board_*** option, where *** is a JSON object path from board manifest particle_xenon.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:particle_xenon]
        platform = nordicnrf52
        board = particle_xenon

        ; change microcontroller
        board_build.mcu = nrf52840

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Particle Xenon supports the next uploading protocols:

    •   jlink

    •   nrfjprog

    •   nrfutil

    •   stlink

Default protocol is nrfutil

You can change upload protocol using projectconf_upload_protocol option:

        [env:particle_xenon]
        platform = nordicnrf52
        board = particle_xenon

        upload_protocol = nrfutil

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Particle Xenon does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  RedBearLab BLE Nano 2

  Contents

    •   RedBearLab BLE Nano 2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | RedBearLab

  Configuration

Please use redbear_blenano2 ID for projectconf_env_board option in projectconf:

        [env:redbear_blenano2]
        platform = nordicnrf52
        board = redbear_blenano2

You can override default RedBearLab BLE Nano 2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest redbear_blenano2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:redbear_blenano2]
        platform = nordicnrf52
        board = redbear_blenano2

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

RedBearLab BLE Nano 2 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:redbear_blenano2]
        platform = nordicnrf52
        board = redbear_blenano2

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab BLE Nano 2 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  RedBearLab Blend 2

  Contents

    •   RedBearLab Blend 2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | RedBearLab

  Configuration

Please use redbear_blend2 ID for projectconf_env_board option in projectconf:

        [env:redbear_blend2]
        platform = nordicnrf52
        board = redbear_blend2

You can override default RedBearLab Blend 2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest redbear_blend2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:redbear_blend2]
        platform = nordicnrf52
        board = redbear_blend2

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

RedBearLab Blend 2 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:redbear_blend2]
        platform = nordicnrf52
        board = redbear_blend2

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RedBearLab Blend 2 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  SDT52832B

  Contents

    •   SDT52832B

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Sigma Delta Technologies

  Configuration

Please use sdt52832b ID for projectconf_env_board option in projectconf:

        [env:sdt52832b]
        platform = nordicnrf52
        board = sdt52832b

You can override default SDT52832B settings per build environment using board_*** option, where *** is a JSON object path from board manifest sdt52832b.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sdt52832b]
        platform = nordicnrf52
        board = sdt52832b

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

SDT52832B supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:sdt52832b]
        platform = nordicnrf52
        board = sdt52832b

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SDT52832B does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Taida Century nRF52 mini board

  Contents

    •   Taida Century nRF52 mini board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Taida Century

  Configuration

Please use stct_nrf52_minidev ID for projectconf_env_board option in projectconf:

        [env:stct_nrf52_minidev]
        platform = nordicnrf52
        board = stct_nrf52_minidev

You can override default Taida Century nRF52 mini board settings per build environment using board_*** option, where *** is a JSON object path from board manifest stct_nrf52_minidev.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stct_nrf52_minidev]
        platform = nordicnrf52
        board = stct_nrf52_minidev

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Taida Century nRF52 mini board supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:stct_nrf52_minidev]
        platform = nordicnrf52
        board = stct_nrf52_minidev

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Taida Century nRF52 mini board does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  VNG VBLUno52

  Contents

    •   VNG VBLUno52

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | VNG

  Configuration

Please use vbluno52 ID for projectconf_env_board option in projectconf:

        [env:vbluno52]
        platform = nordicnrf52
        board = vbluno52

You can override default VNG VBLUno52 settings per build environment using board_*** option, where *** is a JSON object path from board manifest vbluno52.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:vbluno52]
        platform = nordicnrf52
        board = vbluno52

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

VNG VBLUno52 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:vbluno52]
        platform = nordicnrf52
        board = vbluno52

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

VNG VBLUno52 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  hackaBLE

  Contents

    •   hackaBLE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | Electronut Labs

  Configuration

Please use hackaBLE ID for projectconf_env_board option in projectconf:

        [env:hackaBLE]
        platform = nordicnrf52
        board = hackaBLE

You can override default hackaBLE settings per build environment using board_*** option, where *** is a JSON object path from board manifest hackaBLE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hackaBLE]
        platform = nordicnrf52
        board = hackaBLE

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

hackaBLE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:hackaBLE]
        platform = nordicnrf52
        board = hackaBLE

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

hackaBLE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  u-blox EVK-NINA-B1

  Contents

    •   u-blox EVK-NINA-B1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nordicnrf52: The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
Microcontroller | NRF52832
Frequency | 64MHz
Flash | 512KB
RAM | 64KB
Vendor | u-blox

  Configuration

Please use ublox_evk_nina_b1 ID for projectconf_env_board option in projectconf:

        [env:ublox_evk_nina_b1]
        platform = nordicnrf52
        board = ublox_evk_nina_b1

You can override default u-blox EVK-NINA-B1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ublox_evk_nina_b1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ublox_evk_nina_b1]
        platform = nordicnrf52
        board = ublox_evk_nina_b1

        ; change microcontroller
        board_build.mcu = nrf52832

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

u-blox EVK-NINA-B1 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   nrfjprog

    •   stlink

Default protocol is jlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:ublox_evk_nina_b1]
        platform = nordicnrf52
        board = ublox_evk_nina_b1

        upload_protocol = jlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox EVK-NINA-B1 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Nuclei

  GD32VF103V Evaluation Kit

  Contents

    •   GD32VF103V Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nuclei: Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.
Microcontroller | GD32VF103VBT6
Frequency | 108MHz
Flash | 128KB
RAM | 32KB
Vendor | GigaDevice

  Configuration

Please use gd32vf103v_eval ID for projectconf_env_board option in projectconf:

        [env:gd32vf103v_eval]
        platform = nuclei
        board = gd32vf103v_eval

You can override default GD32VF103V Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest gd32vf103v_eval.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:gd32vf103v_eval]
        platform = nuclei
        board = gd32vf103v_eval

        ; change microcontroller
        board_build.mcu = gd32vf103vbt6

        ; change MCU frequency
        board_build.f_cpu = 108000000L

  Uploading

GD32VF103V Evaluation Kit supports the next uploading protocols:

    •   altera-usb-blaster

    •   gd-link

    •   jlink

    •   rv-link

Default protocol is rv-link

You can change upload protocol using projectconf_upload_protocol option:

        [env:gd32vf103v_eval]
        platform = nuclei
        board = gd32vf103v_eval

        upload_protocol = rv-link

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

GD32VF103V Evaluation Kit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_altera-usb-blaster |  | Yes
debugging_tool_gd-link |  |
debugging_tool_jlink |  |
debugging_tool_rv-link |  |

  Frameworks
Name | Description
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  GD32VF103V RVStar Kit

  Contents

    •   GD32VF103V RVStar Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nuclei: Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.
Microcontroller | GD32VF103VBT6
Frequency | 108MHz
Flash | 128KB
RAM | 32KB
Vendor | Nuclei

  Configuration

Please use gd32vf103v_rvstar ID for projectconf_env_board option in projectconf:

        [env:gd32vf103v_rvstar]
        platform = nuclei
        board = gd32vf103v_rvstar

You can override default GD32VF103V RVStar Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest gd32vf103v_rvstar.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:gd32vf103v_rvstar]
        platform = nuclei
        board = gd32vf103v_rvstar

        ; change microcontroller
        board_build.mcu = gd32vf103vbt6

        ; change MCU frequency
        board_build.f_cpu = 108000000L

  Uploading

GD32VF103V RVStar Kit supports the next uploading protocols:

    •   altera-usb-blaster

    •   gd-link

    •   jlink

    •   rv-link

Default protocol is rv-link

You can change upload protocol using projectconf_upload_protocol option:

        [env:gd32vf103v_rvstar]
        platform = nuclei
        board = gd32vf103v_rvstar

        upload_protocol = rv-link

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

GD32VF103V RVStar Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_altera-usb-blaster |  |
debugging_tool_gd-link |  |
debugging_tool_jlink |  |
debugging_tool_rv-link | Yes | Yes

  Frameworks
Name | Description
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  HummingBird Evaluation Kit

  Contents

    •   HummingBird Evaluation Kit

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nuclei: Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.
Microcontroller | HUMMINGBIRD
Frequency | 5MHz
Flash | 64KB
RAM | 64KB
Vendor | Nuclei

  Configuration

Please use hbird_eval ID for projectconf_env_board option in projectconf:

        [env:hbird_eval]
        platform = nuclei
        board = hbird_eval

You can override default HummingBird Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest hbird_eval.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hbird_eval]
        platform = nuclei
        board = hbird_eval

        ; change microcontroller
        board_build.mcu = HummingBird

        ; change MCU frequency
        board_build.f_cpu = 5000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

HummingBird Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_rv-link | Yes | Yes

  Frameworks
Name | Description
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  NXP i.MX RT

  NXP i.MX RT1010 Evaluation Kit

  Contents

    •   NXP i.MX RT1010 Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxpimxrt: The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
Microcontroller | MIMXRT1011DAE5A
Frequency | 500MHz
Flash | 64KB
RAM | 128KB
Vendor | NXP

  Configuration

Please use mimxrt1010_evk ID for projectconf_env_board option in projectconf:

        [env:mimxrt1010_evk]
        platform = nxpimxrt
        board = mimxrt1010_evk

You can override default NXP i.MX RT1010 Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mimxrt1010_evk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mimxrt1010_evk]
        platform = nxpimxrt
        board = mimxrt1010_evk

        ; change microcontroller
        board_build.mcu = mimxrt1011dae5a

        ; change MCU frequency
        board_build.f_cpu = 500000000L

  Uploading

NXP i.MX RT1010 Evaluation Kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mimxrt1010_evk]
        platform = nxpimxrt
        board = mimxrt1010_evk

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP i.MX RT1010 Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP i.MX RT1015 Evaluation Kit

  Contents

    •   NXP i.MX RT1015 Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxpimxrt: The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
Microcontroller | MIMXRT1015DAF5A
Frequency | 500MHz
Flash | 96KB
RAM | 128KB
Vendor | NXP

  Configuration

Please use mimxrt1015_evk ID for projectconf_env_board option in projectconf:

        [env:mimxrt1015_evk]
        platform = nxpimxrt
        board = mimxrt1015_evk

You can override default NXP i.MX RT1015 Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mimxrt1015_evk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mimxrt1015_evk]
        platform = nxpimxrt
        board = mimxrt1015_evk

        ; change microcontroller
        board_build.mcu = mimxrt1015daf5a

        ; change MCU frequency
        board_build.f_cpu = 500000000L

  Uploading

NXP i.MX RT1015 Evaluation Kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mimxrt1015_evk]
        platform = nxpimxrt
        board = mimxrt1015_evk

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP i.MX RT1015 Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP i.MX RT1020 Evaluation Kit

  Contents

    •   NXP i.MX RT1020 Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxpimxrt: The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
Microcontroller | MIMXRT1021DAG5A
Frequency | 500MHz
Flash | 64MB
RAM | 256MB
Vendor | NXP

  Configuration

Please use mimxrt1020_evk ID for projectconf_env_board option in projectconf:

        [env:mimxrt1020_evk]
        platform = nxpimxrt
        board = mimxrt1020_evk

You can override default NXP i.MX RT1020 Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mimxrt1020_evk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mimxrt1020_evk]
        platform = nxpimxrt
        board = mimxrt1020_evk

        ; change microcontroller
        board_build.mcu = mimxrt1021dag5a

        ; change MCU frequency
        board_build.f_cpu = 500000000L

  Uploading

NXP i.MX RT1020 Evaluation Kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mimxrt1020_evk]
        platform = nxpimxrt
        board = mimxrt1020_evk

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP i.MX RT1020 Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP i.MX RT1050 Evaluation Kit

  Contents

    •   NXP i.MX RT1050 Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxpimxrt: The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
Microcontroller | MIMXRT1052DVL6B
Frequency | 600MHz
Flash | 64MB
RAM | 512KB
Vendor | NXP

  Configuration

Please use mimxrt1050_evk ID for projectconf_env_board option in projectconf:

        [env:mimxrt1050_evk]
        platform = nxpimxrt
        board = mimxrt1050_evk

You can override default NXP i.MX RT1050 Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mimxrt1050_evk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mimxrt1050_evk]
        platform = nxpimxrt
        board = mimxrt1050_evk

        ; change microcontroller
        board_build.mcu = mimxrt1052dvl6b

        ; change MCU frequency
        board_build.f_cpu = 600000000L

  Uploading

NXP i.MX RT1050 Evaluation Kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mimxrt1050_evk]
        platform = nxpimxrt
        board = mimxrt1050_evk

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP i.MX RT1050 Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP i.MX RT1060 Evaluation Kit

  Contents

    •   NXP i.MX RT1060 Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxpimxrt: The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
Microcontroller | MIMXRT1062DVL6A
Frequency | 600MHz
Flash | 64MB
RAM | 1MB
Vendor | NXP

  Configuration

Please use mimxrt1060_evk ID for projectconf_env_board option in projectconf:

        [env:mimxrt1060_evk]
        platform = nxpimxrt
        board = mimxrt1060_evk

You can override default NXP i.MX RT1060 Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mimxrt1060_evk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mimxrt1060_evk]
        platform = nxpimxrt
        board = mimxrt1060_evk

        ; change microcontroller
        board_build.mcu = mimxrt1062dvl6a

        ; change MCU frequency
        board_build.f_cpu = 600000000L

  Uploading

NXP i.MX RT1060 Evaluation Kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mimxrt1060_evk]
        platform = nxpimxrt
        board = mimxrt1060_evk

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP i.MX RT1060 Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP i.MX RT1064 Evaluation Kit

  Contents

    •   NXP i.MX RT1064 Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxpimxrt: The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
Microcontroller | MIMXRT1064DVL6A
Frequency | 600MHz
Flash | 4MB
RAM | 1MB
Vendor | NXP

  Configuration

Please use mimxrt1064_evk ID for projectconf_env_board option in projectconf:

        [env:mimxrt1064_evk]
        platform = nxpimxrt
        board = mimxrt1064_evk

You can override default NXP i.MX RT1064 Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest mimxrt1064_evk.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mimxrt1064_evk]
        platform = nxpimxrt
        board = mimxrt1064_evk

        ; change microcontroller
        board_build.mcu = mimxrt1064dvl6a

        ; change MCU frequency
        board_build.f_cpu = 600000000L

  Uploading

NXP i.MX RT1064 Evaluation Kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mimxrt1064_evk]
        platform = nxpimxrt
        board = mimxrt1064_evk

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP i.MX RT1064 Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP LPC

  ARM mbed LPC11U24 (+CAN)

  Contents

    •   ARM mbed LPC11U24 (+CAN)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U24
Frequency | 48MHz
Flash | 32KB
RAM | 8KB
Vendor | NXP

  Configuration

Please use lpc11u24_301 ID for projectconf_env_board option in projectconf:

        [env:lpc11u24_301]
        platform = nxplpc
        board = lpc11u24_301

You can override default ARM mbed LPC11U24 (+CAN) settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u24_301.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u24_301]
        platform = nxplpc
        board = lpc11u24_301

        ; change microcontroller
        board_build.mcu = lpc11u24

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ARM mbed LPC11U24 (+CAN) supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u24_301]
        platform = nxplpc
        board = lpc11u24_301

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ARM mbed LPC11U24 (+CAN) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Bambino-210E

  Contents

    •   Bambino-210E

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC4330
Frequency | 204MHz
Flash | 8MB
RAM | 264KB
Vendor | Micromint

  Configuration

Please use lpc4330_m4 ID for projectconf_env_board option in projectconf:

        [env:lpc4330_m4]
        platform = nxplpc
        board = lpc4330_m4

You can override default Bambino-210E settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc4330_m4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc4330_m4]
        platform = nxplpc
        board = lpc4330_m4

        ; change microcontroller
        board_build.mcu = lpc4330

        ; change MCU frequency
        board_build.f_cpu = 204000000L

  Uploading

Bambino-210E supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc4330_m4]
        platform = nxplpc
        board = lpc4330_m4

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Bambino-210E has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  CQ Publishing TG-LPC11U35-501

  Contents

    •   CQ Publishing TG-LPC11U35-501

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U35
Frequency | 48MHz
Flash | 64KB
RAM | 10KB
Vendor | CQ Publishing

  Configuration

Please use lpc11u35_501 ID for projectconf_env_board option in projectconf:

        [env:lpc11u35_501]
        platform = nxplpc
        board = lpc11u35_501

You can override default CQ Publishing TG-LPC11U35-501 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u35_501.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u35_501]
        platform = nxplpc
        board = lpc11u35_501

        ; change microcontroller
        board_build.mcu = lpc11u35

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

CQ Publishing TG-LPC11U35-501 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u35_501]
        platform = nxplpc
        board = lpc11u35_501

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

CQ Publishing TG-LPC11U35-501 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  CoCo-ri-Co!

  Contents

    •   CoCo-ri-Co!

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC812
Frequency | 30MHz
Flash | 16KB
RAM | 4KB
Vendor | Elektor Labs

  Configuration

Please use elektor_cocorico ID for projectconf_env_board option in projectconf:

        [env:elektor_cocorico]
        platform = nxplpc
        board = elektor_cocorico

You can override default CoCo-ri-Co! settings per build environment using board_*** option, where *** is a JSON object path from board manifest elektor_cocorico.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:elektor_cocorico]
        platform = nxplpc
        board = elektor_cocorico

        ; change microcontroller
        board_build.mcu = lpc812

        ; change MCU frequency
        board_build.f_cpu = 30000000L

  Uploading

CoCo-ri-Co! supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:elektor_cocorico]
        platform = nxplpc
        board = elektor_cocorico

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

CoCo-ri-Co! has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  DipCortex M3

  Contents

    •   DipCortex M3

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1347
Frequency | 72MHz
Flash | 64KB
RAM | 12KB
Vendor | Solder Splash Labs

  Configuration

Please use lpc1347 ID for projectconf_env_board option in projectconf:

        [env:lpc1347]
        platform = nxplpc
        board = lpc1347

You can override default DipCortex M3 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc1347.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc1347]
        platform = nxplpc
        board = lpc1347

        ; change microcontroller
        board_build.mcu = lpc1347

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

DipCortex M3 supports the next uploading protocols:

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc1347]
        platform = nxplpc
        board = lpc1347

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

DipCortex M3 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  EA LPC11U35 QuickStart Board

  Contents

    •   EA LPC11U35 QuickStart Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U35
Frequency | 48MHz
Flash | 64KB
RAM | 10KB
Vendor | Embedded Artists

  Configuration

Please use lpc11u35 ID for projectconf_env_board option in projectconf:

        [env:lpc11u35]
        platform = nxplpc
        board = lpc11u35

You can override default EA LPC11U35 QuickStart Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u35.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u35]
        platform = nxplpc
        board = lpc11u35

        ; change microcontroller
        board_build.mcu = lpc11u35

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

EA LPC11U35 QuickStart Board supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u35]
        platform = nxplpc
        board = lpc11u35

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

EA LPC11U35 QuickStart Board does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Embedded Artists LPC4088 Display Module

  Contents

    •   Embedded Artists LPC4088 Display Module

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC4088
Frequency | 120MHz
Flash | 512KB
RAM | 96KB
Vendor | Embedded Artists

  Configuration

Please use lpc4088_dm ID for projectconf_env_board option in projectconf:

        [env:lpc4088_dm]
        platform = nxplpc
        board = lpc4088_dm

You can override default Embedded Artists LPC4088 Display Module settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc4088_dm.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc4088_dm]
        platform = nxplpc
        board = lpc4088_dm

        ; change microcontroller
        board_build.mcu = lpc4088

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Embedded Artists LPC4088 Display Module supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc4088_dm]
        platform = nxplpc
        board = lpc4088_dm

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Embedded Artists LPC4088 Display Module has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Embedded Artists LPC4088 QuickStart Board

  Contents

    •   Embedded Artists LPC4088 QuickStart Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC4088
Frequency | 120MHz
Flash | 512KB
RAM | 96KB
Vendor | Embedded Artists

  Configuration

Please use lpc4088 ID for projectconf_env_board option in projectconf:

        [env:lpc4088]
        platform = nxplpc
        board = lpc4088

You can override default Embedded Artists LPC4088 QuickStart Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc4088.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc4088]
        platform = nxplpc
        board = lpc4088

        ; change microcontroller
        board_build.mcu = lpc4088

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Embedded Artists LPC4088 QuickStart Board supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc4088]
        platform = nxplpc
        board = lpc4088

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Embedded Artists LPC4088 QuickStart Board has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  LPCXpresso11U68

  Contents

    •   LPCXpresso11U68

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U68
Frequency | 50MHz
Flash | 256KB
RAM | 36KB
Vendor | NXP

  Configuration

Please use lpc11u68 ID for projectconf_env_board option in projectconf:

        [env:lpc11u68]
        platform = nxplpc
        board = lpc11u68

You can override default LPCXpresso11U68 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u68.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u68]
        platform = nxplpc
        board = lpc11u68

        ; change microcontroller
        board_build.mcu = lpc11u68

        ; change MCU frequency
        board_build.f_cpu = 50000000L

  Uploading

LPCXpresso11U68 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u68]
        platform = nxplpc
        board = lpc11u68

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LPCXpresso11U68 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  LPCXpresso824-MAX

  Contents

    •   LPCXpresso824-MAX

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC824
Frequency | 30MHz
Flash | 32KB
RAM | 8KB
Vendor | NXP

  Configuration

Please use lpc824 ID for projectconf_env_board option in projectconf:

        [env:lpc824]
        platform = nxplpc
        board = lpc824

You can override default LPCXpresso824-MAX settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc824.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc824]
        platform = nxplpc
        board = lpc824

        ; change microcontroller
        board_build.mcu = lpc824

        ; change MCU frequency
        board_build.f_cpu = 30000000L

  Uploading

LPCXpresso824-MAX supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc824]
        platform = nxplpc
        board = lpc824

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

LPCXpresso824-MAX has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  MicroNFCBoard

  Contents

    •   MicroNFCBoard

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U34
Frequency | 48MHz
Flash | 48KB
RAM | 10KB
Vendor | AppNearMe

  Configuration

Please use micronfcboard ID for projectconf_env_board option in projectconf:

        [env:micronfcboard]
        platform = nxplpc
        board = micronfcboard

You can override default MicroNFCBoard settings per build environment using board_*** option, where *** is a JSON object path from board manifest micronfcboard.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:micronfcboard]
        platform = nxplpc
        board = micronfcboard

        ; change microcontroller
        board_build.mcu = lpc11u34

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support MicroNFCBoard board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NGX Technologies BlueBoard-LPC11U24

  Contents

    •   NGX Technologies BlueBoard-LPC11U24

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U24
Frequency | 48MHz
Flash | 32KB
RAM | 8KB
Vendor | NGX Technologies

  Configuration

Please use blueboard_lpc11u24 ID for projectconf_env_board option in projectconf:

        [env:blueboard_lpc11u24]
        platform = nxplpc
        board = blueboard_lpc11u24

You can override default NGX Technologies BlueBoard-LPC11U24 settings per build environment using board_*** option, where *** is a JSON object path from board manifest blueboard_lpc11u24.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blueboard_lpc11u24]
        platform = nxplpc
        board = blueboard_lpc11u24

        ; change microcontroller
        board_build.mcu = lpc11u24

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

NGX Technologies BlueBoard-LPC11U24 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:blueboard_lpc11u24]
        platform = nxplpc
        board = blueboard_lpc11u24

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NGX Technologies BlueBoard-LPC11U24 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP LPC11C24

  Contents

    •   NXP LPC11C24

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11C24
Frequency | 48MHz
Flash | 32KB
RAM | 8KB
Vendor | NXP

  Configuration

Please use lpc11c24 ID for projectconf_env_board option in projectconf:

        [env:lpc11c24]
        platform = nxplpc
        board = lpc11c24

You can override default NXP LPC11C24 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11c24.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11c24]
        platform = nxplpc
        board = lpc11c24

        ; change microcontroller
        board_build.mcu = lpc11c24

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

NXP LPC11C24 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11c24]
        platform = nxplpc
        board = lpc11c24

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPC11C24 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP LPC11U34

  Contents

    •   NXP LPC11U34

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U34
Frequency | 48MHz
Flash | 40KB
RAM | 8KB
Vendor | NXP

  Configuration

Please use lpc11u34_421 ID for projectconf_env_board option in projectconf:

        [env:lpc11u34_421]
        platform = nxplpc
        board = lpc11u34_421

You can override default NXP LPC11U34 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u34_421.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u34_421]
        platform = nxplpc
        board = lpc11u34_421

        ; change microcontroller
        board_build.mcu = lpc11u34

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

NXP LPC11U34 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u34_421]
        platform = nxplpc
        board = lpc11u34_421

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPC11U34 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP LPC11U37

  Contents

    •   NXP LPC11U37

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U37
Frequency | 48MHz
Flash | 128KB
RAM | 10KB
Vendor | NXP

  Configuration

Please use lpc11u37_501 ID for projectconf_env_board option in projectconf:

        [env:lpc11u37_501]
        platform = nxplpc
        board = lpc11u37_501

You can override default NXP LPC11U37 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u37_501.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u37_501]
        platform = nxplpc
        board = lpc11u37_501

        ; change microcontroller
        board_build.mcu = lpc11u37

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

NXP LPC11U37 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u37_501]
        platform = nxplpc
        board = lpc11u37_501

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPC11U37 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP LPC800-MAX

  Contents

    •   NXP LPC800-MAX

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC812
Frequency | 30MHz
Flash | 16KB
RAM | 4KB
Vendor | NXP

  Configuration

Please use lpc812 ID for projectconf_env_board option in projectconf:

        [env:lpc812]
        platform = nxplpc
        board = lpc812

You can override default NXP LPC800-MAX settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc812.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc812]
        platform = nxplpc
        board = lpc812

        ; change microcontroller
        board_build.mcu = lpc812

        ; change MCU frequency
        board_build.f_cpu = 30000000L

  Uploading

NXP LPC800-MAX supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc812]
        platform = nxplpc
        board = lpc812

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPC800-MAX has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP LPCXpresso1549

  Contents

    •   NXP LPCXpresso1549

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1549
Frequency | 72MHz
Flash | 256KB
RAM | 36KB
Vendor | NXP

  Configuration

Please use lpc1549 ID for projectconf_env_board option in projectconf:

        [env:lpc1549]
        platform = nxplpc
        board = lpc1549

You can override default NXP LPCXpresso1549 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc1549.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc1549]
        platform = nxplpc
        board = lpc1549

        ; change microcontroller
        board_build.mcu = lpc1549

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

NXP LPCXpresso1549 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc1549]
        platform = nxplpc
        board = lpc1549

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPCXpresso1549 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP LPCXpresso54114

  Contents

    •   NXP LPCXpresso54114

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC54114J256BD64
Frequency | 100MHz
Flash | 256KB
RAM | 192KB
Vendor | NXP

  Configuration

Please use lpc54114 ID for projectconf_env_board option in projectconf:

        [env:lpc54114]
        platform = nxplpc
        board = lpc54114

You can override default NXP LPCXpresso54114 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc54114.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc54114]
        platform = nxplpc
        board = lpc54114

        ; change microcontroller
        board_build.mcu = lpc54114j256bd64

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

NXP LPCXpresso54114 supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc54114]
        platform = nxplpc
        board = lpc54114

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPCXpresso54114 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  NXP LPCXpresso54608

  Contents

    •   NXP LPCXpresso54608

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC54608ET512
Frequency | 180MHz
Flash | 512KB
RAM | 200KB
Vendor | NXP

  Configuration

Please use lpc546xx ID for projectconf_env_board option in projectconf:

        [env:lpc546xx]
        platform = nxplpc
        board = lpc546xx

You can override default NXP LPCXpresso54608 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc546xx.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc546xx]
        platform = nxplpc
        board = lpc546xx

        ; change microcontroller
        board_build.mcu = lpc54608et512

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

NXP LPCXpresso54608 supports the next uploading protocols:

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc546xx]
        platform = nxplpc
        board = lpc546xx

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP LPCXpresso54608 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP mbed LPC11U24

  Contents

    •   NXP mbed LPC11U24

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U24
Frequency | 48MHz
Flash | 32KB
RAM | 8KB
Vendor | NXP

  Configuration

Please use lpc11u24 ID for projectconf_env_board option in projectconf:

        [env:lpc11u24]
        platform = nxplpc
        board = lpc11u24

You can override default NXP mbed LPC11U24 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u24.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u24]
        platform = nxplpc
        board = lpc11u24

        ; change microcontroller
        board_build.mcu = lpc11u24

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

NXP mbed LPC11U24 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u24]
        platform = nxplpc
        board = lpc11u24

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP mbed LPC11U24 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  NXP mbed LPC1768

  Contents

    •   NXP mbed LPC1768

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1768
Frequency | 96MHz
Flash | 512KB
RAM | 64KB
Vendor | NXP

  Configuration

Please use lpc1768 ID for projectconf_env_board option in projectconf:

        [env:lpc1768]
        platform = nxplpc
        board = lpc1768

You can override default NXP mbed LPC1768 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc1768.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc1768]
        platform = nxplpc
        board = lpc1768

        ; change microcontroller
        board_build.mcu = lpc1768

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Uploading

NXP mbed LPC1768 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc1768]
        platform = nxplpc
        board = lpc1768

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NXP mbed LPC1768 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Outrageous Circuits mBuino

  Contents

    •   Outrageous Circuits mBuino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U24
Frequency | 48MHz
Flash | 32KB
RAM | 8KB
Vendor | Outrageous Circuits

  Configuration

Please use mbuino ID for projectconf_env_board option in projectconf:

        [env:mbuino]
        platform = nxplpc
        board = mbuino

You can override default Outrageous Circuits mBuino settings per build environment using board_*** option, where *** is a JSON object path from board manifest mbuino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mbuino]
        platform = nxplpc
        board = mbuino

        ; change microcontroller
        board_build.mcu = lpc11u24

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support Outrageous Circuits mBuino board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Seeed Arch GPRS V2

  Contents

    •   Seeed Arch GPRS V2

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U37
Frequency | 48MHz
Flash | 128KB
RAM | 10KB
Vendor | SeeedStudio

  Configuration

Please use seeedArchGPRS ID for projectconf_env_board option in projectconf:

        [env:seeedArchGPRS]
        platform = nxplpc
        board = seeedArchGPRS

You can override default Seeed Arch GPRS V2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeedArchGPRS.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeedArchGPRS]
        platform = nxplpc
        board = seeedArchGPRS

        ; change microcontroller
        board_build.mcu = lpc11u37

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support Seeed Arch GPRS V2 board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Seeed Arch Pro

  Contents

    •   Seeed Arch Pro

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1768
Frequency | 96MHz
Flash | 512KB
RAM | 64KB
Vendor | SeeedStudio

  Configuration

Please use seeedArchPro ID for projectconf_env_board option in projectconf:

        [env:seeedArchPro]
        platform = nxplpc
        board = seeedArchPro

You can override default Seeed Arch Pro settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeedArchPro.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeedArchPro]
        platform = nxplpc
        board = seeedArchPro

        ; change microcontroller
        board_build.mcu = lpc1768

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Uploading

Seeed Arch Pro supports the next uploading protocols:

    •   cmsis-dap

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:seeedArchPro]
        platform = nxplpc
        board = seeedArchPro

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeed Arch Pro has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Seeed Xadow M0

  Contents

    •   Seeed Xadow M0

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U35
Frequency | 48MHz
Flash | 64KB
RAM | 10KB
Vendor | SeeedStudio

  Configuration

Please use xadow_m0 ID for projectconf_env_board option in projectconf:

        [env:xadow_m0]
        platform = nxplpc
        board = xadow_m0

You can override default Seeed Xadow M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest xadow_m0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xadow_m0]
        platform = nxplpc
        board = xadow_m0

        ; change microcontroller
        board_build.mcu = lpc11u35

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Debugging

piodebug currently does not support Seeed Xadow M0 board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Smeshlink xbed LPC1768

  Contents

    •   Smeshlink xbed LPC1768

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1768
Frequency | 96MHz
Flash | 512KB
RAM | 32KB
Vendor | Smeshlink

  Configuration

Please use xbed_lpc1768 ID for projectconf_env_board option in projectconf:

        [env:xbed_lpc1768]
        platform = nxplpc
        board = xbed_lpc1768

You can override default Smeshlink xbed LPC1768 settings per build environment using board_*** option, where *** is a JSON object path from board manifest xbed_lpc1768.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xbed_lpc1768]
        platform = nxplpc
        board = xbed_lpc1768

        ; change microcontroller
        board_build.mcu = lpc1768

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Debugging

piodebug currently does not support Smeshlink xbed LPC1768 board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Solder Splash Labs DipCortex M0

  Contents

    •   Solder Splash Labs DipCortex M0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U24
Frequency | 50MHz
Flash | 32KB
RAM | 8KB
Vendor | Solder Splash Labs

  Configuration

Please use dipcortexm0 ID for projectconf_env_board option in projectconf:

        [env:dipcortexm0]
        platform = nxplpc
        board = dipcortexm0

You can override default Solder Splash Labs DipCortex M0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest dipcortexm0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:dipcortexm0]
        platform = nxplpc
        board = dipcortexm0

        ; change microcontroller
        board_build.mcu = lpc11u24

        ; change MCU frequency
        board_build.f_cpu = 50000000L

  Uploading

Solder Splash Labs DipCortex M0 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:dipcortexm0]
        platform = nxplpc
        board = dipcortexm0

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Solder Splash Labs DipCortex M0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Switch Science mbed LPC1114FN28

  Contents

    •   Switch Science mbed LPC1114FN28

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1114FN28
Frequency | 48MHz
Flash | 32KB
RAM | 4KB
Vendor | Switch Science

  Configuration

Please use lpc1114fn28 ID for projectconf_env_board option in projectconf:

        [env:lpc1114fn28]
        platform = nxplpc
        board = lpc1114fn28

You can override default Switch Science mbed LPC1114FN28 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc1114fn28.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc1114fn28]
        platform = nxplpc
        board = lpc1114fn28

        ; change microcontroller
        board_build.mcu = lpc1114fn28

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Switch Science mbed LPC1114FN28 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc1114fn28]
        platform = nxplpc
        board = lpc1114fn28

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Switch Science mbed LPC1114FN28 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Switch Science mbed LPC824

  Contents

    •   Switch Science mbed LPC824

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC824
Frequency | 30MHz
Flash | 32KB
RAM | 8KB
Vendor | Switch Science

  Configuration

Please use ssci824 ID for projectconf_env_board option in projectconf:

        [env:ssci824]
        platform = nxplpc
        board = ssci824

You can override default Switch Science mbed LPC824 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ssci824.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ssci824]
        platform = nxplpc
        board = ssci824

        ; change microcontroller
        board_build.mcu = lpc824

        ; change MCU frequency
        board_build.f_cpu = 30000000L

  Uploading

Switch Science mbed LPC824 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:ssci824]
        platform = nxplpc
        board = ssci824

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Switch Science mbed LPC824 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  mBuino

  Contents

    •   mBuino

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U24
Frequency | 50MHz
Flash | 32KB
RAM | 10KB
Vendor | GHI Electronics

  Configuration

Please use oc_mbuino ID for projectconf_env_board option in projectconf:

        [env:oc_mbuino]
        platform = nxplpc
        board = oc_mbuino

You can override default mBuino settings per build environment using board_*** option, where *** is a JSON object path from board manifest oc_mbuino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:oc_mbuino]
        platform = nxplpc
        board = oc_mbuino

        ; change microcontroller
        board_build.mcu = lpc11u24

        ; change MCU frequency
        board_build.f_cpu = 50000000L

  Debugging

piodebug currently does not support mBuino board.

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  u-blox C027

  Contents

    •   u-blox C027

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC1768
Frequency | 96MHz
Flash | 512KB
RAM | 64KB
Vendor | u-blox

  Configuration

Please use ubloxc027 ID for projectconf_env_board option in projectconf:

        [env:ubloxc027]
        platform = nxplpc
        board = ubloxc027

You can override default u-blox C027 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ubloxc027.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ubloxc027]
        platform = nxplpc
        board = ubloxc027

        ; change microcontroller
        board_build.mcu = lpc1768

        ; change MCU frequency
        board_build.f_cpu = 96000000L

  Uploading

u-blox C027 supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:ubloxc027]
        platform = nxplpc
        board = ubloxc027

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox C027 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  y5 LPC11U35 mbug

  Contents

    •   y5 LPC11U35 mbug

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_nxplpc: The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Microcontroller | LPC11U35
Frequency | 48MHz
Flash | 64KB
RAM | 10KB
Vendor | y5 design

  Configuration

Please use lpc11u35_y5_mbug ID for projectconf_env_board option in projectconf:

        [env:lpc11u35_y5_mbug]
        platform = nxplpc
        board = lpc11u35_y5_mbug

You can override default y5 LPC11U35 mbug settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpc11u35_y5_mbug.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpc11u35_y5_mbug]
        platform = nxplpc
        board = lpc11u35_y5_mbug

        ; change microcontroller
        board_build.mcu = lpc11u35

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

y5 LPC11U35 mbug supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:lpc11u35_y5_mbug]
        platform = nxplpc
        board = lpc11u35_y5_mbug

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

y5 LPC11U35 mbug does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  RISC-V GAP

  GAPuino GAP8

  Contents

    •   GAPuino GAP8

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_riscv_gap: GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.
Microcontroller | GAP8
Frequency | 250MHz
Flash | 64MB
RAM | 8MB
Vendor | GreenWaves Technologies

  Configuration

Please use gapuino ID for projectconf_env_board option in projectconf:

        [env:gapuino]
        platform = riscv_gap
        board = gapuino

You can override default GAPuino GAP8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest gapuino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:gapuino]
        platform = riscv_gap
        board = gapuino

        ; change microcontroller
        board_build.mcu = gap8

        ; change MCU frequency
        board_build.f_cpu = 250000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

GAPuino GAP8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ftdi | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_pulp-os | PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory.

  Shakti

  Artix-7 35T Arty FPGA Evaluation Kit

  Contents

    •   Artix-7 35T Arty FPGA Evaluation Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_shakti: Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.
Microcontroller | E-CLASS
Frequency | 50MHz
Flash | 0B
RAM | 128KB
Vendor | Xilinx

  Configuration

Please use artix7_35t ID for projectconf_env_board option in projectconf:

        [env:artix7_35t]
        platform = shakti
        board = artix7_35t

You can override default Artix-7 35T Arty FPGA Evaluation Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest artix7_35t.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:artix7_35t]
        platform = shakti
        board = artix7_35t

        ; change microcontroller
        board_build.mcu = E-Class

        ; change MCU frequency
        board_build.f_cpu = 50000000L

  Uploading

Artix-7 35T Arty FPGA Evaluation Kit supports the next uploading protocols:

    •   ftdi

    •   ftdi

    •   jlink

    •   jlink

Default protocol is ftdi

You can change upload protocol using projectconf_upload_protocol option:

        [env:artix7_35t]
        platform = shakti
        board = artix7_35t

        upload_protocol = ftdi

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Artix-7 35T Arty FPGA Evaluation Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ftdi | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_shakti-sdk | A software development kit for developing applications on Shakti class of processors

  Arty A7-100: Artix-7 FPGA Development Board

  Contents

    •   Arty A7-100: Artix-7 FPGA Development Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_shakti: Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.
Microcontroller | C-CLASS
Frequency | 50MHz
Flash | 0B
RAM | 128MB
Vendor | Xilinx

  Configuration

Please use artix7_100t ID for projectconf_env_board option in projectconf:

        [env:artix7_100t]
        platform = shakti
        board = artix7_100t

You can override default Arty A7-100: Artix-7 FPGA Development Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest artix7_100t.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:artix7_100t]
        platform = shakti
        board = artix7_100t

        ; change microcontroller
        board_build.mcu = C-Class

        ; change MCU frequency
        board_build.f_cpu = 50000000L

  Uploading

Arty A7-100: Artix-7 FPGA Development Board supports the next uploading protocols:

    •   ftdi

    •   ftdi

    •   jlink

    •   jlink

Default protocol is ftdi

You can change upload protocol using projectconf_upload_protocol option:

        [env:artix7_100t]
        platform = shakti
        board = artix7_100t

        upload_protocol = ftdi

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arty A7-100: Artix-7 FPGA Development Board has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ftdi | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_shakti-sdk | A software development kit for developing applications on Shakti class of processors

  SiFive

  Arty FPGA Dev Kit

  Contents

    •   Arty FPGA Dev Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_sifive: SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
Microcontroller | FE310
Frequency | 450MHz
Flash | 16MB
RAM | 256MB
Vendor | Xilinx

  Configuration

Please use e310-arty ID for projectconf_env_board option in projectconf:

        [env:e310-arty]
        platform = sifive
        board = e310-arty

You can override default Arty FPGA Dev Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest e310-arty.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:e310-arty]
        platform = sifive
        board = e310-arty

        ; change microcontroller
        board_build.mcu = fe310

        ; change MCU frequency
        board_build.f_cpu = 450000000L

  Uploading

Arty FPGA Dev Kit supports the next uploading protocols:

    •   ftdi

    •   jlink

    •   minimodule

    •   olimex-arm-usb-ocd

    •   olimex-arm-usb-ocd-h

    •   olimex-arm-usb-tiny-h

    •   olimex-jtag-tiny

    •   tumpa

Default protocol is ftdi

You can change upload protocol using projectconf_upload_protocol option:

        [env:e310-arty]
        platform = sifive
        board = e310-arty

        upload_protocol = ftdi

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Arty FPGA Dev Kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ftdi | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_minimodule |  |
debugging_tool_olimex-arm-usb-ocd |  |
debugging_tool_olimex-arm-usb-ocd-h |  |
debugging_tool_olimex-arm-usb-tiny-h |  |
debugging_tool_olimex-jtag-tiny |  |
debugging_tool_qemu | Yes |
debugging_tool_renode | Yes |
debugging_tool_tumpa |  |

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform

  HiFive Unleashed

  Contents

    •   HiFive Unleashed

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_sifive: SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
Microcontroller | FU540
Frequency | 1500MHz
Flash | 32MB
RAM | 8GB
Vendor | SiFive

  Configuration

Please use hifive-unleashed ID for projectconf_env_board option in projectconf:

        [env:hifive-unleashed]
        platform = sifive
        board = hifive-unleashed

You can override default HiFive Unleashed settings per build environment using board_*** option, where *** is a JSON object path from board manifest hifive-unleashed.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hifive-unleashed]
        platform = sifive
        board = hifive-unleashed

        ; change microcontroller
        board_build.mcu = fu540

        ; change MCU frequency
        board_build.f_cpu = 1500000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

HiFive Unleashed has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ftdi | Yes | Yes
debugging_tool_qemu | Yes |
debugging_tool_renode | Yes |

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform

  HiFive1

  Contents

    •   HiFive1

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_sifive: SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
Microcontroller | FE310
Frequency | 320MHz
Flash | 16MB
RAM | 16KB
Vendor | SiFive

  Configuration

Please use hifive1 ID for projectconf_env_board option in projectconf:

        [env:hifive1]
        platform = sifive
        board = hifive1

You can override default HiFive1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest hifive1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hifive1]
        platform = sifive
        board = hifive1

        ; change microcontroller
        board_build.mcu = fe310

        ; change MCU frequency
        board_build.f_cpu = 320000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

HiFive1 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ftdi | Yes | Yes
debugging_tool_qemu | Yes |
debugging_tool_renode | Yes |

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  HiFive1 Rev B

  Contents

    •   HiFive1 Rev B

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_sifive: SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
Microcontroller | FE310
Frequency | 320MHz
Flash | 16MB
RAM | 16KB
Vendor | SiFive

  Configuration

Please use hifive1-revb ID for projectconf_env_board option in projectconf:

        [env:hifive1-revb]
        platform = sifive
        board = hifive1-revb

You can override default HiFive1 Rev B settings per build environment using board_*** option, where *** is a JSON object path from board manifest hifive1-revb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hifive1-revb]
        platform = sifive
        board = hifive1-revb

        ; change microcontroller
        board_build.mcu = fe310

        ; change MCU frequency
        board_build.f_cpu = 320000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

HiFive1 Rev B has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes
debugging_tool_renode | Yes |

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  SparkFun RED-V RedBoard

  Contents

    •   SparkFun RED-V RedBoard

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_sifive: SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
Microcontroller | FE310
Frequency | 320MHz
Flash | 16MB
RAM | 16KB
Vendor | SparkFun

  Configuration

Please use sparkfun_redboard_v ID for projectconf_env_board option in projectconf:

        [env:sparkfun_redboard_v]
        platform = sifive
        board = sparkfun_redboard_v

You can override default SparkFun RED-V RedBoard settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_redboard_v.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_redboard_v]
        platform = sifive
        board = sparkfun_redboard_v

        ; change microcontroller
        board_build.mcu = fe310

        ; change MCU frequency
        board_build.f_cpu = 320000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun RED-V RedBoard has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes
debugging_tool_renode | Yes |

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  SparkFun RED-V Thing Plus

  Contents

    •   SparkFun RED-V Thing Plus

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_sifive: SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
Microcontroller | FE310
Frequency | 320MHz
Flash | 16MB
RAM | 16KB
Vendor | SparkFun

  Configuration

Please use sparkfun_thing_plus_v ID for projectconf_env_board option in projectconf:

        [env:sparkfun_thing_plus_v]
        platform = sifive
        board = sparkfun_thing_plus_v

You can override default SparkFun RED-V Thing Plus settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparkfun_thing_plus_v.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparkfun_thing_plus_v]
        platform = sifive
        board = sparkfun_thing_plus_v

        ; change microcontroller
        board_build.mcu = fe310

        ; change MCU frequency
        board_build.f_cpu = 320000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SparkFun RED-V Thing Plus has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_jlink | Yes | Yes
debugging_tool_renode | Yes |

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Silicon Labs EFM32

  EFM32GG-STK3700 Giant Gecko

  Contents

    •   EFM32GG-STK3700 Giant Gecko

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFM32GG990F1024
Frequency | 48MHz
Flash | 1MB
RAM | 128KB
Vendor | Silicon Labs

  Configuration

Please use efm32gg_stk3700 ID for projectconf_env_board option in projectconf:

        [env:efm32gg_stk3700]
        platform = siliconlabsefm32
        board = efm32gg_stk3700

You can override default EFM32GG-STK3700 Giant Gecko settings per build environment using board_*** option, where *** is a JSON object path from board manifest efm32gg_stk3700.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:efm32gg_stk3700]
        platform = siliconlabsefm32
        board = efm32gg_stk3700

        ; change microcontroller
        board_build.mcu = efm32gg990f1024

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

EFM32GG-STK3700 Giant Gecko supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:efm32gg_stk3700]
        platform = siliconlabsefm32
        board = efm32gg_stk3700

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

EFM32GG-STK3700 Giant Gecko has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  EFM32LG-STK3600 Leopard Gecko

  Contents

    •   EFM32LG-STK3600 Leopard Gecko

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFM32LG990F256
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Silicon Labs

  Configuration

Please use efm32lg_stk3600 ID for projectconf_env_board option in projectconf:

        [env:efm32lg_stk3600]
        platform = siliconlabsefm32
        board = efm32lg_stk3600

You can override default EFM32LG-STK3600 Leopard Gecko settings per build environment using board_*** option, where *** is a JSON object path from board manifest efm32lg_stk3600.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:efm32lg_stk3600]
        platform = siliconlabsefm32
        board = efm32lg_stk3600

        ; change microcontroller
        board_build.mcu = efm32lg990f256

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

EFM32LG-STK3600 Leopard Gecko supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:efm32lg_stk3600]
        platform = siliconlabsefm32
        board = efm32lg_stk3600

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

EFM32LG-STK3600 Leopard Gecko has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  EFM32WG-STK3800 Wonder Gecko

  Contents

    •   EFM32WG-STK3800 Wonder Gecko

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFM32WG990F256
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | Silicon Labs

  Configuration

Please use efm32wg_stk3800 ID for projectconf_env_board option in projectconf:

        [env:efm32wg_stk3800]
        platform = siliconlabsefm32
        board = efm32wg_stk3800

You can override default EFM32WG-STK3800 Wonder Gecko settings per build environment using board_*** option, where *** is a JSON object path from board manifest efm32wg_stk3800.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:efm32wg_stk3800]
        platform = siliconlabsefm32
        board = efm32wg_stk3800

        ; change microcontroller
        board_build.mcu = efm32wg990f256

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

EFM32WG-STK3800 Wonder Gecko supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:efm32wg_stk3800]
        platform = siliconlabsefm32
        board = efm32wg_stk3800

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

EFM32WG-STK3800 Wonder Gecko has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  EFM32ZG-STK3200 Zero Gecko

  Contents

    •   EFM32ZG-STK3200 Zero Gecko

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFM32ZG222F32
Frequency | 24MHz
Flash | 32KB
RAM | 4KB
Vendor | Silicon Labs

  Configuration

Please use efm32zg_stk3200 ID for projectconf_env_board option in projectconf:

        [env:efm32zg_stk3200]
        platform = siliconlabsefm32
        board = efm32zg_stk3200

You can override default EFM32ZG-STK3200 Zero Gecko settings per build environment using board_*** option, where *** is a JSON object path from board manifest efm32zg_stk3200.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:efm32zg_stk3200]
        platform = siliconlabsefm32
        board = efm32zg_stk3200

        ; change microcontroller
        board_build.mcu = efm32zg222f32

        ; change MCU frequency
        board_build.f_cpu = 24000000L

  Uploading

EFM32ZG-STK3200 Zero Gecko supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:efm32zg_stk3200]
        platform = siliconlabsefm32
        board = efm32zg_stk3200

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

EFM32ZG-STK3200 Zero Gecko has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  SLSTK3400A USB-enabled Happy Gecko

  Contents

    •   SLSTK3400A USB-enabled Happy Gecko

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFM32HG322F64
Frequency | 25MHz
Flash | 64KB
RAM | 8KB
Vendor | Silicon Labs

  Configuration

Please use efm32hg_stk3400 ID for projectconf_env_board option in projectconf:

        [env:efm32hg_stk3400]
        platform = siliconlabsefm32
        board = efm32hg_stk3400

You can override default SLSTK3400A USB-enabled Happy Gecko settings per build environment using board_*** option, where *** is a JSON object path from board manifest efm32hg_stk3400.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:efm32hg_stk3400]
        platform = siliconlabsefm32
        board = efm32hg_stk3400

        ; change microcontroller
        board_build.mcu = efm32hg322f64

        ; change MCU frequency
        board_build.f_cpu = 25000000L

  Uploading

SLSTK3400A USB-enabled Happy Gecko supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:efm32hg_stk3400]
        platform = siliconlabsefm32
        board = efm32hg_stk3400

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SLSTK3400A USB-enabled Happy Gecko has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  SLSTK3401A Pearl Gecko PG1

  Contents

    •   SLSTK3401A Pearl Gecko PG1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFM32PG1B200F256GM48
Frequency | 40MHz
Flash | 256KB
RAM | 32KB
Vendor | Silicon Labs

  Configuration

Please use efm32pg_stk3401 ID for projectconf_env_board option in projectconf:

        [env:efm32pg_stk3401]
        platform = siliconlabsefm32
        board = efm32pg_stk3401

You can override default SLSTK3401A Pearl Gecko PG1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest efm32pg_stk3401.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:efm32pg_stk3401]
        platform = siliconlabsefm32
        board = efm32pg_stk3401

        ; change microcontroller
        board_build.mcu = efm32pg1b200f256gm48

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Uploading

SLSTK3401A Pearl Gecko PG1 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:efm32pg_stk3401]
        platform = siliconlabsefm32
        board = efm32pg_stk3401

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SLSTK3401A Pearl Gecko PG1 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT

  Contents

    •   Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_siliconlabsefm32: Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Microcontroller | EFR32MG12P432F1024
Frequency | 40MHz
Flash | 1MB
RAM | 256KB
Vendor | Silicon Labs

  Configuration

Please use tb_sense_12 ID for projectconf_env_board option in projectconf:

        [env:tb_sense_12]
        platform = siliconlabsefm32
        board = tb_sense_12

You can override default Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT settings per build environment using board_*** option, where *** is a JSON object path from board manifest tb_sense_12.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:tb_sense_12]
        platform = siliconlabsefm32
        board = tb_sense_12

        ; change microcontroller
        board_build.mcu = EFR32MG12P432F1024

        ; change MCU frequency
        board_build.f_cpu = 40000000L

  Uploading

Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:tb_sense_12]
        platform = siliconlabsefm32
        board = tb_sense_12

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  ST STM32

  1Bitsy

  Contents

    •   1Bitsy

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F415RGT
Frequency | 168MHz
Flash | 1MB
RAM | 128KB
Vendor | 1BitSquared

  Configuration

Please use 1bitsy_stm32f415rgt ID for projectconf_env_board option in projectconf:

        [env:1bitsy_stm32f415rgt]
        platform = ststm32
        board = 1bitsy_stm32f415rgt

You can override default 1Bitsy settings per build environment using board_*** option, where *** is a JSON object path from board manifest 1bitsy_stm32f415rgt.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:1bitsy_stm32f415rgt]
        platform = ststm32
        board = 1bitsy_stm32f415rgt

        ; change microcontroller
        board_build.mcu = stm32f415rgt

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

1Bitsy supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is blackmagic

You can change upload protocol using projectconf_upload_protocol option:

        [env:1bitsy_stm32f415rgt]
        platform = ststm32
        board = 1bitsy_stm32f415rgt

        upload_protocol = blackmagic

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

1Bitsy does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  32F412GDISCOVERY

  Contents

    •   32F412GDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F412ZGT6
Frequency | 100MHz
Flash | 1MB
RAM | 256KB
Vendor | ST

  Configuration

Please use disco_f412zg ID for projectconf_env_board option in projectconf:

        [env:disco_f412zg]
        platform = ststm32
        board = disco_f412zg

You can override default 32F412GDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f412zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f412zg]
        platform = ststm32
        board = disco_f412zg

        ; change microcontroller
        board_build.mcu = stm32f412zgt6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

32F412GDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f412zg]
        platform = ststm32
        board = disco_f412zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

32F412GDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  32F723EDISCOVERY

  Contents

    •   32F723EDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F723IEK6
Frequency | 216MHz
Flash | 512KB
RAM | 192KB
Vendor | ST

  Configuration

Please use disco_f723ie ID for projectconf_env_board option in projectconf:

        [env:disco_f723ie]
        platform = ststm32
        board = disco_f723ie

You can override default 32F723EDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f723ie.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f723ie]
        platform = ststm32
        board = disco_f723ie

        ; change microcontroller
        board_build.mcu = stm32f723iek6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

32F723EDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f723ie]
        platform = ststm32
        board = disco_f723ie

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

32F723EDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  3D Printer Controller

  Contents

    •   3D Printer Controller

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 512KB
RAM | 192KB
Vendor | Armed

  Configuration

Please use armed_v1 ID for projectconf_env_board option in projectconf:

        [env:armed_v1]
        platform = ststm32
        board = armed_v1

You can override default 3D Printer Controller settings per build environment using board_*** option, where *** is a JSON object path from board manifest armed_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:armed_v1]
        platform = ststm32
        board = armed_v1

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

3D Printer Controller supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:armed_v1]
        platform = ststm32
        board = armed_v1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

3D Printer Controller does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  3D Printer control board

  Contents

    •   3D Printer control board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F446RET6
Frequency | 180MHz
Flash | 512KB
RAM | 128KB
Vendor | RUMBA

  Configuration

Please use rumba32_f446ve ID for projectconf_env_board option in projectconf:

        [env:rumba32_f446ve]
        platform = ststm32
        board = rumba32_f446ve

You can override default 3D Printer control board settings per build environment using board_*** option, where *** is a JSON object path from board manifest rumba32_f446ve.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:rumba32_f446ve]
        platform = ststm32
        board = rumba32_f446ve

        ; change microcontroller
        board_build.mcu = stm32f446ret6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

3D Printer control board supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:rumba32_f446ve]
        platform = ststm32
        board = rumba32_f446ve

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

3D Printer control board does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  3D printer controller

  Contents

    •   3D printer controller

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F765VIT6
Frequency | 216MHz
Flash | 2MB
RAM | 512KB
Vendor | RemRam

  Configuration

Please use remram_v1 ID for projectconf_env_board option in projectconf:

        [env:remram_v1]
        platform = ststm32
        board = remram_v1

You can override default 3D printer controller settings per build environment using board_*** option, where *** is a JSON object path from board manifest remram_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:remram_v1]
        platform = ststm32
        board = remram_v1

        ; change microcontroller
        board_build.mcu = stm32f765vit6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

3D printer controller supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:remram_v1]
        platform = ststm32
        board = remram_v1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

3D printer controller has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  3DP001V1 Evaluation board for 3D printer

  Contents

    •   3DP001V1 Evaluation board for 3D printer

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401VGT6
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | ST

  Configuration

Please use st3dp001_eval ID for projectconf_env_board option in projectconf:

        [env:st3dp001_eval]
        platform = ststm32
        board = st3dp001_eval

You can override default 3DP001V1 Evaluation board for 3D printer settings per build environment using board_*** option, where *** is a JSON object path from board manifest st3dp001_eval.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:st3dp001_eval]
        platform = ststm32
        board = st3dp001_eval

        ; change microcontroller
        board_build.mcu = stm32f401vgt6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

3DP001V1 Evaluation board for 3D printer supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:st3dp001_eval]
        platform = ststm32
        board = st3dp001_eval

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

3DP001V1 Evaluation board for 3D printer has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  96Boards Argonkey (STEVAL-MKI187V1)

  Contents

    •   96Boards Argonkey (STEVAL-MKI187V1)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F412CG
Frequency | 100MHz
Flash | 1MB
RAM | 256KB
Vendor | 96Boards

  Configuration

Please use b96b_argonkey ID for projectconf_env_board option in projectconf:

        [env:b96b_argonkey]
        platform = ststm32
        board = b96b_argonkey

You can override default 96Boards Argonkey (STEVAL-MKI187V1) settings per build environment using board_*** option, where *** is a JSON object path from board manifest b96b_argonkey.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:b96b_argonkey]
        platform = ststm32
        board = b96b_argonkey

        ; change microcontroller
        board_build.mcu = stm32f412cg

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

96Boards Argonkey (STEVAL-MKI187V1) supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:b96b_argonkey]
        platform = ststm32
        board = b96b_argonkey

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

96Boards Argonkey (STEVAL-MKI187V1) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  96Boards B96B-F446VE

  Contents

    •   96Boards B96B-F446VE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F446VET6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | 96Boards

  Configuration

Please use b96b_f446ve ID for projectconf_env_board option in projectconf:

        [env:b96b_f446ve]
        platform = ststm32
        board = b96b_f446ve

You can override default 96Boards B96B-F446VE settings per build environment using board_*** option, where *** is a JSON object path from board manifest b96b_f446ve.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:b96b_f446ve]
        platform = ststm32
        board = b96b_f446ve

        ; change microcontroller
        board_build.mcu = stm32f446vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

96Boards B96B-F446VE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:b96b_f446ve]
        platform = ststm32
        board = b96b_f446ve

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

96Boards B96B-F446VE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  96Boards Neonkey

  Contents

    •   96Boards Neonkey

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411CE
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | 96Boards

  Configuration

Please use b96b_neonkey ID for projectconf_env_board option in projectconf:

        [env:b96b_neonkey]
        platform = ststm32
        board = b96b_neonkey

You can override default 96Boards Neonkey settings per build environment using board_*** option, where *** is a JSON object path from board manifest b96b_neonkey.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:b96b_neonkey]
        platform = ststm32
        board = b96b_neonkey

        ; change microcontroller
        board_build.mcu = stm32f411ce

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

96Boards Neonkey supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:b96b_neonkey]
        platform = ststm32
        board = b96b_neonkey

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

96Boards Neonkey does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Adafruit Feather STM32F405

  Contents

    •   Adafruit Feather STM32F405

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F405RGT6
Frequency | 168MHz
Flash | 1MB
RAM | 128KB
Vendor | Adafruit

  Configuration

Please use adafruit_feather_f405 ID for projectconf_env_board option in projectconf:

        [env:adafruit_feather_f405]
        platform = ststm32
        board = adafruit_feather_f405

You can override default Adafruit Feather STM32F405 settings per build environment using board_*** option, where *** is a JSON object path from board manifest adafruit_feather_f405.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:adafruit_feather_f405]
        platform = ststm32
        board = adafruit_feather_f405

        ; change microcontroller
        board_build.mcu = stm32f405rgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Adafruit Feather STM32F405 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:adafruit_feather_f405]
        platform = ststm32
        board = adafruit_feather_f405

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Adafruit Feather STM32F405 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  AfroFlight Rev5 (8MHz)

  Contents

    •   AfroFlight Rev5 (8MHz)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103CBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | AfroFlight

  Configuration

Please use afroflight_f103cb ID for projectconf_env_board option in projectconf:

        [env:afroflight_f103cb]
        platform = ststm32
        board = afroflight_f103cb

You can override default AfroFlight Rev5 (8MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest afroflight_f103cb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:afroflight_f103cb]
        platform = ststm32
        board = afroflight_f103cb

        ; change microcontroller
        board_build.mcu = stm32f103cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

AfroFlight Rev5 (8MHz) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:afroflight_f103cb]
        platform = ststm32
        board = afroflight_f103cb

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

AfroFlight Rev5 (8MHz) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Armstrap Eagle 1024

  Contents

    •   Armstrap Eagle 1024

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F417VGT6
Frequency | 168MHz
Flash | 1MB
RAM | 192KB
Vendor | Armstrap

  Configuration

Please use armstrap_eagle1024 ID for projectconf_env_board option in projectconf:

        [env:armstrap_eagle1024]
        platform = ststm32
        board = armstrap_eagle1024

You can override default Armstrap Eagle 1024 settings per build environment using board_*** option, where *** is a JSON object path from board manifest armstrap_eagle1024.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:armstrap_eagle1024]
        platform = ststm32
        board = armstrap_eagle1024

        ; change microcontroller
        board_build.mcu = stm32f417vgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Armstrap Eagle 1024 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is blackmagic

You can change upload protocol using projectconf_upload_protocol option:

        [env:armstrap_eagle1024]
        platform = ststm32
        board = armstrap_eagle1024

        upload_protocol = blackmagic

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Armstrap Eagle 1024 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Armstrap Eagle 2048

  Contents

    •   Armstrap Eagle 2048

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F427VIT6
Frequency | 168MHz
Flash | 1.99MB
RAM | 256KB
Vendor | Armstrap

  Configuration

Please use armstrap_eagle2048 ID for projectconf_env_board option in projectconf:

        [env:armstrap_eagle2048]
        platform = ststm32
        board = armstrap_eagle2048

You can override default Armstrap Eagle 2048 settings per build environment using board_*** option, where *** is a JSON object path from board manifest armstrap_eagle2048.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:armstrap_eagle2048]
        platform = ststm32
        board = armstrap_eagle2048

        ; change microcontroller
        board_build.mcu = stm32f427vit6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Armstrap Eagle 2048 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is blackmagic

You can change upload protocol using projectconf_upload_protocol option:

        [env:armstrap_eagle2048]
        platform = ststm32
        board = armstrap_eagle2048

        upload_protocol = blackmagic

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Armstrap Eagle 2048 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Armstrap Eagle 512

  Contents

    •   Armstrap Eagle 512

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 512KB
RAM | 192KB
Vendor | Armstrap

  Configuration

Please use armstrap_eagle512 ID for projectconf_env_board option in projectconf:

        [env:armstrap_eagle512]
        platform = ststm32
        board = armstrap_eagle512

You can override default Armstrap Eagle 512 settings per build environment using board_*** option, where *** is a JSON object path from board manifest armstrap_eagle512.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:armstrap_eagle512]
        platform = ststm32
        board = armstrap_eagle512

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Armstrap Eagle 512 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is blackmagic

You can change upload protocol using projectconf_upload_protocol option:

        [env:armstrap_eagle512]
        platform = ststm32
        board = armstrap_eagle512

        upload_protocol = blackmagic

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Armstrap Eagle 512 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Black STM32F407VE

  Contents

    •   Black STM32F407VE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use black_f407ve ID for projectconf_env_board option in projectconf:

        [env:black_f407ve]
        platform = ststm32
        board = black_f407ve

You can override default Black STM32F407VE settings per build environment using board_*** option, where *** is a JSON object path from board manifest black_f407ve.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:black_f407ve]
        platform = ststm32
        board = black_f407ve

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Black STM32F407VE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:black_f407ve]
        platform = ststm32
        board = black_f407ve

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Black STM32F407VE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Black STM32F407VG

  Contents

    •   Black STM32F407VG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VGT6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use black_f407vg ID for projectconf_env_board option in projectconf:

        [env:black_f407vg]
        platform = ststm32
        board = black_f407vg

You can override default Black STM32F407VG settings per build environment using board_*** option, where *** is a JSON object path from board manifest black_f407vg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:black_f407vg]
        platform = ststm32
        board = black_f407vg

        ; change microcontroller
        board_build.mcu = stm32f407vgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Black STM32F407VG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:black_f407vg]
        platform = ststm32
        board = black_f407vg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Black STM32F407VG does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Black STM32F407ZE

  Contents

    •   Black STM32F407ZE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407ZET6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use black_f407ze ID for projectconf_env_board option in projectconf:

        [env:black_f407ze]
        platform = ststm32
        board = black_f407ze

You can override default Black STM32F407ZE settings per build environment using board_*** option, where *** is a JSON object path from board manifest black_f407ze.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:black_f407ze]
        platform = ststm32
        board = black_f407ze

        ; change microcontroller
        board_build.mcu = stm32f407zet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Black STM32F407ZE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:black_f407ze]
        platform = ststm32
        board = black_f407ze

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Black STM32F407ZE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Black STM32F407ZE

  Contents

    •   Black STM32F407ZE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407ZGT6
Frequency | 168MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use black_f407zg ID for projectconf_env_board option in projectconf:

        [env:black_f407zg]
        platform = ststm32
        board = black_f407zg

You can override default Black STM32F407ZE settings per build environment using board_*** option, where *** is a JSON object path from board manifest black_f407zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:black_f407zg]
        platform = ststm32
        board = black_f407zg

        ; change microcontroller
        board_build.mcu = stm32f407zgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Black STM32F407ZE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:black_f407zg]
        platform = ststm32
        board = black_f407zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Black STM32F407ZE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  BlackPill F103C8

  Contents

    •   BlackPill F103C8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103C8T6
Frequency | 72MHz
Flash | 64KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use blackpill_f103c8 ID for projectconf_env_board option in projectconf:

        [env:blackpill_f103c8]
        platform = ststm32
        board = blackpill_f103c8

You can override default BlackPill F103C8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest blackpill_f103c8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blackpill_f103c8]
        platform = ststm32
        board = blackpill_f103c8

        ; change microcontroller
        board_build.mcu = stm32f103c8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

BlackPill F103C8 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:blackpill_f103c8]
        platform = ststm32
        board = blackpill_f103c8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BlackPill F103C8 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  BlackPill F103C8 (128k)

  Contents

    •   BlackPill F103C8 (128k)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103C8T6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use blackpill_f103c8_128 ID for projectconf_env_board option in projectconf:

        [env:blackpill_f103c8_128]
        platform = ststm32
        board = blackpill_f103c8_128

You can override default BlackPill F103C8 (128k) settings per build environment using board_*** option, where *** is a JSON object path from board manifest blackpill_f103c8_128.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blackpill_f103c8_128]
        platform = ststm32
        board = blackpill_f103c8_128

        ; change microcontroller
        board_build.mcu = stm32f103c8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

BlackPill F103C8 (128k) supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:blackpill_f103c8_128]
        platform = ststm32
        board = blackpill_f103c8_128

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BlackPill F103C8 (128k) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  BlackPill F303CC

  Contents

    •   BlackPill F303CC

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303CCT6
Frequency | 72MHz
Flash | 256KB
RAM | 40KB
Vendor | RobotDyn

  Configuration

Please use robotdyn_blackpill_f303cc ID for projectconf_env_board option in projectconf:

        [env:robotdyn_blackpill_f303cc]
        platform = ststm32
        board = robotdyn_blackpill_f303cc

You can override default BlackPill F303CC settings per build environment using board_*** option, where *** is a JSON object path from board manifest robotdyn_blackpill_f303cc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:robotdyn_blackpill_f303cc]
        platform = ststm32
        board = robotdyn_blackpill_f303cc

        ; change microcontroller
        board_build.mcu = stm32f303cct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

BlackPill F303CC supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:robotdyn_blackpill_f303cc]
        platform = ststm32
        board = robotdyn_blackpill_f303cc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BlackPill F303CC does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  BlackPill F401CC

  Contents

    •   BlackPill F401CC

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401CCT6
Frequency | 84MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use blackpill_f401cc ID for projectconf_env_board option in projectconf:

        [env:blackpill_f401cc]
        platform = ststm32
        board = blackpill_f401cc

You can override default BlackPill F401CC settings per build environment using board_*** option, where *** is a JSON object path from board manifest blackpill_f401cc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blackpill_f401cc]
        platform = ststm32
        board = blackpill_f401cc

        ; change microcontroller
        board_build.mcu = stm32f401cct6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

BlackPill F401CC supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:blackpill_f401cc]
        platform = ststm32
        board = blackpill_f401cc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BlackPill F401CC does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Blue STM32F407VE Mini

  Contents

    •   Blue STM32F407VE Mini

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use blue_f407ve_mini ID for projectconf_env_board option in projectconf:

        [env:blue_f407ve_mini]
        platform = ststm32
        board = blue_f407ve_mini

You can override default Blue STM32F407VE Mini settings per build environment using board_*** option, where *** is a JSON object path from board manifest blue_f407ve_mini.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:blue_f407ve_mini]
        platform = ststm32
        board = blue_f407ve_mini

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Blue STM32F407VE Mini supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:blue_f407ve_mini]
        platform = ststm32
        board = blue_f407ve_mini

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Blue STM32F407VE Mini does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  BluePill F103C6

  Contents

    •   BluePill F103C6

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103C6T6
Frequency | 72MHz
Flash | 32KB
RAM | 10KB
Vendor | Generic

  Configuration

Please use bluepill_f103c6 ID for projectconf_env_board option in projectconf:

        [env:bluepill_f103c6]
        platform = ststm32
        board = bluepill_f103c6

You can override default BluePill F103C6 settings per build environment using board_*** option, where *** is a JSON object path from board manifest bluepill_f103c6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bluepill_f103c6]
        platform = ststm32
        board = bluepill_f103c6

        ; change microcontroller
        board_build.mcu = stm32f103c6t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

BluePill F103C6 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:bluepill_f103c6]
        platform = ststm32
        board = bluepill_f103c6

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BluePill F103C6 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  BluePill F103C8

  Contents

    •   BluePill F103C8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103C8T6
Frequency | 72MHz
Flash | 64KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use bluepill_f103c8 ID for projectconf_env_board option in projectconf:

        [env:bluepill_f103c8]
        platform = ststm32
        board = bluepill_f103c8

You can override default BluePill F103C8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest bluepill_f103c8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bluepill_f103c8]
        platform = ststm32
        board = bluepill_f103c8

        ; change microcontroller
        board_build.mcu = stm32f103c8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

BluePill F103C8 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:bluepill_f103c8]
        platform = ststm32
        board = bluepill_f103c8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BluePill F103C8 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  BluePill F103C8 (128k)

  Contents

    •   BluePill F103C8 (128k)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103C8T6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use bluepill_f103c8_128k ID for projectconf_env_board option in projectconf:

        [env:bluepill_f103c8_128k]
        platform = ststm32
        board = bluepill_f103c8_128k

You can override default BluePill F103C8 (128k) settings per build environment using board_*** option, where *** is a JSON object path from board manifest bluepill_f103c8_128k.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:bluepill_f103c8_128k]
        platform = ststm32
        board = bluepill_f103c8_128k

        ; change microcontroller
        board_build.mcu = stm32f103c8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

BluePill F103C8 (128k) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:bluepill_f103c8_128k]
        platform = ststm32
        board = bluepill_f103c8_128k

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

BluePill F103C8 (128k) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Core board F401RCT6

  Contents

    •   Core board F401RCT6

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401RCT6
Frequency | 84MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use coreboard_f401rc ID for projectconf_env_board option in projectconf:

        [env:coreboard_f401rc]
        platform = ststm32
        board = coreboard_f401rc

You can override default Core board F401RCT6 settings per build environment using board_*** option, where *** is a JSON object path from board manifest coreboard_f401rc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:coreboard_f401rc]
        platform = ststm32
        board = coreboard_f401rc

        ; change microcontroller
        board_build.mcu = stm32f401rct6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

Core board F401RCT6 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   hid

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:coreboard_f401rc]
        platform = ststm32
        board = coreboard_f401rc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Core board F401RCT6 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Demo F030F4

  Contents

    •   Demo F030F4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F030F4P6
Frequency | 48MHz
Flash | 16KB
RAM | 4KB
Vendor | Generic

  Configuration

Please use demo_f030f4 ID for projectconf_env_board option in projectconf:

        [env:demo_f030f4]
        platform = ststm32
        board = demo_f030f4

You can override default Demo F030F4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest demo_f030f4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:demo_f030f4]
        platform = ststm32
        board = demo_f030f4

        ; change microcontroller
        board_build.mcu = stm32f030f4p6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Demo F030F4 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:demo_f030f4]
        platform = ststm32
        board = demo_f030f4

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Demo F030F4 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Espotel LoRa Module

  Contents

    •   Espotel LoRa Module

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411RET6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | Espotel

  Configuration

Please use elmo_f411re ID for projectconf_env_board option in projectconf:

        [env:elmo_f411re]
        platform = ststm32
        board = elmo_f411re

You can override default Espotel LoRa Module settings per build environment using board_*** option, where *** is a JSON object path from board manifest elmo_f411re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:elmo_f411re]
        platform = ststm32
        board = elmo_f411re

        ; change microcontroller
        board_build.mcu = stm32f411ret6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

Espotel LoRa Module supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:elmo_f411re]
        platform = ststm32
        board = elmo_f411re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Espotel LoRa Module does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  F407VG

  Contents

    •   F407VG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VGT6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | Diymore

  Configuration

Please use diymore_f407vgt ID for projectconf_env_board option in projectconf:

        [env:diymore_f407vgt]
        platform = ststm32
        board = diymore_f407vgt

You can override default F407VG settings per build environment using board_*** option, where *** is a JSON object path from board manifest diymore_f407vgt.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:diymore_f407vgt]
        platform = ststm32
        board = diymore_f407vgt

        ; change microcontroller
        board_build.mcu = stm32f407vgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

F407VG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:diymore_f407vgt]
        platform = ststm32
        board = diymore_f407vgt

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

F407VG does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  FK407M1

  Contents

    •   FK407M1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 512KB
RAM | 128KB
Vendor | Generic

  Configuration

Please use fk407m1 ID for projectconf_env_board option in projectconf:

        [env:fk407m1]
        platform = ststm32
        board = fk407m1

You can override default FK407M1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest fk407m1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:fk407m1]
        platform = ststm32
        board = fk407m1

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

FK407M1 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:fk407m1]
        platform = ststm32
        board = fk407m1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

FK407M1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  L476DMW1K

  Contents

    •   L476DMW1K

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L476VGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | rhomb.io

  Configuration

Please use rhombio_l476dmw1k ID for projectconf_env_board option in projectconf:

        [env:rhombio_l476dmw1k]
        platform = ststm32
        board = rhombio_l476dmw1k

You can override default L476DMW1K settings per build environment using board_*** option, where *** is a JSON object path from board manifest rhombio_l476dmw1k.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:rhombio_l476dmw1k]
        platform = ststm32
        board = rhombio_l476dmw1k

        ; change microcontroller
        board_build.mcu = stm32l476vgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

L476DMW1K supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   stlink

Default protocol is cmsis-dap

You can change upload protocol using projectconf_upload_protocol option:

        [env:rhombio_l476dmw1k]
        platform = ststm32
        board = rhombio_l476dmw1k

        upload_protocol = cmsis-dap

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

L476DMW1K has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  M200 V2

  Contents

    •   M200 V2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F070CBT6
Frequency | 48MHz
Flash | 120KB
RAM | 14.81KB
Vendor | Malyan

  Configuration

Please use malyanm200_f070cb ID for projectconf_env_board option in projectconf:

        [env:malyanm200_f070cb]
        platform = ststm32
        board = malyanm200_f070cb

You can override default M200 V2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest malyanm200_f070cb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:malyanm200_f070cb]
        platform = ststm32
        board = malyanm200_f070cb

        ; change microcontroller
        board_build.mcu = stm32f070cbt6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

M200 V2 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:malyanm200_f070cb]
        platform = ststm32
        board = malyanm200_f070cb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

M200 V2 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  M300

  Contents

    •   M300

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F070CBT6
Frequency | 48MHz
Flash | 120KB
RAM | 14.81KB
Vendor | Malyan

  Configuration

Please use malyanm300_f070cb ID for projectconf_env_board option in projectconf:

        [env:malyanm300_f070cb]
        platform = ststm32
        board = malyanm300_f070cb

You can override default M300 settings per build environment using board_*** option, where *** is a JSON object path from board manifest malyanm300_f070cb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:malyanm300_f070cb]
        platform = ststm32
        board = malyanm300_f070cb

        ; change microcontroller
        board_build.mcu = stm32f070cbt6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

M300 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:malyanm300_f070cb]
        platform = ststm32
        board = malyanm300_f070cb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

M300 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  MKR Sharky

  Contents

    •   MKR Sharky

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32WB55CG
Frequency | 64MHz
Flash | 512KB
RAM | 192.00KB
Vendor | Midatronics

  Configuration

Please use mkr_sharky ID for projectconf_env_board option in projectconf:

        [env:mkr_sharky]
        platform = ststm32
        board = mkr_sharky

You can override default MKR Sharky settings per build environment using board_*** option, where *** is a JSON object path from board manifest mkr_sharky.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mkr_sharky]
        platform = ststm32
        board = mkr_sharky

        ; change microcontroller
        board_build.mcu = stm32wb55cg

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

MKR Sharky supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   mbed

    •   serial

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mkr_sharky]
        platform = ststm32
        board = mkr_sharky

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MKR Sharky does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  MTS Dragonfly

  Contents

    •   MTS Dragonfly

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411RET6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | MultiTech

  Configuration

Please use mts_dragonfly_f411re ID for projectconf_env_board option in projectconf:

        [env:mts_dragonfly_f411re]
        platform = ststm32
        board = mts_dragonfly_f411re

You can override default MTS Dragonfly settings per build environment using board_*** option, where *** is a JSON object path from board manifest mts_dragonfly_f411re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mts_dragonfly_f411re]
        platform = ststm32
        board = mts_dragonfly_f411re

        ; change microcontroller
        board_build.mcu = stm32f411ret6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

MTS Dragonfly supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mts_dragonfly_f411re]
        platform = ststm32
        board = mts_dragonfly_f411re

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MTS Dragonfly does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Malyan M200 V1

  Contents

    •   Malyan M200 V1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103CBT6
Frequency | 72MHz
Flash | 120KB
RAM | 20KB
Vendor | Malyan

  Configuration

Please use malyanm200_f103cb ID for projectconf_env_board option in projectconf:

        [env:malyanm200_f103cb]
        platform = ststm32
        board = malyanm200_f103cb

You can override default Malyan M200 V1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest malyanm200_f103cb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:malyanm200_f103cb]
        platform = ststm32
        board = malyanm200_f103cb

        ; change microcontroller
        board_build.mcu = stm32f103cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Malyan M200 V1 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:malyanm200_f103cb]
        platform = ststm32
        board = malyanm200_f103cb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Malyan M200 V1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Maple

  Contents

    •   Maple

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RBT6
Frequency | 72MHz
Flash | 108KB
RAM | 17KB
Vendor | LeafLabs

  Configuration

Please use maple ID for projectconf_env_board option in projectconf:

        [env:maple]
        platform = ststm32
        board = maple

You can override default Maple settings per build environment using board_*** option, where *** is a JSON object path from board manifest maple.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:maple]
        platform = ststm32
        board = maple

        ; change microcontroller
        board_build.mcu = stm32f103rbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Maple supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:maple]
        platform = ststm32
        board = maple

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maple does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Maple (RET6)

  Contents

    •   Maple (RET6)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RET6
Frequency | 72MHz
Flash | 256KB
RAM | 48KB
Vendor | LeafLabs

  Configuration

Please use maple_ret6 ID for projectconf_env_board option in projectconf:

        [env:maple_ret6]
        platform = ststm32
        board = maple_ret6

You can override default Maple (RET6) settings per build environment using board_*** option, where *** is a JSON object path from board manifest maple_ret6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:maple_ret6]
        platform = ststm32
        board = maple_ret6

        ; change microcontroller
        board_build.mcu = stm32f103ret6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Maple (RET6) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:maple_ret6]
        platform = ststm32
        board = maple_ret6

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maple (RET6) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Maple Mini Bootloader 2.0

  Contents

    •   Maple Mini Bootloader 2.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103CBT6
Frequency | 72MHz
Flash | 120KB
RAM | 20KB
Vendor | LeafLabs

  Configuration

Please use maple_mini_b20 ID for projectconf_env_board option in projectconf:

        [env:maple_mini_b20]
        platform = ststm32
        board = maple_mini_b20

You can override default Maple Mini Bootloader 2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest maple_mini_b20.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:maple_mini_b20]
        platform = ststm32
        board = maple_mini_b20

        ; change microcontroller
        board_build.mcu = stm32f103cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Maple Mini Bootloader 2.0 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:maple_mini_b20]
        platform = ststm32
        board = maple_mini_b20

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maple Mini Bootloader 2.0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Maple Mini Original

  Contents

    •   Maple Mini Original

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103CBT6
Frequency | 72MHz
Flash | 108KB
RAM | 17KB
Vendor | LeafLabs

  Configuration

Please use maple_mini_origin ID for projectconf_env_board option in projectconf:

        [env:maple_mini_origin]
        platform = ststm32
        board = maple_mini_origin

You can override default Maple Mini Original settings per build environment using board_*** option, where *** is a JSON object path from board manifest maple_mini_origin.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:maple_mini_origin]
        platform = ststm32
        board = maple_mini_origin

        ; change microcontroller
        board_build.mcu = stm32f103cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Maple Mini Original supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:maple_mini_origin]
        platform = ststm32
        board = maple_mini_origin

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Maple Mini Original does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Mbed Connect Cloud

  Contents

    •   Mbed Connect Cloud

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F439ZIY6
Frequency | 168MHz
Flash | 2MB
RAM | 256KB
Vendor | u-blox

  Configuration

Please use mbed_connect_odin ID for projectconf_env_board option in projectconf:

        [env:mbed_connect_odin]
        platform = ststm32
        board = mbed_connect_odin

You can override default Mbed Connect Cloud settings per build environment using board_*** option, where *** is a JSON object path from board manifest mbed_connect_odin.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mbed_connect_odin]
        platform = ststm32
        board = mbed_connect_odin

        ; change microcontroller
        board_build.mcu = stm32f439ziy6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Mbed Connect Cloud supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:mbed_connect_odin]
        platform = ststm32
        board = mbed_connect_odin

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Mbed Connect Cloud has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Microduino Core STM32 to Flash

  Contents

    •   Microduino Core STM32 to Flash

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103CBT6
Frequency | 72MHz
Flash | 105.47KB
RAM | 16.60KB
Vendor | Microduino

  Configuration

Please use microduino32_flash ID for projectconf_env_board option in projectconf:

        [env:microduino32_flash]
        platform = ststm32
        board = microduino32_flash

You can override default Microduino Core STM32 to Flash settings per build environment using board_*** option, where *** is a JSON object path from board manifest microduino32_flash.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:microduino32_flash]
        platform = ststm32
        board = microduino32_flash

        ; change microcontroller
        board_build.mcu = stm32f103cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Microduino Core STM32 to Flash supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:microduino32_flash]
        platform = ststm32
        board = microduino32_flash

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microduino Core STM32 to Flash does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Microsoft Azure IoT Development Kit (MXChip AZ3166)

  Contents

    •   Microsoft Azure IoT Development Kit (MXChip AZ3166)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F412ZGT6
Frequency | 100MHz
Flash | 1MB
RAM | 256KB
Vendor | MXChip

  Configuration

Please use mxchip_az3166 ID for projectconf_env_board option in projectconf:

        [env:mxchip_az3166]
        platform = ststm32
        board = mxchip_az3166

You can override default Microsoft Azure IoT Development Kit (MXChip AZ3166) settings per build environment using board_*** option, where *** is a JSON object path from board manifest mxchip_az3166.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mxchip_az3166]
        platform = ststm32
        board = mxchip_az3166

        ; change microcontroller
        board_build.mcu = stm32f412zgt6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

Microsoft Azure IoT Development Kit (MXChip AZ3166) supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:mxchip_az3166]
        platform = ststm32
        board = mxchip_az3166

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Microsoft Azure IoT Development Kit (MXChip AZ3166) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  MultiTech mDot

  Contents

    •   MultiTech mDot

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411RET6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | MultiTech

  Configuration

Please use mts_mdot_f405rg ID for projectconf_env_board option in projectconf:

        [env:mts_mdot_f405rg]
        platform = ststm32
        board = mts_mdot_f405rg

You can override default MultiTech mDot settings per build environment using board_*** option, where *** is a JSON object path from board manifest mts_mdot_f405rg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mts_mdot_f405rg]
        platform = ststm32
        board = mts_mdot_f405rg

        ; change microcontroller
        board_build.mcu = stm32f411ret6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

MultiTech mDot supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mts_mdot_f405rg]
        platform = ststm32
        board = mts_mdot_f405rg

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MultiTech mDot does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  MultiTech mDot F411

  Contents

    •   MultiTech mDot F411

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411RET6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | MultiTech

  Configuration

Please use mts_mdot_f411re ID for projectconf_env_board option in projectconf:

        [env:mts_mdot_f411re]
        platform = ststm32
        board = mts_mdot_f411re

You can override default MultiTech mDot F411 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mts_mdot_f411re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mts_mdot_f411re]
        platform = ststm32
        board = mts_mdot_f411re

        ; change microcontroller
        board_build.mcu = stm32f411ret6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

MultiTech mDot F411 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mts_mdot_f411re]
        platform = ststm32
        board = mts_mdot_f411re

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MultiTech mDot F411 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  MultiTech xDot

  Contents

    •   MultiTech xDot

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L151CCU6
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | MultiTech

  Configuration

Please use xdot_l151cc ID for projectconf_env_board option in projectconf:

        [env:xdot_l151cc]
        platform = ststm32
        board = xdot_l151cc

You can override default MultiTech xDot settings per build environment using board_*** option, where *** is a JSON object path from board manifest xdot_l151cc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:xdot_l151cc]
        platform = ststm32
        board = xdot_l151cc

        ; change microcontroller
        board_build.mcu = stm32l151ccu6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

MultiTech xDot supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:xdot_l151cc]
        platform = ststm32
        board = xdot_l151cc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

MultiTech xDot does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  N2+

  Contents

    •   N2+

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F405RGT6
Frequency | 168MHz
Flash | 1MB
RAM | 192KB
Vendor | Netduino

  Configuration

Please use netduino2plus ID for projectconf_env_board option in projectconf:

        [env:netduino2plus]
        platform = ststm32
        board = netduino2plus

You can override default N2+ settings per build environment using board_*** option, where *** is a JSON object path from board manifest netduino2plus.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:netduino2plus]
        platform = ststm32
        board = netduino2plus

        ; change microcontroller
        board_build.mcu = stm32f405rgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

N2+ supports the next uploading protocols:

    •   dfu

    •   jlink

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:netduino2plus]
        platform = ststm32
        board = netduino2plus

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

N2+ does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  NAMote72

  Contents

    •   NAMote72

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L152RC
Frequency | 32MHz
Flash | 256KB
RAM | 32KB
Vendor | Semtech

  Configuration

Please use mote_l152rc ID for projectconf_env_board option in projectconf:

        [env:mote_l152rc]
        platform = ststm32
        board = mote_l152rc

You can override default NAMote72 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mote_l152rc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mote_l152rc]
        platform = ststm32
        board = mote_l152rc

        ; change microcontroller
        board_build.mcu = stm32l152rc

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

NAMote72 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:mote_l152rc]
        platform = ststm32
        board = mote_l152rc

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

NAMote72 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Nucleo G071RB

  Contents

    •   Nucleo G071RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32G071RBT6
Frequency | 64MHz
Flash | 128KB
RAM | 36KB
Vendor | ST

  Configuration

Please use nucleo_g071rb ID for projectconf_env_board option in projectconf:

        [env:nucleo_g071rb]
        platform = ststm32
        board = nucleo_g071rb

You can override default Nucleo G071RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_g071rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_g071rb]
        platform = ststm32
        board = nucleo_g071rb

        ; change microcontroller
        board_build.mcu = stm32g071rbt6

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

Nucleo G071RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_g071rb]
        platform = ststm32
        board = nucleo_g071rb

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nucleo G071RB does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Nucleo G431KB

  Contents

    •   Nucleo G431KB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32G431KBT6
Frequency | 170MHz
Flash | 128KB
RAM | 32KB
Vendor | ST

  Configuration

Please use nucleo_g431kb ID for projectconf_env_board option in projectconf:

        [env:nucleo_g431kb]
        platform = ststm32
        board = nucleo_g431kb

You can override default Nucleo G431KB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_g431kb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_g431kb]
        platform = ststm32
        board = nucleo_g431kb

        ; change microcontroller
        board_build.mcu = stm32g431kbt6

        ; change MCU frequency
        board_build.f_cpu = 170000000L

  Uploading

Nucleo G431KB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_g431kb]
        platform = ststm32
        board = nucleo_g431kb

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nucleo G431KB does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Nucleo G431RB

  Contents

    •   Nucleo G431RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32G431RBT6
Frequency | 170MHz
Flash | 128KB
RAM | 32KB
Vendor | ST

  Configuration

Please use nucleo_g431rb ID for projectconf_env_board option in projectconf:

        [env:nucleo_g431rb]
        platform = ststm32
        board = nucleo_g431rb

You can override default Nucleo G431RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_g431rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_g431rb]
        platform = ststm32
        board = nucleo_g431rb

        ; change microcontroller
        board_build.mcu = stm32g431rbt6

        ; change MCU frequency
        board_build.f_cpu = 170000000L

  Uploading

Nucleo G431RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_g431rb]
        platform = ststm32
        board = nucleo_g431rb

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nucleo G431RB does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Nucleo G474RE

  Contents

    •   Nucleo G474RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32G474RET6
Frequency | 170MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_g474re ID for projectconf_env_board option in projectconf:

        [env:nucleo_g474re]
        platform = ststm32
        board = nucleo_g474re

You can override default Nucleo G474RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_g474re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_g474re]
        platform = ststm32
        board = nucleo_g474re

        ; change microcontroller
        board_build.mcu = stm32g474ret6

        ; change MCU frequency
        board_build.f_cpu = 170000000L

  Uploading

Nucleo G474RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_g474re]
        platform = ststm32
        board = nucleo_g474re

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Nucleo G474RE does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  OLIMEXINO-STM32

  Contents

    •   OLIMEXINO-STM32

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Olimex

  Configuration

Please use olimexino ID for projectconf_env_board option in projectconf:

        [env:olimexino]
        platform = ststm32
        board = olimexino

You can override default OLIMEXINO-STM32 settings per build environment using board_*** option, where *** is a JSON object path from board manifest olimexino.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:olimexino]
        platform = ststm32
        board = olimexino

        ; change microcontroller
        board_build.mcu = stm32f103rbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

OLIMEXINO-STM32 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:olimexino]
        platform = ststm32
        board = olimexino

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

OLIMEXINO-STM32 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Olimex STM32-P405

  Contents

    •   Olimex STM32-P405

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F405RGT6
Frequency | 168MHz
Flash | 1MB
RAM | 192KB
Vendor | Olimex

  Configuration

Please use olimex_p405 ID for projectconf_env_board option in projectconf:

        [env:olimex_p405]
        platform = ststm32
        board = olimex_p405

You can override default Olimex STM32-P405 settings per build environment using board_*** option, where *** is a JSON object path from board manifest olimex_p405.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:olimex_p405]
        platform = ststm32
        board = olimex_p405

        ; change microcontroller
        board_build.mcu = stm32f405rgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Olimex STM32-P405 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:olimex_p405]
        platform = ststm32
        board = olimex_p405

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Olimex STM32-P405 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  P-Nucleo WB55RG

  Contents

    •   P-Nucleo WB55RG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32WB55RG
Frequency | 64MHz
Flash | 512KB
RAM | 192.00KB
Vendor | ST

  Configuration

Please use nucleo_wb55rg_p ID for projectconf_env_board option in projectconf:

        [env:nucleo_wb55rg_p]
        platform = ststm32
        board = nucleo_wb55rg_p

You can override default P-Nucleo WB55RG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_wb55rg_p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_wb55rg_p]
        platform = ststm32
        board = nucleo_wb55rg_p

        ; change microcontroller
        board_build.mcu = stm32wb55rg

        ; change MCU frequency
        board_build.f_cpu = 64000000L

  Uploading

P-Nucleo WB55RG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_wb55rg_p]
        platform = ststm32
        board = nucleo_wb55rg_p

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

P-Nucleo WB55RG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Piconomix PX-HER0

  Contents

    •   Piconomix PX-HER0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L072RB
Frequency | 32MHz
Flash | 128KB
RAM | 20KB
Vendor | Piconomix

  Configuration

Please use piconomix_px_her0 ID for projectconf_env_board option in projectconf:

        [env:piconomix_px_her0]
        platform = ststm32
        board = piconomix_px_her0

You can override default Piconomix PX-HER0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest piconomix_px_her0.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:piconomix_px_her0]
        platform = ststm32
        board = piconomix_px_her0

        ; change microcontroller
        board_build.mcu = stm32l072rb

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

Piconomix PX-HER0 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:piconomix_px_her0]
        platform = ststm32
        board = piconomix_px_her0

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Piconomix PX-HER0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  PrntrBoard V2

  Contents

    •   PrntrBoard V2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407RE
Frequency | 168MHz
Flash | 512KB
RAM | 192KB
Vendor | PrntrBoard

  Configuration

Please use prntr_v2 ID for projectconf_env_board option in projectconf:

        [env:prntr_v2]
        platform = ststm32
        board = prntr_v2

You can override default PrntrBoard V2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest prntr_v2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:prntr_v2]
        platform = ststm32
        board = prntr_v2

        ; change microcontroller
        board_build.mcu = stm32f407re

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

PrntrBoard V2 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:prntr_v2]
        platform = ststm32
        board = prntr_v2

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

PrntrBoard V2 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  RAK811 LoRa Tracker

  Contents

    •   RAK811 LoRa Tracker

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L151RBT6
Frequency | 32MHz
Flash | 128KB
RAM | 16KB
Vendor | RAK

  Configuration

Please use rak811_tracker ID for projectconf_env_board option in projectconf:

        [env:rak811_tracker]
        platform = ststm32
        board = rak811_tracker

You can override default RAK811 LoRa Tracker settings per build environment using board_*** option, where *** is a JSON object path from board manifest rak811_tracker.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:rak811_tracker]
        platform = ststm32
        board = rak811_tracker

        ; change microcontroller
        board_build.mcu = stm32l151rbt6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

RAK811 LoRa Tracker supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:rak811_tracker]
        platform = ststm32
        board = rak811_tracker

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RAK811 LoRa Tracker does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  RAK811 LoRa Tracker

  Contents

    •   RAK811 LoRa Tracker

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L151RBT6
Frequency | 32MHz
Flash | 128KB
RAM | 32KB
Vendor | RAK

  Configuration

Please use rak811_tracker_32 ID for projectconf_env_board option in projectconf:

        [env:rak811_tracker_32]
        platform = ststm32
        board = rak811_tracker_32

You can override default RAK811 LoRa Tracker settings per build environment using board_*** option, where *** is a JSON object path from board manifest rak811_tracker_32.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:rak811_tracker_32]
        platform = ststm32
        board = rak811_tracker_32

        ; change microcontroller
        board_build.mcu = stm32l151rbt6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

RAK811 LoRa Tracker supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:rak811_tracker_32]
        platform = ststm32
        board = rak811_tracker_32

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RAK811 LoRa Tracker does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  RHF76 052

  Contents

    •   RHF76 052

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L051C8T6
Frequency | 32MHz
Flash | 64KB
RAM | 8KB
Vendor | ST

  Configuration

Please use rhf76_052 ID for projectconf_env_board option in projectconf:

        [env:rhf76_052]
        platform = ststm32
        board = rhf76_052

You can override default RHF76 052 settings per build environment using board_*** option, where *** is a JSON object path from board manifest rhf76_052.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:rhf76_052]
        platform = ststm32
        board = rhf76_052

        ; change microcontroller
        board_build.mcu = stm32l051c8t6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

RHF76 052 supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:rhf76_052]
        platform = ststm32
        board = rhf76_052

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RHF76 052 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  RushUp Cloud-JAM

  Contents

    •   RushUp Cloud-JAM

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401RET6
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | RushUp

  Configuration

Please use cloud_jam ID for projectconf_env_board option in projectconf:

        [env:cloud_jam]
        platform = ststm32
        board = cloud_jam

You can override default RushUp Cloud-JAM settings per build environment using board_*** option, where *** is a JSON object path from board manifest cloud_jam.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:cloud_jam]
        platform = ststm32
        board = cloud_jam

        ; change microcontroller
        board_build.mcu = stm32f401ret6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

RushUp Cloud-JAM supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:cloud_jam]
        platform = ststm32
        board = cloud_jam

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RushUp Cloud-JAM has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  RushUp Cloud-JAM L4

  Contents

    •   RushUp Cloud-JAM L4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L476RGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | RushUp

  Configuration

Please use cloud_jam_l4 ID for projectconf_env_board option in projectconf:

        [env:cloud_jam_l4]
        platform = ststm32
        board = cloud_jam_l4

You can override default RushUp Cloud-JAM L4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest cloud_jam_l4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:cloud_jam_l4]
        platform = ststm32
        board = cloud_jam_l4

        ; change microcontroller
        board_build.mcu = stm32l476rgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

RushUp Cloud-JAM L4 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:cloud_jam_l4]
        platform = ststm32
        board = cloud_jam_l4

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

RushUp Cloud-JAM L4 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST 32F3348DISCOVERY

  Contents

    •   ST 32F3348DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F334C8T6
Frequency | 72MHz
Flash | 64KB
RAM | 12KB
Vendor | ST

  Configuration

Please use disco_f334c8 ID for projectconf_env_board option in projectconf:

        [env:disco_f334c8]
        platform = ststm32
        board = disco_f334c8

You can override default ST 32F3348DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f334c8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f334c8]
        platform = ststm32
        board = disco_f334c8

        ; change microcontroller
        board_build.mcu = stm32f334c8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST 32F3348DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f334c8]
        platform = ststm32
        board = disco_f334c8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F3348DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST 32F401CDISCOVERY

  Contents

    •   ST 32F401CDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401VCT6
Frequency | 84MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use disco_f401vc ID for projectconf_env_board option in projectconf:

        [env:disco_f401vc]
        platform = ststm32
        board = disco_f401vc

You can override default ST 32F401CDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f401vc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f401vc]
        platform = ststm32
        board = disco_f401vc

        ; change microcontroller
        board_build.mcu = stm32f401vct6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

ST 32F401CDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f401vc]
        platform = ststm32
        board = disco_f401vc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F401CDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST 32F411EDISCOVERY

  Contents

    •   ST 32F411EDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411VET6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use disco_f411ve ID for projectconf_env_board option in projectconf:

        [env:disco_f411ve]
        platform = ststm32
        board = disco_f411ve

You can override default ST 32F411EDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f411ve.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f411ve]
        platform = ststm32
        board = disco_f411ve

        ; change microcontroller
        board_build.mcu = stm32f411vet6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

ST 32F411EDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f411ve]
        platform = ststm32
        board = disco_f411ve

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F411EDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST 32F413HDISCOVERY

  Contents

    •   ST 32F413HDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F413ZHT6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use disco_f413zh ID for projectconf_env_board option in projectconf:

        [env:disco_f413zh]
        platform = ststm32
        board = disco_f413zh

You can override default ST 32F413HDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f413zh.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f413zh]
        platform = ststm32
        board = disco_f413zh

        ; change microcontroller
        board_build.mcu = stm32f413zht6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

ST 32F413HDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f413zh]
        platform = ststm32
        board = disco_f413zh

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F413HDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST 32F429IDISCOVERY

  Contents

    •   ST 32F429IDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F429ZIT6
Frequency | 180MHz
Flash | 2MB
RAM | 256KB
Vendor | ST

  Configuration

Please use disco_f429zi ID for projectconf_env_board option in projectconf:

        [env:disco_f429zi]
        platform = ststm32
        board = disco_f429zi

You can override default ST 32F429IDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f429zi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f429zi]
        platform = ststm32
        board = disco_f429zi

        ; change microcontroller
        board_build.mcu = stm32f429zit6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

ST 32F429IDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f429zi]
        platform = ststm32
        board = disco_f429zi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F429IDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST 32F469IDISCOVERY

  Contents

    •   ST 32F469IDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F469NIH6
Frequency | 180MHz
Flash | 1MB
RAM | 384KB
Vendor | ST

  Configuration

Please use disco_f469ni ID for projectconf_env_board option in projectconf:

        [env:disco_f469ni]
        platform = ststm32
        board = disco_f469ni

You can override default ST 32F469IDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f469ni.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f469ni]
        platform = ststm32
        board = disco_f469ni

        ; change microcontroller
        board_build.mcu = stm32f469nih6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

ST 32F469IDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f469ni]
        platform = ststm32
        board = disco_f469ni

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F469IDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST 32F746GDISCOVERY

  Contents

    •   ST 32F746GDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F746NGH6
Frequency | 216MHz
Flash | 1MB
RAM | 320KB
Vendor | ST

  Configuration

Please use disco_f746ng ID for projectconf_env_board option in projectconf:

        [env:disco_f746ng]
        platform = ststm32
        board = disco_f746ng

You can override default ST 32F746GDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f746ng.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f746ng]
        platform = ststm32
        board = disco_f746ng

        ; change microcontroller
        board_build.mcu = stm32f746ngh6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

ST 32F746GDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f746ng]
        platform = ststm32
        board = disco_f746ng

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F746GDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST 32F769IDISCOVERY

  Contents

    •   ST 32F769IDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F769NIH6
Frequency | 216MHz
Flash | 1MB
RAM | 512KB
Vendor | ST

  Configuration

Please use disco_f769ni ID for projectconf_env_board option in projectconf:

        [env:disco_f769ni]
        platform = ststm32
        board = disco_f769ni

You can override default ST 32F769IDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f769ni.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f769ni]
        platform = ststm32
        board = disco_f769ni

        ; change microcontroller
        board_build.mcu = stm32f769nih6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

ST 32F769IDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f769ni]
        platform = ststm32
        board = disco_f769ni

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32F769IDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST 32L0538DISCOVERY

  Contents

    •   ST 32L0538DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L053C8T6
Frequency | 32MHz
Flash | 64KB
RAM | 8KB
Vendor | ST

  Configuration

Please use disco_l053c8 ID for projectconf_env_board option in projectconf:

        [env:disco_l053c8]
        platform = ststm32
        board = disco_l053c8

You can override default ST 32L0538DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l053c8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l053c8]
        platform = ststm32
        board = disco_l053c8

        ; change microcontroller
        board_build.mcu = stm32l053c8t6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST 32L0538DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l053c8]
        platform = ststm32
        board = disco_l053c8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32L0538DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST 32L100DISCOVERY

  Contents

    •   ST 32L100DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L100RCT6
Frequency | 32MHz
Flash | 256KB
RAM | 16KB
Vendor | ST

  Configuration

Please use disco_l100rc ID for projectconf_env_board option in projectconf:

        [env:disco_l100rc]
        platform = ststm32
        board = disco_l100rc

You can override default ST 32L100DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l100rc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l100rc]
        platform = ststm32
        board = disco_l100rc

        ; change microcontroller
        board_build.mcu = stm32l100rct6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST 32L100DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l100rc]
        platform = ststm32
        board = disco_l100rc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32L100DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST 32L476GDISCOVERY

  Contents

    •   ST 32L476GDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L476VGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use disco_l476vg ID for projectconf_env_board option in projectconf:

        [env:disco_l476vg]
        platform = ststm32
        board = disco_l476vg

You can override default ST 32L476GDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l476vg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l476vg]
        platform = ststm32
        board = disco_l476vg

        ; change microcontroller
        board_build.mcu = stm32l476vgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST 32L476GDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l476vg]
        platform = ststm32
        board = disco_l476vg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32L476GDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST 32L496GDISCOVERY

  Contents

    •   ST 32L496GDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L496AGI6
Frequency | 80MHz
Flash | 1MB
RAM | 320KB
Vendor | ST

  Configuration

Please use disco_l496ag ID for projectconf_env_board option in projectconf:

        [env:disco_l496ag]
        platform = ststm32
        board = disco_l496ag

You can override default ST 32L496GDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l496ag.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l496ag]
        platform = ststm32
        board = disco_l496ag

        ; change microcontroller
        board_build.mcu = stm32l496agi6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST 32L496GDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l496ag]
        platform = ststm32
        board = disco_l496ag

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST 32L496GDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST B-L475E-IOT01A Discovery kit

  Contents

    •   ST B-L475E-IOT01A Discovery kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L475VGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use disco_l475vg_iot01a ID for projectconf_env_board option in projectconf:

        [env:disco_l475vg_iot01a]
        platform = ststm32
        board = disco_l475vg_iot01a

You can override default ST B-L475E-IOT01A Discovery kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l475vg_iot01a.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l475vg_iot01a]
        platform = ststm32
        board = disco_l475vg_iot01a

        ; change microcontroller
        board_build.mcu = stm32l475vgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST B-L475E-IOT01A Discovery kit supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l475vg_iot01a]
        platform = ststm32
        board = disco_l475vg_iot01a

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST B-L475E-IOT01A Discovery kit has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST DISCO-L072CZ-LRWAN1

  Contents

    •   ST DISCO-L072CZ-LRWAN1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L072CZ
Frequency | 32MHz
Flash | 192KB
RAM | 20KB
Vendor | ST

  Configuration

Please use disco_l072cz_lrwan1 ID for projectconf_env_board option in projectconf:

        [env:disco_l072cz_lrwan1]
        platform = ststm32
        board = disco_l072cz_lrwan1

You can override default ST DISCO-L072CZ-LRWAN1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l072cz_lrwan1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l072cz_lrwan1]
        platform = ststm32
        board = disco_l072cz_lrwan1

        ; change microcontroller
        board_build.mcu = stm32l072cz

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST DISCO-L072CZ-LRWAN1 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l072cz_lrwan1]
        platform = ststm32
        board = disco_l072cz_lrwan1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST DISCO-L072CZ-LRWAN1 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Discovery F072RB

  Contents

    •   ST Discovery F072RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F072RBT6
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | ST

  Configuration

Please use disco_f072rb ID for projectconf_env_board option in projectconf:

        [env:disco_f072rb]
        platform = ststm32
        board = disco_f072rb

You can override default ST Discovery F072RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f072rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f072rb]
        platform = ststm32
        board = disco_f072rb

        ; change microcontroller
        board_build.mcu = stm32f072rbt6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Discovery F072RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f072rb]
        platform = ststm32
        board = disco_f072rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Discovery F072RB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F030R8

  Contents

    •   ST Nucleo F030R8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F030R8T6
Frequency | 48MHz
Flash | 64KB
RAM | 8KB
Vendor | ST

  Configuration

Please use nucleo_f030r8 ID for projectconf_env_board option in projectconf:

        [env:nucleo_f030r8]
        platform = ststm32
        board = nucleo_f030r8

You can override default ST Nucleo F030R8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f030r8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f030r8]
        platform = ststm32
        board = nucleo_f030r8

        ; change microcontroller
        board_build.mcu = stm32f030r8t6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Nucleo F030R8 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f030r8]
        platform = ststm32
        board = nucleo_f030r8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F030R8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F031K6

  Contents

    •   ST Nucleo F031K6

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F031K6T6
Frequency | 48MHz
Flash | 32KB
RAM | 4KB
Vendor | ST

  Configuration

Please use nucleo_f031k6 ID for projectconf_env_board option in projectconf:

        [env:nucleo_f031k6]
        platform = ststm32
        board = nucleo_f031k6

You can override default ST Nucleo F031K6 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f031k6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f031k6]
        platform = ststm32
        board = nucleo_f031k6

        ; change microcontroller
        board_build.mcu = stm32f031k6t6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Nucleo F031K6 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f031k6]
        platform = ststm32
        board = nucleo_f031k6

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F031K6 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F042K6

  Contents

    •   ST Nucleo F042K6

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F042K6T6
Frequency | 48MHz
Flash | 32KB
RAM | 6KB
Vendor | ST

  Configuration

Please use nucleo_f042k6 ID for projectconf_env_board option in projectconf:

        [env:nucleo_f042k6]
        platform = ststm32
        board = nucleo_f042k6

You can override default ST Nucleo F042K6 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f042k6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f042k6]
        platform = ststm32
        board = nucleo_f042k6

        ; change microcontroller
        board_build.mcu = stm32f042k6t6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Nucleo F042K6 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f042k6]
        platform = ststm32
        board = nucleo_f042k6

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F042K6 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F070RB

  Contents

    •   ST Nucleo F070RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F070RBT6
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | ST

  Configuration

Please use nucleo_f070rb ID for projectconf_env_board option in projectconf:

        [env:nucleo_f070rb]
        platform = ststm32
        board = nucleo_f070rb

You can override default ST Nucleo F070RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f070rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f070rb]
        platform = ststm32
        board = nucleo_f070rb

        ; change microcontroller
        board_build.mcu = stm32f070rbt6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Nucleo F070RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f070rb]
        platform = ststm32
        board = nucleo_f070rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F070RB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F072RB

  Contents

    •   ST Nucleo F072RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F072RBT6
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | ST

  Configuration

Please use nucleo_f072rb ID for projectconf_env_board option in projectconf:

        [env:nucleo_f072rb]
        platform = ststm32
        board = nucleo_f072rb

You can override default ST Nucleo F072RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f072rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f072rb]
        platform = ststm32
        board = nucleo_f072rb

        ; change microcontroller
        board_build.mcu = stm32f072rbt6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Nucleo F072RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f072rb]
        platform = ststm32
        board = nucleo_f072rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F072RB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F091RC

  Contents

    •   ST Nucleo F091RC

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F091RCT6
Frequency | 48MHz
Flash | 256KB
RAM | 32KB
Vendor | ST

  Configuration

Please use nucleo_f091rc ID for projectconf_env_board option in projectconf:

        [env:nucleo_f091rc]
        platform = ststm32
        board = nucleo_f091rc

You can override default ST Nucleo F091RC settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f091rc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f091rc]
        platform = ststm32
        board = nucleo_f091rc

        ; change microcontroller
        board_build.mcu = stm32f091rct6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST Nucleo F091RC supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f091rc]
        platform = ststm32
        board = nucleo_f091rc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F091RC has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F103RB

  Contents

    •   ST Nucleo F103RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | ST

  Configuration

Please use nucleo_f103rb ID for projectconf_env_board option in projectconf:

        [env:nucleo_f103rb]
        platform = ststm32
        board = nucleo_f103rb

You can override default ST Nucleo F103RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f103rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f103rb]
        platform = ststm32
        board = nucleo_f103rb

        ; change microcontroller
        board_build.mcu = stm32f103rbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST Nucleo F103RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f103rb]
        platform = ststm32
        board = nucleo_f103rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F103RB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F207ZG

  Contents

    •   ST Nucleo F207ZG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F207ZGT6
Frequency | 120MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_f207zg ID for projectconf_env_board option in projectconf:

        [env:nucleo_f207zg]
        platform = ststm32
        board = nucleo_f207zg

You can override default ST Nucleo F207ZG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f207zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f207zg]
        platform = ststm32
        board = nucleo_f207zg

        ; change microcontroller
        board_build.mcu = stm32f207zgt6

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

ST Nucleo F207ZG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f207zg]
        platform = ststm32
        board = nucleo_f207zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F207ZG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F302R8

  Contents

    •   ST Nucleo F302R8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F302R8T6
Frequency | 72MHz
Flash | 64KB
RAM | 16KB
Vendor | ST

  Configuration

Please use nucleo_f302r8 ID for projectconf_env_board option in projectconf:

        [env:nucleo_f302r8]
        platform = ststm32
        board = nucleo_f302r8

You can override default ST Nucleo F302R8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f302r8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f302r8]
        platform = ststm32
        board = nucleo_f302r8

        ; change microcontroller
        board_build.mcu = stm32f302r8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST Nucleo F302R8 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f302r8]
        platform = ststm32
        board = nucleo_f302r8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F302R8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F303K8

  Contents

    •   ST Nucleo F303K8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303K8T6
Frequency | 72MHz
Flash | 64KB
RAM | 12KB
Vendor | ST

  Configuration

Please use nucleo_f303k8 ID for projectconf_env_board option in projectconf:

        [env:nucleo_f303k8]
        platform = ststm32
        board = nucleo_f303k8

You can override default ST Nucleo F303K8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f303k8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f303k8]
        platform = ststm32
        board = nucleo_f303k8

        ; change microcontroller
        board_build.mcu = stm32f303k8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST Nucleo F303K8 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f303k8]
        platform = ststm32
        board = nucleo_f303k8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F303K8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F303RE

  Contents

    •   ST Nucleo F303RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303RET6
Frequency | 72MHz
Flash | 512KB
RAM | 64KB
Vendor | ST

  Configuration

Please use nucleo_f303re ID for projectconf_env_board option in projectconf:

        [env:nucleo_f303re]
        platform = ststm32
        board = nucleo_f303re

You can override default ST Nucleo F303RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f303re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f303re]
        platform = ststm32
        board = nucleo_f303re

        ; change microcontroller
        board_build.mcu = stm32f303ret6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST Nucleo F303RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f303re]
        platform = ststm32
        board = nucleo_f303re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F303RE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F303ZE

  Contents

    •   ST Nucleo F303ZE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303ZET6
Frequency | 72MHz
Flash | 512KB
RAM | 64KB
Vendor | ST

  Configuration

Please use nucleo_f303ze ID for projectconf_env_board option in projectconf:

        [env:nucleo_f303ze]
        platform = ststm32
        board = nucleo_f303ze

You can override default ST Nucleo F303ZE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f303ze.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f303ze]
        platform = ststm32
        board = nucleo_f303ze

        ; change microcontroller
        board_build.mcu = stm32f303zet6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST Nucleo F303ZE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f303ze]
        platform = ststm32
        board = nucleo_f303ze

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F303ZE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F334R8

  Contents

    •   ST Nucleo F334R8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F334R8T6
Frequency | 72MHz
Flash | 64KB
RAM | 16KB
Vendor | ST

  Configuration

Please use nucleo_f334r8 ID for projectconf_env_board option in projectconf:

        [env:nucleo_f334r8]
        platform = ststm32
        board = nucleo_f334r8

You can override default ST Nucleo F334R8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f334r8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f334r8]
        platform = ststm32
        board = nucleo_f334r8

        ; change microcontroller
        board_build.mcu = stm32f334r8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST Nucleo F334R8 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f334r8]
        platform = ststm32
        board = nucleo_f334r8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F334R8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F401RE

  Contents

    •   ST Nucleo F401RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401RET6
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | ST

  Configuration

Please use nucleo_f401re ID for projectconf_env_board option in projectconf:

        [env:nucleo_f401re]
        platform = ststm32
        board = nucleo_f401re

You can override default ST Nucleo F401RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f401re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f401re]
        platform = ststm32
        board = nucleo_f401re

        ; change microcontroller
        board_build.mcu = stm32f401ret6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

ST Nucleo F401RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f401re]
        platform = ststm32
        board = nucleo_f401re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F401RE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F410RB

  Contents

    •   ST Nucleo F410RB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F410RBT6
Frequency | 100MHz
Flash | 128KB
RAM | 32KB
Vendor | ST

  Configuration

Please use nucleo_f410rb ID for projectconf_env_board option in projectconf:

        [env:nucleo_f410rb]
        platform = ststm32
        board = nucleo_f410rb

You can override default ST Nucleo F410RB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f410rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f410rb]
        platform = ststm32
        board = nucleo_f410rb

        ; change microcontroller
        board_build.mcu = stm32f410rbt6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

ST Nucleo F410RB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f410rb]
        platform = ststm32
        board = nucleo_f410rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F410RB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F411RE

  Contents

    •   ST Nucleo F411RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411RET6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_f411re ID for projectconf_env_board option in projectconf:

        [env:nucleo_f411re]
        platform = ststm32
        board = nucleo_f411re

You can override default ST Nucleo F411RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f411re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f411re]
        platform = ststm32
        board = nucleo_f411re

        ; change microcontroller
        board_build.mcu = stm32f411ret6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

ST Nucleo F411RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f411re]
        platform = ststm32
        board = nucleo_f411re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F411RE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F412ZG

  Contents

    •   ST Nucleo F412ZG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F412ZGT6
Frequency | 100MHz
Flash | 1MB
RAM | 256KB
Vendor | ST

  Configuration

Please use nucleo_f412zg ID for projectconf_env_board option in projectconf:

        [env:nucleo_f412zg]
        platform = ststm32
        board = nucleo_f412zg

You can override default ST Nucleo F412ZG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f412zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f412zg]
        platform = ststm32
        board = nucleo_f412zg

        ; change microcontroller
        board_build.mcu = stm32f412zgt6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

ST Nucleo F412ZG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f412zg]
        platform = ststm32
        board = nucleo_f412zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F412ZG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F413ZH

  Contents

    •   ST Nucleo F413ZH

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F413ZHT6
Frequency | 100MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_f413zh ID for projectconf_env_board option in projectconf:

        [env:nucleo_f413zh]
        platform = ststm32
        board = nucleo_f413zh

You can override default ST Nucleo F413ZH settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f413zh.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f413zh]
        platform = ststm32
        board = nucleo_f413zh

        ; change microcontroller
        board_build.mcu = stm32f413zht6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

ST Nucleo F413ZH supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f413zh]
        platform = ststm32
        board = nucleo_f413zh

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F413ZH has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F429ZI

  Contents

    •   ST Nucleo F429ZI

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F429ZIT6
Frequency | 180MHz
Flash | 2MB
RAM | 256KB
Vendor | ST

  Configuration

Please use nucleo_f429zi ID for projectconf_env_board option in projectconf:

        [env:nucleo_f429zi]
        platform = ststm32
        board = nucleo_f429zi

You can override default ST Nucleo F429ZI settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f429zi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f429zi]
        platform = ststm32
        board = nucleo_f429zi

        ; change microcontroller
        board_build.mcu = stm32f429zit6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

ST Nucleo F429ZI supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f429zi]
        platform = ststm32
        board = nucleo_f429zi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F429ZI has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F439ZI

  Contents

    •   ST Nucleo F439ZI

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F439ZIT6
Frequency | 180MHz
Flash | 2MB
RAM | 256KB
Vendor | ST

  Configuration

Please use nucleo_f439zi ID for projectconf_env_board option in projectconf:

        [env:nucleo_f439zi]
        platform = ststm32
        board = nucleo_f439zi

You can override default ST Nucleo F439ZI settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f439zi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f439zi]
        platform = ststm32
        board = nucleo_f439zi

        ; change microcontroller
        board_build.mcu = stm32f439zit6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

ST Nucleo F439ZI supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f439zi]
        platform = ststm32
        board = nucleo_f439zi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F439ZI has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F446RE

  Contents

    •   ST Nucleo F446RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F446RET6
Frequency | 180MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_f446re ID for projectconf_env_board option in projectconf:

        [env:nucleo_f446re]
        platform = ststm32
        board = nucleo_f446re

You can override default ST Nucleo F446RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f446re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f446re]
        platform = ststm32
        board = nucleo_f446re

        ; change microcontroller
        board_build.mcu = stm32f446ret6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

ST Nucleo F446RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f446re]
        platform = ststm32
        board = nucleo_f446re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F446RE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F446ZE

  Contents

    •   ST Nucleo F446ZE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F446ZET6
Frequency | 180MHz
Flash | 512KB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_f446ze ID for projectconf_env_board option in projectconf:

        [env:nucleo_f446ze]
        platform = ststm32
        board = nucleo_f446ze

You can override default ST Nucleo F446ZE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f446ze.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f446ze]
        platform = ststm32
        board = nucleo_f446ze

        ; change microcontroller
        board_build.mcu = stm32f446zet6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

ST Nucleo F446ZE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f446ze]
        platform = ststm32
        board = nucleo_f446ze

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F446ZE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F722ZE

  Contents

    •   ST Nucleo F722ZE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F722ZET6
Frequency | 216MHz
Flash | 512KB
RAM | 256KB
Vendor | ST

  Configuration

Please use nucleo_f722ze ID for projectconf_env_board option in projectconf:

        [env:nucleo_f722ze]
        platform = ststm32
        board = nucleo_f722ze

You can override default ST Nucleo F722ZE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f722ze.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f722ze]
        platform = ststm32
        board = nucleo_f722ze

        ; change microcontroller
        board_build.mcu = stm32f722zet6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

ST Nucleo F722ZE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f722ze]
        platform = ststm32
        board = nucleo_f722ze

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F722ZE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo F746ZG

  Contents

    •   ST Nucleo F746ZG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F746ZGT6
Frequency | 216MHz
Flash | 1MB
RAM | 320KB
Vendor | ST

  Configuration

Please use nucleo_f746zg ID for projectconf_env_board option in projectconf:

        [env:nucleo_f746zg]
        platform = ststm32
        board = nucleo_f746zg

You can override default ST Nucleo F746ZG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f746zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f746zg]
        platform = ststm32
        board = nucleo_f746zg

        ; change microcontroller
        board_build.mcu = stm32f746zgt6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

ST Nucleo F746ZG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f746zg]
        platform = ststm32
        board = nucleo_f746zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F746ZG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F756ZG

  Contents

    •   ST Nucleo F756ZG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F756ZG
Frequency | 216MHz
Flash | 1MB
RAM | 320KB
Vendor | ST

  Configuration

Please use nucleo_f756zg ID for projectconf_env_board option in projectconf:

        [env:nucleo_f756zg]
        platform = ststm32
        board = nucleo_f756zg

You can override default ST Nucleo F756ZG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f756zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f756zg]
        platform = ststm32
        board = nucleo_f756zg

        ; change microcontroller
        board_build.mcu = stm32f756zg

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

ST Nucleo F756ZG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f756zg]
        platform = ststm32
        board = nucleo_f756zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F756ZG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo F767ZI

  Contents

    •   ST Nucleo F767ZI

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F767ZIT6
Frequency | 216MHz
Flash | 2MB
RAM | 512KB
Vendor | ST

  Configuration

Please use nucleo_f767zi ID for projectconf_env_board option in projectconf:

        [env:nucleo_f767zi]
        platform = ststm32
        board = nucleo_f767zi

You can override default ST Nucleo F767ZI settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_f767zi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_f767zi]
        platform = ststm32
        board = nucleo_f767zi

        ; change microcontroller
        board_build.mcu = stm32f767zit6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

ST Nucleo F767ZI supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_f767zi]
        platform = ststm32
        board = nucleo_f767zi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo F767ZI has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo H743ZI

  Contents

    •   ST Nucleo H743ZI

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32H743ZIT6
Frequency | 400MHz
Flash | 2MB
RAM | 512KB
Vendor | ST

  Configuration

Please use nucleo_h743zi ID for projectconf_env_board option in projectconf:

        [env:nucleo_h743zi]
        platform = ststm32
        board = nucleo_h743zi

You can override default ST Nucleo H743ZI settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_h743zi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_h743zi]
        platform = ststm32
        board = nucleo_h743zi

        ; change microcontroller
        board_build.mcu = stm32h743zit6

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

ST Nucleo H743ZI supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_h743zi]
        platform = ststm32
        board = nucleo_h743zi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo H743ZI has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L011K4

  Contents

    •   ST Nucleo L011K4

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L011K4T6
Frequency | 32MHz
Flash | 16KB
RAM | 2KB
Vendor | ST

  Configuration

Please use nucleo_l011k4 ID for projectconf_env_board option in projectconf:

        [env:nucleo_l011k4]
        platform = ststm32
        board = nucleo_l011k4

You can override default ST Nucleo L011K4 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l011k4.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l011k4]
        platform = ststm32
        board = nucleo_l011k4

        ; change microcontroller
        board_build.mcu = stm32l011k4t6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST Nucleo L011K4 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l011k4]
        platform = ststm32
        board = nucleo_l011k4

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L011K4 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L031K6

  Contents

    •   ST Nucleo L031K6

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L031K6T6
Frequency | 32MHz
Flash | 32KB
RAM | 8KB
Vendor | ST

  Configuration

Please use nucleo_l031k6 ID for projectconf_env_board option in projectconf:

        [env:nucleo_l031k6]
        platform = ststm32
        board = nucleo_l031k6

You can override default ST Nucleo L031K6 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l031k6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l031k6]
        platform = ststm32
        board = nucleo_l031k6

        ; change microcontroller
        board_build.mcu = stm32l031k6t6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST Nucleo L031K6 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l031k6]
        platform = ststm32
        board = nucleo_l031k6

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L031K6 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L053R8

  Contents

    •   ST Nucleo L053R8

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L053R8T6
Frequency | 32MHz
Flash | 64KB
RAM | 8KB
Vendor | ST

  Configuration

Please use nucleo_l053r8 ID for projectconf_env_board option in projectconf:

        [env:nucleo_l053r8]
        platform = ststm32
        board = nucleo_l053r8

You can override default ST Nucleo L053R8 settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l053r8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l053r8]
        platform = ststm32
        board = nucleo_l053r8

        ; change microcontroller
        board_build.mcu = stm32l053r8t6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST Nucleo L053R8 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l053r8]
        platform = ststm32
        board = nucleo_l053r8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L053R8 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo L073RZ

  Contents

    •   ST Nucleo L073RZ

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L073RZ
Frequency | 32MHz
Flash | 192KB
RAM | 20KB
Vendor | ST

  Configuration

Please use nucleo_l073rz ID for projectconf_env_board option in projectconf:

        [env:nucleo_l073rz]
        platform = ststm32
        board = nucleo_l073rz

You can override default ST Nucleo L073RZ settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l073rz.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l073rz]
        platform = ststm32
        board = nucleo_l073rz

        ; change microcontroller
        board_build.mcu = stm32l073rz

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST Nucleo L073RZ supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l073rz]
        platform = ststm32
        board = nucleo_l073rz

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L073RZ has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo L152RE

  Contents

    •   ST Nucleo L152RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L152RET6
Frequency | 32MHz
Flash | 512KB
RAM | 80KB
Vendor | ST

  Configuration

Please use nucleo_l152re ID for projectconf_env_board option in projectconf:

        [env:nucleo_l152re]
        platform = ststm32
        board = nucleo_l152re

You can override default ST Nucleo L152RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l152re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l152re]
        platform = ststm32
        board = nucleo_l152re

        ; change microcontroller
        board_build.mcu = stm32l152ret6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST Nucleo L152RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l152re]
        platform = ststm32
        board = nucleo_l152re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L152RE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L412KB

  Contents

    •   ST Nucleo L412KB

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L412KBU6
Frequency | 80MHz
Flash | 128KB
RAM | 40KB
Vendor | ST

  Configuration

Please use nucleo_l412kb ID for projectconf_env_board option in projectconf:

        [env:nucleo_l412kb]
        platform = ststm32
        board = nucleo_l412kb

You can override default ST Nucleo L412KB settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l412kb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l412kb]
        platform = ststm32
        board = nucleo_l412kb

        ; change microcontroller
        board_build.mcu = stm32l412kbu6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L412KB supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l412kb]
        platform = ststm32
        board = nucleo_l412kb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L412KB has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L432KC

  Contents

    •   ST Nucleo L432KC

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L432KCU6
Frequency | 80MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use nucleo_l432kc ID for projectconf_env_board option in projectconf:

        [env:nucleo_l432kc]
        platform = ststm32
        board = nucleo_l432kc

You can override default ST Nucleo L432KC settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l432kc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l432kc]
        platform = ststm32
        board = nucleo_l432kc

        ; change microcontroller
        board_build.mcu = stm32l432kcu6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L432KC supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l432kc]
        platform = ststm32
        board = nucleo_l432kc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L432KC has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo L433RC-P

  Contents

    •   ST Nucleo L433RC-P

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L433RC
Frequency | 80MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use nucleo_l433rc_p ID for projectconf_env_board option in projectconf:

        [env:nucleo_l433rc_p]
        platform = ststm32
        board = nucleo_l433rc_p

You can override default ST Nucleo L433RC-P settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l433rc_p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l433rc_p]
        platform = ststm32
        board = nucleo_l433rc_p

        ; change microcontroller
        board_build.mcu = stm32l433rc

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L433RC-P supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l433rc_p]
        platform = ststm32
        board = nucleo_l433rc_p

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L433RC-P has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L452RE

  Contents

    •   ST Nucleo L452RE

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L452RET6
Frequency | 80MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use nucleo_l452re ID for projectconf_env_board option in projectconf:

        [env:nucleo_l452re]
        platform = ststm32
        board = nucleo_l452re

You can override default ST Nucleo L452RE settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l452re.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l452re]
        platform = ststm32
        board = nucleo_l452re

        ; change microcontroller
        board_build.mcu = stm32l452ret6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L452RE supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l452re]
        platform = ststm32
        board = nucleo_l452re

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L452RE has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L476RG

  Contents

    •   ST Nucleo L476RG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L476RGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_l476rg ID for projectconf_env_board option in projectconf:

        [env:nucleo_l476rg]
        platform = ststm32
        board = nucleo_l476rg

You can override default ST Nucleo L476RG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l476rg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l476rg]
        platform = ststm32
        board = nucleo_l476rg

        ; change microcontroller
        board_build.mcu = stm32l476rgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L476RG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l476rg]
        platform = ststm32
        board = nucleo_l476rg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L476RG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo L486RG

  Contents

    •   ST Nucleo L486RG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L486RGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_l486rg ID for projectconf_env_board option in projectconf:

        [env:nucleo_l486rg]
        platform = ststm32
        board = nucleo_l486rg

You can override default ST Nucleo L486RG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l486rg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l486rg]
        platform = ststm32
        board = nucleo_l486rg

        ; change microcontroller
        board_build.mcu = stm32l486rgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L486RG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l486rg]
        platform = ststm32
        board = nucleo_l486rg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L486RG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L496ZG

  Contents

    •   ST Nucleo L496ZG

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L496ZGT6
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use nucleo_l496zg ID for projectconf_env_board option in projectconf:

        [env:nucleo_l496zg]
        platform = ststm32
        board = nucleo_l496zg

You can override default ST Nucleo L496ZG settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l496zg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l496zg]
        platform = ststm32
        board = nucleo_l496zg

        ; change microcontroller
        board_build.mcu = stm32l496zgt6

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L496ZG supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l496zg]
        platform = ststm32
        board = nucleo_l496zg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L496ZG has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST Nucleo L496ZG-P

  Contents

    •   ST Nucleo L496ZG-P

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L496ZGT6P
Frequency | 80MHz
Flash | 1MB
RAM | 320KB
Vendor | ST

  Configuration

Please use nucleo_l496zg_p ID for projectconf_env_board option in projectconf:

        [env:nucleo_l496zg_p]
        platform = ststm32
        board = nucleo_l496zg_p

You can override default ST Nucleo L496ZG-P settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l496zg_p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l496zg_p]
        platform = ststm32
        board = nucleo_l496zg_p

        ; change microcontroller
        board_build.mcu = stm32l496zgt6p

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Nucleo L496ZG-P supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l496zg_p]
        platform = ststm32
        board = nucleo_l496zg_p

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L496ZG-P has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Nucleo L4R5ZI

  Contents

    •   ST Nucleo L4R5ZI

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L4R5ZIT6
Frequency | 120MHz
Flash | 2MB
RAM | 640KB
Vendor | ST

  Configuration

Please use nucleo_l4r5zi ID for projectconf_env_board option in projectconf:

        [env:nucleo_l4r5zi]
        platform = ststm32
        board = nucleo_l4r5zi

You can override default ST Nucleo L4R5ZI settings per build environment using board_*** option, where *** is a JSON object path from board manifest nucleo_l4r5zi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:nucleo_l4r5zi]
        platform = ststm32
        board = nucleo_l4r5zi

        ; change microcontroller
        board_build.mcu = stm32l4r5zit6

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

ST Nucleo L4R5ZI supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:nucleo_l4r5zi]
        platform = ststm32
        board = nucleo_l4r5zi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Nucleo L4R5ZI has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST STM32F0308DISCOVERY

  Contents

    •   ST STM32F0308DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F030R8T6
Frequency | 48MHz
Flash | 64KB
RAM | 8KB
Vendor | ST

  Configuration

Please use disco_f030r8 ID for projectconf_env_board option in projectconf:

        [env:disco_f030r8]
        platform = ststm32
        board = disco_f030r8

You can override default ST STM32F0308DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f030r8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f030r8]
        platform = ststm32
        board = disco_f030r8

        ; change microcontroller
        board_build.mcu = stm32f030r8t6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST STM32F0308DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f030r8]
        platform = ststm32
        board = disco_f030r8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32F0308DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST STM32F0DISCOVERY

  Contents

    •   ST STM32F0DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F051R8T6
Frequency | 48MHz
Flash | 64KB
RAM | 8KB
Vendor | ST

  Configuration

Please use disco_f051r8 ID for projectconf_env_board option in projectconf:

        [env:disco_f051r8]
        platform = ststm32
        board = disco_f051r8

You can override default ST STM32F0DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f051r8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f051r8]
        platform = ststm32
        board = disco_f051r8

        ; change microcontroller
        board_build.mcu = stm32f051r8t6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

ST STM32F0DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f051r8]
        platform = ststm32
        board = disco_f051r8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32F0DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST STM32F3DISCOVERY

  Contents

    •   ST STM32F3DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303VCT6
Frequency | 72MHz
Flash | 256KB
RAM | 48KB
Vendor | ST

  Configuration

Please use disco_f303vc ID for projectconf_env_board option in projectconf:

        [env:disco_f303vc]
        platform = ststm32
        board = disco_f303vc

You can override default ST STM32F3DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f303vc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f303vc]
        platform = ststm32
        board = disco_f303vc

        ; change microcontroller
        board_build.mcu = stm32f303vct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

ST STM32F3DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f303vc]
        platform = ststm32
        board = disco_f303vc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32F3DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST STM32F4DISCOVERY

  Contents

    •   ST STM32F4DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VGT6
Frequency | 168MHz
Flash | 1MB
RAM | 128KB
Vendor | ST

  Configuration

Please use disco_f407vg ID for projectconf_env_board option in projectconf:

        [env:disco_f407vg]
        platform = ststm32
        board = disco_f407vg

You can override default ST STM32F4DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f407vg.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f407vg]
        platform = ststm32
        board = disco_f407vg

        ; change microcontroller
        board_build.mcu = stm32f407vgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

ST STM32F4DISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f407vg]
        platform = ststm32
        board = disco_f407vg

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32F4DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  ST STM32L073Z-EVAL

  Contents

    •   ST STM32L073Z-EVAL

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L073VZT6
Frequency | 32MHz
Flash | 192KB
RAM | 20KB
Vendor | ST

  Configuration

Please use eval_l073z ID for projectconf_env_board option in projectconf:

        [env:eval_l073z]
        platform = ststm32
        board = eval_l073z

You can override default ST STM32L073Z-EVAL settings per build environment using board_*** option, where *** is a JSON object path from board manifest eval_l073z.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:eval_l073z]
        platform = ststm32
        board = eval_l073z

        ; change microcontroller
        board_build.mcu = stm32l073vzt6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST STM32L073Z-EVAL supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:eval_l073z]
        platform = ststm32
        board = eval_l073z

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32L073Z-EVAL has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST STM32LDISCOVERY

  Contents

    •   ST STM32LDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L152RBT6
Frequency | 32MHz
Flash | 128KB
RAM | 16KB
Vendor | ST

  Configuration

Please use disco_l152rb ID for projectconf_env_board option in projectconf:

        [env:disco_l152rb]
        platform = ststm32
        board = disco_l152rb

You can override default ST STM32LDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_l152rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_l152rb]
        platform = ststm32
        board = disco_l152rb

        ; change microcontroller
        board_build.mcu = stm32l152rbt6

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ST STM32LDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_l152rb]
        platform = ststm32
        board = disco_l152rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32LDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST STM32VLDISCOVERY

  Contents

    •   ST STM32VLDISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F100RBT6
Frequency | 24MHz
Flash | 128KB
RAM | 8KB
Vendor | ST

  Configuration

Please use disco_f100rb ID for projectconf_env_board option in projectconf:

        [env:disco_f100rb]
        platform = ststm32
        board = disco_f100rb

You can override default ST STM32VLDISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f100rb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f100rb]
        platform = ststm32
        board = disco_f100rb

        ; change microcontroller
        board_build.mcu = stm32f100rbt6

        ; change MCU frequency
        board_build.f_cpu = 24000000L

  Uploading

ST STM32VLDISCOVERY supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f100rb]
        platform = ststm32
        board = disco_f100rb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM32VLDISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST Sensor Node

  Contents

    •   ST Sensor Node

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L476JG
Frequency | 80MHz
Flash | 1MB
RAM | 128KB
Vendor | Avnet Silica

  Configuration

Please use silica_sensor_node ID for projectconf_env_board option in projectconf:

        [env:silica_sensor_node]
        platform = ststm32
        board = silica_sensor_node

You can override default ST Sensor Node settings per build environment using board_*** option, where *** is a JSON object path from board manifest silica_sensor_node.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:silica_sensor_node]
        platform = ststm32
        board = silica_sensor_node

        ; change microcontroller
        board_build.mcu = stm32l476jg

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Uploading

ST Sensor Node supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:silica_sensor_node]
        platform = ststm32
        board = silica_sensor_node

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST Sensor Node has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STEVAL-FCU001V1 Flight controller unit evaluation board

  Contents

    •   STEVAL-FCU001V1 Flight controller unit evaluation board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401CCU6
Frequency | 84MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use steval_fcu001v1 ID for projectconf_env_board option in projectconf:

        [env:steval_fcu001v1]
        platform = ststm32
        board = steval_fcu001v1

You can override default STEVAL-FCU001V1 Flight controller unit evaluation board settings per build environment using board_*** option, where *** is a JSON object path from board manifest steval_fcu001v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:steval_fcu001v1]
        platform = ststm32
        board = steval_fcu001v1

        ; change microcontroller
        board_build.mcu = stm32f401ccu6

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

STEVAL-FCU001V1 Flight controller unit evaluation board supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:steval_fcu001v1]
        platform = ststm32
        board = steval_fcu001v1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STEVAL-FCU001V1 Flight controller unit evaluation board does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  STM32-E407

  Contents

    •   STM32-E407

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407ZGT6
Frequency | 168MHz
Flash | 1MB
RAM | 128KB
Vendor | Olimex

  Configuration

Please use olimex_e407 ID for projectconf_env_board option in projectconf:

        [env:olimex_e407]
        platform = ststm32
        board = olimex_e407

You can override default STM32-E407 settings per build environment using board_*** option, where *** is a JSON object path from board manifest olimex_e407.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:olimex_e407]
        platform = ststm32
        board = olimex_e407

        ; change microcontroller
        board_build.mcu = stm32f407zgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

STM32-E407 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:olimex_e407]
        platform = ststm32
        board = olimex_e407

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32-E407 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  STM32-H407

  Contents

    •   STM32-H407

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407ZGT6
Frequency | 168MHz
Flash | 1MB
RAM | 128KB
Vendor | Olimex

  Configuration

Please use olimex_h407 ID for projectconf_env_board option in projectconf:

        [env:olimex_h407]
        platform = ststm32
        board = olimex_h407

You can override default STM32-H407 settings per build environment using board_*** option, where *** is a JSON object path from board manifest olimex_h407.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:olimex_h407]
        platform = ststm32
        board = olimex_h407

        ; change microcontroller
        board_build.mcu = stm32f407zgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

STM32-H407 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:olimex_h407]
        platform = ststm32
        board = olimex_h407

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32-H407 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  STM3210C-EVAL

  Contents

    •   STM3210C-EVAL

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F107VCT6
Frequency | 72MHz
Flash | 256KB
RAM | 64KB
Vendor | ST

  Configuration

Please use eval_f107vc ID for projectconf_env_board option in projectconf:

        [env:eval_f107vc]
        platform = ststm32
        board = eval_f107vc

You can override default STM3210C-EVAL settings per build environment using board_*** option, where *** is a JSON object path from board manifest eval_f107vc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:eval_f107vc]
        platform = ststm32
        board = eval_f107vc

        ; change microcontroller
        board_build.mcu = stm32f107vct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM3210C-EVAL supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:eval_f107vc]
        platform = ststm32
        board = eval_f107vc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM3210C-EVAL does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  STM32373C-EVAL

  Contents

    •   STM32373C-EVAL

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F373VCT6
Frequency | 72MHz
Flash | 256KB
RAM | 32KB
Vendor | ST

  Configuration

Please use eval_f373vc ID for projectconf_env_board option in projectconf:

        [env:eval_f373vc]
        platform = ststm32
        board = eval_f373vc

You can override default STM32373C-EVAL settings per build environment using board_*** option, where *** is a JSON object path from board manifest eval_f373vc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:eval_f373vc]
        platform = ststm32
        board = eval_f373vc

        ; change microcontroller
        board_build.mcu = stm32f373vct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32373C-EVAL supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:eval_f373vc]
        platform = ststm32
        board = eval_f373vc

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32373C-EVAL does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  STM32F072-EVAL

  Contents

    •   STM32F072-EVAL

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F072VBT6
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | ST

  Configuration

Please use eval_f072vb ID for projectconf_env_board option in projectconf:

        [env:eval_f072vb]
        platform = ststm32
        board = eval_f072vb

You can override default STM32F072-EVAL settings per build environment using board_*** option, where *** is a JSON object path from board manifest eval_f072vb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:eval_f072vb]
        platform = ststm32
        board = eval_f072vb

        ; change microcontroller
        board_build.mcu = stm32f072vbt6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

STM32F072-EVAL supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:eval_f072vb]
        platform = ststm32
        board = eval_f072vb

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F072-EVAL does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  STM32F103C8 (20k RAM. 64k Flash)

  Contents

    •   STM32F103C8 (20k RAM. 64k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103C8T6
Frequency | 72MHz
Flash | 64KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103C8 ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103C8]
        platform = ststm32
        board = genericSTM32F103C8

You can override default STM32F103C8 (20k RAM. 64k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103C8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103C8]
        platform = ststm32
        board = genericSTM32F103C8

        ; change microcontroller
        board_build.mcu = stm32f103c8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103C8 (20k RAM. 64k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103C8]
        platform = ststm32
        board = genericSTM32F103C8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103C8 (20k RAM. 64k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103CB (20k RAM. 128k Flash)

  Contents

    •   STM32F103CB (20k RAM. 128k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103CBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103CB ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103CB]
        platform = ststm32
        board = genericSTM32F103CB

You can override default STM32F103CB (20k RAM. 128k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103CB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103CB]
        platform = ststm32
        board = genericSTM32F103CB

        ; change microcontroller
        board_build.mcu = stm32f103cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103CB (20k RAM. 128k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103CB]
        platform = ststm32
        board = genericSTM32F103CB

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103CB (20k RAM. 128k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103R8 (20k RAM. 64 Flash)

  Contents

    •   STM32F103R8 (20k RAM. 64 Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103R8T6
Frequency | 72MHz
Flash | 64KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103R8 ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103R8]
        platform = ststm32
        board = genericSTM32F103R8

You can override default STM32F103R8 (20k RAM. 64 Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103R8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103R8]
        platform = ststm32
        board = genericSTM32F103R8

        ; change microcontroller
        board_build.mcu = stm32f103r8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103R8 (20k RAM. 64 Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103R8]
        platform = ststm32
        board = genericSTM32F103R8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103R8 (20k RAM. 64 Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103RB (20k RAM. 128k Flash)

  Contents

    •   STM32F103RB (20k RAM. 128k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103RB ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103RB]
        platform = ststm32
        board = genericSTM32F103RB

You can override default STM32F103RB (20k RAM. 128k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103RB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103RB]
        platform = ststm32
        board = genericSTM32F103RB

        ; change microcontroller
        board_build.mcu = stm32f103rbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103RB (20k RAM. 128k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103RB]
        platform = ststm32
        board = genericSTM32F103RB

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103RB (20k RAM. 128k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103RC (48k RAM. 256k Flash)

  Contents

    •   STM32F103RC (48k RAM. 256k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RCT6
Frequency | 72MHz
Flash | 256KB
RAM | 48KB
Vendor | Generic

  Configuration

Please use genericSTM32F103RC ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103RC]
        platform = ststm32
        board = genericSTM32F103RC

You can override default STM32F103RC (48k RAM. 256k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103RC.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103RC]
        platform = ststm32
        board = genericSTM32F103RC

        ; change microcontroller
        board_build.mcu = stm32f103rct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103RC (48k RAM. 256k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103RC]
        platform = ststm32
        board = genericSTM32F103RC

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103RC (48k RAM. 256k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103RE (64k RAM. 512k Flash)

  Contents

    •   STM32F103RE (64k RAM. 512k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103RET6
Frequency | 72MHz
Flash | 512KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F103RE ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103RE]
        platform = ststm32
        board = genericSTM32F103RE

You can override default STM32F103RE (64k RAM. 512k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103RE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103RE]
        platform = ststm32
        board = genericSTM32F103RE

        ; change microcontroller
        board_build.mcu = stm32f103ret6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103RE (64k RAM. 512k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103RE]
        platform = ststm32
        board = genericSTM32F103RE

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103RE (64k RAM. 512k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103T8 (20k RAM. 64k Flash)

  Contents

    •   STM32F103T8 (20k RAM. 64k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103T8T6
Frequency | 72MHz
Flash | 64KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103T8 ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103T8]
        platform = ststm32
        board = genericSTM32F103T8

You can override default STM32F103T8 (20k RAM. 64k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103T8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103T8]
        platform = ststm32
        board = genericSTM32F103T8

        ; change microcontroller
        board_build.mcu = stm32f103t8t6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103T8 (20k RAM. 64k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103T8]
        platform = ststm32
        board = genericSTM32F103T8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103T8 (20k RAM. 64k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103TB (20k RAM. 128k Flash)

  Contents

    •   STM32F103TB (20k RAM. 128k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103TBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103TB ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103TB]
        platform = ststm32
        board = genericSTM32F103TB

You can override default STM32F103TB (20k RAM. 128k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103TB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103TB]
        platform = ststm32
        board = genericSTM32F103TB

        ; change microcontroller
        board_build.mcu = stm32f103tbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103TB (20k RAM. 128k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103TB]
        platform = ststm32
        board = genericSTM32F103TB

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103TB (20k RAM. 128k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103VB (20k RAM. 128k Flash)

  Contents

    •   STM32F103VB (20k RAM. 128k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103VBT6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | Generic

  Configuration

Please use genericSTM32F103VB ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103VB]
        platform = ststm32
        board = genericSTM32F103VB

You can override default STM32F103VB (20k RAM. 128k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103VB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103VB]
        platform = ststm32
        board = genericSTM32F103VB

        ; change microcontroller
        board_build.mcu = stm32f103vbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103VB (20k RAM. 128k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103VB]
        platform = ststm32
        board = genericSTM32F103VB

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103VB (20k RAM. 128k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103VC (48k RAM. 256k Flash)

  Contents

    •   STM32F103VC (48k RAM. 256k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103VCT6
Frequency | 72MHz
Flash | 256KB
RAM | 48KB
Vendor | Generic

  Configuration

Please use genericSTM32F103VC ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103VC]
        platform = ststm32
        board = genericSTM32F103VC

You can override default STM32F103VC (48k RAM. 256k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103VC.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103VC]
        platform = ststm32
        board = genericSTM32F103VC

        ; change microcontroller
        board_build.mcu = stm32f103vct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103VC (48k RAM. 256k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103VC]
        platform = ststm32
        board = genericSTM32F103VC

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103VC (48k RAM. 256k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103VD (64k RAM. 384k Flash)

  Contents

    •   STM32F103VD (64k RAM. 384k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103VDT6
Frequency | 72MHz
Flash | 384KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F103VD ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103VD]
        platform = ststm32
        board = genericSTM32F103VD

You can override default STM32F103VD (64k RAM. 384k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103VD.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103VD]
        platform = ststm32
        board = genericSTM32F103VD

        ; change microcontroller
        board_build.mcu = stm32f103vdt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103VD (64k RAM. 384k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103VD]
        platform = ststm32
        board = genericSTM32F103VD

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103VD (64k RAM. 384k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103VE (64k RAM. 512k Flash)

  Contents

    •   STM32F103VE (64k RAM. 512k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103VET6
Frequency | 72MHz
Flash | 512KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F103VE ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103VE]
        platform = ststm32
        board = genericSTM32F103VE

You can override default STM32F103VE (64k RAM. 512k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103VE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103VE]
        platform = ststm32
        board = genericSTM32F103VE

        ; change microcontroller
        board_build.mcu = stm32f103vet6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103VE (64k RAM. 512k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103VE]
        platform = ststm32
        board = genericSTM32F103VE

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103VE (64k RAM. 512k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103ZC (48k RAM. 256k Flash)

  Contents

    •   STM32F103ZC (48k RAM. 256k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103ZCT6
Frequency | 72MHz
Flash | 256KB
RAM | 48KB
Vendor | Generic

  Configuration

Please use genericSTM32F103ZC ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103ZC]
        platform = ststm32
        board = genericSTM32F103ZC

You can override default STM32F103ZC (48k RAM. 256k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103ZC.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103ZC]
        platform = ststm32
        board = genericSTM32F103ZC

        ; change microcontroller
        board_build.mcu = stm32f103zct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103ZC (48k RAM. 256k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103ZC]
        platform = ststm32
        board = genericSTM32F103ZC

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103ZC (48k RAM. 256k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103ZD (64k RAM. 384k Flash)

  Contents

    •   STM32F103ZD (64k RAM. 384k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103ZDT6
Frequency | 72MHz
Flash | 384KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F103ZD ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103ZD]
        platform = ststm32
        board = genericSTM32F103ZD

You can override default STM32F103ZD (64k RAM. 384k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103ZD.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103ZD]
        platform = ststm32
        board = genericSTM32F103ZD

        ; change microcontroller
        board_build.mcu = stm32f103zdt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103ZD (64k RAM. 384k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103ZD]
        platform = ststm32
        board = genericSTM32F103ZD

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103ZD (64k RAM. 384k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F103ZE (64k RAM. 512k Flash)

  Contents

    •   STM32F103ZE (64k RAM. 512k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103ZET6
Frequency | 72MHz
Flash | 512KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F103ZE ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F103ZE]
        platform = ststm32
        board = genericSTM32F103ZE

You can override default STM32F103ZE (64k RAM. 512k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F103ZE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F103ZE]
        platform = ststm32
        board = genericSTM32F103ZE

        ; change microcontroller
        board_build.mcu = stm32f103zet6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F103ZE (64k RAM. 512k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F103ZE]
        platform = ststm32
        board = genericSTM32F103ZE

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F103ZE (64k RAM. 512k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F303CB (32k RAM. 128k Flash)

  Contents

    •   STM32F303CB (32k RAM. 128k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303CBT6
Frequency | 72MHz
Flash | 128KB
RAM | 32KB
Vendor | Generic

  Configuration

Please use genericSTM32F303CB ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F303CB]
        platform = ststm32
        board = genericSTM32F303CB

You can override default STM32F303CB (32k RAM. 128k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F303CB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F303CB]
        platform = ststm32
        board = genericSTM32F303CB

        ; change microcontroller
        board_build.mcu = stm32f303cbt6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

STM32F303CB (32k RAM. 128k Flash) supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F303CB]
        platform = ststm32
        board = genericSTM32F303CB

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F303CB (32k RAM. 128k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F401RB (64k RAM. 128k Flash)

  Contents

    •   STM32F401RB (64k RAM. 128k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401RB
Frequency | 84MHz
Flash | 128KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F401RB ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F401RB]
        platform = ststm32
        board = genericSTM32F401RB

You can override default STM32F401RB (64k RAM. 128k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F401RB.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F401RB]
        platform = ststm32
        board = genericSTM32F401RB

        ; change microcontroller
        board_build.mcu = stm32f401rb

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

STM32F401RB (64k RAM. 128k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F401RB]
        platform = ststm32
        board = genericSTM32F401RB

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F401RB (64k RAM. 128k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F401RC (64k RAM. 256k Flash)

  Contents

    •   STM32F401RC (64k RAM. 256k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401RC
Frequency | 84MHz
Flash | 256KB
RAM | 64KB
Vendor | Generic

  Configuration

Please use genericSTM32F401RC ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F401RC]
        platform = ststm32
        board = genericSTM32F401RC

You can override default STM32F401RC (64k RAM. 256k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F401RC.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F401RC]
        platform = ststm32
        board = genericSTM32F401RC

        ; change microcontroller
        board_build.mcu = stm32f401rc

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

STM32F401RC (64k RAM. 256k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F401RC]
        platform = ststm32
        board = genericSTM32F401RC

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F401RC (64k RAM. 256k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F401RE (96k RAM. 512k Flash)

  Contents

    •   STM32F401RE (96k RAM. 512k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F401RE
Frequency | 84MHz
Flash | 512KB
RAM | 96KB
Vendor | Generic

  Configuration

Please use genericSTM32F401RE ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F401RE]
        platform = ststm32
        board = genericSTM32F401RE

You can override default STM32F401RE (96k RAM. 512k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F401RE.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F401RE]
        platform = ststm32
        board = genericSTM32F401RE

        ; change microcontroller
        board_build.mcu = stm32f401re

        ; change MCU frequency
        board_build.f_cpu = 84000000L

  Uploading

STM32F401RE (96k RAM. 512k Flash) supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F401RE]
        platform = ststm32
        board = genericSTM32F401RE

        upload_protocol = serial

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F401RE (96k RAM. 512k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F407VE (192k RAM. 512k Flash)

  Contents

    •   STM32F407VE (192k RAM. 512k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 502.23KB
RAM | 128KB
Vendor | Generic

  Configuration

Please use genericSTM32F407VET6 ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F407VET6]
        platform = ststm32
        board = genericSTM32F407VET6

You can override default STM32F407VE (192k RAM. 512k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F407VET6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F407VET6]
        platform = ststm32
        board = genericSTM32F407VET6

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

STM32F407VE (192k RAM. 512k Flash) supports the next uploading protocols:

    •   dfu

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F407VET6]
        platform = ststm32
        board = genericSTM32F407VET6

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F407VE (192k RAM. 512k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F407VG (192k RAM. 1024k Flash)

  Contents

    •   STM32F407VG (192k RAM. 1024k Flash)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VGT6
Frequency | 168MHz
Flash | 1MB
RAM | 192KB
Vendor | Generic

  Configuration

Please use genericSTM32F407VGT6 ID for projectconf_env_board option in projectconf:

        [env:genericSTM32F407VGT6]
        platform = ststm32
        board = genericSTM32F407VGT6

You can override default STM32F407VG (192k RAM. 1024k Flash) settings per build environment using board_*** option, where *** is a JSON object path from board manifest genericSTM32F407VGT6.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:genericSTM32F407VGT6]
        platform = ststm32
        board = genericSTM32F407VGT6

        ; change microcontroller
        board_build.mcu = stm32f407vgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

STM32F407VG (192k RAM. 1024k Flash) supports the next uploading protocols:

    •   dfu

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:genericSTM32F407VGT6]
        platform = ststm32
        board = genericSTM32F407VGT6

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F407VG (192k RAM. 1024k Flash) does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F4Stamp F405

  Contents

    •   STM32F4Stamp F405

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F405RGT6
Frequency | 168MHz
Flash | 1MB
RAM | 192KB
Vendor | Generic

  Configuration

Please use stm32f4stamp ID for projectconf_env_board option in projectconf:

        [env:stm32f4stamp]
        platform = ststm32
        board = stm32f4stamp

You can override default STM32F4Stamp F405 settings per build environment using board_*** option, where *** is a JSON object path from board manifest stm32f4stamp.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stm32f4stamp]
        platform = ststm32
        board = stm32f4stamp

        ; change microcontroller
        board_build.mcu = stm32f405rgt6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

STM32F4Stamp F405 supports the next uploading protocols:

    •   dfu

    •   jlink

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:stm32f4stamp]
        platform = ststm32
        board = stm32f4stamp

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F4Stamp F405 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32F7508-DK

  Contents

    •   STM32F7508-DK

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F750N8H6
Frequency | 216MHz
Flash | 64KB
RAM | 340KB
Vendor | ST

  Configuration

Please use disco_f750n8 ID for projectconf_env_board option in projectconf:

        [env:disco_f750n8]
        platform = ststm32
        board = disco_f750n8

You can override default STM32F7508-DK settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_f750n8.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_f750n8]
        platform = ststm32
        board = disco_f750n8

        ; change microcontroller
        board_build.mcu = stm32f750n8h6

        ; change MCU frequency
        board_build.f_cpu = 216000000L

  Uploading

STM32F7508-DK supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_f750n8]
        platform = ststm32
        board = disco_f750n8

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32F7508-DK has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  STM32H747I-DISCO

  Contents

    •   STM32H747I-DISCO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32H747XIH6
Frequency | 400MHz
Flash | 2MB
RAM | 512KB
Vendor | ST

  Configuration

Please use disco_h743xi ID for projectconf_env_board option in projectconf:

        [env:disco_h743xi]
        platform = ststm32
        board = disco_h743xi

You can override default STM32H747I-DISCO settings per build environment using board_*** option, where *** is a JSON object path from board manifest disco_h743xi.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:disco_h743xi]
        platform = ststm32
        board = disco_h743xi

        ; change microcontroller
        board_build.mcu = stm32h747xih6

        ; change MCU frequency
        board_build.f_cpu = 400000000L

  Uploading

STM32H747I-DISCO supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:disco_h743xi]
        platform = ststm32
        board = disco_h743xi

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

STM32H747I-DISCO has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Seeed Arch Max

  Contents

    •   Seeed Arch Max

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F407VET6
Frequency | 168MHz
Flash | 512KB
RAM | 192KB
Vendor | SeeedStudio

  Configuration

Please use seeedArchMax ID for projectconf_env_board option in projectconf:

        [env:seeedArchMax]
        platform = ststm32
        board = seeedArchMax

You can override default Seeed Arch Max settings per build environment using board_*** option, where *** is a JSON object path from board manifest seeedArchMax.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:seeedArchMax]
        platform = ststm32
        board = seeedArchMax

        ; change microcontroller
        board_build.mcu = stm32f407vet6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

Seeed Arch Max supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:seeedArchMax]
        platform = ststm32
        board = seeedArchMax

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeed Arch Max has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Seeed Wio 3G

  Contents

    •   Seeed Wio 3G

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F439VI
Frequency | 180MHz
Flash | 2MB
RAM | 256KB
Vendor | SeeedStudio

  Configuration

Please use wio_3g ID for projectconf_env_board option in projectconf:

        [env:wio_3g]
        platform = ststm32
        board = wio_3g

You can override default Seeed Wio 3G settings per build environment using board_*** option, where *** is a JSON object path from board manifest wio_3g.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wio_3g]
        platform = ststm32
        board = wio_3g

        ; change microcontroller
        board_build.mcu = stm32f439vi

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

Seeed Wio 3G supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:wio_3g]
        platform = ststm32
        board = wio_3g

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Seeed Wio 3G has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  SensorTile.box

  Contents

    •   SensorTile.box

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L4R9ZI
Frequency | 120MHz
Flash | 2MB
RAM | 640KB
Vendor | ST

  Configuration

Please use steval_mksboxv1 ID for projectconf_env_board option in projectconf:

        [env:steval_mksboxv1]
        platform = ststm32
        board = steval_mksboxv1

You can override default SensorTile.box settings per build environment using board_*** option, where *** is a JSON object path from board manifest steval_mksboxv1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:steval_mksboxv1]
        platform = ststm32
        board = steval_mksboxv1

        ; change microcontroller
        board_build.mcu = stm32l4r9zi

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

SensorTile.box supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:steval_mksboxv1]
        platform = ststm32
        board = steval_mksboxv1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

SensorTile.box does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Sparky V1 F303

  Contents

    •   Sparky V1 F303

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F303CCT6
Frequency | 72MHz
Flash | 256KB
RAM | 40KB
Vendor | TauLabs

  Configuration

Please use sparky_v1 ID for projectconf_env_board option in projectconf:

        [env:sparky_v1]
        platform = ststm32
        board = sparky_v1

You can override default Sparky V1 F303 settings per build environment using board_*** option, where *** is a JSON object path from board manifest sparky_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sparky_v1]
        platform = ststm32
        board = sparky_v1

        ; change microcontroller
        board_build.mcu = stm32f303cct6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Sparky V1 F303 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:sparky_v1]
        platform = ststm32
        board = sparky_v1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Sparky V1 F303 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ThunderPack

  Contents

    •   ThunderPack

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32L072KZ
Frequency | 32MHz
Flash | 192KB
RAM | 20KB
Vendor | ThunderPack

  Configuration

Please use thunder_pack ID for projectconf_env_board option in projectconf:

        [env:thunder_pack]
        platform = ststm32
        board = thunder_pack

You can override default ThunderPack settings per build environment using board_*** option, where *** is a JSON object path from board manifest thunder_pack.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:thunder_pack]
        platform = ststm32
        board = thunder_pack

        ; change microcontroller
        board_build.mcu = stm32l072kz

        ; change MCU frequency
        board_build.f_cpu = 32000000L

  Uploading

ThunderPack supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:thunder_pack]
        platform = ststm32
        board = thunder_pack

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ThunderPack does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Tiny STM103T

  Contents

    •   Tiny STM103T

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F103TBU6
Frequency | 72MHz
Flash | 128KB
RAM | 20KB
Vendor | HY

  Configuration

Please use hy_tinystm103tb ID for projectconf_env_board option in projectconf:

        [env:hy_tinystm103tb]
        platform = ststm32
        board = hy_tinystm103tb

You can override default Tiny STM103T settings per build environment using board_*** option, where *** is a JSON object path from board manifest hy_tinystm103tb.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:hy_tinystm103tb]
        platform = ststm32
        board = hy_tinystm103tb

        ; change microcontroller
        board_build.mcu = stm32f103tbu6

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Tiny STM103T supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is dfu

You can change upload protocol using projectconf_upload_protocol option:

        [env:hy_tinystm103tb]
        platform = ststm32
        board = hy_tinystm103tb

        upload_protocol = dfu

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Tiny STM103T does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  VAkE v1.0

  Contents

    •   VAkE v1.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F446RET6
Frequency | 180MHz
Flash | 512KB
RAM | 128KB
Vendor | VAE

  Configuration

Please use vake_v1 ID for projectconf_env_board option in projectconf:

        [env:vake_v1]
        platform = ststm32
        board = vake_v1

You can override default VAkE v1.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest vake_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:vake_v1]
        platform = ststm32
        board = vake_v1

        ; change microcontroller
        board_build.mcu = stm32f446ret6

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

VAkE v1.0 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:vake_v1]
        platform = ststm32
        board = vake_v1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

VAkE v1.0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  Wraith V1 ESC

  Contents

    •   Wraith V1 ESC

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F051K6
Frequency | 48MHz
Flash | 32KB
RAM | 7.75KB
Vendor | Airbot

  Configuration

Please use wraith32_v1 ID for projectconf_env_board option in projectconf:

        [env:wraith32_v1]
        platform = ststm32
        board = wraith32_v1

You can override default Wraith V1 ESC settings per build environment using board_*** option, where *** is a JSON object path from board manifest wraith32_v1.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wraith32_v1]
        platform = ststm32
        board = wraith32_v1

        ; change microcontroller
        board_build.mcu = stm32f051k6

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Wraith V1 ESC supports the next uploading protocols:

    •   blackmagic

    •   dfu

    •   jlink

    •   serial

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:wraith32_v1]
        platform = ststm32
        board = wraith32_v1

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Wraith V1 ESC does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  sakura.io Evaluation Board

  Contents

    •   sakura.io Evaluation Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F411RET6
Frequency | 100MHz
Flash | 1MB
RAM | 128KB
Vendor | sakura.io

  Configuration

Please use sakuraio_evb_01 ID for projectconf_env_board option in projectconf:

        [env:sakuraio_evb_01]
        platform = ststm32
        board = sakuraio_evb_01

You can override default sakura.io Evaluation Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest sakuraio_evb_01.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:sakuraio_evb_01]
        platform = ststm32
        board = sakuraio_evb_01

        ; change microcontroller
        board_build.mcu = stm32f411ret6

        ; change MCU frequency
        board_build.f_cpu = 100000000L

  Uploading

sakura.io Evaluation Board supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:sakuraio_evb_01]
        platform = ststm32
        board = sakuraio_evb_01

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

sakura.io Evaluation Board has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  u-blox C030-N211 IoT Starter Kit

  Contents

    •   u-blox C030-N211 IoT Starter Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F437VG
Frequency | 180MHz
Flash | 1MB
RAM | 256KB
Vendor | u-blox

  Configuration

Please use ublox_c030_n211 ID for projectconf_env_board option in projectconf:

        [env:ublox_c030_n211]
        platform = ststm32
        board = ublox_c030_n211

You can override default u-blox C030-N211 IoT Starter Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest ublox_c030_n211.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ublox_c030_n211]
        platform = ststm32
        board = ublox_c030_n211

        ; change microcontroller
        board_build.mcu = stm32f437vg

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

u-blox C030-N211 IoT Starter Kit supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:ublox_c030_n211]
        platform = ststm32
        board = ublox_c030_n211

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox C030-N211 IoT Starter Kit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  u-blox C030-R410M IoT

  Contents

    •   u-blox C030-R410M IoT

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F437VG
Frequency | 180MHz
Flash | 1MB
RAM | 256KB
Vendor | u-blox

  Configuration

Please use ublox_c030_r410m ID for projectconf_env_board option in projectconf:

        [env:ublox_c030_r410m]
        platform = ststm32
        board = ublox_c030_r410m

You can override default u-blox C030-R410M IoT settings per build environment using board_*** option, where *** is a JSON object path from board manifest ublox_c030_r410m.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ublox_c030_r410m]
        platform = ststm32
        board = ublox_c030_r410m

        ; change microcontroller
        board_build.mcu = stm32f437vg

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

u-blox C030-R410M IoT supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:ublox_c030_r410m]
        platform = ststm32
        board = ublox_c030_r410m

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox C030-R410M IoT has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  |
debugging_tool_jlink |  |
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  u-blox C030-U201 IoT Starter Kit

  Contents

    •   u-blox C030-U201 IoT Starter Kit

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F437VG
Frequency | 180MHz
Flash | 1MB
RAM | 256KB
Vendor | u-blox

  Configuration

Please use ublox_c030_u201 ID for projectconf_env_board option in projectconf:

        [env:ublox_c030_u201]
        platform = ststm32
        board = ublox_c030_u201

You can override default u-blox C030-U201 IoT Starter Kit settings per build environment using board_*** option, where *** is a JSON object path from board manifest ublox_c030_u201.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ublox_c030_u201]
        platform = ststm32
        board = ublox_c030_u201

        ; change microcontroller
        board_build.mcu = stm32f437vg

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

u-blox C030-U201 IoT Starter Kit supports the next uploading protocols:

    •   blackmagic

    •   cmsis-dap

    •   jlink

    •   mbed

    •   stlink

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:ublox_c030_u201]
        platform = ststm32
        board = ublox_c030_u201

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox C030-U201 IoT Starter Kit does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_cmsis-dap |  |
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  u-blox EVK-ODIN-W2

  Contents

    •   u-blox EVK-ODIN-W2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F439ZIY6
Frequency | 168MHz
Flash | 2MB
RAM | 256KB
Vendor | u-blox

  Configuration

Please use ublox_evk_odin_w2 ID for projectconf_env_board option in projectconf:

        [env:ublox_evk_odin_w2]
        platform = ststm32
        board = ublox_evk_odin_w2

You can override default u-blox EVK-ODIN-W2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest ublox_evk_odin_w2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:ublox_evk_odin_w2]
        platform = ststm32
        board = ublox_evk_odin_w2

        ; change microcontroller
        board_build.mcu = stm32f439ziy6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

u-blox EVK-ODIN-W2 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:ublox_evk_odin_w2]
        platform = ststm32
        board = ublox_evk_odin_w2

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox EVK-ODIN-W2 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  u-blox ODIN-W2

  Contents

    •   u-blox ODIN-W2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm32: The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Microcontroller | STM32F439ZIY6
Frequency | 168MHz
Flash | 2MB
RAM | 256KB
Vendor | u-blox

  Configuration

Please use mtb_ublox_odin_w2 ID for projectconf_env_board option in projectconf:

        [env:mtb_ublox_odin_w2]
        platform = ststm32
        board = mtb_ublox_odin_w2

You can override default u-blox ODIN-W2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest mtb_ublox_odin_w2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mtb_ublox_odin_w2]
        platform = ststm32
        board = mtb_ublox_odin_w2

        ; change microcontroller
        board_build.mcu = stm32f439ziy6

        ; change MCU frequency
        board_build.f_cpu = 168000000L

  Uploading

u-blox ODIN-W2 supports the next uploading protocols:

    •   blackmagic

    •   jlink

    •   stlink

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:mtb_ublox_odin_w2]
        platform = ststm32
        board = mtb_ublox_odin_w2

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

u-blox ODIN-W2 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_blackmagic |  | Yes
debugging_tool_jlink |  |
debugging_tool_stlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.

  ST STM8

  ST STM8S-DISCOVERY

  Contents

    •   ST STM8S-DISCOVERY

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm8: The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
Microcontroller | STM8S105C6T6
Frequency | 16MHz
Flash | 32KB
RAM | 2KB
Vendor | ST

  Configuration

Please use stm8sdisco ID for projectconf_env_board option in projectconf:

        [env:stm8sdisco]
        platform = ststm8
        board = stm8sdisco

You can override default ST STM8S-DISCOVERY settings per build environment using board_*** option, where *** is a JSON object path from board manifest stm8sdisco.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stm8sdisco]
        platform = ststm8
        board = stm8sdisco

        ; change microcontroller
        board_build.mcu = stm8s105c6t6

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

ST STM8S-DISCOVERY supports the next uploading protocols:

    •   serial

    •   stlink

    •   stlinkv2

Default protocol is stlink

You can change upload protocol using projectconf_upload_protocol option:

        [env:stm8sdisco]
        platform = ststm8
        board = stm8sdisco

        upload_protocol = stlink

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

ST STM8S-DISCOVERY has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_stlink | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

  ST STM8S103F3 Breakout Board

  Contents

    •   ST STM8S103F3 Breakout Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm8: The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
Microcontroller | STM8S103F3P6
Frequency | 16MHz
Flash | 8KB
RAM | 1KB
Vendor | ST

  Configuration

Please use stm8sblue ID for projectconf_env_board option in projectconf:

        [env:stm8sblue]
        platform = ststm8
        board = stm8sblue

You can override default ST STM8S103F3 Breakout Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest stm8sblue.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stm8sblue]
        platform = ststm8
        board = stm8sblue

        ; change microcontroller
        board_build.mcu = stm8s103f3p6

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

ST STM8S103F3 Breakout Board supports the next uploading protocols:

    •   serial

    •   stlinkv2

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:stm8sblue]
        platform = ststm8
        board = stm8sblue

        upload_protocol = serial

  Debugging

piodebug currently does not support ST STM8S103F3 Breakout Board board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

  ST STM8S105K4T6 Breakout Board

  Contents

    •   ST STM8S105K4T6 Breakout Board

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm8: The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
Microcontroller | STM8S105K4T6
Frequency | 16MHz
Flash | 16KB
RAM | 2KB
Vendor | ST

  Configuration

Please use stm8sblack ID for projectconf_env_board option in projectconf:

        [env:stm8sblack]
        platform = ststm8
        board = stm8sblack

You can override default ST STM8S105K4T6 Breakout Board settings per build environment using board_*** option, where *** is a JSON object path from board manifest stm8sblack.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:stm8sblack]
        platform = ststm8
        board = stm8sblack

        ; change microcontroller
        board_build.mcu = stm8s105k4t6

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

ST STM8S105K4T6 Breakout Board supports the next uploading protocols:

    •   serial

    •   stlinkv2

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:stm8sblack]
        platform = ststm8
        board = stm8sblack

        upload_protocol = serial

  Debugging

piodebug currently does not support ST STM8S105K4T6 Breakout Board board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

  sduino MB (STM8S208MBT6B)

  Contents

    •   sduino MB (STM8S208MBT6B)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm8: The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
Microcontroller | STM8S208MBT6
Frequency | 16MHz
Flash | 128KB
RAM | 6KB
Vendor | sduino

  Configuration

Please use mb208 ID for projectconf_env_board option in projectconf:

        [env:mb208]
        platform = ststm8
        board = mb208

You can override default sduino MB (STM8S208MBT6B) settings per build environment using board_*** option, where *** is a JSON object path from board manifest mb208.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:mb208]
        platform = ststm8
        board = mb208

        ; change microcontroller
        board_build.mcu = stm8s208mbt6

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

sduino MB (STM8S208MBT6B) supports the next uploading protocols:

    •   serial

    •   stlinkv2

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:mb208]
        platform = ststm8
        board = mb208

        upload_protocol = serial

  Debugging

piodebug currently does not support sduino MB (STM8S208MBT6B) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

  sduino UNO (STM8S105K6)

  Contents

    •   sduino UNO (STM8S105K6)

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_ststm8: The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
Microcontroller | STM8S105K6T6
Frequency | 16MHz
Flash | 32KB
RAM | 2KB
Vendor | sduino

  Configuration

Please use s8uno ID for projectconf_env_board option in projectconf:

        [env:s8uno]
        platform = ststm8
        board = s8uno

You can override default sduino UNO (STM8S105K6) settings per build environment using board_*** option, where *** is a JSON object path from board manifest s8uno.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:s8uno]
        platform = ststm8
        board = s8uno

        ; change microcontroller
        board_build.mcu = stm8s105k6t6

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

sduino UNO (STM8S105K6) supports the next uploading protocols:

    •   serial

    •   stlinkv2

Default protocol is serial

You can change upload protocol using projectconf_upload_protocol option:

        [env:s8uno]
        platform = ststm8
        board = s8uno

        upload_protocol = serial

  Debugging

piodebug currently does not support sduino UNO (STM8S105K6) board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

  Teensy

  Teensy 2.0

  Contents

    •   Teensy 2.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | ATMEGA32U4
Frequency | 16MHz
Flash | 31.50KB
RAM | 2.50KB
Vendor | Teensy

  Configuration

Please use teensy2 ID for projectconf_env_board option in projectconf:

        [env:teensy2]
        platform = teensy
        board = teensy2

You can override default Teensy 2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy2.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy2]
        platform = teensy
        board = teensy2

        ; change microcontroller
        board_build.mcu = atmega32u4

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Teensy 2.0 supports the next uploading protocols:

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy2]
        platform = teensy
        board = teensy2

        upload_protocol = teensy-gui

  Debugging

piodebug currently does not support Teensy 2.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy 3.0

  Contents

    •   Teensy 3.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | MK20DX128
Frequency | 48MHz
Flash | 128KB
RAM | 16KB
Vendor | Teensy

  Configuration

Please use teensy30 ID for projectconf_env_board option in projectconf:

        [env:teensy30]
        platform = teensy
        board = teensy30

You can override default Teensy 3.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy30.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy30]
        platform = teensy
        board = teensy30

        ; change microcontroller
        board_build.mcu = mk20dx128

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Teensy 3.0 supports the next uploading protocols:

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy30]
        platform = teensy
        board = teensy30

        upload_protocol = teensy-gui

  Debugging

piodebug currently does not support Teensy 3.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy 3.1 / 3.2

  Contents

    •   Teensy 3.1 / 3.2

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | MK20DX256
Frequency | 72MHz
Flash | 256KB
RAM | 64KB
Vendor | Teensy

  Configuration

Please use teensy31 ID for projectconf_env_board option in projectconf:

        [env:teensy31]
        platform = teensy
        board = teensy31

You can override default Teensy 3.1 / 3.2 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy31.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy31]
        platform = teensy
        board = teensy31

        ; change microcontroller
        board_build.mcu = mk20dx256

        ; change MCU frequency
        board_build.f_cpu = 72000000L

  Uploading

Teensy 3.1 / 3.2 supports the next uploading protocols:

    •   jlink

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy31]
        platform = teensy
        board = teensy31

        upload_protocol = teensy-gui

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Teensy 3.1 / 3.2 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Teensy 3.5

  Contents

    •   Teensy 3.5

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | MK64FX512
Frequency | 120MHz
Flash | 512KB
RAM | 255.99KB
Vendor | Teensy

  Configuration

Please use teensy35 ID for projectconf_env_board option in projectconf:

        [env:teensy35]
        platform = teensy
        board = teensy35

You can override default Teensy 3.5 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy35.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy35]
        platform = teensy
        board = teensy35

        ; change microcontroller
        board_build.mcu = mk64fx512

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Uploading

Teensy 3.5 supports the next uploading protocols:

    •   jlink

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy35]
        platform = teensy
        board = teensy35

        upload_protocol = teensy-gui

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Teensy 3.5 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy 3.6

  Contents

    •   Teensy 3.6

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | MK66FX1M0
Frequency | 180MHz
Flash | 1MB
RAM | 256KB
Vendor | Teensy

  Configuration

Please use teensy36 ID for projectconf_env_board option in projectconf:

        [env:teensy36]
        platform = teensy
        board = teensy36

You can override default Teensy 3.6 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy36.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy36]
        platform = teensy
        board = teensy36

        ; change microcontroller
        board_build.mcu = mk66fx1m0

        ; change MCU frequency
        board_build.f_cpu = 180000000L

  Uploading

Teensy 3.6 supports the next uploading protocols:

    •   jlink

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy36]
        platform = teensy
        board = teensy36

        upload_protocol = teensy-gui

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Teensy 3.6 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy 4.0

  Contents

    •   Teensy 4.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | IMXRT1062
Frequency | 600MHz
Flash | 1.94MB
RAM | 512KB
Vendor | Teensy

  Configuration

Please use teensy40 ID for projectconf_env_board option in projectconf:

        [env:teensy40]
        platform = teensy
        board = teensy40

You can override default Teensy 4.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy40.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy40]
        platform = teensy
        board = teensy40

        ; change microcontroller
        board_build.mcu = imxrt1062

        ; change MCU frequency
        board_build.f_cpu = 600000000L

  Uploading

Teensy 4.0 supports the next uploading protocols:

    •   jlink

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy40]
        platform = teensy
        board = teensy40

        upload_protocol = teensy-gui

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Teensy 4.0 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy 4.1

  Contents

    •   Teensy 4.1

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | IMXRT1062
Frequency | 600MHz
Flash | 7.75MB
RAM | 512KB
Vendor | Teensy

  Configuration

Please use teensy41 ID for projectconf_env_board option in projectconf:

        [env:teensy41]
        platform = teensy
        board = teensy41

You can override default Teensy 4.1 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy41.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy41]
        platform = teensy
        board = teensy41

        ; change microcontroller
        board_build.mcu = imxrt1062

        ; change MCU frequency
        board_build.f_cpu = 600000000L

  Uploading

Teensy 4.1 supports the next uploading protocols:

    •   jlink

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy41]
        platform = teensy
        board = teensy41

        upload_protocol = teensy-gui

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Teensy 4.1 does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy LC

  Contents

    •   Teensy LC

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | MKL26Z64
Frequency | 48MHz
Flash | 62KB
RAM | 8KB
Vendor | Teensy

  Configuration

Please use teensylc ID for projectconf_env_board option in projectconf:

        [env:teensylc]
        platform = teensy
        board = teensylc

You can override default Teensy LC settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensylc.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensylc]
        platform = teensy
        board = teensylc

        ; change microcontroller
        board_build.mcu = mkl26z64

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

Teensy LC supports the next uploading protocols:

    •   jlink

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensylc]
        platform = teensy
        board = teensylc

        upload_protocol = teensy-gui

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

Teensy LC does not have on-board debug probe and IS NOT READY for debugging. You will need to use/buy one of external probe listed below.
Compatible Tools | On-board | Default
debugging_tool_jlink |  | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Teensy++ 2.0

  Contents

    •   Teensy++ 2.0

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_teensy: Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Microcontroller | AT90USB1286
Frequency | 16MHz
Flash | 127KB
RAM | 8KB
Vendor | Teensy

  Configuration

Please use teensy2pp ID for projectconf_env_board option in projectconf:

        [env:teensy2pp]
        platform = teensy
        board = teensy2pp

You can override default Teensy++ 2.0 settings per build environment using board_*** option, where *** is a JSON object path from board manifest teensy2pp.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:teensy2pp]
        platform = teensy
        board = teensy2pp

        ; change microcontroller
        board_build.mcu = at90usb1286

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Uploading

Teensy++ 2.0 supports the next uploading protocols:

    •   teensy-cli

    •   teensy-gui

Default protocol is teensy-gui

You can change upload protocol using projectconf_upload_protocol option:

        [env:teensy2pp]
        platform = teensy
        board = teensy2pp

        upload_protocol = teensy-gui

  Debugging

piodebug currently does not support Teensy++ 2.0 board.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI MSP430

  TI FraunchPad MSP-EXP430FR5739LP

  Contents

    •   TI FraunchPad MSP-EXP430FR5739LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR5739
Frequency | 16MHz
Flash | 15.37KB
RAM | 1KB
Vendor | TI

  Configuration

Please use lpmsp430fr5739 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr5739]
        platform = timsp430
        board = lpmsp430fr5739

You can override default TI FraunchPad MSP-EXP430FR5739LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr5739.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr5739]
        platform = timsp430
        board = lpmsp430fr5739

        ; change microcontroller
        board_build.mcu = msp430fr5739

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI FraunchPad MSP-EXP430FR5739LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430F5529LP

  Contents

    •   TI LaunchPad MSP-EXP430F5529LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430F5529
Frequency | 25MHz
Flash | 47KB
RAM | 8KB
Vendor | TI

  Configuration

Please use lpmsp430f5529 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430f5529]
        platform = timsp430
        board = lpmsp430f5529

You can override default TI LaunchPad MSP-EXP430F5529LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430f5529.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430f5529]
        platform = timsp430
        board = lpmsp430f5529

        ; change microcontroller
        board_build.mcu = msp430f5529

        ; change MCU frequency
        board_build.f_cpu = 25000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430F5529LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430FR2311LP

  Contents

    •   TI LaunchPad MSP-EXP430FR2311LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR2311
Frequency | 16MHz
Flash | 3.75KB
RAM | 1KB
Vendor | TI

  Configuration

Please use lpmsp430fr2311 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr2311]
        platform = timsp430
        board = lpmsp430fr2311

You can override default TI LaunchPad MSP-EXP430FR2311LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr2311.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr2311]
        platform = timsp430
        board = lpmsp430fr2311

        ; change microcontroller
        board_build.mcu = msp430fr2311

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430FR2311LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430FR2433LP

  Contents

    •   TI LaunchPad MSP-EXP430FR2433LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR2433
Frequency | 8MHz
Flash | 15KB
RAM | 4KB
Vendor | TI

  Configuration

Please use lpmsp430fr2433 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr2433]
        platform = timsp430
        board = lpmsp430fr2433

You can override default TI LaunchPad MSP-EXP430FR2433LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr2433.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr2433]
        platform = timsp430
        board = lpmsp430fr2433

        ; change microcontroller
        board_build.mcu = msp430fr2433

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430FR2433LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430FR4133LP

  Contents

    •   TI LaunchPad MSP-EXP430FR4133LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR4133
Frequency | 8MHz
Flash | 15KB
RAM | 2KB
Vendor | TI

  Configuration

Please use lpmsp430fr4133 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr4133]
        platform = timsp430
        board = lpmsp430fr4133

You can override default TI LaunchPad MSP-EXP430FR4133LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr4133.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr4133]
        platform = timsp430
        board = lpmsp430fr4133

        ; change microcontroller
        board_build.mcu = msp430fr4133

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430FR4133LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430FR5969LP

  Contents

    •   TI LaunchPad MSP-EXP430FR5969LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR5969
Frequency | 8MHz
Flash | 47KB
RAM | 2KB
Vendor | TI

  Configuration

Please use lpmsp430fr5969 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr5969]
        platform = timsp430
        board = lpmsp430fr5969

You can override default TI LaunchPad MSP-EXP430FR5969LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr5969.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr5969]
        platform = timsp430
        board = lpmsp430fr5969

        ; change microcontroller
        board_build.mcu = msp430fr5969

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430FR5969LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430FR5994LP

  Contents

    •   TI LaunchPad MSP-EXP430FR5994LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR5994
Frequency | 16MHz
Flash | 256KB
RAM | 4KB
Vendor | TI

  Configuration

Please use lpmsp430fr5994 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr5994]
        platform = timsp430
        board = lpmsp430fr5994

You can override default TI LaunchPad MSP-EXP430FR5994LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr5994.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr5994]
        platform = timsp430
        board = lpmsp430fr5994

        ; change microcontroller
        board_build.mcu = msp430fr5994

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430FR5994LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430FR6989LP

  Contents

    •   TI LaunchPad MSP-EXP430FR6989LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430FR6989
Frequency | 8MHz
Flash | 47KB
RAM | 2KB
Vendor | TI

  Configuration

Please use lpmsp430fr6989 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430fr6989]
        platform = timsp430
        board = lpmsp430fr6989

You can override default TI LaunchPad MSP-EXP430FR6989LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430fr6989.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430fr6989]
        platform = timsp430
        board = lpmsp430fr6989

        ; change microcontroller
        board_build.mcu = msp430fr6989

        ; change MCU frequency
        board_build.f_cpu = 8000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430FR6989LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430G2 w/ MSP430G2231

  Contents

    •   TI LaunchPad MSP-EXP430G2 w/ MSP430G2231

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430G2231
Frequency | 1MHz
Flash | 2KB
RAM | 256B
Vendor | TI

  Configuration

Please use lpmsp430g2231 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430g2231]
        platform = timsp430
        board = lpmsp430g2231

You can override default TI LaunchPad MSP-EXP430G2 w/ MSP430G2231 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430g2231.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430g2231]
        platform = timsp430
        board = lpmsp430g2231

        ; change microcontroller
        board_build.mcu = msp430g2231

        ; change MCU frequency
        board_build.f_cpu = 1000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430G2 w/ MSP430G2231 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430G2 w/ MSP430G2452

  Contents

    •   TI LaunchPad MSP-EXP430G2 w/ MSP430G2452

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430G2452
Frequency | 16MHz
Flash | 8KB
RAM | 256B
Vendor | TI

  Configuration

Please use lpmsp430g2452 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430g2452]
        platform = timsp430
        board = lpmsp430g2452

You can override default TI LaunchPad MSP-EXP430G2 w/ MSP430G2452 settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430g2452.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430g2452]
        platform = timsp430
        board = lpmsp430g2452

        ; change microcontroller
        board_build.mcu = msp430g2452

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430G2 w/ MSP430G2452 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI LaunchPad MSP-EXP430G2553LP

  Contents

    •   TI LaunchPad MSP-EXP430G2553LP

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_timsp430: MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Microcontroller | MSP430G2553
Frequency | 16MHz
Flash | 16KB
RAM | 512B
Vendor | TI

  Configuration

Please use lpmsp430g2553 ID for projectconf_env_board option in projectconf:

        [env:lpmsp430g2553]
        platform = timsp430
        board = lpmsp430g2553

You can override default TI LaunchPad MSP-EXP430G2553LP settings per build environment using board_*** option, where *** is a JSON object path from board manifest lpmsp430g2553.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lpmsp430g2553]
        platform = timsp430
        board = lpmsp430g2553

        ; change microcontroller
        board_build.mcu = msp430g2553

        ; change MCU frequency
        board_build.f_cpu = 16000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad MSP-EXP430G2553LP has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_mspdebug | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  TI TIVA

  TI LaunchPad (Stellaris) w/ lm4f120 (80MHz)

  Contents

    •   TI LaunchPad (Stellaris) w/ lm4f120 (80MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_titiva: Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
Microcontroller | LPLM4F120H5QR
Frequency | 80MHz
Flash | 256KB
RAM | 32KB
Vendor | TI

  Configuration

Please use lplm4f120h5qr ID for projectconf_env_board option in projectconf:

        [env:lplm4f120h5qr]
        platform = titiva
        board = lplm4f120h5qr

You can override default TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest lplm4f120h5qr.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lplm4f120h5qr]
        platform = titiva
        board = lplm4f120h5qr

        ; change microcontroller
        board_build.mcu = lplm4f120h5qr

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad (Stellaris) w/ lm4f120 (80MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ti-icdi | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

  TI LaunchPad (Tiva C) w/ tm4c123 (80MHz)

  Contents

    •   TI LaunchPad (Tiva C) w/ tm4c123 (80MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_titiva: Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
Microcontroller | LPTM4C1230C3PM
Frequency | 80MHz
Flash | 256KB
RAM | 32KB
Vendor | TI

  Configuration

Please use lptm4c1230c3pm ID for projectconf_env_board option in projectconf:

        [env:lptm4c1230c3pm]
        platform = titiva
        board = lptm4c1230c3pm

You can override default TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest lptm4c1230c3pm.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lptm4c1230c3pm]
        platform = titiva
        board = lptm4c1230c3pm

        ; change microcontroller
        board_build.mcu = lptm4c1230c3pm

        ; change MCU frequency
        board_build.f_cpu = 80000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad (Tiva C) w/ tm4c123 (80MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ti-icdi | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

  TI LaunchPad (Tiva C) w/ tm4c129 (120MHz)

  Contents

    •   TI LaunchPad (Tiva C) w/ tm4c129 (120MHz)

        •   Hardware

        •   Configuration

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_titiva: Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
Microcontroller | LPTM4C1294NCPDT
Frequency | 120MHz
Flash | 1MB
RAM | 256KB
Vendor | TI

  Configuration

Please use lptm4c1294ncpdt ID for projectconf_env_board option in projectconf:

        [env:lptm4c1294ncpdt]
        platform = titiva
        board = lptm4c1294ncpdt

You can override default TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) settings per build environment using board_*** option, where *** is a JSON object path from board manifest lptm4c1294ncpdt.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:lptm4c1294ncpdt]
        platform = titiva
        board = lptm4c1294ncpdt

        ; change microcontroller
        board_build.mcu = lptm4c1294ncpdt

        ; change MCU frequency
        board_build.f_cpu = 120000000L

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

TI LaunchPad (Tiva C) w/ tm4c129 (120MHz) has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_ti-icdi | Yes | Yes

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

  WIZNet W7500

  WIZwiki-W7500

  Contents

    •   WIZwiki-W7500

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_wiznet7500: The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things
Microcontroller | WIZNET7500
Frequency | 48MHz
Flash | 128KB
RAM | 48KB
Vendor | WIZNet

  Configuration

Please use wizwiki_w7500 ID for projectconf_env_board option in projectconf:

        [env:wizwiki_w7500]
        platform = wiznet7500
        board = wizwiki_w7500

You can override default WIZwiki-W7500 settings per build environment using board_*** option, where *** is a JSON object path from board manifest wizwiki_w7500.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wizwiki_w7500]
        platform = wiznet7500
        board = wizwiki_w7500

        ; change microcontroller
        board_build.mcu = wiznet7500

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

WIZwiki-W7500 supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:wizwiki_w7500]
        platform = wiznet7500
        board = wizwiki_w7500

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WIZwiki-W7500 has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  WIZwiki-W7500ECO

  Contents

    •   WIZwiki-W7500ECO

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_wiznet7500: The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things
Microcontroller | WIZNET7500ECO
Frequency | 48MHz
Flash | 128KB
RAM | 48KB
Vendor | WIZNet

  Configuration

Please use wizwiki_w7500eco ID for projectconf_env_board option in projectconf:

        [env:wizwiki_w7500eco]
        platform = wiznet7500
        board = wizwiki_w7500eco

You can override default WIZwiki-W7500ECO settings per build environment using board_*** option, where *** is a JSON object path from board manifest wizwiki_w7500eco.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wizwiki_w7500eco]
        platform = wiznet7500
        board = wizwiki_w7500eco

        ; change microcontroller
        board_build.mcu = wiznet7500eco

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

WIZwiki-W7500ECO supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:wizwiki_w7500eco]
        platform = wiznet7500
        board = wizwiki_w7500eco

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WIZwiki-W7500ECO has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  WIZwiki-W7500P

  Contents

    •   WIZwiki-W7500P

        •   Hardware

        •   Configuration

        •   Uploading

        •   Debugging

        •   Frameworks

  Hardware

Platform platform_wiznet7500: The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things
Microcontroller | WIZNET7500P
Frequency | 48MHz
Flash | 128KB
RAM | 48KB
Vendor | WIZNet

  Configuration

Please use wizwiki_w7500p ID for projectconf_env_board option in projectconf:

        [env:wizwiki_w7500p]
        platform = wiznet7500
        board = wizwiki_w7500p

You can override default WIZwiki-W7500P settings per build environment using board_*** option, where *** is a JSON object path from board manifest wizwiki_w7500p.json. For example, board_build.mcu, board_build.f_cpu, etc.

        [env:wizwiki_w7500p]
        platform = wiznet7500
        board = wizwiki_w7500p

        ; change microcontroller
        board_build.mcu = wiznet7500p

        ; change MCU frequency
        board_build.f_cpu = 48000000L

  Uploading

WIZwiki-W7500P supports the next uploading protocols:

    •   cmsis-dap

    •   jlink

    •   mbed

Default protocol is mbed

You can change upload protocol using projectconf_upload_protocol option:

        [env:wizwiki_w7500p]
        platform = wiznet7500
        board = wizwiki_w7500p

        upload_protocol = mbed

  Debugging

piodebug - "1-click" solution for debugging with a zero configuration.

WARNING:
        You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions and configuration information.

You can switch between debugging debugging_tools using projectconf_debug_tool option in projectconf.

WIZwiki-W7500P has on-board debug probe and IS READY for debugging. You don't need to use/buy external debug probe.
Compatible Tools | On-board | Default
debugging_tool_cmsis-dap | Yes | Yes
debugging_tool_jlink |  |

  Frameworks
Name | Description
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

  Custom Platform & Board

  Custom Development Platforms

PlatformIO can build the same binary code under different host systems via the single command cmd_run without any dependent software or requirements.

A manifest describes how to produce binaries for a particular platform under one or multiple host systems by a set of build scripts, toolchains, the settings for the most popular embedded boards, etc.

This guide explains how to write manifests, to support building for new development platforms.

Step-by-Step Manual

    1.  Choose Packages for platform

    2.  Create Manifest File platform.json

    3.  Create Build Script main.py

    4.  Finish with the Installation.

  Contents

    •   Custom Development Platforms

        •   Packages

        •   Manifest File platform.json

        •   Build Script main.py

        •   Installation

        •   Examples

  Packages

Some tools are the same when compiling for several platforms, for example a common compiler. A package is some tool or framework that can be used when compiling for one or multiple platforms. Even if multiple platforms use the same package, the package only needs to be downloaded once. Since each package is pre-built for the different host systems (Windows, Mac, Linux), developers can get started without first compiling the tools.

PlatformIO has a registry with pre-built packages for the most popular operating systems and you can use them in your platform manifest. These packages are stored in the super-fast and reliably CDN storage provided by JFrog Bintray.

Each platform definition must define packageRepositories to link to package manifest files that lists how PlatformIO can download the used packages. To use the pre-built packages, include http://dl.platformio.org/packages/manifest.json in the packageRepositories list. Platform definitions can also use custom packages.

  Manifest File platform.json

Each platform definition includes a manifest file with a particular format that is parsed by PlatformIO when handling projects using that platform.

Here is an example platform.json for the fictitious platform "myplatform":

        {
          "name": "myplatform",
          "title": "My Platform",
          "description": "My custom development platform",
          "url": "http://example.com",
          "homepage": "https://platformio.org/platforms/myplatform",
          "license": "Apache-2.0",
          "engines": {
            "platformio": "~3.0.0"
          },
          "repository": {
            "type": "git",
            "url": "https://github.com/platformio/platform-myplatform.git"
          },
          "version": "0.0.0",
          "packageRepositories": [
            "https://dl.bintray.com/platformio/dl-packages/manifest.json",
            "http://dl.platformio.org/packages/manifest.json",
            {
              "my_custom_package": [
                {
                  "url": "http://dl.example.com/my_custom_package-darwin_x86_64-1.2.3.tar.gz",
                  "sha1": "bb7ddac56a314b5cb1926cc1790ae4de3a03e65c",
                  "version": "1.2.3",
                  "system": [
                      "darwin_x86_64",
                      "darwin_i386"
                  ]
                },
                {
                  "url": "http://dl.example.com/my_custom_package-linux_aarch64-1.2.3.tar.gz",
                  "sha1": "127ddac56a314b5cb1926cc1790ae4de3a03e65c",
                  "version": "1.2.3",
                  "system": "linux_aarch64"
                }
              ],
              "framework-%FRAMEWORK_NAME_1%": [
                {
                  "url": "http://dl.example.com/packages/framework-%FRAMEWORK_NAME_1%-1.10607.0.tar.gz",
                  "sha1": "adce2cd30a830d71cb6572575bf08461b7b73c07",
                  "version": "1.10607.0",
                  "system": "*"
                }
              ]
            }
          ],
          "frameworks": {
            "%FRAMEWORK_NAME_1%": {
              "package": "framework-%FRAMEWORK_NAME_1%",
              "script": "builder/frameworks/%FRAMEWORK_NAME_1%.py"
            },
            "%FRAMEWORK_NAME_N%": {
              "package": "framework-%FRAMEWORK_NAME_N%",
              "script": "builder/frameworks/%FRAMEWORK_NAME_N%.py"
            }
          },
          "packages": {
            "toolchain-gccarmnoneeabi": {
              "type": "toolchain",
              "version": ">=1.40803.0,<1.40805.0"
            },
            "framework-%FRAMEWORK_NAME_1%": {
              "type": "framework",
              "optional": true,
              "version": "~1.10607.0"
            },
            "framework-%FRAMEWORK_NAME_N%": {
              "type": "framework",
              "optional": true,
              "version": "~1.117.0"
            },
            "tool-direct-vcs-url": {
              "type": "uploader",
              "optional": true,
              "version": "https://github.com/user/repo.git"
            }
          },
          "pythonPackages": {
            "pypi-pkg-1": "1.2.3",
            "pypi-pkg-2": ">=2.3, <3"
          }
        }

  Build Script main.py

Each platform definition must include a main.py.

PlatformIO's build script is based on a next-generation build tool named SCons. PlatformIO has its own built-in firmware builder env.BuildProgram with deep library search. Please see the following template as start for developing your own main.py.

        """
            Build script for test.py
            test-builder.py
        """

        from os.path import join
        from SCons.Script import AlwaysBuild, Builder, Default, DefaultEnvironment

        env = DefaultEnvironment()

        # A full list with the available variables
        # http://www.scons.org/doc/production/HTML/scons-user.html#app-variables
        env.Replace(
            AR="ar",
            AS="gcc",
            CC="gcc",
            CXX="g++",
            OBJCOPY="objcopy",
            RANLIB="ranlib",

            UPLOADER=join("$PIOPACKAGES_DIR", "tool-bar", "uploader"),
            UPLOADCMD="$UPLOADER $SOURCES"
        )

        env.Append(
            ARFLAGS=["..."],

            ASFLAGS=["flag1", "flag2", "flagN"],
            CCFLAGS=["flag1", "flag2", "flagN"],
            CXXFLAGS=["flag1", "flag2", "flagN"],
            LINKFLAGS=["flag1", "flag2", "flagN"],

            CPPDEFINES=["DEFINE_1", "DEFINE=2", "DEFINE_N"],

            LIBS=["additional", "libs", "here"],

            BUILDERS=dict(
                ElfToBin=Builder(
                    action=" ".join([
                        "$OBJCOPY",
                        "-O",
                        "binary",
                        "$SOURCES",
                        "$TARGET"]),
                    suffix=".bin"
                )
            )
        )

        # The source code of "platformio-build-tool" is here
        # https://github.com/platformio/platformio-core/blob/develop/platformio/builder/tools/platformio.py

        #
        # Target: Build executable and linkable firmware
        #
        target_elf = env.BuildProgram()

        #
        # Target: Build the .bin file
        #
        target_bin = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf)

        #
        # Target: Upload firmware
        #
        upload = env.Alias(["upload"], target_bin, "$UPLOADCMD")
        AlwaysBuild(upload)

        #
        # Target: Define targets
        #
        Default(target_bin)

  Installation

Using the "myplatform" platform example above:

    1.  Create a platforms directory in projectconf_pio_core_dir if it doesn't exist.

    2.  Create a myplatform directory in platforms

    3.  Copy the platform.json and builder/main.py files to the myplatform directory.

    4.  Search the available platforms via the cmd_platform_search command. You should see the new myplatform platform.

    5.  Install the myplatform platform via the cmd_platform_install command.

Now, you can use myplatform as value for the projectconf_env_platform option in projectconf.

  Examples

Please take a look at the source code of existing PlatformIO Development Platforms.

  Custom Embedded Boards

PlatformIO has pre-built settings for many popular embedded boards. The list of these boards is available as a web page at PlatformIO Boards Explorer or through the CLI command cmd_boards.

Custom boards can also be defined from scratch or by overriding settings of existing boards. All data is declared using the JSON syntax via associative array name/value pairs.

  Contents

    •   Custom Embedded Boards

        •   JSON Structure

        •   Installation

        •   Examples

  JSON Structure

The key fields are:

    •   build data is handed over to the platforms and frameworks builders

    •   frameworks is the list with supported frameworks. Each working environment for each project that uses the board will choose one of the frameworks declared here.

    •   platform name of platforms

    •   upload upload settings which depend on the platform

For details, see existing boards as examples, available under .platformio/platforms/*/boards/.

        {
          "build": {
            "extra_flags": "-DHELLO_PLATFORMIO",
            "f_cpu": "16000000L",
            "hwids": [
              [
                "0x1234",
                "0x0013"
              ],
              [
                "0x4567",
                "0x0013"
              ]
            ],
            "mcu": "%MCU_TYPE_HERE%"
          },
          "frameworks": ["%LIST_WITH_SUPPORTED_FRAMEWORKS%"],
          "platforms": ["%LIST_WITH_COMPATIBLE_PLATFORMS%"]
          "name": "My Test Board",
          "upload": {
            "maximum_ram_size": 2048,
            "maximum_size": 32256
          },
          "url": "http://example.com",
          "vendor": "MyCompany"
        }

  Installation

    1.  Create boards directory in projectconf_pio_core_dir if it doesn't exist.

    2.  Create myboard.json file in this boards directory.

    3.  Search available boards via cmd_boards command. You should see myboard board.

Now, you can use myboard for the projectconf_env_board option in projectconf.

NOTE:
        You can have custom boards per project. In this case, please put your board's JSON files to projectconf_pio_boards_dir.

  Examples

Please take a look at the source code of PlatformIO Development Platforms and navigate to boards folder of the repository.

  PIO Account

PIO Account is required for using:

    •   Community Forum

    •   pioremote

  PlatformIO IDE

pioide has built-in UI in PIO Home to manage PIO Account. You can create a new account, reset your password, update profile, or fetch an authentication token.

  CLI Guide

  PIO Check

New in version 4.1.

Automated code analysis without hassle!

Static analysis became an important part of software development cycle. It can identify potential bugs, vulnerabilities and security threats by doing an analysis on the source code level without having to test it on hardware or execute any code.

PIO Check helps reduce development cost by enabling engineers to detect the precise location of defects and eliminate issues more efficiently and earlier in the development cycle. It can also ensure compliance with internal or industry coding standards such as MISRA, CERT, etc.

  Key features

            •   Fully integrated within the PlatformIO ecosystem and easy to execute on the entire project.

            •   Straightforward integration with ci services.

            •   Possibility to reuse the same setup on other projects.

            •   Easy and flexible rule configuration.

            •   Comprehensive and detailed error information

            •   Multiple architectures and development platforms.

            •   Cross-platform: Windows, MacOS, Linux.

    PIO Check can detect a wide range of known defects in C/C++ code, including:

        •   Potential NULL pointer dereferences

        •   Possible indexing beyond array bounds

        •   Suspicious assignments

        •   Reads of potentially uninitialized objects

        •   Unused variables or functions

        •   Out of scope memory usage

WARNING:
        Before performimg a static analysis check, make sure your project builds without errors. For information about how to build a project, see the cmd_run command or ide_vscode guide.

  User Interface

There is the rich and friendly interface for PIO Check in piohome. It allows you to filter messages or directly jump to an issue in a source code. [image] [image]

  Configuration

PIO Check allows selecting what tool is used for finding defects in the project, what source files are checked. PIO Check can be configured from projectconf using the next options:

  Check tools

You can switch between or specify multiple tools used for finding defects using projectconf_check_tool option:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = cppcheck, clangtidy

Detailed information about supported check tools and their configuration process can be found on these pages:

  Cppcheck

Cppcheck is a static analysis tool for C/C++ code. It provides a unique code analysis to detect bugs and focuses on detecting undefined behavior and dangerous coding constructs. The goal is to detect only real errors in the code (i.e. have very few false positives). More information about this tool on the official webpage.

HINT:
        Cppcheck is rarely wrong about reported errors. But there are many bugs that it doesn't detect. You will find more bugs in your software by testing your software carefully than by using Cppcheck.

  Contents

    •   Features

    •   Additional checks

    •   Configuration

    •   Extra flags

    •   Suppressing warnings

    •   Addons (MISRA, CERT)

        •   MISRA

        •   CERT

  Features

Cppcheck supports a wide variety of static checks that may not be covered by the compiler itself. These checks are static analysis checks that can be performed at a source code level. The program is directed towards static analysis checks that are rigorous, rather than heuristic in nature.

    Some of the defects that might be detected include:

        •   Automatic variable checking

        •   Bounds checking for array overruns

        •   Classes checking (e.g. unused functions, variable initialization, and memory duplication)

        •   Usage of deprecated or superseded functions

        •   Exception safety checking, for example, usage of memory allocation and destructor checks

        •   Memory leaks, e.g. due to lost scope without deallocation

        •   Resource leaks, e.g. due to forgetting to close a file handle

        •   Invalid usage of Standard Template Library functions and idioms

        •   Miscellaneous stylistic and performance errors

  Additional checks

Be default Cppcheck is configured to check the next additional defects:

    •   warning

    •   style

    •   performance

    •   portability

    •   unusedFunction

The full list of supported check with detailed description is located on the official webpage.

  Configuration

Cppcheck is implicitly used as the default check tool when projectconf_check_tool option in projectconf is not set. To be explicit, you can specify it in the configuration directly:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = cppcheck
        check_flags = --enable=all

Useful options that can be used used for adjusting check process:

  Extra flags

Useful flags that can help more precisely configure Cppcheck to satisfy your project requirements:
        Flag | Meaning
        --enable=<id> | Enable additional checks. The available ids are: all, warning, style, performance, portability, information, unusedFunction, missingInclude
        --std=<id> | Set standard. The available options are: c89, c99, c11, c++03, c++11, c++14, c++17, c++20 (default)
        --language=<language> | Forces Cppcheck to check all files as the given language. Valid values are: c, c++
        --inline-suppr | Enable inline suppressions. Use them by placing one or more comments, like: // cppcheck-suppress warningId on the lines before the warning to suppress (enabled by default if no extra flags specified).
        --suppress=<spec> | Suppress warnings that match <spec>. The format of <spec> is: [error id]:[filename]:[line]
        --platform=<type> | Specifies platform-specific types and sizes. The available built-in platforms are: unix32, unix64, win32A, win32W, win64, avr8, native, unspecified (default)
        --inconclusive | Allow reporting defects even though the analysis is inconclusive.
        -D<ID> | Define a preprocessor symbol. Example: -DDEBUG=1
        -U<ID> | Undefine preprocessor symbol. Use -U to explicitly hide certain #ifdef <ID> code paths from checking. Example: -UDEBUG
        -I <dir> | Give a path to search for include files. Give several -I parameters to give several paths.
        -j <jobs> | Start <jobs> threads to do the checking simultaneously.

  Suppressing warnings

It might be useful to explicitly instruct Cppcheck to ignore some of the known defects in project codebase. Since --inline-suppr is enabled by default, it's possible to directly mark pieces of code that will be excluded from Cppcheck report using // cppcheck-suppress warningId syntax.

NOTE:
        Warning ID can be found in square brackets at the end of defect description, for example: src\Blink.cpp:17: [low:style] The function 'loop' is never used. [unusedFunction]

By default, piocheck command doesn't scan framework sources and that's why some functions from in your project might be reported as unused. For example, you can ignore warnings about setup and loop functions from Arduino-based projects:

        // cppcheck-suppress unusedFunction
        void setup()
        {
          ...
        }

        // cppcheck-suppress unusedFunction
        void loop()
        {
          ...
        }

  Addons (MISRA, CERT)

Cppcheck provides several addon scripts that analyze dump files to check compatibility with secure coding standards and to locate various issues. Most useful addons for verifying compliance with popular guidelines are MISRA and CERT.

  MISRA

MISRA is a proprietary set of software development guidelines for the C/C++ programming languages developed by MISRA (Motor Industry Software Reliability Association). It aims to facilitate code safety, security, portability, and reliability in the context of embedded systems, specifically those systems programmed in ISO C/C++.

NOTE:
        Since this standard is proprietary, Cppcheck does not display error text by specifying only the number of violated rules (for example, [c2012-21.3]). If you want to display full texts for violated rules, you will need to create a text file containing MISRA rules, which you will have to pass when calling the script with --rule-texts flag.

In order to use MISRA addon you will need to provide a special file with the description of MISRA rules. Usually, it has the next contents:

        Appendix A Summary of guidelines
        Rule 3.1 Required
        R3.1 Rule description
        Rule 4.1 Required
        ...
        Rule 21.3 Required
        R21.3 Rule description
        Rule 21.4
        R21.4 Rule description

Next, you need to instruct Cppcheck that you want to run an additional addon script. Since this script requires an additional file with rules, you can pass it via a special json file:

        {
          "script": "addons/misra.py",
          "args": ["--rule-texts=misra-rules.txt"]
        }

Finally, add new flag to projectconf_check_flags:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = cppcheck
        check_flags =
          cppcheck: --addon=misra.json

The full list of implemented MISRA checks can be found on the official webpage.

  CERT

SEI CERT coding standard provides rules for secure coding in the C programming language. The goal of these rules and recommendations is to develop safe, reliable, and secure systems, for example by eliminating undefined behaviors that can lead to undefined program behaviors and exploitable vulnerabilities.

In order to use the CERT addon, simply specify it as an additional flag in projectconf_check_flags section:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = cppcheck
        check_flags =
          cppcheck: --addon=cert.py

  Clang-Tidy

Clang-Tidy is a clang-based C++ "linter" tool. Its purpose is to provide an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis. Official page can be found here.

  Contents

    •   Features

    •   Configuration

    •   Supported checks

    •   Extra flags

  Features

Clang-Tidy supports a large variety of static checks that may not be covered by the compiler itself. These checks are static analysis checks that can be performed at a source code level.

Some of the defects that might be detected include:

    •   Buffer overflow

    •   Potential NULL pointer dereferences

    •   Use of memory that has already been deallocated

    •   Out of scope memory usage

    •   Failure to set a return value from a subroutine

  Configuration

To enable Clang-Tidy tool simply add it to the projectconf_check_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = clangtidy

Useful options that can be used used for adjusting check process:

  Supported checks

There are currently the following groups of most used checks (By default all checks are enabled):
        Check | Description
        abseil- | Checks related to Abseil library.
        boost- | Checks related to Boost library.
        bugprone- | Checks that target bugprone code constructs.
        cert- | Checks related to CERT Secure Coding Guidelines.
        cppcoreguidelines- | Checks related to C++ Core Guidelines.
        clang-analyzer- | Clang Static Analyzer checks.
        google- | Checks related to Google coding conventions.
        hicpp- | Checks related to High Integrity C++ Coding Standard.
        modernize- | Checks that advocate usage of modern (currently modern means C++11) language constructs.
        performance- | Checks that target performance-related issues.
        portability- | Checks that target portability-related issues that don’t relate to any particular coding style.
        readability- | Checks that target readability-related issues that don’t relate to any particular coding style.

The full list of supported checks can be found on the official webpage.

  Extra flags

Useful flags that can help more precisely configure Clang-Tidy to satisfy your project requirements:
        Flag | Meaning
        --checks=<string> | Comma-separated list of enabled checks (* default)
        --fix | Apply suggested fixes. Without -fix-errors clang-tidy will bail out if any compilation errors were found.
        --fix-errors | Apply suggested fixes even if compilation errors were found. If compiler errors have attached fix-its, clang-tidy will apply them as well.
        --format-style=<string> | Style for formatting code around applied fixes: llvm, google, webkit, mozilla, none (default)
        --system-headers | Display the errors from system headers.

An example with enabling specific checks and fixing code on the fly:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = clangtidy
        check_flags =
          clangtidy: --checks=-*,cert-*,clang-analyzer-* --fix

  PVS-Studio

PVS-Studio is a static code analysis tool for detecting bugs and security weaknesses in the source code of programs, written in C, C++, C# and Java. It analyze source code intended for 32-bit, 64-bit and embedded ARM platforms. Official page can be found here.

  Contents

    •   Features

    •   Configuration

    •   Extra flags

    •   Obtaining license

  Features

PVS-Studio performs a wide range of code checks, and it is also useful in finding misprints and Copy-Paste errors. These checks are static analysis checks that can be performed at a source code level. Some of the defects that might be detected include:

    •   Arithmetic over/underflow

    •   Array index out of bounds

    •   Undefined/unspecified behavior

    •   Incorrect usage of exceptions

    •   Buffer overrun

    •   Null pointer/null reference dereference

    •   Improper understanding of function/class operation logic

    •   Illegal bitwise/shift operations

The full list of supported checks can be found on the official webpage.

  Configuration

To enable PVS-Studio tool simply add it to the projectconf_check_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = pvs-studio

Useful options that can be used used for adjusting check process:

  Extra flags

Useful flags that can help more precisely configure PVS-Studio to satisfy your project requirements:
        Flag | Meaning
        --analysis-mode <arg> | Analysis mode (0 - full analysis (default), 1 - 64-bit. analysis, 2 - reserved, 4 - general analysis, 8 - optimization, 16 - customer's specific requests, 32 - MISRA)
        --analyzer-errors <arg> | Errors activation (Default: all errors is on)
        --errors-off <arg> | Errors OFF (Default: all errors is on)
        --exclude-path <arg> | All code that is located under the path will be excluded from analysis
        --lic-file <arg> | Path to custom license file. Default locations ~/.config/PVS-Studio/PVS-Studio.lic on Unix and %APPDATA%\PVS-Studio\PVS-Studio.lic on Windows
        --rules-config <arg> | Specifies the path to rules configuration file.
        --platform <arg> | Platform name (Win32, x64, etc) (Default: ARM)

An example with a special analysis mode, disabled errors and license file:

        [env:myenv]
        platform = ...
        board = ...
        check_tool = pvs-studio
        check_flags =
          pvs-studio: --analysis-mode=4 --errors-off=V532,V586 --lic-file=/path/to/file.lic

  Obtaining license

Since PVS-Studio is a paid B2B solution, a license should be purchased. But PVS-Studio can be used for free of charge, for example for checking open source projects. More information about the cases when you can get a free PVS-Studio license can be found on the official webpage.

TIP:
        If you're experiencing problems with the license file or see the following error message: License information is incorrect. Please check your registration data or contact Customer Support, try saving the license file in UTF-8 + BOM format with the following contents:

                name@domain.com
                AAAA-BBBB-CCCC-DDDD

  Defect severity

Defect severity is a classification of software defect (bug, vulnerability, etc) that indicates the degree of negative impact on the quality of software. PIO Check uses the next classification of possible defects:
Severity | Meaning
high | Issues that are possibly bugs
medium | Suggestions about defensive programming in order to prevent potential bugs
low | Issues related to code cleanup and performance (unused functions, redundant code, const-ness, etc)

  CLI Guide

PIO Check can be configured using command line commands. Detailed description of these commands can be found here:

  PIO Remote

Your devices are always with you!

PIO Remote allows you to work remotely with devices from Anywhere In The World. No matter where are you now! Run a small and cross-platform cmd_remote_agent on a remote machine and you are able to list active devices (wireless + wired), to upload firmware (program), to process remote unit tests, or to start remote debugging session via Remote Serial Port Monitor.

Using PIO Remote you can share your devices with colleagues across your organization or friends. In combination with ide_cloud, you can create awesome things at any time when inspiration comes to you.

You should have pioaccount to work with PIO Remote. A registration is FREE.

  Contents

    •   PIO Remote

        •   Features

        •   Use Cases

        •   Technology

        •   Installation

        •   Quick Start

        •   CLI Guide

  Features

    •   Remote Device Manager

    •   Remote Serial Port Monitor

    •   Remote Firmware Updates

    •   PIO Remote Share

    •   Continuous Deployment

    •   Continuous Delivery

    •   Remote Unit Testing

  Use Cases

    Cloud IDE
        Program your devices from anywhere in the world using the most popular ide_cloud. You do not need to install any extra software, no need to have static IP or open network ports. Everything works out of the box.

    Devices behind card sized PC
        Work with your favorite development environment and program devices connected to card-sized PC (Raspberry Pi, Cubie Board, etc.). You do not need to open SSH ports, install any extra Linux packages, toolchains.

    Remote Unit Testing
        Instruct any of ci services to run remote tests on a physical device. See the documentation for Remote Test Runner.

        How does it work?

        •   You commit new changes to your source code repository

        •   ci service deploys unit tests to a remote agent

        •   unit_testing engine runs tests on a physical device, process them, and send results

        •   ci service prints results in human readable format

        •   If one test fails, current CI build will fail too.

    Board Farm
        A similar concept as described in "Remote Unit Testing" above. Let's imagine that you need to test some logic on the unlimited number of target devices. Very often it can be the same hardware prototype but with different factory revisions.

        You connect these devices via USB hub to PC and instruct PIO Remote to process your test on ALL targets connected to a specific agent. See documentation below.

    Remote Serial Monitor
        Sometimes you don't have physical access to a target device but you need to read data from some serial port. PIO Remote allows you to connect to a remote agent and list connected devices with their serial ports. See cmd_remote_device_monitor command for details.

  Technology
[image]

PIO Remote is an own PlatformIO technology for remote solutions without external dependencies to operating system or its software based on client-server architecture. The Server component (PlatformIO Cloud) plays a role of coupling link between cmd_remote_agent and Client (cmd_remote, ide_cloud, ci, SDKs, etc.). When you start cmd_remote_agent, it connects over the Internet with PlatformIO Cloud and listen for the actions/commands which you can send in Client role from anywhere in the world.

PIO Remote is multi-agents and multi-clients system. A single agent can be shared with multiple clients, where different clients can use the same agent. This approach allows one to work with distributed hardware located in the different places, networks, etc.

This technology allows one to work with remote devices in generic form as you do that with local devices using PlatformIO ecosystem. The only one difference is a prefix "remote" before each generic PlatformIO command. For example, listing of local and remote devices will look like cmd_device_list and cmd_remote_device_list.

  Installation

PIO Remote is built into pioide. Please open PlatformIO IDE Terminal and run pio remote --help command for usage (see cmd_remote).

If you do not have pioide, or use ide_cloud or a card-sized PC (Raspberry Pi, BeagleBoard, etc.), please install piocore.

  Quick Start

    1.  Start PIO Remote Agent using cmd_remote_agent_start command on a remote machine where devices are connected physically or are accessible via network. PIO Remote Agent works on Windows, macOS, Linux and Linux ARMv6+. It means that you can use desktop machine, laptop or credit card sized PC (Raspberry Pi, BeagleBoard, etc).

        You can share own devices/hardware with friends, team or other developers using platformio remote agent start --share option.

    2.  Using host machine (cmd_remote, ide_cloud Terminal in a browser, SDKs, etc.), please authorize via cmd_account_login command with the same credentials that you used on the previous step. Now, you can use cmd_remote commands to work with remote machine and its devices.

        You don't need to have networking or other access to remote machine where PIO Remote Agent is started.

        If you use PIO Remote in pair with ci or want automatically authorize, please set PLATFORMIO_AUTH_TOKEN system environment variable instead of using cmd_account_login command.

NOTE:
        In case with ide_cloud, your browser with Cloud IDE's VM is a "host machine". The machine where devices are connected physically (your real PC) is called "remote machine" in this case. You should run PIO Remote Agent here (not in Cloud IDE's Terminal).

NOTE:
        Please use local IP as "upload port" when device is not connected directly to a remote machine where PIO Remote Agent is started but supports natively Over-the-Air (OTA) updates. For example, platform_espressif8266 and platform_espressif_ota. In this case, the final command for remote OTA update will look as platformio remote run -t upload --upload-port 192.168.0.255 or platformio remote run -t upload --upload-port myesp8266.local.

  CLI Guide

  PIO Unified Debugger

It Simply Works. Easier than ever before!

NOTE:
        Demo, discussions, request a support for new hardware.

PlatformIO offers a unique debugging experience for productive embedded development. Using our multi-board and multi-architecture programming experience, we simplified the debugging process in the same way. A zero debugging configuration with support for the most popular debugging probes and compatibility between IDEs and OS.

Developers can finally forget about complex UI windows which they need to pre-configure before a simple “Hello World!” debugging session. No need to know any aspects about the debugging server or how to configure it. PIO Unified Debugger does this complex work automatically having a rich configuration database per each board and debugging probe.

Just select a board, connect debugging probe (if a board does not have onboard debugging interface), specify it in PlatformIO project configuration file “platformio.ini”, and a project is ready for 1-Click debugging.

    •   "1-click" solution, zero configuration

    •   Support over 300+ embedded boards (see below)

    •   Multiple architectures and development platforms

    •   Windows, MacOS, Linux

    •   Built-in into ide_atom and ide_vscode

    •   Integration with ide_eclipse and ide_sublimetext

You should have pioaccount to work with PIO Unified Debugger. A registration is FREE.

HINT:
        In our experience, ide_vscode has the best system performance, modern interface for PIO Unified Debugger, and users have found it easier to get started. Key debugging features of ide_vscode:

            •   Local, Global, and Static Variable Explorer

            •   Conditional Breakpoints

            •   Expressions and Watchpoints

            •   Generic Registers

            •   Peripheral Registers

            •   Memory Viewer

            •   Disassembly

            •   Multi-thread support

            •   A hot restart of an active debugging session
.SS Contents

    •   Tutorials

    •   Configuration

    •   Tools & Debug Probes

    •   CLI Guide

    •   Platforms

    •   Frameworks

    •   Boards

  Tutorials

    •   Arduino In-circuit Debugging with PlatformIO

    •   Use the PlatformIO Debugger on the ESP32 Using an ESP-prog

    •   ThingForward: First steps with PlatformIO’s Unified Debugger

    •   [VIDEO] ThingForward - Intro to PIO Unified Debugger using ARM mbed OS and PlatformIO IDE for VSCode

    •   tutorial_espressif32_arduino_debugging_unit_testing

    •   tutorial_espressif32_espidf_debugging_unit_testing_analysis

    •   tutorial_nordicnrf52_arduino_debugging_unit_testing

    •   tutorial_nordicnrf52_zephyr_debugging_unit_testing_analysis

    •   tutorial_stm32cube_debugging_unit_testing

  Configuration

PIO Unified Debugger can be configured from projectconf:

  Tools & Debug Probes

You can switch between debugging tools using projectconf_debug_tool option.

WARNING:
        You will need to install debug tool drivers depending on your operating system. Please check "Drivers" section for debugging tool below.

  Altera / Intel USB-Blaster Download Cable

USB Blaster Download Cable is designed for ALTERA FPGA, CPLD, Active Serial Configuration Devices and Enhanced Configuration Devices, USB 2.0 connection to the PC and JTAG, AS, PS to the target device. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

        •   JTAG Interface

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = altera-usb-blaster

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = altera-usb-blaster
        upload_protocol = altera-usb-blaster

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

Please install official drivers.

  Wiring Connections
[image]

  JTAG Interface
USB-Blaster JTAG 10-Pin Connector | Board JTAG Pin | Description
1 | TCK | JTAG Return Test Clock
2 | GND | Digital ground
3 | TDO | Test Data Out pin
4 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
5 | TMS | Test Mode State pin
9 | TDI | Test Data In pin

  Platforms
Name | Description
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_nuclei | Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | platform_nuclei | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_gd32vf103v_rvstar | platform_nuclei | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Atmel-ICE

Atmel-ICE is a powerful development tool for debugging and programming ARM® Cortex®-M based SAM and AVR microcontrollers with on-chip debug capability. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = atmel-ice

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = atmel-ice
        upload_protocol = atmel-ice

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows
        When installing the Atmel-ICE on a computer running Microsoft Windows, the USB driver is loaded when the Atmel-ICE is first plugged in.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Platforms
Name | Description
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_adafruit_circuitplayground_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_gemma_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | platform_atmelsam | External | SAMD51P20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_hallowing | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_itsybitsy_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | platform_atmelsam | External | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | platform_atmelsam | External | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_metro_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pygamer_advance_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mzeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeropro | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_tian | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | platform_atmelsam | On-board | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | On-board | SAML21J18B | 48MHz | 256KB | 32KB
board_atmelsam_briki_abc_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_briki_mbcwb_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_digix | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mkrvidor4000 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_minitronics20 | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_moteino_zero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_autonomo | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_one | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sainSmartDue | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_seeeduino_lorawan | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_9dof | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_redboard_turbo | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_tuinozero96 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  Black Magic Probe

The Black Magic Probe is a modern, in-application debugging tool for embedded microprocessors. It is able to control and examine the state of the target microprocessor using a JTAG or Serial Wire Debugging (SWD) port and on-chip debug logic provided by the microprocessor. The probe connects to a host computer using a standard USB interface. Official reference can be found here.

Also, see debugging_tool_custom debugging configuration with Black Magic Probe.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

        •   JTAG Interface

        •   Serial Wire Mode Interface (SWD)

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = blackmagic
        debug_port = <CONFIGURE GDB PORT>

        ;
        ; Debug Port Examples
        ;

        ; Linux
        debug_port = /dev/ttyACM0

        ; Windows for COM1-COM9
        debug_port = COM3
        ; Windows for COM10-XXX
        debug_port = \\.\COM13

        ; macOS
        debug_port = /dev/cu.usbmodemE2C0C4C6

Black Magic Probe has 2 serial ports: UART and GDB. We will need "GDB" port. Please use piohome > Devices or piocore and cmd_device_list command to list available ports. If you do not see "Black Magic Probe GDB" port, please try both. More details.

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = blackmagic
        debug_port = <CONFIGURE GDB PORT>

        upload_port = <THE SAME AS DEBUG PORT>

        ; SWD interface
        upload_protocol = blackmagic

        ; JTAG interface
        upload_protocol = blackmagic-jtag

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

Not required.

  Wiring Connections

  JTAG Interface
[image]
Black Magic Probe 10-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
3 | GND | Digital ground
2 | TMS | Test Mode State
4 | TCLK | JTAG Return Test Clock
6 | TDO | Test Data Out
8 | TDI | Test Data In
10 | RESET | Connect this pin to the (active low) reset input of the target CPU

  Serial Wire Mode Interface (SWD)
[image]
Black Magic Probe 10-Pin Connector | Board SWD Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
3 | GND | Digital ground
2 | SWDIO | Data I/O
4 | SWCLK | Clock
10 | RESET | Connect this pin to the (active low) reset input of the target CPU

  Platforms
Name | Description
platform_aceinna_imu | Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_freescalekinetis | Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_nxpimxrt | The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
platform_nxplpc | The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
platform_siliconlabsefm32 | Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rumba32_f446ve | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_remram_v1 | platform_ststm32 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB
board_ststm32_st3dp001_eval | platform_ststm32 | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_b96b_argonkey | platform_ststm32 | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | platform_ststm32 | External | STM32F411CE | 100MHz | 512KB | 128KB
board_nordicnrf52_96b_nitrogen | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nxplpc_lpc11u24_301 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_aceinna_imu_LowCostRTK | platform_aceinna_imu | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenIMU300 | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU300ZA | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU330 | platform_aceinna_imu | External | STM32L431CB | 80MHz | 128KB | 64KB
board_aceinna_imu_OpenRTK | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenRTK330L | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_atmelsam_adafruit_circuitplayground_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_atmelsam_adafruit_gemma_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mzeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeropro | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_tian | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | platform_atmelsam | On-board | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | On-board | SAML21J18B | 48MHz | 256KB | 32KB
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nxplpc_lpc4330_m4 | platform_nxplpc | On-board | LPC4330 | 204MHz | 8MB | 264KB
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_nordicnrf52_bluey | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_bluz_dk | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_atmelsam_briki_abc_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_briki_mbcwb_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_nxplpc_lpc11u35_501 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_elektor_cocorico | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_demo_f030f4 | platform_ststm32 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_atmelsam_digix | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_nxplpc_lpc11u35 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_siliconlabsefm32_efm32gg_stk3700 | platform_siliconlabsefm32 | On-board | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | platform_siliconlabsefm32 | On-board | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | platform_siliconlabsefm32 | On-board | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_elmo_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | platform_freescalekinetis | On-board | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_nxplpc_lpc11u68 | platform_nxplpc | On-board | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_mkr_sharky | platform_ststm32 | External | STM32WB55CG | 64MHz | 512KB | 192.00KB
board_atmelsam_mkrvidor4000 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_microduino32_flash | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_ststm32_mxchip_az3166 | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_atmelsam_minitronics20 | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_moteino_zero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | External | STM32L151CCU6 | 32MHz | 256KB | 32KB
board_ststm32_mote_l152rc | platform_ststm32 | External | STM32L152RC | 32MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_nxplpc_blueboard_lpc11u24 | platform_nxplpc | External | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | platform_nxplpc | External | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | platform_nxplpc | External | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | platform_nxplpc | External | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc812 | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc1549 | platform_nxplpc | External | LPC1549 | 72MHz | 256KB | 36KB
board_nxpimxrt_mimxrt1010_evk | platform_nxpimxrt | On-board | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | platform_nxpimxrt | On-board | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | platform_nxpimxrt | On-board | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | On-board | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | platform_nxpimxrt | On-board | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | platform_nxpimxrt | On-board | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB
board_nxplpc_lpc11u24 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_nucleo_g071rb | platform_ststm32 | External | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | platform_ststm32 | External | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | platform_ststm32 | External | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | External | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_nordicnrf51_oshchip | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_ststm32_olimex_p405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_nucleo_wb55rg_p | platform_ststm32 | On-board | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB
board_ststm32_rak811_tracker | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | platform_siliconlabsefm32 | On-board | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_atmelsam_sodaq_autonomo | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_one | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_disco_f334c8 | platform_ststm32 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | platform_ststm32 | On-board | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | platform_ststm32 | On-board | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | platform_ststm32 | On-board | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | platform_ststm32 | On-board | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_silica_sensor_node | platform_ststm32 | On-board | STM32L476JG | 80MHz | 1MB | 128KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_disco_f750n8 | platform_ststm32 | On-board | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | platform_ststm32 | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_atmelsam_sainSmartDue | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_seeedArchMax | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_wio_3g | platform_ststm32 | On-board | STM32F439VI | 180MHz | 2MB | 256KB
board_atmelsam_seeeduino_lorawan | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB
board_nordicnrf51_Sinobit | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_nxplpc_dipcortexm0 | platform_nxplpc | External | LPC11U24 | 50MHz | 32KB | 8KB
board_atmelsam_sparkfun_samd21_9dof | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_redboard_turbo | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_sparky_v1 | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_nxplpc_lpc1114fn28 | platform_nxplpc | On-board | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nordicnrf52_stct_nrf52_minidev | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB
board_siliconlabsefm32_tb_sense_12 | platform_siliconlabsefm32 | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB
board_ststm32_hy_tinystm103tb | platform_ststm32 | External | STM32F103TBU6 | 72MHz | 128KB | 20KB
board_atmelsam_tuinozero96 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_vake_v1 | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB
board_nordicnrf52_hackaBLE | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_ng_beacon | platform_nordicnrf51 | External | NRF51822 | 16MHz | 256KB | 32KB
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB
board_nxplpc_ubloxc027 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nxplpc_lpc11u35_y5_mbug | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  CMSIS-DAP

CMSIS-DAP is generally implemented as an on-board interface chip, providing direct USB connection from a development board to a debugger running on a host computer on one side, and over JTAG (Joint Test Action Group) or SWD (Serial Wire Debug) to the target device to access the Coresight DAP on the other. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = cmsis-dap

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = cmsis-dap
        upload_protocol = cmsis-dap

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows
        Please install Windows serial driver and check "USB Driver Installation" guide for your board.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Platforms
Name | Description
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_freescalekinetis | Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
platform_maxim32 | Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_nxplpc | The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_wiznet7500 | The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u24_301 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_atmelsam_mzeropro | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_nordicnrf52_nano33ble | platform_nordicnrf52 | External | NRF52840 | 64MHz | 960KB | 256KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | platform_atmelsam | On-board | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | On-board | SAML21J18B | 48MHz | 256KB | 32KB
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nxplpc_lpc4330_m4 | platform_nxplpc | On-board | LPC4330 | 204MHz | 8MB | 264KB
board_nordicnrf51_calliope_mini | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_elektor_cocorico | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_dfcm_nnn40 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_delta_dfcm_nnn50 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 16KB
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nxplpc_lpc4088_dm | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_freescalekinetis_IBMEthernetKit | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k20d50m | platform_freescalekinetis | On-board | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | On-board | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | platform_freescalekinetis | On-board | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | On-board | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | platform_freescalekinetis | On-board | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | platform_freescalekinetis | On-board | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | platform_freescalekinetis | On-board | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | platform_freescalekinetis | On-board | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | On-board | MKW41Z512VHT4 | 48MHz | 512KB | 128KB
board_freescalekinetis_hexiwear | platform_freescalekinetis | External | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_wallbot_ble | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_nxplpc_lpc11u68 | platform_nxplpc | On-board | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_maxim32_max32600mbed | platform_maxim32 | On-board | MAX32600 | 24MHz | 256KB | 32KB
board_maxim32_maxwsnenv | platform_maxim32 | External | MAX32610 | 24MHz | 256KB | 32KB
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_atmelsam_moteino_zero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_nxplpc_lpc812 | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc54114 | platform_nxplpc | On-board | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc11u24 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_mkit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_seeedArchPro | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf51_hrm1017 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_lpc1114fn28 | platform_nxplpc | On-board | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nordicnrf51_ty51822r3 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_vbluno51 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 32KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_wiznet7500_wizwiki_w7500 | platform_wiznet7500 | On-board | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | platform_wiznet7500 | On-board | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | platform_wiznet7500 | On-board | WIZNET7500P | 48MHz | 128KB | 48KB
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB
board_nxplpc_ubloxc027 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  ESP-Prog

ESP-Prog is one of Espressif’s development and debugging tools, with functions including automatic firmware downloading, serial communication, and JTAG online debugging. ESP-Prog's automatic firmware downloading and serial communication functions are supported on both the ESP8266 and ESP32 platforms, while the JTAG online debugging is supported only on the ESP32 platform. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Tutorials

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = esp-prog

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = esp-prog
        upload_protocol = esp-prog

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]
ESP-Prog JTAG 10-Pin Connector | Board JTAG Pin | Description
1 | VDD | Positive Supply Voltage — Power supply for JTAG interface drivers
3 | GND | Digital ground
2 | ESP_TMS | Test Mode State
4 | ESP_TCK | JTAG Return Test Clock
6 | ESP_TDO | Test Data Out
8 | ESP_TDI | Test Data In

  Tutorials

    •   Use the PlatformIO Debugger on the ESP32 Using an ESP-prog

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  FTDI Chip

FTDI Chip develops innovative silicon solutions that enhance interaction with today’s technology. When a designer needs to add a USB port, rest assured that FTDI Chip has a full range of USB solutions to get the job done. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = ftdi

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = ftdi
        upload_protocol = ftdi

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_riscv_gap | GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.
platform_shakti | Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_pulp-os | PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory.
framework_shakti-sdk | A software development kit for developing applications on Shakti class of processors
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_shakti_artix7_35t | platform_shakti | On-board | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | platform_shakti | On-board | C-CLASS | 50MHz | 0B | 128MB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_riscv_gap_gapuino | platform_riscv_gap | On-board | GAP8 | 250MHz | 64MB | 8MB
board_sifive_hifive-unleashed | platform_sifive | On-board | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  GD-LINK

GD-Link adapter is a three-in-one multi-function development tool for GD32 series of MCUs. It provides CMSIS-DAP debugger port with JTAG/SWD interface. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

        •   JTAG Interface

        •   Serial Wire Mode Interface (SWD)

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = gd-link

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = gd-link
        upload_protocol = gd-link

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows
        Check vendor recommendations.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections

  JTAG Interface
GD-Link JTAG 20-Pin Connector | Board JTAG Pin | Description
+3V3 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
TMS/IO | TMS | Test Mode State pin
TCK/CLK | TCK | JTAG Return Test Clock
TDO/SWO | TDO | Test Data Out pin
TDI | TDI | Test Data In pin
GDN | GND | Digital ground
TReset | RESET | Connect this pin to the (active low) reset input of the target CPU

  Serial Wire Mode Interface (SWD)
GD-Link SWD 20-Pin Connector | Board SWD Pin | Description
+3V3 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
GND | GND | Digital ground
TMS/IO | SWDIO | Data I/O
TCK/CLK | SWCLK | Clock
TReset | RESET | Connect this pin to the (active low) reset input of the target CPU

  Platforms
Name | Description
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_nuclei | Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | platform_nuclei | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_gd32vf103v_rvstar | platform_nuclei | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  oddWires IOT-Bus JTAG

This IoT-Bus module provides JTAG debugging for the board_espressif32_iotbusio and board_espressif32_iotbusproteus boards (can be used with other boards too, see wiring connections below). The board uses the FT232H to provide a USB controller with JTAG support. Both debugging and flashing is possible using this port. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = iot-bus-jtag

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = iot-bus-jtag
        upload_protocol = iot-bus-jtag

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
IOT-Bus JTAG Pin | Board JTAG Pin | Description
3V3 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
GND | GND | Digital ground
12 | TDI | Test Data In pin
14 | TMS | Test Mode State pin
13 | TCK | JTAG Return Test Clock
15 | TDO | Test Data Out pin
EN | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  J-LINK

SEGGER J-Links are the most widely used line of debug probes available today. They've proven their value for more than 10 years with over 400,000 units sold, including OEM versions and on-board solutions. This popularity stems from the unparalleled performance, extensive feature set, large number of supported CPUs, and compatibility with all popular development environments. Official reference can be found here.

    •   J-Link Supported Devices

Also, see debugging_tool_custom debugging configuration with J-Link GDB Server.

  Contents

    •   Configuration

        •   Custom Server

    •   Drivers

    •   Wiring Connections

        •   JTAG Interface

        •   Serial Wire Mode Interface (SWD)

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = jlink

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = jlink

        ; SWD interface
        upload_protocol = jlink

        ; JTAG interface
        upload_protocol = jlink-jtag

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Custom Server

        [env:debug_jlink]
        platform = ststm32
        framework = mbed
        board = nucleo_f446re

        debug_tool = jlink
        debug_port = :2331

        debug_server =
          /full/path/to/JLinkGDBServerCL
          -singlerun
          -if
          SWD
          -select
          USB
          -port
          2331
          -device
          STM32F446RE

  Drivers

    Windows

        1.  Start debugging session using pioide. PlatformIO will install J-Link software dependencies

        2.  Navigate to projectconf_pio_core_dir/packages/tool-jlink/USBDriver

        3.  Run InstDrivers.exe.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]

  JTAG Interface
J-Link JTAG 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
15 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Serial Wire Mode Interface (SWD)
J-Link SWD 20-Pin Connector | Board SWD Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
7 | SWDIO | Data I/O
9 | SWCLK | Clock
15 | RESET | Connect this pin to the (active low) reset input of the target CPU

  Platforms
Name | Description
platform_aceinna_imu | Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_freescalekinetis | Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_infineonxmc | Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_maxim32 | Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_nuclei | Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.
platform_nxpimxrt | The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
platform_nxplpc | The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
platform_shakti | Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
platform_siliconlabsefm32 | Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_teensy | Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
platform_wiznet7500 | The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors
framework_shakti-sdk | A software development kit for developing applications on Shakti class of processors
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rumba32_f446ve | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_remram_v1 | platform_ststm32 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB
board_ststm32_st3dp001_eval | platform_ststm32 | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_b96b_argonkey | platform_ststm32 | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | platform_ststm32 | External | STM32F411CE | 100MHz | 512KB | 128KB
board_nordicnrf52_96b_nitrogen | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nxplpc_lpc11u24_301 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_aceinna_imu_LowCostRTK | platform_aceinna_imu | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenIMU300 | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU300ZA | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU330 | platform_aceinna_imu | External | STM32L431CB | 80MHz | 128KB | 64KB
board_aceinna_imu_OpenRTK | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenRTK330L | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_atmelsam_adafruit_circuitplayground_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_nordicnrf52_adafruit_feather_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_atmelsam_adafruit_gemma_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | platform_atmelsam | External | SAMD51P20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_hallowing | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_itsybitsy_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | platform_atmelsam | External | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | platform_atmelsam | External | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelsam_adafruit_metro_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pygamer_advance_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_mzeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeropro | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_nordicnrf52_nano33ble | platform_nordicnrf52 | External | NRF52840 | 64MHz | 960KB | 256KB
board_atmelsam_tian | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_shakti_artix7_35t | platform_shakti | On-board | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | platform_shakti | On-board | C-CLASS | 50MHz | 0B | 128MB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | platform_atmelsam | On-board | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | On-board | SAML21J18B | 48MHz | 256KB | 32KB
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nxplpc_lpc4330_m4 | platform_nxplpc | On-board | LPC4330 | 204MHz | 8MB | 264KB
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_nordicnrf52_bluey | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_bluz_dk | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_abc_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_mbcwb_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_nxplpc_lpc11u35_501 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nordicnrf51_calliope_mini | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nordicnrf52_adafruit_cplaynrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nxplpc_elektor_cocorico | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_demo_f030f4 | platform_ststm32 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_atmelsam_digix | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_nxplpc_lpc1347 | platform_nxplpc | External | LPC1347 | 72MHz | 64KB | 12KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nxplpc_lpc11u35 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_siliconlabsefm32_efm32gg_stk3700 | platform_siliconlabsefm32 | On-board | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | platform_siliconlabsefm32 | On-board | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | platform_siliconlabsefm32 | On-board | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nxplpc_lpc4088_dm | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_ststm32_elmo_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_freescalekinetis_IBMEthernetKit | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_freescalekinetis_frdm_k20d50m | platform_freescalekinetis | On-board | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | On-board | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | platform_freescalekinetis | On-board | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | On-board | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | platform_freescalekinetis | On-board | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | platform_freescalekinetis | On-board | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | platform_freescalekinetis | On-board | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | platform_freescalekinetis | On-board | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl82z | platform_freescalekinetis | External | MKL82Z128VLK7 | 96MHz | 128KB | 96KB
board_freescalekinetis_frdm_kw24d | platform_freescalekinetis | External | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | On-board | MKW41Z512VHT4 | 48MHz | 512KB | 128KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nuclei_gd32vf103v_eval | platform_nuclei | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_gd32vf103v_rvstar | platform_nuclei | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_freescalekinetis_hexiwear | platform_freescalekinetis | External | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB
board_sifive_hifive1-revb | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_nxplpc_lpc11u68 | platform_nxplpc | On-board | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_maxim32_max32620fthr | platform_maxim32 | External | MAX32620FTHR | 96MHz | 2MB | 256KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_mkr_sharky | platform_ststm32 | External | STM32WB55CG | 64MHz | 512KB | 192.00KB
board_atmelsam_mkrvidor4000 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_maxim32_max32620hsp | platform_maxim32 | External | MAX32620 | 96MHz | 2MB | 256KB
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nordicnrf52_adafruit_metro_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_microduino32_flash | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_ststm32_mxchip_az3166 | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_atmelsam_minitronics20 | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_moteino_zero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | External | STM32L151CCU6 | 32MHz | 256KB | 32KB
board_ststm32_netduino2plus | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_mote_l152rc | platform_ststm32 | External | STM32L152RC | 32MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_nxplpc_blueboard_lpc11u24 | platform_nxplpc | External | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | platform_nxplpc | External | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | platform_nxplpc | External | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | platform_nxplpc | External | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc812 | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc1549 | platform_nxplpc | External | LPC1549 | 72MHz | 256KB | 36KB
board_nxplpc_lpc54114 | platform_nxplpc | On-board | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc546xx | platform_nxplpc | On-board | LPC54608ET512 | 180MHz | 512KB | 200KB
board_nxpimxrt_mimxrt1010_evk | platform_nxpimxrt | On-board | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | platform_nxpimxrt | On-board | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | platform_nxpimxrt | On-board | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | On-board | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | platform_nxpimxrt | On-board | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | platform_nxpimxrt | On-board | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB
board_nxplpc_lpc11u24 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_nucleo_g071rb | platform_ststm32 | External | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | platform_ststm32 | External | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | platform_ststm32 | External | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | External | STM32G474RET6 | 170MHz | 512KB | 128KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_nordicnrf51_oshchip | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_ststm32_olimex_p405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_nucleo_wb55rg_p | platform_ststm32 | On-board | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_nordicnrf52_particle_argon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_boron | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_ststm32_rak811_tracker | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | platform_siliconlabsefm32 | On-board | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_atmelsam_sodaq_autonomo | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_one | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_disco_f334c8 | platform_ststm32 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | platform_ststm32 | On-board | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | platform_ststm32 | On-board | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | platform_ststm32 | On-board | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | platform_ststm32 | On-board | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm32_silica_sensor_node | platform_ststm32 | On-board | STM32L476JG | 80MHz | 1MB | 128KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_disco_f750n8 | platform_ststm32 | On-board | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | platform_ststm32 | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_atmelsam_sainSmartDue | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_seeedArchMax | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_wio_3g | platform_ststm32 | On-board | STM32F439VI | 180MHz | 2MB | 256KB
board_atmelsam_seeeduino_lorawan | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf51_Sinobit | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_nxplpc_dipcortexm0 | platform_nxplpc | External | LPC11U24 | 50MHz | 32KB | 8KB
board_atmelsam_sparkfun_samd21_9dof | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_sifive_sparkfun_redboard_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_atmelsam_sparkfun_redboard_turbo | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_sparky_v1 | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_nxplpc_lpc1114fn28 | platform_nxplpc | On-board | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_stct_nrf52_minidev | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_teensy_teensy31 | platform_teensy | External | MK20DX256 | 72MHz | 256KB | 64KB
board_teensy_teensy35 | platform_teensy | External | MK64FX512 | 120MHz | 512KB | 255.99KB
board_teensy_teensy36 | platform_teensy | External | MK66FX1M0 | 180MHz | 1MB | 256KB
board_teensy_teensy40 | platform_teensy | External | IMXRT1062 | 600MHz | 1.94MB | 512KB
board_teensy_teensy41 | platform_teensy | External | IMXRT1062 | 600MHz | 7.75MB | 512KB
board_teensy_teensylc | platform_teensy | External | MKL26Z64 | 48MHz | 62KB | 8KB
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB
board_siliconlabsefm32_tb_sense_12 | platform_siliconlabsefm32 | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB
board_ststm32_hy_tinystm103tb | platform_ststm32 | External | STM32F103TBU6 | 72MHz | 128KB | 20KB
board_atmelsam_tuinozero96 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_ststm32_vake_v1 | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_wiznet7500_wizwiki_w7500 | platform_wiznet7500 | On-board | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | platform_wiznet7500 | On-board | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | platform_wiznet7500 | On-board | WIZNET7500P | 48MHz | 128KB | 48KB
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB
board_infineonxmc_xmc1100_boot_kit | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_h_bridge2go | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_xmc2go | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_boot_kit | platform_infineonxmc | On-board | XMC1300 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_sense2gol | platform_infineonxmc | On-board | XMC1300 | 32MHz | 32KB | 16KB
board_infineonxmc_xmc1400_boot_kit | platform_infineonxmc | On-board | XMC1400 | 48MHz | 1.95MB | 16KB
board_infineonxmc_xmc4200_distance2go | platform_infineonxmc | On-board | XMC4200 | 80MHz | 256KB | 40KB
board_infineonxmc_xmc4700_relax_kit | platform_infineonxmc | On-board | XMC4700 | 144MHz | 2.00MB | 1.95MB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_nordicnrf52_hackaBLE | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_ng_beacon | platform_nordicnrf51 | External | NRF51822 | 16MHz | 256KB | 32KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB
board_nxplpc_ubloxc027 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nxplpc_lpc11u35_y5_mbug | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  Mini-Module FT2232H

The FT2232H Mini Module is a USB to dual channel serial/MPSSE/FIFO interface converter module based on the FT2232H USB Hi-Speed IC. The FT2232H handles all the USB signalling and protocol handling. The module provides access to device I/O interfaces via 2 double row 0.1" pitch male connectors. The module is ideal for development purposes to quickly prove functionality of adding USB to a target design. Official reference can be found here

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = minimodule

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = minimodule
        upload_protocol = minimodule

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
FT2232H Mini-Module Pin | Board JTAG Pin | Description
GND | GND | Digital ground
AD0 | TCK | JTAG Return Test Clock
AD1 | TDI | Test Data In
AD2 | TDO | Test Data Out
AD3 | TMS | Test Mode State
RESET# | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

You will also need to connect Vbus [CN3-1] to Vcc [CN3-3] of FT2232H Mini-Module to power the FTDI chip. See FT2232H Mini-Module Datasheet

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  MSP Debug

The MSP debug stack (MSPDS) for all MSP430™ microcontrollers (MCUs) and SimpleLink™ MSP432™ devices consists of a static library on the host system side as well as an embedded firmware that runs on debug tools including the MSP-FET, MSP-FET430UIF or on-board eZ debuggers. It is the bridging element between all PC software and all MSP430 and SimpleLink MSP432 microcontroller derivatives and handles tasks such as code download, stepping through code or break points. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = mspdebug

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = mspdebug
        upload_protocol = mspdebug

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows
        Please "USB Driver Installation" guide for your board.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Platforms
Name | Description
platform_timsp430 | MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_timsp430_lpmsp430fr5739 | platform_timsp430 | On-board | MSP430FR5739 | 16MHz | 15.37KB | 1KB
board_timsp430_lpmsp430f5529 | platform_timsp430 | On-board | MSP430F5529 | 25MHz | 47KB | 8KB
board_timsp430_lpmsp430fr2311 | platform_timsp430 | On-board | MSP430FR2311 | 16MHz | 3.75KB | 1KB
board_timsp430_lpmsp430fr2433 | platform_timsp430 | On-board | MSP430FR2433 | 8MHz | 15KB | 4KB
board_timsp430_lpmsp430fr4133 | platform_timsp430 | On-board | MSP430FR4133 | 8MHz | 15KB | 2KB
board_timsp430_lpmsp430fr5969 | platform_timsp430 | On-board | MSP430FR5969 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430fr5994 | platform_timsp430 | On-board | MSP430FR5994 | 16MHz | 256KB | 4KB
board_timsp430_lpmsp430fr6989 | platform_timsp430 | On-board | MSP430FR6989 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430g2231 | platform_timsp430 | On-board | MSP430G2231 | 1MHz | 2KB | 256B
board_timsp430_lpmsp430g2452 | platform_timsp430 | On-board | MSP430G2452 | 16MHz | 8KB | 256B
board_timsp430_lpmsp430g2553 | platform_timsp430 | On-board | MSP430G2553 | 16MHz | 16KB | 512B

  Olimex ARM-USB-OCD-H

High-speed 3-IN-1 fast USB ARM/ESP32 JTAG, USB-to-RS232 virtual port and power supply 5VDC device. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-arm-usb-ocd-h

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-arm-usb-ocd-h
        upload_protocol = olimex-arm-usb-ocd-h

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]
Olimex ARM-USB-OCD-H JTAG 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
3 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Olimex ARM-USB-OCD

3-IN-1 fast USB ARM/ESP32 JTAG, USB-to-RS232 virtual port and power supply 5-9-12VDC device (supported by OpenOCD ARM debugger software). Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-arm-usb-ocd

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-arm-usb-ocd
        upload_protocol = olimex-arm-usb-ocd

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]
Olimex ARM-USB-OCD JTAG 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
3 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Olimex ARM-USB-TINY-H

Low-cost and high-speed ARM/ESP32 USB JTAG. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-arm-usb-tiny-h

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-arm-usb-tiny-h
        upload_protocol = olimex-arm-usb-tiny-h

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]
Olimex ARM-USB-TINY-H JTAG 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
3 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Olimex ARM-USB-TINY

Low-cost and high-speed ARM/ESP32 USB JTAG. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-jtag-tiny

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = olimex-jtag-tiny
        upload_protocol = olimex-jtag-tiny

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]
Olimex ARM-USB-TINY 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
3 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  QEMU

QEMU is a free and open-source emulator that performs hardware virtualization. Official reference can be found here.

  Contents

    •   Configuration

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = qemu

More options:

    •   projectconf_section_env_debug

  Platforms
Name | Description
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_sifive_hifive-unleashed | platform_sifive | On-board | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  Renode

Renode is a development framework which accelerates IoT and embedded systems development by letting you simulate physical hardware systems - including both the CPU, peripherals, sensors, environment and wired or wireless medium between nodes. For more information, see Renode's official website.

  Contents

    •   Configuration

    •   Installation

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure Renode as a debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = renode

More options:

    •   projectconf_section_env_debug

  Installation

We will automatically install for you the latest Renode package using PlatformIO package manager. The only requirement is to install Mono/.NET framework.

    Windows
        On Windows 7, download and install .NET Framework 4.7. Windows 10 ships with .NET by default, so no action is required there.

    Mac Install Homebrew and the mono package using brew install mono.

    Linux
        Install the mono-complete package as per the installation instructions for various Linux distributions which can be found on the Mono project website.

Check the official Renode installation guide for more details.

  Platforms
Name | Description
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_sifive_hifive-unleashed | platform_sifive | On-board | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_redboard_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  RV-LINK

RISC-V emulator implemented with RISC-V development board. Unlike other emulators: RV-LINK interacts directly with GDB via a USB serial port and does not require an intermediary such as OpenOCD. Official reference can be found here.

  Contents

    •   Configuration

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = rv-link

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = rv-link
        upload_protocol = rv-link

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Platforms
Name | Description
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_nuclei | Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | platform_nuclei | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_gd32vf103v_rvstar | platform_nuclei | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_hbird_eval | platform_nuclei | On-board | HUMMINGBIRD | 5MHz | 64KB | 64KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  simavr

simavr is a lean, mean and hackable AVR simulator. Official reference can be found here.

  Contents

    •   Configuration

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = simavr

More options:

    •   projectconf_section_env_debug

  Platforms
Name | Description
platform_atmelavr | Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ATmega128 | platform_atmelavr | On-board | ATMEGA128 | 16MHz | 127KB | 4KB
board_atmelavr_ATmega1280 | platform_atmelavr | On-board | ATMEGA1280 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1281 | platform_atmelavr | On-board | ATMEGA1281 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1284 | platform_atmelavr | On-board | ATMEGA1284 | 16MHz | 127KB | 16KB
board_atmelavr_ATmega1284P | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ATmega16 | platform_atmelavr | On-board | ATMEGA16 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164P | platform_atmelavr | On-board | ATMEGA164P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168P | platform_atmelavr | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega324A | platform_atmelavr | On-board | ATMEGA324A | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324P | platform_atmelavr | On-board | ATMEGA324P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PA | platform_atmelavr | On-board | ATMEGA324PA | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328 | platform_atmelavr | On-board | ATMEGA328 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328P | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega48 | platform_atmelavr | On-board | ATMEGA48 | 16MHz | 4KB | 512B
board_atmelavr_ATmega644P | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_ATmega8 | platform_atmelavr | On-board | ATMEGA8 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88 | platform_atmelavr | On-board | ATMEGA88 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88P | platform_atmelavr | On-board | ATMEGA88P | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega48P | platform_atmelavr | On-board | ATMEGA48P | 16MHz | 4KB | 512B
board_atmelavr_bluefruitmicro | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_circuitplay_classic | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_feather328p | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_feather32u4 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_flora8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_gemma | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_itsybitsy32u4_3V | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_itsybitsy32u4_5V | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_metro | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_protrinket3ftdi | platform_atmelavr | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket3 | platform_atmelavr | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket5ftdi | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_protrinket5 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_trinket3 | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_trinket5 | platform_atmelavr | On-board | ATTINY85 | 16MHz | 8KB | 512B
board_atmelavr_alorium_hinj | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_sno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_xlr8 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_miniwireless | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_arduboy | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_arduboy_devkit | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_btatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_btatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_diecimilaatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_diecimilaatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_esplora | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_ethernet | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_fio | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_chiwawa | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardo | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardoeth | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_lilypadatmega168 | platform_atmelavr | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_lilypadatmega328 | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_LilyPadUSB | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_megaADK | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_megaatmega1280 | platform_atmelavr | On-board | ATMEGA1280 | 16MHz | 124KB | 8KB
board_atmelavr_megaatmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_micro | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_miniatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_miniatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_atmegangatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_atmegangatmega8 | platform_atmelavr | On-board | ATMEGA8 | 16MHz | 7KB | 1KB
board_atmelavr_nanoatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_nanoatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_pro8MHzatmega168 | platform_atmelavr | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_pro16MHzatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_pro8MHzatmega328 | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_pro16MHzatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_robotControl | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_robotMotor | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_uno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_yun | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_yunmini | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_zumbt328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_raspduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_controllino_maxi | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_maxi_automation | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mega | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mini | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_digispark-tiny | platform_atmelavr | On-board | ATTINY85 | 16MHz | 5.87KB | 512B
board_atmelavr_engduinov3 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_mayfly | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_fysetc_f6_13 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_attiny13 | platform_atmelavr | On-board | ATTINY13 | 1MHz | 1KB | 64B
board_atmelavr_attiny13a | platform_atmelavr | On-board | ATTINY13A | 1MHz | 1KB | 64B
board_atmelavr_attiny2313 | platform_atmelavr | On-board | ATTINY2313 | 8MHz | 2KB | 128B
board_atmelavr_attiny24 | platform_atmelavr | On-board | ATTINY24 | 8MHz | 2KB | 128B
board_atmelavr_attiny25 | platform_atmelavr | On-board | ATTINY25 | 8MHz | 2KB | 128B
board_atmelavr_attiny4313 | platform_atmelavr | On-board | ATTINY4313 | 8MHz | 4KB | 256B
board_atmelavr_attiny44 | platform_atmelavr | On-board | ATTINY44 | 8MHz | 4KB | 256B
board_atmelavr_attiny45 | platform_atmelavr | On-board | ATTINY45 | 8MHz | 4KB | 256B
board_atmelavr_attiny84 | platform_atmelavr | On-board | ATTINY84 | 8MHz | 8KB | 512B
board_atmelavr_attiny85 | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_lightblue-bean | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_lightblue-beanplus | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_lightup | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_one | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_smart7688 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_lora32u4II | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_mightyhat | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31KB | 2KB
board_atmelavr_moteino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_moteino8mhz | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_moteinomega | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_168pa16m | platform_atmelavr | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_168pa8m | platform_atmelavr | On-board | ATMEGA168P | 8MHz | 15.50KB | 1KB
board_atmelavr_328p16m | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_328p8m | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_32u416m | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_1284p16m | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_1284p8m | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_644pa16m | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_644pa8m | platform_atmelavr | On-board | ATMEGA644P | 8MHz | 63KB | 4KB
board_atmelavr_emonpi | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_prusa_mm_control | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_panStampAVR | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_a-star32U4 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_prusa_rambo | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_quirkbot | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_blend | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro16 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_reprap_rambo | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB
board_atmelavr_sodaq_galora | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_mbili | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_moja | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sodaq_ndogo | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_tatu | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284p | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284_8m | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega644 | platform_atmelavr | On-board | ATMEGA644 | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644_8m | platform_atmelavr | On-board | ATMEGA644 | 8MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p_8m | platform_atmelavr | On-board | ATMEGA644P | 8MHz | 63KB | 4KB
board_atmelavr_seeeduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_satmega128rfa1 | platform_atmelavr | On-board | ATMEGA128RFA1 | 16MHz | 16KB | 124KB
board_atmelavr_sparkfun_digitalsandbox | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_fiov3 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_makeymakey | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_megapro8MHz | platform_atmelavr | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_sparkfun_megapro16MHz | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_sparkfun_megamini | platform_atmelavr | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_uview | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_promicro8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_promicro16 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_qduinomini | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_redboard | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_serial7seg | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sleepypi | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_whispernode | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_the_things_uno | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_tinyduino | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_tinylily | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_usbasp | platform_atmelavr | On-board | ATMEGA8 | 12MHz | 8KB | 1KB
board_atmelavr_wildfirev2 | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 120.00KB | 16KB
board_atmelavr_wildfirev3 | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ftduino | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_bob3 | platform_atmelavr | On-board | ATMEGA88 | 8MHz | 8KB | 1KB
board_atmelavr_nibo2 | platform_atmelavr | On-board | ATMEGA128 | 16MHz | 128KB | 4KB
board_atmelavr_niboburger | platform_atmelavr | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_niboburger_1284 | platform_atmelavr | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_nibobee | platform_atmelavr | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_nibobee_1284 | platform_atmelavr | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_ardhat | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Sipeed RV Debugger

High-speed 3-IN-1 fast USB ARM/ESP32 JTAG, USB-to-RS232 virtual port and power supply 5VDC device. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = sipeed-rv-debugger

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = sipeed-rv-debugger
        upload_protocol = sipeed-rv-debugger

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
Sipeed RV Debugger Connector | Board JTAG Pin | Description
1 | GND | Digital ground
2 | TDI | Test Data In pin
6 | TMS | Test Mode State pin
10 | TCK | JTAG Return Test Clock
8 | TDO | Test Data Out pin
4 | RST | Connect this pin to the (active low) reset input of the target CPU

  Platforms
Name | Description
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  ST-LINK

The ST-LINK is an in-circuit debugger and programmer for the STM8 and STM32 microcontroller families. The single wire interface module (SWIM) and JTAG/serial wire debugging (SWD) interfaces are used to communicate with any STM8 or STM32 microcontroller located on an application board. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

        •   JTAG Interface

        •   Serial Wire Mode Interface (SWD)

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = stlink

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = stlink
        upload_protocol = stlink

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows
        Please install official ST-LINK USB driver.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]

  JTAG Interface
ST-Link JTAG 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
15 | RESET | Connect this pin to the (active low) reset input of the target CPU

  Serial Wire Mode Interface (SWD)
ST-Link SWD 20-Pin Connector | Board SWD Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
7 | SWDIO | Data I/O
9 | SWCLK | Clock
15 | RESET | Connect this pin to the (active low) reset input of the target CPU

  Platforms
Name | Description
platform_aceinna_imu | Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_ststm8 | The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB
board_ststm32_rumba32_f446ve | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_remram_v1 | platform_ststm32 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB
board_ststm32_st3dp001_eval | platform_ststm32 | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_b96b_argonkey | platform_ststm32 | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | platform_ststm32 | External | STM32F411CE | 100MHz | 512KB | 128KB
board_nordicnrf52_96b_nitrogen | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_aceinna_imu_LowCostRTK | platform_aceinna_imu | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenIMU300 | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU300ZA | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU330 | platform_aceinna_imu | External | STM32L431CB | 80MHz | 128KB | 64KB
board_aceinna_imu_OpenRTK | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenRTK330L | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_nordicnrf52_adafruit_feather_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_nordicnrf52_bluey | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_bluz_dk | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_adafruit_cplaynrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_demo_f030f4 | platform_ststm32 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_atmelsam_digix | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_elmo_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nordicnrf52_adafruit_metro_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_microduino32_flash | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_ststm32_mxchip_az3166 | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | External | STM32L151CCU6 | 32MHz | 256KB | 32KB
board_ststm32_netduino2plus | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_mote_l152rc | platform_ststm32 | External | STM32L152RC | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_nordicnrf51_oshchip | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_ststm32_olimex_p405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_nucleo_wb55rg_p | platform_ststm32 | On-board | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB
board_ststm32_rak811_tracker | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_disco_f334c8 | platform_ststm32 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | platform_ststm32 | On-board | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | platform_ststm32 | On-board | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | platform_ststm32 | On-board | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | platform_ststm32 | On-board | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm8_stm8sdisco | platform_ststm8 | On-board | STM8S105C6T6 | 16MHz | 32KB | 2KB
board_ststm32_silica_sensor_node | platform_ststm32 | On-board | STM32L476JG | 80MHz | 1MB | 128KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_disco_f750n8 | platform_ststm32 | On-board | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | platform_ststm32 | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_atmelsam_sainSmartDue | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_seeedArchMax | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_wio_3g | platform_ststm32 | On-board | STM32F439VI | 180MHz | 2MB | 256KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB
board_nordicnrf51_Sinobit | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_ststm32_sparky_v1 | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB
board_nordicnrf52_stct_nrf52_minidev | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB
board_ststm32_hy_tinystm103tb | platform_ststm32 | External | STM32F103TBU6 | 72MHz | 128KB | 20KB
board_ststm32_vake_v1 | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB
board_nordicnrf52_hackaBLE | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_ng_beacon | platform_nordicnrf51 | External | NRF51822 | 16MHz | 256KB | 32KB
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  TI-ICDI

Tiva™ C Series evaluation and reference design kits provide an integrated In-Circuit Debug Interface (ICDI) which allows programming and debugging of the onboard C Series microcontroller. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = ti-icdi

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = ti-icdi
        upload_protocol = ti-icdi

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows
        Please "USB Driver Installation" guide for your board.

    Mac Not required.

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Platforms
Name | Description
platform_titiva | Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_titiva_lplm4f120h5qr | platform_titiva | On-board | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | platform_titiva | On-board | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | platform_titiva | On-board | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB

  TIAO USB Multi-Protocol Adapter (TUMPA)

The TIAO USB Multi Protocol Adapter (TUMPA) is a multi-functional USB communication adapter for hobbyists or engineers. The adapter is based on FDTI's flagship communication chip FT2232H, a USB 2.0 Hi-Speed (480Mb/s) to UART/FIFO IC. It has two multi-protocol synchronous serial engines (MPSSEs) which allow for communication using JTAG, I2C and SPI on two channels simultaneously. Official reference can be found here.

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

        •   JTAG Interface

        •   Serial Wire Mode Interface (SWD)

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = tumpa

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = tumpa
        upload_protocol = tumpa

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections
[image]

  JTAG Interface
TUMPA JTAG 20-Pin Connector | Board JTAG Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
5 | TDI | Test Data In pin
7 | TMS | Test Mode State pin
9 | TCK | JTAG Return Test Clock
13 | TDO | Test Data Out pin
15 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32)

  Serial Wire Mode Interface (SWD)
TUMPA SWD 20-Pin Connector | Board SWD Pin | Description
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers
4 | GND | Digital ground
7 | SWDIO | Data I/O
9 | SWCLK | Clock
15 | RESET | Connect this pin to the (active low) reset input of the target CPU

  Platforms
Name | Description
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  UM232H

The UM232H is a USB-to-serial/FIFO development module in the FTDI product range which utilizes the FT232H USB Hi-Speed (480Mb/s) single-port bridge chip to handle the USB signaling and protocols. Official reference can be found here

  Contents

    •   Configuration

    •   Drivers

    •   Wiring Connections

    •   Platforms

    •   Frameworks

    •   Boards

  Configuration

You can configure debugging tool using projectconf_debug_tool option in projectconf:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = um232h

If you would like to use this tool for firmware uploading, please change upload protocol:

        [env:myenv]
        platform = ...
        board = ...
        debug_tool = um232h
        upload_protocol = um232h

More options:

    •   projectconf_section_env_debug

    •   projectconf_section_env_upload

  Drivers

    Windows

        •   Step-by-step guide: Drivers, Zadig, Wiring

        •   Video tutorial

    Mac macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

    Linux
        Please install "udev" rules faq_udev_rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

  Wiring Connections

Please read 4. UM232H Pin Out and Signal Descriptions section for details.
UM232H Pin | Board JTAG Pin | Description
GND | GND | Digital ground
AD0 | TCK | JTAG Return Test Clock
AD1 | TDI | Test Data In
AD2 | TDO | Test Data Out
AD3 | TMS | Test Mode State

You will also need to connect VIO to V3V and USB to 5V0 of UM232H to power the FTDI chip and board. See UM232H Datasheet

  Platforms
Name | Description
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Custom

    Configuration
        projectconf_debug_tool = custom

PIO Unified Debugger can be configured from projectconf:

  Examples

    •   J-Link and ST Nucleo

    •   J-Link as debugger and uploader

    •   ST-Util and ST-Link

    •   OpenOCD and ST-Link

    •   pyOCD and CMSIS-DAP

  J-Link and ST Nucleo

Segger J-Link probe and ST Nucleo F446RE board in pair with J-Link GDB Server:

    •   Install J-Link GDB Server

    •   Convert ST-LINK On-Board Into a J-Link

NOTE:
        You can use configuration below in pair with other boards, not only with ST Nucleo F446RE. In this case, please replace STM32F446RE with your own device name in debug_server option.

        See full list with J-Link Supported Devices.

        [env:debug_jlink]
        platform = ststm32
        framework = mbed
        board = nucleo_f446re

        debug_tool = custom
        debug_port = :2331

        debug_server =
          /full/path/to/JLinkGDBServerCL
          -singlerun
          -if
          SWD
          -select
          USB
          -port
          2331
          -device
          STM32F446RE

        debug_init_cmds =
          define pio_reset_halt_target
              monitor reset
              monitor halt
          end
          define pio_reset_run_target
              monitor clrbp
              monitor reset
              monitor go
          end
          target extended-remote $DEBUG_PORT
          monitor clrbp
          monitor speed auto
          pio_reset_halt_target
          $LOAD_CMDS
          $INIT_BREAK

  J-Link as debugger and uploader

Segger J-Link probe as debugger and uploader for a custom board. If you plan to use with other board, please change device MK20DX256xxx7 to a valid identifier. See supported J-Link devices at debugging_tool_jlink.

    •   Install J-Link GDB Server

        [env:jlink_debug_and_upload]
        platform = teensy
        framework = arduino
        board = teensy31
        extra_scripts = extra_script.py
        upload_protocol = custom
        debug_tool = jlink
        debug_server =
          /full/path/to/JLinkGDBServerCL
          -singlerun
          -if
          SWD
          -select
          USB
          -port
          2331
          -device
          MK20DX256xxx7

extra_script.py

Place this file on the same level as projectconf.

        from os import makedirs
        from os.path import isdir, join
        Import('env')

        def _jlink_cmd_script(env, source):
            build_dir = env.subst("$BUILD_DIR")
            if not isdir(build_dir):
                makedirs(build_dir)
            script_path = join(build_dir, "upload.jlink")
            commands = ["h", "loadbin %s,0x0" % source, "r", "q"]
            with open(script_path, "w") as fp:
                fp.write("\n".join(commands))
            return script_path

        env.Replace(
            __jlink_cmd_script=_jlink_cmd_script,
            UPLOADER="/full/path/to/JLink",
            UPLOADERFLAGS=[
                "-device", "MK20DX256xxx7",
                "-speed", "4000",
                "-if", "swd",
                "-autoconnect", "1"
            ],
            UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS -CommanderScript ${__jlink_cmd_script(__env__, SOURCE)}'
        )

  ST-Util and ST-Link

On-board ST-Link V2/V2-1 in pair with ST-Util GDB Server:

        [env:debug]
        platform = ststm32
        framework = mbed
        board = ...
        debug_tool = custom
        debug_port = :4242
        debug_server = $PLATFORMIO_CORE_DIR/packages/tool-stlink/bin/st-util

  OpenOCD and ST-Link

On-board ST-Link V2/V2-1 in pair with OpenOCD GDB Server:

        [env:debug]
        platform = ststm32
        framework = mbed
        board = ...
        debug_tool = custom
        debug_server =
          $PLATFORMIO_CORE_DIR/packages/tool-openocd/bin/openocd
          -f
          $PLATFORMIO_CORE_DIR/packages/tool-openocd/scripts/board/st_nucleo_f4.cfg

  pyOCD and CMSIS-DAP

Using pyOCD for CMSIS-DAP based boards

Firstly, please install pyOCD and check that pyocd-gdbserver --version command works.

        [env:debug]
        platform = ...
        board = ...
        framework = mbed
        debug_tool = custom
        debug_server = pyocd-gdbserver

  CLI Guide

  Platforms
Name | Description
platform_aceinna_imu | Open-source, embedded development platform for Aceinna IMU hardware. Run custom algorithms and navigation code on Aceinna IMU/INS hardware.
platform_atmelavr | Atmel AVR 8-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industry's most code-efficient architecture for C and assembly programming
platform_atmelsam | Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
platform_espressif32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
platform_freescalekinetis | Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
platform_gd32v | The GigaDevice GD32V device is a 32-bit general-purpose microcontroller based on the RISC-V core with an impressive balance of processing power, reduced power consumption and peripheral set.
platform_infineonxmc | Infineon has designed the XMC microcontrollers for real-time critical applications with an industry-standard core. The XMC microcontrollers can be integrated with the Arduino platform
platform_kendryte210 | Kendryte K210 is an AI capable RISCV64 dual core SoC.
platform_maxim32 | Maxim's microcontrollers provide low-power, efficient, and secure solutions for challenging embedded applications. Maxim's processors embed cutting-edge technologies to secure data and intellectual property, proven analog circuitry for real-world applications, and battery-conserving low power operation.
platform_nordicnrf51 | The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
platform_nordicnrf52 | The nRF52 Series are built for speed to carry out increasingly complex tasks in the shortest possible time and return to sleep, conserving precious battery power. They have a Cortex-M4F processor and are the most capable Bluetooth Smart SoCs on the market.
platform_nuclei | Find professional RISC-V Processor IP in Nuclei, first professional RISC-V IP company in Mainland China, match all your requirements in AIoT Era.
platform_nxpimxrt | The i.MX RT series of crossover processors features the Arm Cortex-M core, real-time functionality and MCU usability at a cost-effective price.
platform_nxplpc | The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
platform_riscv_gap | GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.
platform_shakti | Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.
platform_sifive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
platform_siliconlabsefm32 | Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
platform_ststm32 | The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
platform_ststm8 | The STM8 is an 8-bit microcontroller family by STMicroelectronics an extended variant of the ST7 microcontroller architecture. STM8 microcontrollers are particularly low cost for a full-featured 8-bit microcontroller.
platform_teensy | Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
platform_timsp430 | MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
platform_titiva | Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
platform_wiznet7500 | The IOP (Internet Offload Processor) W7500 is the one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially requiring Internet of things

  Frameworks
Name | Description
framework_arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
framework_cmsis | The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
framework_espidf | Espressif IoT Development Framework. Official development framework for ESP32.
framework_freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework_gd32vf103-sdk | GigaDevice GD32VF103 Firmware Library (SDK)
framework_kendryte-standalone-sdk | Kendryte Standalone SDK without OS support
framework_kendryte-freertos-sdk | Kendryte SDK with FreeRTOS support
framework_libopencm3 | The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
framework_mbed | The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
framework_nuclei-sdk | Open Source Software Development Kit for the Nuclei N/NX processors
framework_pulp-os | PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory.
framework_shakti-sdk | A software development kit for developing applications on Shakti class of processors
framework_simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
framework_spl | The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
framework_stm32cube | STM32Cube embedded software libraries, including: The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls; The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
framework_zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

  Boards

NOTE:
        For more detailed board information please scroll tables below by horizontal.

  1BitSquared
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_1bitsy_stm32f415rgt | platform_ststm32 | External | STM32F415RGT | 168MHz | 1MB | 128KB

  96Boards
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_b96b_argonkey | platform_ststm32 | External | STM32F412CG | 100MHz | 1MB | 256KB
board_ststm32_b96b_f446ve | platform_ststm32 | On-board | STM32F446VET6 | 168MHz | 512KB | 128KB
board_ststm32_b96b_neonkey | platform_ststm32 | External | STM32F411CE | 100MHz | 512KB | 128KB
board_nordicnrf52_96b_nitrogen | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  AI Thinker
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32cam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  AZ-Delivery
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_az-delivery-devkit-v4 | platform_espressif32 | External | ESP32 | 240MHz | 16MB | 520KB

  Aceinna
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_aceinna_imu_LowCostRTK | platform_aceinna_imu | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenIMU300 | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU300ZA | platform_aceinna_imu | External | STM32F405RG | 120MHz | 1MB | 128KB
board_aceinna_imu_OpenIMU330 | platform_aceinna_imu | External | STM32L431CB | 80MHz | 128KB | 64KB
board_aceinna_imu_OpenRTK | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB
board_aceinna_imu_OpenRTK330L | platform_aceinna_imu | External | STM32F469IG | 180MHz | 1MB | 384KB

  Adafruit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_bluefruitmicro | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf52_adafruit_feather_nrf52832 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_circuitplay_classic | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_adafruit_circuitplayground_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_crickit_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_featheresp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_atmelavr_feather328p | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_feather32u4 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf52_adafruit_feather_nrf52840_sense | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_atmelsam_adafruit_feather_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m0_express | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_feather_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_ststm32_adafruit_feather_f405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 128KB
board_nordicnrf52_adafruit_feather_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_atmelavr_flora8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_gemma | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelsam_adafruit_gemma_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_grandcentral_m4 | platform_atmelsam | External | SAMD51P20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_hallowing | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_hallowing_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 496KB | 192KB
board_atmelavr_itsybitsy32u4_3V | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_itsybitsy32u4_5V | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_adafruit_itsybitsy_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_itsybitsy_m4 | platform_atmelsam | External | SAMD51G19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_monster_m4sk | platform_atmelsam | External | SAMD51G19A | 120MHz | 496KB | 192KB
board_atmelavr_metro | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelsam_adafruit_metro_m0 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_metro_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_metro_m4_airliftlite | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelavr_protrinket3ftdi | platform_atmelavr | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket3 | platform_atmelavr | On-board | ATMEGA328P | 12MHz | 28KB | 2KB
board_atmelavr_protrinket5ftdi | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_protrinket5 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelsam_adafruit_pygamer_advance_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pygamer_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelsam_adafruit_pyportal_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_pyportal_m4_titano | platform_atmelsam | External | SAMD51J20A | 120MHz | 1MB | 256KB
board_atmelsam_adafruit_trellis_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_atmelavr_trinket3 | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_trinket5 | platform_atmelavr | On-board | ATTINY85 | 16MHz | 8KB | 512B
board_atmelsam_adafruit_trinket_m0 | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pirkey | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_atmelsam_adafruit_pybadge_airlift_m4 | platform_atmelsam | External | SAMD51J20A | 120MHz | 1008KB | 192KB
board_atmelsam_adafruit_pybadge_m4 | platform_atmelsam | External | SAMD51J19A | 120MHz | 512KB | 192KB
board_nordicnrf52_adafruit_cplaynrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_itsybitsy_nrf52840 | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_adafruit_metro_nrf52840 | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB

  AfroFlight
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_afroflight_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB

  Airbot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_wraith32_v1 | platform_ststm32 | External | STM32F051K6 | 48MHz | 32KB | 7.75KB

  Aiyarafun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_node32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Alorium Technology
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_alorium_hinj | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_sno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_alorium_xlr8 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Anarduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_miniwireless | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Arduboy
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_arduboy | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_arduboy_devkit | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  Arduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_btatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_btatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelsam_due | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_dueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelavr_diecimilaatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_diecimilaatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_esplora | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_ethernet | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_fio | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_chiwawa | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardo | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_leonardoeth | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_lilypadatmega168 | platform_atmelavr | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_lilypadatmega328 | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_LilyPadUSB | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_mzeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeroproUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mzeropro | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrfox1200 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrgsm1400 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrnb1500 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1300 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwan1310 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrwifi1010 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkr1000USB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrzero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_megaADK | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_megaatmega1280 | platform_atmelavr | On-board | ATMEGA1280 | 16MHz | 124KB | 8KB
board_atmelavr_megaatmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_micro | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_miniatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_miniatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB
board_atmelavr_atmegangatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_atmegangatmega8 | platform_atmelavr | On-board | ATMEGA8 | 16MHz | 7KB | 1KB
board_nordicnrf52_nano33ble | platform_nordicnrf52 | External | NRF52840 | 64MHz | 960KB | 256KB
board_atmelavr_nanoatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_nanoatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_nanoatmega328new | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_pro8MHzatmega168 | platform_atmelavr | On-board | ATMEGA168 | 8MHz | 14KB | 1KB
board_atmelavr_pro16MHzatmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 14KB | 1KB
board_atmelavr_pro8MHzatmega328 | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_pro16MHzatmega328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB
board_atmelavr_robotControl | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_robotMotor | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_tian | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_uno | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_yun | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_yunmini | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelsam_zero | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_zeroUSB | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_mkrvidor4000 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_nano_33_iot | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  Armed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armed_v1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 192KB

  Armstrap
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_armstrap_eagle1024 | platform_ststm32 | On-board | STM32F417VGT6 | 168MHz | 1MB | 192KB
board_ststm32_armstrap_eagle2048 | platform_ststm32 | On-board | STM32F427VIT6 | 168MHz | 1.99MB | 256KB
board_ststm32_armstrap_eagle512 | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB

  Atmel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_samr21_xpro | platform_atmelsam | On-board | SAMR21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21g18a | platform_atmelsam | On-board | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_samc21_xpro | platform_atmelsam | On-board | SAMC21J18A | 48MHz | 256KB | 32KB
board_atmelsam_samd21_xpro | platform_atmelsam | On-board | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_saml21_xpro_b | platform_atmelsam | On-board | SAML21J18B | 48MHz | 256KB | 32KB
board_atmelavr_attiny13 | platform_atmelavr | On-board | ATTINY13 | 1MHz | 1KB | 64B
board_atmelavr_attiny13a | platform_atmelavr | On-board | ATTINY13A | 1MHz | 1KB | 64B
board_atmelavr_attiny2313 | platform_atmelavr | On-board | ATTINY2313 | 8MHz | 2KB | 128B
board_atmelavr_attiny24 | platform_atmelavr | On-board | ATTINY24 | 8MHz | 2KB | 128B
board_atmelavr_attiny25 | platform_atmelavr | On-board | ATTINY25 | 8MHz | 2KB | 128B
board_atmelavr_attiny4313 | platform_atmelavr | On-board | ATTINY4313 | 8MHz | 4KB | 256B
board_atmelavr_attiny44 | platform_atmelavr | On-board | ATTINY44 | 8MHz | 4KB | 256B
board_atmelavr_attiny45 | platform_atmelavr | On-board | ATTINY45 | 8MHz | 4KB | 256B
board_atmelavr_attiny84 | platform_atmelavr | On-board | ATTINY84 | 8MHz | 8KB | 512B
board_atmelavr_attiny85 | platform_atmelavr | On-board | ATTINY85 | 8MHz | 8KB | 512B
board_atmelavr_usbasp | platform_atmelavr | On-board | ATMEGA8 | 12MHz | 8KB | 1KB

  Avnet Silica
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_silica_sensor_node | platform_ststm32 | On-board | STM32L476JG | 80MHz | 1MB | 128KB

  BBC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bbcmicrobit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  BQ
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_zumbt328 | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 28KB | 2KB

  BSFrance
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lora32u4II | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  BitWizard
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_raspduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB

  BluzDK
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_bluz_dk | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  CQ Publishing
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_501 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB

  Calliope
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_calliope_mini | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  Controllino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_controllino_maxi | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_maxi_automation | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mega | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_controllino_mini | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  DFRobot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_firebeetle32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DOIT
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32doit-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DSTIKE
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_d-duino-32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Delta
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_delta_dfbm_nq620 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_dfcm_nnn40 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_delta_dfcm_nnn50 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 16KB

  Digistump
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_digispark-tiny | platform_atmelavr | On-board | ATTINY85 | 16MHz | 5.87KB | 512B
board_atmelsam_digix | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Diymore
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_diymore_f407vgt | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB

  Dongsen Technology
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_pocket_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  DycodeX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espectro32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  ESP32vn
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32vn-iot-uno | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Electronut Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_bluey | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_hackaBLE | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  ElectronutLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_electronut_blip | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_electronut_papyr | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Elektor Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_elektor_cocorico | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB

  Embedded Artists
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35 | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nxplpc_lpc4088_dm | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB
board_nxplpc_lpc4088 | platform_nxplpc | On-board | LPC4088 | 120MHz | 512KB | 96KB

  Engduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_engduinov3 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  EnviroDIY
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_mayfly | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB

  Espotel
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_elmo_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB

  Espressif
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp-wrover-kit | platform_espressif32 | On-board | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  FYSETC
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_fysetc_f6_13 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  Fred
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_frogboard | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Freescale
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_IBMEthernetKit | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k20d50m | platform_freescalekinetis | On-board | MK20DX128VLH5 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_k22f | platform_freescalekinetis | On-board | MK22FN512VLH12 | 120MHz | 512KB | 128KB
board_freescalekinetis_frdm_k64f | platform_freescalekinetis | On-board | MK64FN1M0VLL12 | 120MHz | 1MB | 256KB
board_freescalekinetis_frdm_k66f | platform_freescalekinetis | On-board | MK66FN2M0VMD18 | 180MHz | 2MB | 256KB
board_freescalekinetis_frdm_k82f | platform_freescalekinetis | On-board | MK82FN256VLL15 | 150MHz | 256KB | 256KB
board_freescalekinetis_frdm_kl05z | platform_freescalekinetis | On-board | MKL05Z32VFM4 | 48MHz | 32KB | 4KB
board_freescalekinetis_frdm_kl25z | platform_freescalekinetis | On-board | MKL25Z128VLK4 | 48MHz | 128KB | 16KB
board_freescalekinetis_frdm_kl27z | platform_freescalekinetis | On-board | MKL27Z64VLH4 | 48MHz | 64KB | 16KB
board_freescalekinetis_frdm_kl43z | platform_freescalekinetis | On-board | MKL43Z256VLH4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl46z | platform_freescalekinetis | On-board | MKL46Z256VLL4 | 48MHz | 256KB | 32KB
board_freescalekinetis_frdm_kl82z | platform_freescalekinetis | External | MKL82Z128VLK7 | 96MHz | 128KB | 96KB
board_freescalekinetis_frdm_kw24d | platform_freescalekinetis | External | MKW24D512 | 50MHz | 512KB | 64KB
board_freescalekinetis_frdm_kw41z | platform_freescalekinetis | On-board | MKW41Z512VHT4 | 48MHz | 512KB | 128KB

  Generic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_blackpill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_blackpill_f103c8_128 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_bluepill_f103c6 | platform_ststm32 | External | STM32F103C6T6 | 72MHz | 32KB | 10KB
board_ststm32_bluepill_f103c8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_bluepill_f103c8_128k | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 128KB | 20KB
board_ststm32_demo_f030f4 | platform_ststm32 | External | STM32F030F4P6 | 48MHz | 16KB | 4KB
board_ststm32_fk407m1 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_genericSTM32F103C8 | platform_ststm32 | External | STM32F103C8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103CB | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103R8 | platform_ststm32 | External | STM32F103R8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103RB | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103RC | platform_ststm32 | External | STM32F103RCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103RE | platform_ststm32 | External | STM32F103RET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103T8 | platform_ststm32 | External | STM32F103T8T6 | 72MHz | 64KB | 20KB
board_ststm32_genericSTM32F103TB | platform_ststm32 | External | STM32F103TBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VB | platform_ststm32 | External | STM32F103VBT6 | 72MHz | 128KB | 20KB
board_ststm32_genericSTM32F103VC | platform_ststm32 | External | STM32F103VCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103VD | platform_ststm32 | External | STM32F103VDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103VE | platform_ststm32 | External | STM32F103VET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F103ZC | platform_ststm32 | External | STM32F103ZCT6 | 72MHz | 256KB | 48KB
board_ststm32_genericSTM32F103ZD | platform_ststm32 | External | STM32F103ZDT6 | 72MHz | 384KB | 64KB
board_ststm32_genericSTM32F103ZE | platform_ststm32 | External | STM32F103ZET6 | 72MHz | 512KB | 64KB
board_ststm32_genericSTM32F303CB | platform_ststm32 | External | STM32F303CBT6 | 72MHz | 128KB | 32KB
board_ststm32_genericSTM32F401RB | platform_ststm32 | External | STM32F401RB | 84MHz | 128KB | 64KB
board_ststm32_genericSTM32F401RC | platform_ststm32 | External | STM32F401RC | 84MHz | 256KB | 64KB
board_ststm32_genericSTM32F401RE | platform_ststm32 | External | STM32F401RE | 84MHz | 512KB | 96KB
board_ststm32_genericSTM32F407VET6 | platform_ststm32 | External | STM32F407VET6 | 168MHz | 502.23KB | 128KB
board_ststm32_genericSTM32F407VGT6 | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 1MB | 192KB
board_ststm32_stm32f4stamp | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  GigaDevice
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_eval | platform_nuclei | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB

  Gimasi
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_tuinozero96 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  GreenWaves Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_riscv_gap_gapuino | platform_riscv_gap | On-board | GAP8 | 250MHz | 64MB | 8MB

  HY
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_hy_tinystm103tb | platform_ststm32 | External | STM32F103TBU6 | 72MHz | 128KB | 20KB

  Heltec Automation
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_heltec_wifi_lora_32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_heltec_wifi_lora_32_V2 | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB
board_espressif32_heltec_wireless_stick | platform_espressif32 | External | ESP32 | 240MHz | 8MB | 320KB

  Holyiot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_holyiot_yj16019 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  Hornbill
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_hornbill32dev | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_hornbill32minima | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Infineon
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_infineonxmc_xmc1100_boot_kit | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_h_bridge2go | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1100_xmc2go | platform_infineonxmc | On-board | XMC1100 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_boot_kit | platform_infineonxmc | On-board | XMC1300 | 32MHz | 64KB | 16KB
board_infineonxmc_xmc1300_sense2gol | platform_infineonxmc | On-board | XMC1300 | 32MHz | 32KB | 16KB
board_infineonxmc_xmc1400_boot_kit | platform_infineonxmc | On-board | XMC1400 | 48MHz | 1.95MB | 16KB
board_infineonxmc_xmc4200_distance2go | platform_infineonxmc | On-board | XMC4200 | 80MHz | 256KB | 40KB
board_infineonxmc_xmc4700_relax_kit | platform_infineonxmc | On-board | XMC4700 | 144MHz | 2.00MB | 1.95MB

  IoTaaP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotaap_magnolia | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  JKSoft
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_wallbot_ble | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB

  Laird Connectivity
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_laird_bl652_dvk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_laird_bl654_dvk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  LeafLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_maple | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 108KB | 17KB
board_ststm32_maple_ret6 | platform_ststm32 | External | STM32F103RET6 | 72MHz | 256KB | 48KB
board_ststm32_maple_mini_b20 | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB
board_ststm32_maple_mini_origin | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 108KB | 17KB

  LightUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lightup | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  Linino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_one | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  LowPowerLab
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_mightyhat | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31KB | 2KB
board_atmelavr_moteino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_moteino8mhz | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_moteinomega | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelsam_moteino_zero | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  MH-ET Live
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_mhetesp32devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_mhetesp32minikit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  MXChip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mxchip_az3166 | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB

  Makerdiary
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_nrf52832_mdk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_mdk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB

  Malyan
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_malyanm200_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm300_f070cb | platform_ststm32 | External | STM32F070CBT6 | 48MHz | 120KB | 14.81KB
board_ststm32_malyanm200_f103cb | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 120KB | 20KB

  Maxim
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_maxim32_max32620fthr | platform_maxim32 | External | MAX32620FTHR | 96MHz | 2MB | 256KB
board_maxim32_max32600mbed | platform_maxim32 | On-board | MAX32600 | 24MHz | 256KB | 32KB
board_maxim32_max32620hsp | platform_maxim32 | External | MAX32620 | 96MHz | 2MB | 256KB
board_maxim32_maxwsnenv | platform_maxim32 | External | MAX32610 | 24MHz | 256KB | 32KB

  MediaTek Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_smart7688 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  Microchip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ATmega128 | platform_atmelavr | On-board | ATMEGA128 | 16MHz | 127KB | 4KB
board_atmelavr_ATmega1280 | platform_atmelavr | On-board | ATMEGA1280 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1281 | platform_atmelavr | On-board | ATMEGA1281 | 16MHz | 127KB | 8KB
board_atmelavr_ATmega1284 | platform_atmelavr | On-board | ATMEGA1284 | 16MHz | 127KB | 16KB
board_atmelavr_ATmega1284P | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_ATmega16 | platform_atmelavr | On-board | ATMEGA16 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega164P | platform_atmelavr | On-board | ATMEGA164P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168 | platform_atmelavr | On-board | ATMEGA168 | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega168P | platform_atmelavr | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_ATmega2560 | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 255KB | 8KB
board_atmelavr_ATmega324A | platform_atmelavr | On-board | ATMEGA324A | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324P | platform_atmelavr | On-board | ATMEGA324P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega324PA | platform_atmelavr | On-board | ATMEGA324PA | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328 | platform_atmelavr | On-board | ATMEGA328 | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega328P | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_ATmega48 | platform_atmelavr | On-board | ATMEGA48 | 16MHz | 4KB | 512B
board_atmelavr_ATmega644P | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_ATmega8 | platform_atmelavr | On-board | ATMEGA8 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88 | platform_atmelavr | On-board | ATMEGA88 | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega88P | platform_atmelavr | On-board | ATMEGA88P | 16MHz | 7.50KB | 1KB
board_atmelavr_ATmega48P | platform_atmelavr | On-board | ATMEGA48P | 16MHz | 4KB | 512B

  Microduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_168pa16m | platform_atmelavr | On-board | ATMEGA168P | 16MHz | 15.50KB | 1KB
board_atmelavr_168pa8m | platform_atmelavr | On-board | ATMEGA168P | 8MHz | 15.50KB | 1KB
board_atmelavr_328p16m | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_328p8m | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_ststm32_microduino32_flash | platform_ststm32 | External | STM32F103CBT6 | 72MHz | 105.47KB | 16.60KB
board_atmelavr_32u416m | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_1284p16m | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_1284p8m | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_644pa16m | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_644pa8m | platform_atmelavr | On-board | ATMEGA644P | 8MHz | 63KB | 4KB

  Micromint
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc4330_m4 | platform_nxplpc | On-board | LPC4330 | 204MHz | 8MB | 264KB

  Midatronics
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mkr_sharky | platform_ststm32 | External | STM32WB55CG | 64MHz | 512KB | 192.00KB

  MikroElektronika
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_freescalekinetis_hexiwear | platform_freescalekinetis | External | MK64FN1M0VDC12 | 120MHz | 1MB | 256KB

  MultiTech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mts_dragonfly_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f405rg | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_mts_mdot_f411re | platform_ststm32 | External | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_xdot_l151cc | platform_ststm32 | External | STM32L151CCU6 | 32MHz | 256KB | 32KB

  NGX Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_blueboard_lpc11u24 | platform_nxplpc | External | LPC11U24 | 48MHz | 32KB | 8KB

  NXP
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u24_301 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u68 | platform_nxplpc | On-board | LPC11U68 | 50MHz | 256KB | 36KB
board_nxplpc_lpc824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nxplpc_lpc11c24 | platform_nxplpc | External | LPC11C24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc11u34_421 | platform_nxplpc | External | LPC11U34 | 48MHz | 40KB | 8KB
board_nxplpc_lpc11u37_501 | platform_nxplpc | External | LPC11U37 | 48MHz | 128KB | 10KB
board_nxplpc_lpc812 | platform_nxplpc | On-board | LPC812 | 30MHz | 16KB | 4KB
board_nxplpc_lpc1549 | platform_nxplpc | External | LPC1549 | 72MHz | 256KB | 36KB
board_nxplpc_lpc54114 | platform_nxplpc | On-board | LPC54114J256BD64 | 100MHz | 256KB | 192KB
board_nxplpc_lpc546xx | platform_nxplpc | On-board | LPC54608ET512 | 180MHz | 512KB | 200KB
board_nxpimxrt_mimxrt1010_evk | platform_nxpimxrt | On-board | MIMXRT1011DAE5A | 500MHz | 64KB | 128KB
board_nxpimxrt_mimxrt1015_evk | platform_nxpimxrt | On-board | MIMXRT1015DAF5A | 500MHz | 96KB | 128KB
board_nxpimxrt_mimxrt1020_evk | platform_nxpimxrt | On-board | MIMXRT1021DAG5A | 500MHz | 64MB | 256MB
board_nxpimxrt_mimxrt1050_evk | platform_nxpimxrt | On-board | MIMXRT1052DVL6B | 600MHz | 64MB | 512KB
board_nxpimxrt_mimxrt1060_evk | platform_nxpimxrt | On-board | MIMXRT1062DVL6A | 600MHz | 64MB | 1MB
board_nxpimxrt_mimxrt1064_evk | platform_nxpimxrt | On-board | MIMXRT1064DVL6A | 600MHz | 4MB | 1MB
board_nxplpc_lpc11u24 | platform_nxplpc | On-board | LPC11U24 | 48MHz | 32KB | 8KB
board_nxplpc_lpc1768 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB

  Netduino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_netduino2plus | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB

  NodeMCU
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_nodemcu-32s | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Nordic
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_nrf51_beacon | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_thingy_52 | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf51_nrf51_dongle | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf51_nrf51_mkit | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_nrf51_dk | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB
board_nordicnrf52_nrf52_dk | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_nordicnrf52_nrf52840_dk | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 1MB | 256KB
board_nordicnrf52_nrf52840_dk_adafruit | platform_nordicnrf52 | On-board | NRF52840 | 64MHz | 796KB | 243KB

  Nuclei
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nuclei_gd32vf103v_rvstar | platform_nuclei | On-board | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_nuclei_hbird_eval | platform_nuclei | On-board | HUMMINGBIRD | 5MHz | 64KB | 64KB

  OLIMEX
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32-devkitlipo | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-evb | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_esp32-gateway | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  OSHChip
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_oshchip | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  Olimex
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_olimexino | platform_ststm32 | External | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_olimex_p405 | platform_ststm32 | External | STM32F405RGT6 | 168MHz | 1MB | 192KB
board_ststm32_olimex_e407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_olimex_h407 | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB

  OpenEnergyMonitor
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_emonpi | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 30KB | 2KB

  PanStamp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_panStampAVR | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB

  Particle
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_particle_argon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_boron | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB
board_nordicnrf52_particle_xenon | platform_nordicnrf52 | External | NRF52840 | 64MHz | 796KB | 243KB

  Piconomix
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_piconomix_px_her0 | platform_ststm32 | External | STM32L072RB | 32MHz | 128KB | 20KB

  Pololu Corporation
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_a-star32U4 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  PrntrBoard
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_prntr_v2 | platform_ststm32 | External | STM32F407RE | 168MHz | 512KB | 192KB

  Prusa 3D
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_prusa_mm_control | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_prusa_rambo | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  Punch Through
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_lightblue-bean | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_lightblue-beanplus | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Pycom Ltd.
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_lopy | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lopy4 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB

  Quirkbot
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_quirkbot | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB

  RAK
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rak811_tracker | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 16KB
board_ststm32_rak811_tracker_32 | platform_ststm32 | External | STM32L151RBT6 | 32MHz | 128KB | 32KB

  RUMBA
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rumba32_f446ve | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  RedBearLab
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_redBearLabBLENano | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 32KB
board_nordicnrf52_redbear_blenano2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_blend | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_nordicnrf52_redbear_blend2 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_atmelavr_blendmicro16 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_blendmicro8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_nordicnrf51_redBearLab | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  RemRam
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_remram_v1 | platform_ststm32 | On-board | STM32F765VIT6 | 216MHz | 2MB | 512KB

  RepRap
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_reprap_rambo | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 252KB | 8KB

  ReprapWorld
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_minitronics20 | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB

  RobotDyn
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_robotdyn_blackpill_f303cc | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  RoboticsBrno
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_alksesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  RushUp
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_cloud_jam | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_cloud_jam_l4 | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB

  SG-O
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_sg-o_airMon | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SODAQ
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sodaq_autonomo | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_explorer | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelavr_sodaq_galora | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_mbili | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sodaq_moja | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sodaq_ndogo | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelsam_sodaq_one | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sara | platform_atmelsam | External | SAMD21J18A | 48MHz | 256KB | 32KB
board_atmelsam_sodaq_sff | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_sodaq_tatu | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB

  ST
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_disco_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_disco_f723ie | platform_ststm32 | On-board | STM32F723IEK6 | 216MHz | 512KB | 192KB
board_ststm32_st3dp001_eval | platform_ststm32 | On-board | STM32F401VGT6 | 84MHz | 512KB | 96KB
board_ststm32_black_f407ve | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407vg | platform_ststm32 | External | STM32F407VGT6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407ze | platform_ststm32 | External | STM32F407ZET6 | 168MHz | 512KB | 128KB
board_ststm32_black_f407zg | platform_ststm32 | External | STM32F407ZGT6 | 168MHz | 1MB | 128KB
board_ststm32_blackpill_f401cc | platform_ststm32 | External | STM32F401CCT6 | 84MHz | 256KB | 64KB
board_ststm32_blue_f407ve_mini | platform_ststm32 | External | STM32F407VET6 | 168MHz | 512KB | 128KB
board_ststm32_coreboard_f401rc | platform_ststm32 | External | STM32F401RCT6 | 84MHz | 256KB | 64KB
board_ststm32_nucleo_g071rb | platform_ststm32 | External | STM32G071RBT6 | 64MHz | 128KB | 36KB
board_ststm32_nucleo_g431kb | platform_ststm32 | External | STM32G431KBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g431rb | platform_ststm32 | External | STM32G431RBT6 | 170MHz | 128KB | 32KB
board_ststm32_nucleo_g474re | platform_ststm32 | External | STM32G474RET6 | 170MHz | 512KB | 128KB
board_ststm32_nucleo_wb55rg_p | platform_ststm32 | On-board | STM32WB55RG | 64MHz | 512KB | 192.00KB
board_ststm32_rhf76_052 | platform_ststm32 | External | STM32L051C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_f334c8 | platform_ststm32 | On-board | STM32F334C8T6 | 72MHz | 64KB | 12KB
board_ststm32_disco_f401vc | platform_ststm32 | On-board | STM32F401VCT6 | 84MHz | 256KB | 64KB
board_ststm32_disco_f411ve | platform_ststm32 | On-board | STM32F411VET6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_disco_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_disco_f469ni | platform_ststm32 | On-board | STM32F469NIH6 | 180MHz | 1MB | 384KB
board_ststm32_disco_f746ng | platform_ststm32 | On-board | STM32F746NGH6 | 216MHz | 1MB | 320KB
board_ststm32_disco_f769ni | platform_ststm32 | On-board | STM32F769NIH6 | 216MHz | 1MB | 512KB
board_ststm32_disco_l053c8 | platform_ststm32 | On-board | STM32L053C8T6 | 32MHz | 64KB | 8KB
board_ststm32_disco_l100rc | platform_ststm32 | On-board | STM32L100RCT6 | 32MHz | 256KB | 16KB
board_ststm32_disco_l476vg | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l496ag | platform_ststm32 | On-board | STM32L496AGI6 | 80MHz | 1MB | 320KB
board_ststm32_disco_l475vg_iot01a | platform_ststm32 | On-board | STM32L475VGT6 | 80MHz | 1MB | 128KB
board_ststm32_disco_l072cz_lrwan1 | platform_ststm32 | On-board | STM32L072CZ | 32MHz | 192KB | 20KB
board_ststm32_disco_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_nucleo_f031k6 | platform_ststm32 | On-board | STM32F031K6T6 | 48MHz | 32KB | 4KB
board_ststm32_nucleo_f042k6 | platform_ststm32 | On-board | STM32F042K6T6 | 48MHz | 32KB | 6KB
board_ststm32_nucleo_f070rb | platform_ststm32 | On-board | STM32F070RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f072rb | platform_ststm32 | On-board | STM32F072RBT6 | 48MHz | 128KB | 16KB
board_ststm32_nucleo_f091rc | platform_ststm32 | On-board | STM32F091RCT6 | 48MHz | 256KB | 32KB
board_ststm32_nucleo_f103rb | platform_ststm32 | On-board | STM32F103RBT6 | 72MHz | 128KB | 20KB
board_ststm32_nucleo_f207zg | platform_ststm32 | On-board | STM32F207ZGT6 | 120MHz | 1MB | 128KB
board_ststm32_nucleo_f302r8 | platform_ststm32 | On-board | STM32F302R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f303k8 | platform_ststm32 | On-board | STM32F303K8T6 | 72MHz | 64KB | 12KB
board_ststm32_nucleo_f303re | platform_ststm32 | On-board | STM32F303RET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f303ze | platform_ststm32 | On-board | STM32F303ZET6 | 72MHz | 512KB | 64KB
board_ststm32_nucleo_f334r8 | platform_ststm32 | On-board | STM32F334R8T6 | 72MHz | 64KB | 16KB
board_ststm32_nucleo_f401re | platform_ststm32 | On-board | STM32F401RET6 | 84MHz | 512KB | 96KB
board_ststm32_nucleo_f410rb | platform_ststm32 | On-board | STM32F410RBT6 | 100MHz | 128KB | 32KB
board_ststm32_nucleo_f411re | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f412zg | platform_ststm32 | On-board | STM32F412ZGT6 | 100MHz | 1MB | 256KB
board_ststm32_nucleo_f413zh | platform_ststm32 | On-board | STM32F413ZHT6 | 100MHz | 512KB | 128KB
board_ststm32_nucleo_f429zi | platform_ststm32 | On-board | STM32F429ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f439zi | platform_ststm32 | On-board | STM32F439ZIT6 | 180MHz | 2MB | 256KB
board_ststm32_nucleo_f446re | platform_ststm32 | On-board | STM32F446RET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f446ze | platform_ststm32 | On-board | STM32F446ZET6 | 180MHz | 512KB | 128KB
board_ststm32_nucleo_f722ze | platform_ststm32 | On-board | STM32F722ZET6 | 216MHz | 512KB | 256KB
board_ststm32_nucleo_f746zg | platform_ststm32 | On-board | STM32F746ZGT6 | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f756zg | platform_ststm32 | On-board | STM32F756ZG | 216MHz | 1MB | 320KB
board_ststm32_nucleo_f767zi | platform_ststm32 | On-board | STM32F767ZIT6 | 216MHz | 2MB | 512KB
board_ststm32_nucleo_h743zi | platform_ststm32 | On-board | STM32H743ZIT6 | 400MHz | 2MB | 512KB
board_ststm32_nucleo_l011k4 | platform_ststm32 | On-board | STM32L011K4T6 | 32MHz | 16KB | 2KB
board_ststm32_nucleo_l031k6 | platform_ststm32 | On-board | STM32L031K6T6 | 32MHz | 32KB | 8KB
board_ststm32_nucleo_l053r8 | platform_ststm32 | On-board | STM32L053R8T6 | 32MHz | 64KB | 8KB
board_ststm32_nucleo_l073rz | platform_ststm32 | On-board | STM32L073RZ | 32MHz | 192KB | 20KB
board_ststm32_nucleo_l152re | platform_ststm32 | On-board | STM32L152RET6 | 32MHz | 512KB | 80KB
board_ststm32_nucleo_l412kb | platform_ststm32 | On-board | STM32L412KBU6 | 80MHz | 128KB | 40KB
board_ststm32_nucleo_l432kc | platform_ststm32 | On-board | STM32L432KCU6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l433rc_p | platform_ststm32 | On-board | STM32L433RC | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l452re | platform_ststm32 | On-board | STM32L452RET6 | 80MHz | 256KB | 64KB
board_ststm32_nucleo_l476rg | platform_ststm32 | On-board | STM32L476RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l486rg | platform_ststm32 | On-board | STM32L486RGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg | platform_ststm32 | On-board | STM32L496ZGT6 | 80MHz | 1MB | 128KB
board_ststm32_nucleo_l496zg_p | platform_ststm32 | On-board | STM32L496ZGT6P | 80MHz | 1MB | 320KB
board_ststm32_nucleo_l4r5zi | platform_ststm32 | On-board | STM32L4R5ZIT6 | 120MHz | 2MB | 640KB
board_ststm32_disco_f030r8 | platform_ststm32 | On-board | STM32F030R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f051r8 | platform_ststm32 | On-board | STM32F051R8T6 | 48MHz | 64KB | 8KB
board_ststm32_disco_f303vc | platform_ststm32 | On-board | STM32F303VCT6 | 72MHz | 256KB | 48KB
board_ststm32_disco_f407vg | platform_ststm32 | On-board | STM32F407VGT6 | 168MHz | 1MB | 128KB
board_ststm32_eval_l073z | platform_ststm32 | On-board | STM32L073VZT6 | 32MHz | 192KB | 20KB
board_ststm32_disco_l152rb | platform_ststm32 | On-board | STM32L152RBT6 | 32MHz | 128KB | 16KB
board_ststm32_disco_f100rb | platform_ststm32 | On-board | STM32F100RBT6 | 24MHz | 128KB | 8KB
board_ststm8_stm8sdisco | platform_ststm8 | On-board | STM8S105C6T6 | 16MHz | 32KB | 2KB
board_ststm32_steval_fcu001v1 | platform_ststm32 | External | STM32F401CCU6 | 84MHz | 256KB | 64KB
board_ststm32_eval_f107vc | platform_ststm32 | External | STM32F107VCT6 | 72MHz | 256KB | 64KB
board_ststm32_eval_f373vc | platform_ststm32 | External | STM32F373VCT6 | 72MHz | 256KB | 32KB
board_ststm32_eval_f072vb | platform_ststm32 | External | STM32F072VBT6 | 48MHz | 128KB | 16KB
board_ststm32_disco_f750n8 | platform_ststm32 | On-board | STM32F750N8H6 | 216MHz | 64KB | 340KB
board_ststm32_disco_h743xi | platform_ststm32 | On-board | STM32H747XIH6 | 400MHz | 2MB | 512KB
board_ststm32_steval_mksboxv1 | platform_ststm32 | External | STM32L4R9ZI | 120MHz | 2MB | 640KB

  SainSmart
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sainSmartDue | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB
board_atmelsam_sainSmartDueUSB | platform_atmelsam | External | AT91SAM3X8E | 84MHz | 512KB | 96KB

  Sanguino
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sanguino_atmega1284p | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega1284_8m | platform_atmelavr | On-board | ATMEGA1284P | 8MHz | 127KB | 16KB
board_atmelavr_sanguino_atmega644 | platform_atmelavr | On-board | ATMEGA644 | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644_8m | platform_atmelavr | On-board | ATMEGA644 | 8MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p | platform_atmelavr | On-board | ATMEGA644P | 16MHz | 63KB | 4KB
board_atmelavr_sanguino_atmega644p_8m | platform_atmelavr | On-board | ATMEGA644P | 8MHz | 63KB | 4KB

  Seeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_seeeduino_lorawan | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  SeeedStudio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_seeedArchBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 16KB
board_nordicnrf51_seeedArchLink | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_seeedArchMax | platform_ststm32 | On-board | STM32F407VET6 | 168MHz | 512KB | 192KB
board_nxplpc_seeedArchPro | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_nordicnrf51_seeedTinyBLE | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_ststm32_wio_3g | platform_ststm32 | On-board | STM32F439VI | 180MHz | 2MB | 256KB
board_atmelavr_seeeduino | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_gd32v_wio_lite_risc-v | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB

  Semtech
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mote_l152rc | platform_ststm32 | External | STM32L152RC | 32MHz | 256KB | 32KB

  SiFive
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_sifive_hifive-unleashed | platform_sifive | On-board | FU540 | 1500MHz | 32MB | 8GB
board_sifive_hifive1 | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_hifive1-revb | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB

  Sigma Delta Technologies
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_sdt52832b | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  Silicognition
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_wesp32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Silicon Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_siliconlabsefm32_efm32gg_stk3700 | platform_siliconlabsefm32 | On-board | EFM32GG990F1024 | 48MHz | 1MB | 128KB
board_siliconlabsefm32_efm32lg_stk3600 | platform_siliconlabsefm32 | On-board | EFM32LG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32wg_stk3800 | platform_siliconlabsefm32 | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
board_siliconlabsefm32_efm32zg_stk3200 | platform_siliconlabsefm32 | On-board | EFM32ZG222F32 | 24MHz | 32KB | 4KB
board_siliconlabsefm32_efm32hg_stk3400 | platform_siliconlabsefm32 | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB
board_siliconlabsefm32_efm32pg_stk3401 | platform_siliconlabsefm32 | On-board | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
board_siliconlabsefm32_tb_sense_12 | platform_siliconlabsefm32 | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB

  Sipeed
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_gd32v_gd32vf103v-eval | platform_gd32v | External | GD32VF103VBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano | platform_gd32v | External | GD32VF103CBT6 | 108MHz | 128KB | 32KB
board_gd32v_sipeed-longan-nano-lite | platform_gd32v | External | GD32VF103C8T6 | 108MHz | 64KB | 20KB
board_kendryte210_sipeed-maix-bit | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-bit-mic | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-go | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maix-one-dock | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-maixduino | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB
board_kendryte210_sipeed-MF1 | platform_kendryte210 | External | K210 | 400MHz | 16MB | 6MB

  Solder Splash Labs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc1347 | platform_nxplpc | External | LPC1347 | 72MHz | 64KB | 12KB
board_nxplpc_dipcortexm0 | platform_nxplpc | External | LPC11U24 | 50MHz | 32KB | 8KB

  SparkFun
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelsam_sparkfun_samd21_9dof | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_sparkfun_satmega128rfa1 | platform_atmelavr | On-board | ATMEGA128RFA1 | 16MHz | 16KB | 124KB
board_atmelavr_sparkfun_digitalsandbox | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_fiov3 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_espressif32_sparkfun_lora_gateway_1-channel | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_atmelavr_sparkfun_makeymakey | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_megapro8MHz | platform_atmelavr | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_sparkfun_megapro16MHz | platform_atmelavr | On-board | ATMEGA2560 | 16MHz | 248KB | 8KB
board_atmelavr_sparkfun_megamini | platform_atmelavr | On-board | ATMEGA2560 | 8MHz | 252KB | 8KB
board_atmelavr_uview | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelavr_sparkfun_promicro8 | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_promicro16 | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB
board_atmelavr_sparkfun_qduinomini | platform_atmelavr | On-board | ATMEGA32U4 | 8MHz | 28KB | 2.50KB
board_atmelsam_sparkfun_qwiic_micro_samd21e | platform_atmelsam | External | SAMD21E18A | 48MHz | 256KB | 32KB
board_sifive_sparkfun_redboard_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_sifive_sparkfun_thing_plus_v | platform_sifive | On-board | FE310 | 320MHz | 16MB | 16KB
board_atmelavr_sparkfun_redboard | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB
board_atmelsam_sparkfun_redboard_turbo | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_dev_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_mini_usb | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelsam_sparkfun_samd21_proRF | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_atmelavr_sparkfun_serial7seg | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 31.50KB | 2KB

  SparkFun Electronics
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_esp32thing | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  SpellFoundry
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_sleepypi | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB

  Switch Science
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_hrm1017 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB
board_nxplpc_lpc1114fn28 | platform_nxplpc | On-board | LPC1114FN28 | 48MHz | 32KB | 4KB
board_nxplpc_ssci824 | platform_nxplpc | On-board | LPC824 | 30MHz | 32KB | 8KB
board_nordicnrf51_ty51822r3 | platform_nordicnrf51 | On-board | NRF51822 | 32MHz | 256KB | 32KB

  TI
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_timsp430_lpmsp430fr5739 | platform_timsp430 | On-board | MSP430FR5739 | 16MHz | 15.37KB | 1KB
board_titiva_lplm4f120h5qr | platform_titiva | On-board | LPLM4F120H5QR | 80MHz | 256KB | 32KB
board_titiva_lptm4c1230c3pm | platform_titiva | On-board | LPTM4C1230C3PM | 80MHz | 256KB | 32KB
board_titiva_lptm4c1294ncpdt | platform_titiva | On-board | LPTM4C1294NCPDT | 120MHz | 1MB | 256KB
board_timsp430_lpmsp430f5529 | platform_timsp430 | On-board | MSP430F5529 | 25MHz | 47KB | 8KB
board_timsp430_lpmsp430fr2311 | platform_timsp430 | On-board | MSP430FR2311 | 16MHz | 3.75KB | 1KB
board_timsp430_lpmsp430fr2433 | platform_timsp430 | On-board | MSP430FR2433 | 8MHz | 15KB | 4KB
board_timsp430_lpmsp430fr4133 | platform_timsp430 | On-board | MSP430FR4133 | 8MHz | 15KB | 2KB
board_timsp430_lpmsp430fr5969 | platform_timsp430 | On-board | MSP430FR5969 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430fr5994 | platform_timsp430 | On-board | MSP430FR5994 | 16MHz | 256KB | 4KB
board_timsp430_lpmsp430fr6989 | platform_timsp430 | On-board | MSP430FR6989 | 8MHz | 47KB | 2KB
board_timsp430_lpmsp430g2231 | platform_timsp430 | On-board | MSP430G2231 | 1MHz | 2KB | 256B
board_timsp430_lpmsp430g2452 | platform_timsp430 | On-board | MSP430G2452 | 16MHz | 8KB | 256B
board_timsp430_lpmsp430g2553 | platform_timsp430 | On-board | MSP430G2553 | 16MHz | 16KB | 512B

  TTGO
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_ttgo-lora32-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-lora32-v2 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_ttgo-t-beam | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 1.25MB
board_espressif32_ttgo-t1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  Taida Century
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf52_stct_nrf52_minidev | platform_nordicnrf52 | External | NRF52832 | 64MHz | 512KB | 64KB

  TauLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sparky_v1 | platform_ststm32 | External | STM32F303CCT6 | 72MHz | 256KB | 40KB

  Teensy
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_teensy_teensy31 | platform_teensy | External | MK20DX256 | 72MHz | 256KB | 64KB
board_teensy_teensy35 | platform_teensy | External | MK64FX512 | 120MHz | 512KB | 255.99KB
board_teensy_teensy36 | platform_teensy | External | MK66FX1M0 | 180MHz | 1MB | 256KB
board_teensy_teensy40 | platform_teensy | External | IMXRT1062 | 600MHz | 1.94MB | 512KB
board_teensy_teensy41 | platform_teensy | External | IMXRT1062 | 600MHz | 7.75MB | 512KB
board_teensy_teensylc | platform_teensy | External | MKL26Z64 | 48MHz | 62KB | 8KB

  ThaiEasyElec
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_espino32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  The Things Network
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_the_things_uno | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  ThunderPack
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_thunder_pack | platform_ststm32 | External | STM32L072KZ | 32MHz | 192KB | 20KB

  Till Harbaum
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ftduino | platform_atmelavr | On-board | ATMEGA32U4 | 16MHz | 28KB | 2.50KB

  TinyCircuits
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_tinyduino | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB
board_atmelavr_tinylily | platform_atmelavr | On-board | ATMEGA328P | 8MHz | 30KB | 2KB

  Unknown
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_fm-devkit | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  VAE
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_vake_v1 | platform_ststm32 | External | STM32F446RET6 | 180MHz | 512KB | 128KB

  VNG
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_vbluno51 | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 128KB | 32KB
board_nordicnrf52_vbluno52 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB

  VintLabs
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_vintlabs-devkit-v1 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  WEMOS
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_lolin_d32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin_d32_pro | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_lolin32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemos_d1_mini32 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_wemosbat | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  WIZNet
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_wiznet7500_wizwiki_w7500 | platform_wiznet7500 | On-board | WIZNET7500 | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500eco | platform_wiznet7500 | On-board | WIZNET7500ECO | 48MHz | 128KB | 48KB
board_wiznet7500_wizwiki_w7500p | platform_wiznet7500 | On-board | WIZNET7500P | 48MHz | 128KB | 48KB

  Waveshare
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_waveshare_ble400 | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  Wicked Device
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_wildfirev2 | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 120.00KB | 16KB
board_atmelavr_wildfirev3 | platform_atmelavr | On-board | ATMEGA1284P | 16MHz | 127KB | 16KB

  Wisen
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_whispernode | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  Xilinx
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_shakti_artix7_35t | platform_shakti | On-board | E-CLASS | 50MHz | 0B | 128KB
board_shakti_artix7_100t | platform_shakti | On-board | C-CLASS | 50MHz | 0B | 128MB
board_sifive_e310-arty | platform_sifive | On-board | FE310 | 450MHz | 16MB | 256MB

  XinaBox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_xinabox_cw02 | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  meteca
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_briki_abc_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_abc_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB
board_espressif32_briki_mbc-wb_esp32 | platform_espressif32 | External | ESP32 | 240MHz | 3.25MB | 320KB
board_atmelsam_briki_mbcwb_samd21 | platform_atmelsam | External | SAMD21G18A | 48MHz | 256KB | 32KB

  ng-beacon
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_ng_beacon | platform_nordicnrf51 | External | NRF51822 | 16MHz | 256KB | 32KB

  nicai-systems
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_bob3 | platform_atmelavr | On-board | ATMEGA88 | 8MHz | 8KB | 1KB
board_atmelavr_nibo2 | platform_atmelavr | On-board | ATMEGA128 | 16MHz | 128KB | 4KB
board_atmelavr_niboburger | platform_atmelavr | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_niboburger_1284 | platform_atmelavr | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB
board_atmelavr_nibobee | platform_atmelavr | On-board | ATMEGA16 | 15MHz | 16KB | 1KB
board_atmelavr_nibobee_1284 | platform_atmelavr | On-board | ATMEGA1284P | 20MHz | 128KB | 16KB

  oddWires
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_espressif32_iotbusio | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB
board_espressif32_iotbusproteus | platform_espressif32 | External | ESP32 | 240MHz | 4MB | 320KB

  rhomb.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_rhombio_l476dmw1k | platform_ststm32 | On-board | STM32L476VGT6 | 80MHz | 1MB | 128KB

  sakura.io
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_sakuraio_evb_01 | platform_ststm32 | On-board | STM32F411RET6 | 100MHz | 1MB | 128KB

  sino:bit
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nordicnrf51_Sinobit | platform_nordicnrf51 | External | NRF51822 | 32MHz | 256KB | 32KB

  u-blox
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_ststm32_mbed_connect_odin | platform_ststm32 | On-board | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_nxplpc_ubloxc027 | platform_nxplpc | On-board | LPC1768 | 96MHz | 512KB | 64KB
board_ststm32_ublox_c030_n211 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_r410m | platform_ststm32 | On-board | STM32F437VG | 180MHz | 1MB | 256KB
board_ststm32_ublox_c030_u201 | platform_ststm32 | External | STM32F437VG | 180MHz | 1MB | 256KB
board_nordicnrf52_ublox_evk_nina_b1 | platform_nordicnrf52 | On-board | NRF52832 | 64MHz | 512KB | 64KB
board_ststm32_ublox_evk_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB
board_ststm32_mtb_ublox_odin_w2 | platform_ststm32 | External | STM32F439ZIY6 | 168MHz | 2MB | 256KB

  ubIQio
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_atmelavr_ardhat | platform_atmelavr | On-board | ATMEGA328P | 16MHz | 31.50KB | 2KB

  y5 design
Name | Platform | Debug | MCU | Frequency | Flash | RAM
board_nxplpc_lpc11u35_y5_mbug | platform_nxplpc | External | LPC11U35 | 48MHz | 64KB | 10KB
board_nordicnrf51_nrf51822_y5_mbug | platform_nordicnrf51 | On-board | NRF51822 | 16MHz | 256KB | 16KB

  PIO Unit Testing

PIO Unit Testing allows segregating each part of the firmware/program and testing that the individual parts are working correctly. Using PIO Unit Testing Engine you can execute the same tests on the local host machine (native), on the multiple local embedded devices/boards (connected to local host machine), or on both. When testing both, PlatformIO builds firmware on the host machine, uploads into a target device, starts tests, and collects the test results into test reports. The final information will be shown on the host side with informative output and statistic.

Using pioremote you can start unit tests on the Remote Device from anywhere in the world or integrate with ci systems.

  Contents

    •   Demo

    •   Tutorials and Examples

        •   Tutorials

        •   Project Examples

    •   Configuration

    •   Test Types

        •   Desktop

        •   Embedded

    •   Test Runner

        •   Local

        •   Remote

    •   Test Transport

    •   Workflow

        •   Shared Code

    •   API

    •   CLI Guide

  Demo

This is a demo of Local & Embedded: Calculator, which demonstrates running embedded tests on physical hardware (board_atmelavr_uno) and native tests on host machine (desktop).

Learn more about cmd_test command. .SS Tutorials and Examples

  Tutorials

    •   tutorial_unit_testing_blink

    •   tutorial_stm32cube_debugging_unit_testing

    •   ThingForward: Start Embedded Testing with PlatformIO

    •   ThingForward: Embedded Testing with PlatformIO - Part 2

    •   ThingForward: Embedded Testing with PlatformIO – Part 3: Remoting

    •   ThingForward: Embedded Testing with PlatformIO – Part 4: Continuous Integration

    •   ThingForward, Webinar: Unit Testing for Embedded with PlatformIO and Qt Creator

    •   Xose Pérez: Automated unit testing in the metal

  Project Examples

    •   Embedded: Wiring Blink

    •   Local & Embedded: Calculator

    •   PlatformIO Remote Unit Testing Example

For the other examples and source code please follow to PlatformIO Unit Testing Examples repository.

  Configuration

PIO Unit Testing Engine can be configured from projectconf

  Test Types

  Desktop

PIO Unit Testing Engine builds a test program for a host machine using platform_native development platform. This test could be run only with the desktop or ci VM instance.

NOTE:
        PlatformIO does not install any toolchains automatically for platform_native and requires GCC toolchain to be installed on your host machine. Please open Terminal and check that the gcc command is installed.

  Embedded

PIO Unit Testing Engine builds a special firmware for a target device (board) and programs it. Then, it connects to this device using configured Serial projectconf_test_port and communicates via projectconf_test_transport. Finally, it runs tests on the embedded side, collects results, analyzes them, and provides a summary on a host machine side (desktop).

NOTE:
        Please note that the PIO Unit Testing Engine uses the first available Serial/UART implementation (depending on a projectconf_env_framework) as a communication interface between the PIO Unit Testing Engine and target device. If you use Serial in your project libraries, please wrap/hide Serial-based blocks with #ifndef UNIT_TEST macro.

        Also, you can create custom projectconf_test_transport and implement the base interface.

  Test Runner

Test Runner allows you to process specific environments or ignore a test using "Glob patterns". You can also ignore a test for specific environments using a projectconf_test_ignore option from projectconf.

  Local

Allows you to run a test on a host machine or on a target device (board), which is directly connected to the host machine. In this case, you need to use the cmd_test command.

  Remote

Allows you to run test on a remote machine or remote target device (board) without having to depend on OS software, extra software, SSH, VPN or opening network ports. Remote Unit Testing works in pair with pioremote. In this case, you need to use the special command cmd_remote_test.

PlatformIO supports multiple ci systems where you can run unit tests at each integration stage. See real PlatformIO Remote Unit Testing Example.

  Test Transport

PIO Unit Testing Engine engine uses different transports to communicate with a target device. By default, it uses Serial/UART transport provided by a projectconf_env_framework. For example, when "projectconf_env_framework = arduino", the first available Serial will be used. When platform_native dev-platform is used a native transport will be activated automatically. See example below.

Default baudrate/speed is set to projectconf_test_speed.

You can also define custom transport and implement its interface:

    •   unittest_uart_begin();

    •   unittest_uart_putchar(char c);

    •   unittest_uart_flush();

    •   unittest_uart_end();

Examples

    1.  Custom transport for platform_native platform

            •   Set test_transport = custom in projectconf

                [env:mycustomtransport]
                platform = native
                test_transport = custom

            •   Create unittest_transport.h file in project/test directory and implement prototypes above

                #ifndef UNITTEST_TRANSPORT_H
                #define UNITTEST_TRANSPORT_H

                #include <stdio.h>

                void unittest_uart_begin() {

                }

                void unittest_uart_putchar(char c) {
                  putchar(c);
                }

                void unittest_uart_flush() {
                  fflush(stdout);
                }

                void unittest_uart_end() {

                }

                #endif

    2.  tutorial_stm32cube_debugging_unit_testing

  Workflow

    1.  Create PlatformIO project using the cmd_project_init command. For Desktop Unit Testing (on a host machine), you need to use platform_native.

            ; PlatformIO Project Configuration File
            ;
            ;   Build options: build flags, source filter, extra scripting
            ;   Upload options: custom port, speed and extra flags
            ;   Library options: dependencies, extra library storages
            ;
            ; Please visit documentation for the other options and examples
            ; https://docs.platformio.org/page/projectconf.html

            ;
            ; Embedded platforms
            ;

            [env:uno]
            platform = atmelavr
            framework = arduino
            board = uno

            [env:nodemcu]
            platform = espressif8266
            framework = arduino
            board = nodemcuv2

            ;
            ; Desktop platforms (Win, Mac, Linux, Raspberry Pi, etc)
            ; See https://platformio.org/platforms/native
            ;

            [env:native]
            platform = native

    2.  Create a test folder in a root of your project. See projectconf_pio_test_dir.

    3.  Write a test using API. Each test is a small independent program/firmware with its own main() or setup()/loop() functions. Test should start with UNITY_BEGIN() and finish with UNITY_END() calls.

        WARNING:
            If your board does not support software resetting via Serial.DTR/RTS, you should add at least 2 seconds delay before UNITY_BEGIN(). That time is needed to establish a Serial connection between a host machine and a target device.

                    delay(2000); // for Arduino framework
                    wait(2);     // for ARM mbed framework
                    UNITY_BEGIN();

    4.  Place a test in the test directory. If you have more than one test, split them into sub-folders. For example, test/test_1/*.[c,cpp,h], test_N/*.[c,cpp,h], etc. If there is no such directory in the test folder, then PIO Unit Testing Engine will treat the source code of test folder as SINGLE test.

    5.  Run tests using the cmd_test command.

  Shared Code

PIO Unit Testing Engine does not build source code from projectconf_pio_src_dir folder by default. If you have a shared/common code between your "main" and "test" programs, you have 2 options:

    1.  RECOMMENDED. We recommend splitting the source code into multiple components and placing them into projectconf_pio_lib_dir (project's private libraries and components). ldf will find and include these libraries automatically in the build process. You can include any library/component header file in your test or program source code via #include <MyComponent.h>.

        See Local & Embedded: Calculator for an example, where we have a "calculator" component in projectconf_pio_lib_dir folder and include it in tests and the main program using #include <calculator.h>.

    2.  Manually instruct PlatformIO to build source code from projectconf_pio_src_dir folder using projectconf_test_build_project_src option in projectconf:

            [env:myenv]
            platform = ...
            test_build_project_src = true

    This is very useful if you unit test independent libraries where you can't split source code.

    WARNING:
            Please note that you will need to use #ifdef UNIT_TEST and #endif guard to hide non-test related source code. For example, own main() or setup() / loop() functions.

  API

Summary of the Unity Test API:

    •   Running Tests

        •   RUN_TEST(func)

    •   Ignoring Tests

        •   TEST_IGNORE()

        •   TEST_IGNORE_MESSAGE (message)

    •   Aborting Tests

        •   TEST_PROTECT()

        •   TEST_ABORT()

    •   Basic Validity Tests

        •   TEST_ASSERT_TRUE(condition)

        •   TEST_ASSERT_FALSE(condition)

        •   TEST_ASSERT(condition)

        •   TEST_ASSERT_UNLESS(condition)

        •   TEST_FAIL()

        •   TEST_FAIL_MESSAGE(message)

    •   Numerical Assertions: Integers

        •   TEST_ASSERT_EQUAL_INT(expected, actual)

        •   TEST_ASSERT_EQUAL_INT8(expected, actual)

        •   TEST_ASSERT_EQUAL_INT16(expected, actual)

        •   TEST_ASSERT_EQUAL_INT32(expected, actual)

        •   TEST_ASSERT_EQUAL_INT64(expected, actual)

        •   TEST_ASSERT_EQUAL_UINT(expected, actual)

        •   TEST_ASSERT_EQUAL_UINT8(expected, actual)

        •   TEST_ASSERT_EQUAL_UINT16(expected, actual)

        •   TEST_ASSERT_EQUAL_UINT32(expected, actual)

        •   TEST_ASSERT_EQUAL_UINT64(expected, actual)

        •   TEST_ASSERT_EQUAL_HEX(expected, actual)

        •   TEST_ASSERT_EQUAL_HEX8(expected, actual)

        •   TEST_ASSERT_EQUAL_HEX16(expected, actual)

        •   TEST_ASSERT_EQUAL_HEX32(expected, actual)

        •   TEST_ASSERT_EQUAL_HEX64(expected, actual)

        •   TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, elements)

        •   TEST_ASSERT_EQUAL(expected, actual)

        •   TEST_ASSERT_INT_WITHIN(delta, expected, actual)

    •   Numerical Assertions: Bitwise

        •   TEST_ASSERT_BITS(mask, expected, actual)

        •   TEST_ASSERT_BITS_HIGH(mask, actual)

        •   TEST_ASSERT_BITS_LOW(mask, actual)

        •   TEST_ASSERT_BIT_HIGH(mask, actual)

        •   TEST_ASSERT_BIT_LOW(mask, actual)

    •   Numerical Assertions: Floats

        •   TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual)

        •   TEST_ASSERT_EQUAL_FLOAT(expected, actual)

        •   TEST_ASSERT_EQUAL_DOUBLE(expected, actual)

    •   String Assertions

        •   TEST_ASSERT_EQUAL_STRING(expected, actual)

        •   TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)

        •   TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message)

        •   TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message)

    •   Pointer Assertions

        •   TEST_ASSERT_NULL(pointer)

        •   TEST_ASSERT_NOT_NULL(pointer)

    •   Memory Assertions

        •   TEST_ASSERT_EQUAL_MEMORY(expected, actual, len)

  CLI Guide

  Cloud & Desktop IDE

  Native Extensions

Native extensions and plugins provide official integration with IDEs/Text Editors and contain built-in piocore and piohome. We highly recommend to use the next native integrations for:

    •   ide_vscode

    •   ide_clion (Experimental)

NOTE:
        In our experience, ide_vscode offers better system performance, and users have found it easier to get started

  Cloud IDE

  Cloud9

Cloud9 combines a powerful online code editor with a full Ubuntu workspace in the cloud. Workspaces are powered by Docker Ubuntu containers that give you full freedom over your environment, including sudo rights. Do a git push, compile SASS, see server output, and Run apps easily with the built-in Terminal and Runners.

  Contents

    •   Cloud9

        •   Demo

        •   Integration

        •   Quick Start

        •   PlatformIO Build System

        •   Remote Device Manager

        •   Remote Firmware Uploading

        •   Remote Serial Port Monitor

        •   Multi-Project workspace

NOTE:

            1.  Please make sure to read pioremote guide first.

            2.  You need pioaccount if you don't have it. Registration is FREE.

            3.  You should have a running cmd_remote_agent on a remote machine where hardware devices are connected physically or accessible for the remote operations. See PIO Remote pio_remote_quickstart for details.

  Demo
.SS Integration

    1.  Sign in to Cloud9. A registration is FREE and gives you for FREE 1 private workspace (where you can host multiple PlatformIO Projects) and unlimited public workspaces.

    2.  Create a new workspace using Blank template
[image]

    3.  Install piocore using Cloud IDE Terminal. Paste a next command

        sudo python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)"
[image]

    4.  Log in to pioaccount using cmd_account_login command.

  Quick Start

Let's create our first PlatformIO-based Cloud9 Project

    1.  Initialize new PlatformIO-based Project. Run a next command in Cloud IDE Terminal:

            platformio project init --board <ID>

            # initialize project for Arduino Uno
            platformio project init --board uno

    To get board ID please use cmd_boards command or Embedded Boards Explorer.

    2.  Create new source file named main.cpp in src folder using Project Tree (left side). Please make right click on src folder, then "New File" and insert a next content:

            #include <Arduino.h>

            int i = 0;

            void setup() {
                Serial.begin(9600);
                Serial.println("Hello Cloud9!");
            }

            void loop() {
                /*  serial echo */
                while (Serial.available()) {
                    Serial.write(Serial.read());
                }

                i++;
                Serial.println(i);
                delay(100);
            }
[image]

    3.  If you prefer to work with piocore CLI, then you can process project using Cloud IDE Terminal and the next commands:

        •   cmd_run - build project locally (using Cloud IDE's virtual machine)

        •   pio run -t clean - clean project

        •   pio remote run -t upload - upload firmware (program) to a remote device

        •   cmd_remote_device_list - list available remote devices

        •   cmd_remote_device_monitor - Remote Serial Port Monitor

    If you are interested in better integration with Cloud9 and GUI, please read guide below where we will explain how to create custom Build System for PlatformIO and own Runners.

  PlatformIO Build System

Cloud9 allows one to create own build system and use hotkey or command (Menu: Run > Build) to build a project.

Let's create PlatformIO Build System that will be used for C/C++/H/INO/PDE files by default. Please click on Menu: Run > Build System > New Build System and replace all content with the next:

        {
            "cmd" : ["pio", "run", "-d", "$file"],
            "info" : "Building $project_path/$file_name",
            "selector": "^.*\\.(cpp|c|h|hpp|S|ini|ino|pde)$"
        }

Save new Build System and give a name PIOBuilder. Now, you can select it as default Build System using Menu: Run > Build System > PIOBuilder.

  Remote Device Manager

Remote Device Manager works in pair with pioremote. You can list remote devices that are connected to host machine where cmd_remote_agent is started or are visible for it.

Let's create New Run Configuration (shortcut) that will be used for Remote Device Manager. Please click on Menu: Run > Run Configurations > Manage..., then "Add New Config" and specify the next values:

    •   First Blank Input: a name of runner. Please set it to "PIO: Remote Devices"

    •   Command: set to pio remote device list

    •   Runner: set to "Shell command"
[image]

  Remote Firmware Uploading

Remote Firmware Uploading works in pair with pioremote. You can deploy firmware (program) to any devices which are visible for cmd_remote_agent.

Let's create New Run Configuration (shortcut) that will be used for Remote Firmware Uploading. Please click on Menu: Run > Run Configurations > Manage..., then "Add New Config" and specify the next values:

    •   First Blank Input: a name of runner. Please set it to "PIO: Remote Upload"

    •   Command: set to pio remote run -t upload

    •   Runner: set to "Shell command"
[image]

  Remote Serial Port Monitor

Remote Serial Port Monitor works in pair with pioremote. You can read or send data to any device that is connected to host machine where cmd_remote_agent is started. To list active agents please use this command cmd_remote_agent_list.

Let's create New Run Configuration (shortcut) that will be used for Remote Serial Port Monitor. Please click on Menu: Run > Run Configurations > Manage..., then "Add New Config" and specify the next values:

    •   First Blank Input: a name of runner. Please set it to "PIO: Remote Serial Monitor"

    •   Command: set to pio remote device monitor

    •   Runner: set to "Shell command"
[image]

  Multi-Project workspace

You can have multiple PlatformIO-based Projects in the same workspace. We recommend a next folders structure:

        ├── project-A
        │   ├── lib
        │   │   └── README
        │   ├── platformio.ini
        │   └── src
        │       └── main.ino
        └── project-B
            ├── lib
            │   └── README
            ├── platformio.ini
            └── src
                ├── main.cpp
                └── main.h

In this case, you need to create 2 "New Run Configuration" for Remote Firmware Uploading with using the next commands:

    •   pio remote run --project-dir project-A -t upload for Project-A

    •   pio remote run -d project-B -t upload for Project-B

See documentation for platformio remote run --project-dir option.

  Codeanywhere

Codeanywhere is a Cross Platform Cloud IDE and it has all the features of Desktop IDE but with additional features only a cloud application can give you! Codeanywhere is very flexible and you can set up your workflow any way you want it. The elegant development environment will let you focus on building great applications quicker. All the features you will need for any coding task are built into Codeanywhere, making development more productive and fun.

  Contents

    •   Codeanywhere

        •   Demo

        •   Integration

        •   Quick Start

        •   Run Button

        •   Remote Device Manager

        •   Remote Firmware Uploading

        •   Remote Serial Port Monitor

        •   Multi-Project workspace

NOTE:

            1.  Please make sure to read pioremote guide first.

            2.  You need pioaccount if you don't have it. Registration is FREE.

            3.  You should have a running cmd_remote_agent on a remote machine where hardware devices are connected physically or accessible for the remote operations. See PIO Remote pio_remote_quickstart for details.

  Demo
.SS Integration

    1.  Sign in to Codeanywhere. A registration is FREE and gives you unlimited private projects within the one Container.

    2.  Open Dashboard Projects

    3.  Create a new Project and open it. In Connection Wizard create new Container:

        •   Name set to "PlatformIO"

        •   Stack search for Python stack (not Python3) that is based on Ubuntu OS.

        •   Click on "Create" button.
[image]

    4.  Open SSH-Terminal tab (right click on Container (PlatformIO) > SSH Terminal) and install piocore using a next command

        sudo python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)"
[image]

    5.  Log in to pioaccount using cmd_account_login command.

  Quick Start

Let's create our first PlatformIO-based Codeanywhere Project

    1.  Initialize new PlatformIO-based Project. Run a next command in a Cloud IDE SSH Terminal:

            platformio project init --board <ID>

            # initialize project for Arduino Uno
            platformio project init --board uno

    To get board ID please use cmd_boards command or Embedded Boards Explorer.

    If you do not see created project, please refresh Project Tree using right-click on Container Name (PlatformIO) > Refresh.

    2.  Create new source file named main.cpp in src folder using Project Tree (left side). Please make right click on src folder, then "Create File" and insert a next content:

            #include <Arduino.h>

            int i = 0;

            void setup() {
                Serial.begin(9600);
                Serial.println("Hello Codeanywhere!");
            }

            void loop() {
                /*  serial echo */
                while (Serial.available()) {
                    Serial.write(Serial.read());
                }

                i++;
                Serial.println(i);
                delay(100);
            }
[image]

    3.  If you prefer to work with piocore CLI, then you can process project using Cloud IDE SSH Terminal and the next commands:

        •   cmd_run - build project locally (using Cloud IDE's virtual machine)

        •   pio run -t clean - clean project

        •   pio remote run -t upload - upload firmware (program) to a remote device

        •   cmd_remote_device_list - list available remote devices

        •   cmd_remote_device_monitor - Remote Serial Port Monitor

    4.  We recommend to hide "Hidden Files". You can do that via Cloud IDE Menu: View > Show Hidden Files.

  Run Button

Codeanywhere provides a quick "Run Project" button where you can specify own command. Let's add "PlatformIO Build Project" command:

    1.  Open "Project Config" via right click on Container Name (PlatformIO) > Config

    2.  Set commands field to

                    "commands": [
                        "pio run"
                    ]

    3.  Save configuration file.

Now, try to click on "Run Project" button. You can assign any PlatformIO command to this button. [image]

  Remote Device Manager

Remote Device Manager works in pair with pioremote. You can list remote devices that are connected to host machine where cmd_remote_agent is started or are visible for it.

    1.  Open Cloud IDE SSH Terminal

    2.  Paste this command

                    pio remote device list
[image]

  Remote Firmware Uploading

Remote Firmware Uploading works in pair with pioremote. You can deploy firmware to any devices which are visible for cmd_remote_agent.

    1.  Open Cloud IDE SSH Terminal

    2.  Paste this command

                    pio remote run -t upload
[image]

  Remote Serial Port Monitor

Remote Serial Port Monitor works in pair with pioremote. You can read or send data to any device that is connected to host machine where cmd_remote_agent is started. To list active agents please use this command cmd_remote_agent_list.

    1.  Open Cloud IDE SSH Terminal

    2.  Paste this command

                    pio remote device monitor
[image]

  Multi-Project workspace

You can have multiple PlatformIO-based Projects in the same workspace. We recommend a next folders structure:

        ├── project-A
        │   ├── lib
        │   │   └── README
        │   ├── platformio.ini
        │   └── src
        │       └── main.ino
        └── project-B
            ├── lib
            │   └── README
            ├── platformio.ini
            └── src
                ├── main.cpp
                └── main.h

In this case, you need to use -d, --project-dir option for cmd_run or cmd_remote_run commands:

    •   pio remote run --project-dir project-A -t upload build Project-A

    •

        pio remote run --project-dir project-A -t upload remote firmware uploading
            using Project-A

    •

        pio remote run -d project-B -t upload remote firmware (program) uploading
            using Project-B

See documentation for platformio remote run --project-dir option.

  Eclipse Che

Eclipse Che is an open-source Java based developer workspace server and cloud integrated development environment (IDE) which provides a remote development platform for multi-user purpose. The workspace server comes with a RESTful webservice and provides high flexibility. It also contains a SDK which can be used to create plug-ins for languages, frameworks or tools.

  Contents

    •   Eclipse Che

        •   Demo

        •   Integration

        •   Quick Start

        •   Multi-Project workspace

NOTE:

            1.  Please make sure to read pioremote guide first.

            2.  You need pioaccount if you don't have it. Registration is FREE.

            3.  You should have a running cmd_remote_agent on a remote machine where hardware devices are connected physically or accessible for the remote operations. See PIO Remote pio_remote_quickstart for details.

  Demo
[image]

  Integration

    1.  Sign in to Codenvy (based on Eclipse Che). A registration is FREE and gives you unlimited private projects.

    2.  Open Workspaces tab

    3.  Click on "Add Workspace", then switch to "Runtime" tab.

        •   Name set to "PlatformIO"

        •   Stack search for PLATFORMIO

        •   Click on "Create" button, then "Open".
[image]

    4.  Using opened Terminal, please log in to pioaccount using cmd_account_login command.

  Quick Start

Let's create our first PlatformIO-based Codenvy Project

    1.  Click on Menu: Workspace > Create New Project and select platformio-arduino-blink sample. Set "Name" to "Arduino Blink" and press "Create".
[image]

    2.  Now you can use dropdown Commands menu and process project with "run" command
[image]

    3.  If you prefer to work with piocore CLI, then you can process project using Cloud IDE Terminal and the next commands:

        •   cmd_run - build project locally (using Cloud IDE's virtual machine)

        •   pio run -t clean - clean project

        •   pio remote run -t upload - upload firmware (program) to a remote device

        •   cmd_remote_device_list - list available remote devices

        •   cmd_remote_device_monitor - Remote Serial Port Monitor

  Multi-Project workspace

You can have multiple PlatformIO-based Projects in the same workspace. We recommend a next folders structure:

        ├── project-A
        │   ├── lib
        │   │   └── README
        │   ├── platformio.ini
        │   └── src
        │       └── main.ino
        └── project-B
            ├── lib
            │   └── README
            ├── platformio.ini
            └── src
                ├── main.cpp
                └── main.h

In this case, you need to use -d, --project-dir option for cmd_run or cmd_remote_run commands:

    •   pio remote run --project-dir project-A -t upload build Project-A

    •

        pio remote run --project-dir project-A -t upload remote firmware uploading
            using Project-A

    •

        pio remote run -d project-B -t upload remote firmware (program) uploading
            using Project-B

See documentation for platformio remote run --project-dir option.

  Desktop IDE

  PlatformIO IDE for Atom

PlatformIO IDE is the next-generation integrated development environment for IoT.

    •   Cross-platform build system without external dependencies to the OS software:

                •   800+ boards

                •   35+ platforms

                •   20+ frameworks

    •   piodebug

    •   pioremote

    •   unit_testing

    •   C/C++ Intelligent Code Completion

    •   C/C++ Smart Code Linter for rapid professional development

    •   Library Manager for the hundreds popular libraries

    •   Multi-projects workflow with multiple panes

    •   Themes support with dark and light colors

    •   Serial Port Monitor

    •   Built-in Terminal with piocore and CLI tool (pio, platformio)

    •   Built-in piohome.

----

Atom is a text editor that's modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file. .SS Contents

    •   Installation

        •   I. Atom

        •   II. Clang for Intelligent Code Completion

    •   Quick Start

        •   Launch

        •   Setting Up the Project

        •   Process Project

    •   Menu item PlatformIO

    •   PlatformIO Toolbar

    •   Building / Uploading / Targets

    •   Intelligent Code Completion

    •   Smart Code Linter

    •   Install Shell Commands

    •   Known issues

        •   Smart Code Linter is disabled for Arduino files

            •   Convert Arduino file to C++ manually

            •   Force Arduino file as C++

        •   Arch Linux: PlatformIO IDE Terminal issue

    •   Frequently Asked Questions

        •   Keep build panel visible

        •   Automatically save on build

        •   Jump to Declaration

        •   Code Formatting

    •   Uninstall Atom with PlatformIO IDE

        •   Windows

        •   macOS

        •   Linux

    •   Articles / Manuals

    •   Changelog

  Installation

NOTE:
        Please note that you do not need to install piocore separately if you are going to use PlatformIO IDE for Atom. piocore is built into PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.

        Also, PlatformIO IDE allows one to install piocore Shell Commands (pio, platformio) globally to your system via Menu: PlatformIO > Install Shell Commands.

  I. Atom

    0.  Download and install GitHub's official Atom text editor. PlatformIO IDE is built on top of it.

    1.  Open Atom Package Manager

            •   Mac OS X, Menu: Atom > Preferences > Install

            •   Windows, Menu: File > Settings > Install

            •   Linux, Menu: Edit > Preferences > Install

    2.  Search for the official platformio-ide package

    3.  Install PlatformIO IDE.
[image]

  II. Clang for Intelligent Code Completion

PlatformIO IDE uses Clang for the Intelligent Code Completion. To check that clang is available in your system, please open Terminal and run clang --version. If clang is not installed, then install it and restart Atom:

    •   Mac OS X: Install the latest Xcode along with the latest Command Line Tools (they are installed automatically when you run clang in Terminal for the first time, or manually by running xcode-select --install

    •   Windows: Download Clang 3.9.1 for Windows. Please select "Add LLVM to the system PATH" option on the installation step.

        •   Clang 3.9.1 for Windows (32-bit)

        •   Clang 3.9.1 for Windows (64-bit)
    [image]

    WARNING:
            PLEASE DO NOT INSTALL CLANG 4.0. TEMPORARILY, WE SUPPORT ONLY CLANG 3.9.

            If you see a Failed to find MSBuild toolsets directory error in the installation console, please ignore it and press any key to close this window. PlatformIO IDE uses only the Clang completion engine, which should work after that without any problems.

    •   Linux: Using package managers: apt-get install clang or yum install clang.

    •   Other Systems: Download the latest Clang for the other systems.

WARNING:
        If some libraries are not visible in PlatformIO IDE for Atom and Code Completion or Code Linting does not work properly, please perform Menu: PlatformIO > Rebuild C/C++ Project Index (Autocomplete, Linter)

  Quick Start

This tutorial introduces you to the basics of PlatformIO IDE workflow and shows you the creation process for a simple "Blink" example. After finishing, you will have a general understanding of how to work with projects in the IDE.

  Launch

After installation, launch PlatformIO IDE by opening Atom. Once Atom is opened, the PlatformIO IDE auto installer will continue to install dependent packages and piocore. Please be patient and let the installation complete. Once finished, PlatformIO IDE will ask you to reload the Atom window to apply installed components. Please click on Reload Now. After that, PlatformIO IDE is ready for use. Happy coding!

  Setting Up the Project

    1.  Click on the "PlatformIO Home" button on the PlatformIO Toolbar
[image]

    2.  Click on "New Project", select a board and create a new PlatformIO Project
[image]

    3.  Open the main.cpp file in the src folder and replace its contents with the following:

WARNING:
        The code below only works with Arduino-based boards. Please visit the PlatformIO Project Examples repository for other pre-configured projects.

        /**
         * Blink
         *
         * Turns on an LED on for one second,
         * then off for one second, repeatedly.
         */
        #include "Arduino.h"

        // Set LED_BUILTIN if it is not defined by Arduino framework
        // #define LED_BUILTIN 13

        void setup()
        {
          // initialize LED digital pin as an output.
          pinMode(LED_BUILTIN, OUTPUT);
        }

        void loop()
        {
          // turn the LED on (HIGH is the voltage level)
          digitalWrite(LED_BUILTIN, HIGH);

          // wait for a second
          delay(1000);

          // turn the LED off by making the voltage LOW
          digitalWrite(LED_BUILTIN, LOW);

           // wait for a second
          delay(1000);
        }
[image]

  Process Project

PlatformIO IDE proposes different ways to process the project (build, clean, upload firmware, run other targets) using:

            •   PlatformIO Toolbar

            •   Menu item PlatformIO

            •   Building / Uploading / Targets and hotkeys
[image]

    5.  Run Build and you should see a green "success" result in the build panel:
[image]

To upload firmware to the board, run Upload.

    6.  What is more, you can run specific target or process project environment using Menu: PlatformIO > Run other target... or call targets list from the status bar (bottom, left corner):

And select desired target: .INDENT 0.0

7.  To launch the built-in terminal interface, choose Menu: PlatformIO > Terminal or press the corresponding icon in the PlatformIO toolbar:

This provides you fast access to a set of powerful piocore CLI commands: .INDENT 0.0

8.  To run the built-in "Serial Monitor", choose Menu: PlatformIO > Serial Monitor or press the corresponding icon in the PlatformIO toolbar:

The monitor has several settings to adjust your connection:

It also allows you to communicate with your board in an easy way: .SS Menu item PlatformIO

platformio-ide package adds to Atom new menu item named Menu: PlatformIO (after Menu: Help item). [image]

  PlatformIO Toolbar

PlatformIO IDE Toolbar contains quick access buttons for the popular commands. Each button contains a hint (leave the mouse on it for a moment). [image]

    •   piohome

    •   PlatformIO: Build

    •   PlatformIO: Upload

    •   PlatformIO: Clean

    •   piodebug

    •   Run other target (Build environments, unit_testing)

    •   Toggle build panel

    •   ||

    •   Find in Project...

    •   PIO Terminal

    •   Serial Monitor

    •   ||

    •   Atom Settings

  Building / Uploading / Targets

    •   cmd-alt-b / ctrl-alt-b / f9 builds project without auto-uploading.

    •   cmd-alt-u / ctrl-alt-u builds and uploads (if no errors).

    •   cmd-alt-c / ctrl-alt-c cleans compiled objects.

    •   cmd-alt-t / ctrl-alt-t / f7 run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries).

    •   cmd-alt-g / ctrl-alt-g / f4 cycles through causes of build error.

    •   cmd-alt-h / ctrl-alt-h / shift-f4 goes to the first build error.

    •   cmd-alt-v / ctrl-alt-v / f8 toggles the build panel.

    •   escape terminates build / closes the build window.

More options: Menu: PlatformIO > Settings > Build.

  Intelligent Code Completion

PlatformIO IDE uses clang for the Intelligent Code Completion. To install it or check if it is already installed, please follow see the step II. Clang for Intelligent Code Completion from Installation guide.

WARNING:
        The libraries which are added/installed after the initializing process will not be reflected in the code linter. You need Menu: PlatformIO > Rebuild C/C++ Project Index (Autocomplete, Linter).

  Smart Code Linter

PlatformIO IDE uses PlatformIO's pre-built GCC toolchains for Smart Code Linter and rapid professional development. The configuration data are located in .gcc-flags.json. This file will be automatically created and preconfigured when you initialize project using Menu: PlatformIO > Initialize new PlatformIO Project or update existing....

WARNING:
        If some libraries are not visible in PlatformIO IDE for Atom and Code Completion or Code Linting does not work properly, please perform Menu: PlatformIO > Rebuild C/C++ Project Index (Autocomplete, Linter)

  Install Shell Commands

Please navigate to PIO Core piocore_install_shell_commands.

  Known issues

  Smart Code Linter is disabled for Arduino files

Smart Code Linter is disabled by default for Arduino files (*.ino and .pde) because they are not valid C/C++ based source files:

    1.  Missing includes such as #include <Arduino.h>

    2.  Function declarations are omitted.

There are two solutions:

    •   Convert Arduino file to C++ manually

    •   Force Arduino file as C++

  Convert Arduino file to C++ manually

Recommended! See faq_convert_ino_to_cpp.

  Force Arduino file as C++

To force Smart Code Linter to use Arduino files as C++ please

    1.  Open .gcc-flags.json file from the Initialized/Imported project and add -x c++ flag at the beginning of the value of gccDefaultCppFlags field:

        {
          "execPath": "...",
          "gccDefaultCFlags": "...",
          "gccDefaultCppFlags": "-x c++ -fsyntax-only ...",
          "gccErrorLimit": 15,
          "gccIncludePaths": "...",
          "gccSuppressWarnings": false
        }

    2.  Perform all steps from Convert Arduino file to C++ manually (without renaming to .cpp).

WARNING:
        Please do not modify other flags here. They will be removed on a next "Project Rebuild C/C++ Index" stage. Please use projectconf_build_flags for projectconf instead.

  Arch Linux: PlatformIO IDE Terminal issue

Please read this article Installing PlatformIO on Arch Linux.

  Frequently Asked Questions

  Keep build panel visible

PlatformIO IDE hides build panel on success by default. Nevertheless, you can keep it visible all time. Please follow to Menu: PlatformIO > Settings > Build and set Panel Visibility to Keep Visible.

Key-bindings (toggle panel):

    •   cmd+alt+v - Mac OS X

    •   ctrl+alt+v - Windows/Linux

  Automatically save on build

If you want automatically save all edited files when triggering a build, please follow to Menu: PlatformIO > Settings > Build and check Automatically save on build.

  Jump to Declaration

Click on a function/include, press F3 and you will be taken directly to the declaration for that function.

  Code Formatting

You need to install atom-beautify package and C/C++ Uncrustify Code Beautifier.

  Uninstall Atom with PlatformIO IDE

Here's how to uninstall the PlatformIO IDE for multiple OS.

See piocore_uninstall, if you do not need it in a system.

  Windows

    1.  Uninstall Atom using "Start > Control Panel > Programs and Features > Uninstall"

    2.  Remove C:\Users\<user name>\.atom folder (settings, packages, etc...)

    3.  Remove C:\Users\<user name>\AppData\Local\atom folder (application itself)

    4.  Remove C:\Users\<user name>\AppData\Roaming\Atom folder (cache, etc.)

    5.  Remove registry records using regedit:

        •   HKEY_CLASSES_ROOT\Directory\Background\shell

        •   HKEY_CLASSES_ROOT\Directory\shell

        •   HKEY_CLASSES_ROOT*\shell

  macOS

Run these commands in system Terminal

        rm -rf ~/.atom
        rm /usr/local/bin/atom
        rm /usr/local/bin/apm
        rm -rf /Applications/Atom.app
        rm ~/Library/Preferences/com.github.atom.plist
        rm ~/Library/Application\ Support/com.github.atom.ShipIt
        rm -rf ~/Library/Application\ Support/Atom
        rm -rf ~/Library/Saved\ Application\ State/com.github.atom.savedState
        rm -rf ~/Library/Caches/com.github.atom
        rm -rf ~/Library/Caches/Atom

  Linux

Run these commands in system Terminal

        rm /usr/local/bin/atom
        rm /usr/local/bin/apm
        rm -rf ~/atom
        rm -rf ~/.atom
        rm -rf ~/.config/Atom-Shell
        rm -rf /usr/local/share/atom/

  Articles / Manuals

    •   Mar, 31, 2017 - Robin Reiter - A little guide to PlatformIO. As an Arduino developer, you may want to check that out! (video review)

    •   Dec 13, 2016 - Dr. Patrick Mineault - Multi-Arduino projects with PlatformIO

    •   Nov 10, 2016 - PiGreek - PlatformIO the new Arduino IDE ?!

    •   Aug 18, 2016 - Primal Cortex - Installing PlatformIO on Arch Linux

    •   Jul 26, 2016 - Embedded Systems Laboratory - แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai)

    •   May 30, 2016 - Ron Moerman - IoT Development with PlatformIO

    •   May 01, 2016 - Pedro Minatel - PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese)

    •   Apr 23, 2016 - Al Williams - Hackaday: Atomic Arduino (and Other) Development

    •   Apr 16, 2016 - Sathittham Sangthong - [PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai)

    •   Apr 11, 2016 - Matjaz Trcek - Top 5 Arduino integrated development environments

    •   Apr 06, 2016 - Aleks - PlatformIO ausprobiert (Tried PlatformIO, German)

    •   Apr 02, 2016 - Diego Pinto - Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese)

    •   Mar 30, 2016 - Brandon Cannaday - Getting Started with PlatformIO and ESP8266 NodeMcu

    •   Mar 12, 2016 - Peter Marks - PlatformIO, the Arduino IDE for programmers

    •   Mar 05, 2016 - brichacek.net - PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech)

    •   Mar 04, 2016 - Ricardo Vega - Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish)

    •   Feb 28, 2016 - Alex Bloggt - PlatformIO vorgestellt (Introduction to PlatformIO IDE, German)

    •   Feb 25, 2016 - NutDIY - PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai)

See a full list with articles.

  Changelog

Please visit releases page.

  CLion

The CLion is a cross-platform C/C++ IDE for Linux, OS X, and Windows. CLion includes such features as a smart editor, code generation, code quality assurance, automated refactorings, on-the-fly code analysis, project manager, integrated version control systems and debugger.

Refer to the CLion Documentation page for more detailed information. [image]

  Contents

    •   Installation

    •   Known issues

        •   Project configuration and CMake

        •   CLion does not load project build environments from "platformio.ini"

        •   Arduino .ino files are not supported

    •   Quick Start

        •   Setting Up the Project

        •   Build & Upload

            •   Configuration options

    •   Device/Serial Monitor

    •   Debugging

        •   Peripheral Registers

    •   PlatformIO Home

  Installation

    1.  Install PlatformIO Core (CLI). See core_installation guide

        WARNING:
            This a temporary step and depends on CLion #CPP-19412: Automatically install PlatformIO Core

    2.  Download and install CLion IDE

    3.  Install official PlatformIO for CLion plugin. Open "Configure > Plugins" window and go to the "Marketplace" tab. Search for PlatformIO and press the "Install" button. [image]

    4.  Restart CLion IDE.

NOTE:
        We also recommend to install Ini plugin that provides syntax highlighting, formatting, code folding, and viewing structure for projectconf.

  Known issues

  Project configuration and CMake

PlatformIO does not depend on "CMake" and uses own multi-platform build system. Project configuration, such as build flags, library dependencies, etc., should be declared in projectconf.

WARNING:
        Please note that "PlatformIO for CLion" plugin does not update automatically CLion configuration. There is a feature request CLion #CPP-18367: Follow platformio.ini changes and update the project.

Update CLion configuration: "Tools > PlatformIO > Re-Init"

  CLion does not load project build environments from platformio.ini

This is a known issue CLion CPP-19478: CLion does not handle "CMAKE_CONFIGURATION_TYPES" from CMakeLists.txt. A temporary solution is to manually configure project profiles in CLion.

Please open CLion Settings and navigate to "Build, Execution, Deployment > CMake". Press "+" button and PlatformIO-based project profiles: [image]

  Arduino .ino files are not supported

CLion uses "CMake" tool for code completion and code linting. As a result, it doesn't support the Arduino files (*.ino and .pde) because they are not valid C/C++ based source files:

    1.  Missing includes such as #include <Arduino.h>

    2.  Function declarations are omitted.

See how to faq_convert_ino_to_cpp.

  Quick Start

This tutorial introduces you to the basics of PlatformIO for CLion workflow and shows you a creation process of a simple "Blink" example. After finishing you will have a general understanding of how to work with projects in the CLion IDE.

  Setting Up the Project

    1.  Please open "New Project" wizard, select board and framework, and create a new PlatformIO project. Please USE ONLY Latin characters (a-z) in a project name to avoid further issues with project compilation. Numbers and some symbols are allowed depending on a file system:
[image]

    2.  Rename main.c file in src folder to main.cpp (right click on a file main.c, Refactor > Rename...) . Paste the next contents:

WARNING:
        The code below works only in pair with Arduino-based boards. Please follow to PlatformIO Project Examples repository for other pre-configured projects.

        /**
         * Blink
         *
         * Turns on an LED on for one second,
         * then off for one second, repeatedly.
         */
        #include "Arduino.h"

        // Set LED_BUILTIN if it is not defined by Arduino framework
        // #define LED_BUILTIN 13

        void setup()
        {
          // initialize LED digital pin as an output.
          pinMode(LED_BUILTIN, OUTPUT);
        }

        void loop()
        {
          // turn the LED on (HIGH is the voltage level)
          digitalWrite(LED_BUILTIN, HIGH);

          // wait for a second
          delay(1000);

          // turn the LED off by making the voltage LOW
          digitalWrite(LED_BUILTIN, LOW);

           // wait for a second
          delay(1000);
        }
[image]

  Build & Upload

    1.  Open project configuration wizard and add PlatformIO Upload and PlatformIO Debug configurations (you can add the rest configurations if you need them):
[image]

    2.  Remove pre-task ("Build") from PlatformIO Upload and PlatformIO Debug configurations to avoid double project building. You should see "There are no tasks to run before launch".
[image]

    3.  Select PlatformIO Upload configuration and use the "Build" button for project compilation or the "Run" for a firmware uploading:
[image]

  Configuration options

    •   projectconf_section_env_build

    •   projectconf_section_env_upload

  Device/Serial Monitor

Please open CLion terminal and use cmd_device. You can also configure device monitor per project using projectconf_section_env_monitor.

Please note that you need to manually close/stop device monitor before firmware uploading.

  Debugging

"PlatformIO for CLion" supports piodebug which allows you to debug your application with 1-Click without extra steps. Please select PlatformIO Debug configuration and press the "Debug" button: [image]

  Peripheral Registers

Please navigate to the "Peripheral" tab in a "Debug" view, press the "Configure" icon and select registers to monitor. Close configuration window.

WARNING:
        Currently, CLion does not load automatically Peripheral Register Definitions (SVD file) provided by PlatformIO. There is a feature request CLion #CPP-18369: Support CLION_SVD_FILE_PATH CMake variable to auto-find svd file.

        A temporary solution is to open CMakeListsPrivate.txt file from a root of PlatformIO project and remember SVD file declared in CLION_SVD_FILE_PATH "CMake" variable. Now press the "+" button in Peripherals Wizard and select SVD file mentioned in CLION_SVD_FILE_PATH.
[image]

  PlatformIO Home

Currently, piohome is not integrated into "PlatformIO for CLion". See related feature request CLion: CPP-19493 Integrate PlatformIO Home.

Nevertheless, you can start it manually and open in your browser. Please note that some features do not work, such as project opening. Please open CLion terminal and run cmd_home command:

        platformio -c clion home
[image]

----

Further for reading:

    •   tutorials (step-by-step tutorials with debugging and unit testing)

    •   CLion documentation.

Happy coding with PlatformIO!

  CodeBlocks

Code::Blocks is a free, open-source cross-platform IDE that supports multiple compilers including GCC, Clang and Visual C++. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins. Currently, Code::Blocks is oriented towards C, C++, and Fortran.

CodeBlocks IDE can be downloaded from here. .SS Contents

    •   CodeBlocks

        •   Integration

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

----

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide codeblocks --board <ID>

        # For example, generate project for Arduino UNO
        platformio project init --ide codeblocks --board uno

Then:

    1.  Open this project via Menu: File > Open...

    2.  Add new files to src directory (*.c, *.cpp, *.ino, etc.) via Menu: File > New > File...

    3.  Build project using Menu: Build > Build

    4.  Upload firmware using Menu: Build > Run

WARNING:
        The libraries which are added, installed or used in the project after generating process won't be reflected in IDE. To fix it you need to reinitialize project using cmd_project_init (repeat it).

  Eclipse

The Eclipse CDT (C/C++ Development Tooling) Project provides a fully functional C and C++ Integrated Development Environment based on the Eclipse platform. Features include: support for project creation and managed build for various toolchains, standard make build, source navigation, various source knowledge tools, such as type hierarchy, call graph, include browser, macro definition browser, code editor with syntax highlighting, folding and hyperlink navigation, source code refactoring and code generation, visual debugging tools, including memory, registers, and disassembly viewers.

Refer to the CDT Documentation page for more detailed information. .SS Contents

    •   Integration

    •   Live Integration

    •   Debugging

    •   Articles / Manuals

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

----

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide eclipse --board <ID>

        # For example, generate project for Arduino UNO
        platformio project init --ide eclipse --board uno

Then:

    1.  Import this project via Menu: File > Import... > General > Existing Projects into Workspace > Next and specify root directory where is located projectconf

    2.  Open source file from src directory (*.c, *.cpp, *.ino, etc.)

    3.  Build project using Menu: Project > Build Project or pre-configured Make Targets (see screenshot below):

        •   PlatformIO: Build - Build project without auto-uploading

        •   PlatformIO: Clean - Clean compiled objects.

        •   PlatformIO: Test - unit_testing

        •   PlatformIO: Upload - Build and upload (if no errors)

        •   PlatformIO: Upload using Programmer see atmelavr_upload_via_programmer

        •   PlatformIO: Upload SPIFFS image see platform_espressif_uploadfs

        •   PlatformIO: Update platforms and libraries - Update installed platforms and libraries via cmd_update

        •   PlatformIO: Rebuild C/C++ Project Index - Rebuild C/C++ Index for the Project. Allows one to fix code completion and code linting issues.

If you have some problems with unresolved includes, defines, etc., then

    1.  Rebuild PlatformIO Project Index: PlatformIO: Rebuild C/C++ Project Index target

    2.  Rebuild Eclipse Project Index: Menu: Project > C/C++ Index > Rebuild

    3.  Refresh Project, right click on the project Project > Refresh (F5) or restart Eclipse IDE.

WARNING:
        The libraries which are added, installed or used in the project after generating process won't be reflected in IDE. To fix it please run PlatformIO: Rebuild C/C++ Project Index target and right click on the project and Project > Refresh (F5).

WARNING:
        The C/C++ GCC Cross Compiler Support package must be installed in Eclipse, otherwise the CDT Cross GCC Built-in Compiler Settings provider will not be available (check the Providers tab in Project > Properties > C/C++ General > Preprocessor Include Paths, Macros etc. for a marked entry named CDT Cross GCC Built-in Compiler Settings).

        If this provider is not available, toolchain related includes cannot be resolved.

  Live Integration

Eclipse Virtual IoT Meetup: PlatformIO: a cross-platform IoT solution to build them all! .SS Debugging

A debugging feature is provided by piodebug and new debug configuration named "PlatformIO Debugger" is created. No need to do extra configuration steps!

    1.  Build a project first time or after "Clean" operation using PlatformIO: Build target

    2.  Launch debugger via "Menu: Debug" or "Bug Icon" button on Tool Bar.

    3.  Wait for a while, PlatformIO will prepare project for debugging and session will be started soon.

  Articles / Manuals

    •   May 05, 2016 - Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup - PlatformIO: a cross-platform IoT solution to build them all!

    •   Sep 01, 2015 - Thomas P. Weldon, Ph.D. - Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation

    •   Jul 11, 2015 - TrojanC - Learning Arduino GitHub Repository

    •   June 20, 2014 - Ivan Kravets, Ph.D. - Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO

See a full list with articles.

  Emacs

GNU Emacs is an extensible, customizable text editor - and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.

Refer to the Emacs Documentation page for more detailed information. .SS Contents

    •   Emacs

        •   Integration

            •   PlatformIO-Mode

            •   Project Generator

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

----

  PlatformIO-Mode

An Emacs minor mode has been written to facilitate building and uploading from within Emacs. It can be installed from the MELPA repository using M-x package-install. See the MELPA Getting Started page for more information.

Setup instructions and an example config can be found at the Github page.

Code completion can optionally be provided by installing irony-mode

  Project Generator

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide emacs --board <ID>

There are 6 predefined targets for building.

    •   platformio_build - Build project without auto-uploading. (C-c i b)

    •   platformio_clean - Clean compiled objects. (C-c i c)

    •   platformio_upload - Build and upload (if no errors). (C-c i u)

    •   platformio_programmer_upload - Build and upload using external programmer (if no errors, see atmelavr_upload_via_programmer). (C-c i p)

    •   platformio_spiffs_upload - Upload files to file system SPIFFS (see platform_espressif_uploadfs). (C-c i s)

    •   platformio_update - Update installed platforms and libraries. (C-c i d)

WARNING:
        The libraries which are added, installed or used in the project after generating process won't be reflected in IDE. To fix it you need to reinitialize project using cmd_project_init (repeat it).

  NetBeans

NetBeans is a Java-based integrated development environment (IDE). It provides out-of-the-box code analyzers and editors for working with the latest Java 8 technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also has a range of new tools for HTML5/JavaScript, in particular for Node.js, KnockoutJS, and AngularJS; enhancements that further improve its support for Maven and Java EE with PrimeFaces; and improvements to PHP and C/C++ support.

NetBeans IDE can be downloaded from here. Just make sure you download the C/C++ version (or if you already use NetBeans, install the C/C++ development plugins).

WARNING:
        Note that the version of NetBeans IDE provided by some Linux package repositories may be a Flatpak version, which are known to have issues with accessing the PlatformIO CLI installed due to the container nature of this technology. It is recommended that you use the native version of the NetBeans IDE via the above link.
.SS Contents

    •   NetBeans

        •   Integration

        •   Articles / Manuals

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

----

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide netbeans --board <ID>

        # For example, generate project for Arduino UNO
        platformio project init --ide netbeans --board uno

Then:

    1.  Open this project via Menu: File > Open Project...

    2.  Add new files to src directory (*.c, *.cpp, *.ino, etc.) via right-click on src folder in the "Projects" pane

    3.  Build project using Menu: Run > Build Project

    4.  Upload firmware using Menu: Run > Run Project

WARNING:
        The libraries which are added, installed or used in the project after generating process won't be reflected in IDE. To fix it you need to reinitialize project using cmd_project_init (repeat it).

  Articles / Manuals

    •   Feb 22, 2016 - Grzegorz Hołdys - How to Integrate PlatformIO with Netbeans

See the full list with articles.

  Qt Creator

The Qt Creator is an open source cross-platform integrated development environment. The editor includes such features as syntax highlighting for various languages, project manager, integrated version control systems, rapid code navigation tools and code autocompletion.

Refer to the Qt-creator Manual page for more detailed information. .SS Contents

    •   Qt Creator

        •   Integration

            •   Project Generator

            •   Manual Integration

                •   Setup New Project

                •   First program in Qt Creator

                •   Conclusion

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

  Project Generator

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide qtcreator --board <ID>

        # For example, generate project for Arduino UNO
        platformio project init --ide qtcreator --board uno

Then:

    1.  Import project via File > Open File or Project and select platformio.pro from the folder where is located projectconf

    2.  Select default desktop kit and click on Configure Project (Projects mode, left panel)

    3.  Set General > Build directory to the project directory where is located projectconf

    4.  Remove all items from Build Steps, click on Build Steps > Add Build Step > Custom Process Step and set:

        •   Command: platformio

        •   Arguments: -f -c qtcreator run

        •   Working directory: %{buildDir}

    5.  Remove all items from Clean Steps, click on Clean Steps > Add Clean Step > Custom Process Step and set:

        •   Command: platformio

        •   Arguments: -f -c qtcreator run --target clean

        •   Working directory: %{buildDir}

    6.  Update PATH in Build Environment > PATH > EDIT with the result of this command (paste in Terminal):

        # Linux, Mac
        echo $PATH

        # Windows
        echo %PATH%

    7.  Switch to Edit mode (left panel) and open source file from src directory (*.c, *.cpp, *.ino, etc.)

    8.  Build project: Menu: Build > Build All.
.sp WARNING:
        The libraries which are added, installed or used in the project after generating process won't be reflected in IDE. To fix it you need to reinitialize project using cmd_project_init (repeat it).

  Manual Integration

  Setup New Project

First of all, let's create new project from Qt Creator Start Page: New Project or using Menu: File > New File or Project, then select project with Empty Qt Project type (Other Project > Empty Qt Project), fill Name, Create in.

On the next steps select any available kit and click Finish button. [image]

Secondly, we need to delete default build and clean steps and configure project with PlatformIO Build System (click on Projects label on left menu or Ctrl+5 shortcut):

Thirdly, change project file by adding path to directories with header files. Please edit project file to match the following contents:

        win32 {
            HOMEDIR += $$(USERPROFILE)
        }
        else {
            HOMEDIR += $$(HOME)
        }

        INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/framework-arduinoavr/cores/arduino"
        INCLUDEPATH += "$${HOMEDIR}/.platformio/packages/toolchain-atmelavr/avr/include"
.SS First program in Qt Creator

Simple "Blink" project will consist from two files: 1. In the console, navigate to the root of your project folder and initialize platformio project with cmd_project_init 2. The main "C" source file named main.c must be located in the src directory. Let's create new text file named main.c using Menu: New File or Project > General > Text File:

Copy the source code which is described below to file main.c.

        #include "Arduino.h"
        #define WLED    13  // Most Arduino boards already have an LED attached to pin 13 on the board itself

        void setup()
        {
          pinMode(WLED, OUTPUT);  // set pin as output
        }

        void loop()
        {
          digitalWrite(WLED, HIGH);  // set the LED on
          delay(1000);               // wait for a second
          digitalWrite(WLED, LOW);   // set the LED off
          delay(1000);               // wait for a second
        }

    3.  Locate the project configuration file named platformio.ini at the root of the project directory and open it.

Edit the content to match the code described below.

        ; PlatformIO Project Configuration File
        ;
        ;   Build options: build flags, source filter, extra scripting
        ;   Upload options: custom port, speed and extra flags
        ;   Library options: dependencies, extra library storages
        ;
        ; Please visit documentation for the other options and examples
        ; https://docs.platformio.org/page/projectconf.html

        [env:arduino_uno]
        platform = atmelavr
        framework = arduino
        board = uno

  Conclusion

Taking everything into account, we can build project with shortcut Ctrl+Shift+B or using Menu: Build > Build All.

  Sublime Text

The Sublime Text is a cross-platform text and source code editor, with a Python application programming interface (API). Sublime Text is proprietary software. Its functionality is extendable with plugins. Most of the extending packages have free-software licenses and are community-built and maintained. Sublime Text lacks graphical setting dialogues and is entirely configured by editing text files.

Refer to the Sublime Text Documentation page for more detailed information. .SS Contents

    •   Deviot Plugin

    •   Integration

        •   Project Generator

        •   Manual Integration

            •   Initial configuration

                •   Command Hotkeys

            •   First program in Sublime Text

            •   Conclusion

    •   Debugging

  Deviot Plugin

We are glad to inform you about an awesome Sublime Text plugin for IoT development named Deviot. It is based on piocore and will automatically install it for you. Please visit official Deviot page for the further installation steps and documentation. .SS Integration

  Project Generator

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

----

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide sublimetext --board <ID>

        # For example, generate project for Arduino UNO
        platformio project init --ide sublimetext --board uno

Then:

    1.  Import project via Menu: Project > Open Project... and select platformio.sublime-project from the folder where is located projectconf

    2.  Select PlatformIO as build system: Menu: Tools > Build System > PlatformIO

    3.  Open source file from src directory (*.c, *.cpp, *.ino, etc.)

    4.  Build project: Menu: Tools > Build.

Also, you can access to all pre-configured targets via Menu: Tools > Builds With... (ST3)

    •   PlatformIO - Build - Build project without auto-uploading

    •   PlatformIO - Clean - Clean compiled objects.

    •   PlatformIO - Test - unit_testing

    •   PlatformIO - Upload - Build and upload (if no errors)

    •   PlatformIO - Upload using Programmer see atmelavr_upload_via_programmer

    •   PlatformIO - Upload SPIFFS image see platform_espressif_uploadfs

    •   PlatformIO - Update platforms and libraries - Update installed platforms and libraries via cmd_update.

  Manual Integration

NOTE:
        Please verify that folder where is located platformio program is added to PATH (wiki) environment variable.

  Initial configuration

First of all, we need to create "New Build System" with name "PlatformIO" from Menu: Tools > Build System > New Build System and fill it like described below:

        {
            "cmd": ["platformio", "-f", "-c", "sublimetext", "run"],
            "working_dir": "${project_path:${folder}}",
            "variants":
            [
                {
                    "name": "Clean",
                    "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "clean"]
                },
                {
                    "name": "Upload",
                    "cmd": ["platformio", "-f", "-c", "sublimetext", "run", "--target", "upload"]
                }
            ]
        }

Secondly, we need to select "PlatformIO" Build System from a list: [image]

After that, we can use the necessary commands from Menu: Tools > Command Palette or with Ctrl+Shift+P (Windows/Linux) Cmd+Shift+P (Mac) shortcut. [image]

  Command Hotkeys

Sublime Text allows one to bind own hotkey per command. Let's setup them for PlatformIO commands using shortcut Menu: Preferences > Key-Bindings - User: [image]

We are going to use these shortcuts:

    •   F11 for clean project

    •   F12 for upload firmware to target device

In this case, the final code will look like:

        [
            { "keys": ["f11"], "command": "build", "args": {"variant": "Clean"} },
            { "keys": ["f12"], "command": "build", "args": {"variant": "Upload"} }
        ]

  First program in Sublime Text

Simple "Blink" project will consist from two files:

1. Main "C" source file named main.c must be located in the src directory. Let's create new file named main.c using Menu: File > New File or shortcut Ctrl+N (Windows/Linux) Cmd+N (Mac) with the next contents:

        #include "Arduino.h"
        #define WLED    13  // Most Arduino boards already have an LED attached to pin 13 on the board itself

        void setup()
        {
          pinMode(WLED, OUTPUT);  // set pin as output
        }

        void loop()
        {
          digitalWrite(WLED, HIGH);  // set the LED on
          delay(1000);               // wait for a second
          digitalWrite(WLED, LOW);   // set the LED off
          delay(1000);               // wait for a second
        }

2. Project Configuration File named platformio.ini must be located in the project root directory. Copy the source code which is described below to it.

        ; PlatformIO Project Configuration File
        ;
        ;   Build options: build flags, source filter, extra scripting
        ;   Upload options: custom port, speed and extra flags
        ;   Library options: dependencies, extra library storages
        ;
        ; Please visit documentation for the other options and examples
        ; https://docs.platformio.org/page/projectconf.html

        [env:arduino_uno]
        platform = atmelavr
        framework = arduino
        board = uno

  Conclusion

Taking everything into account, we can open project directory in Sublime Text using Menu: File > Open Folder and build it with shortcut Ctrl+B (Windows/Linux) or Cmd+B (Mac), clean project with shortcut F11 and upload firmware to target with shortcut F12.

  Debugging

A debugging feature is provided by piodebug and new debug configuration named "PlatformIO Debugger" is created. No need to do extra configuration steps!

    1.  Install SublimeGDB package

    2.  Launch debugger with F5

    3.  Wait for a while, PlatformIO will prepare project for debugging and session will be started soon.

  Vim

Vim is an open-source, powerful and configurable text editor. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface. [image]

  Contents

    •   Vim

        •   Integration

            •   "Neomake-PlatformIO" Plugin

            •   Project Generator

        •   Articles / Manuals

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

  Neomake-PlatformIO Plugin

Please visit neomake-platformio for the further installation steps and documentation.

  Project Generator

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide vim --board <ID>

Recommended bundles:

    •   C/C++/ language server supporting cross references, hierarchies, completion and semantic highlighting - CCLS: vim lsp

    •   Syntax highlight - Arduino-syntax-file

    •   Code Completion - YouCompleteMe (see configuration example by Anthony Ford PlatformIO/YouCompleteMe Integration)

    •   Syntax checking - Syntastic

Put to the project directory Makefile wrapper with contents:

        # Uncomment lines below if you have problems with $PATH
        #SHELL := /bin/bash
        #PATH := /usr/local/bin:$(PATH)

        all:
                platformio -f -c vim run

        upload:
                platformio -f -c vim run --target upload

        clean:
                platformio -f -c vim run --target clean

        program:
                platformio -f -c vim run --target program

        uploadfs:
                platformio -f -c vim run --target uploadfs

        update:
                platformio -f -c vim update

Pre-defined targets:

    •   Build - Build project without auto-uploading

    •   Clean - Clean compiled objects.

    •   Upload - Build and upload (if no errors)

    •   Upload using Programmer see atmelavr_upload_via_programmer

    •   Upload SPIFFS image see platform_espressif_uploadfs

    •   Update platforms and libraries - Update installed platforms and libraries via cmd_update.

Now, in VIM cd /path/to/this/project and press Ctrl+B or Cmd+B (Mac). PlatformIO should compile your source code from the src directory, make firmware and upload it.

NOTE:
        If hotkey doesn't work for you, try to add this line nnoremap <C-b> :make<CR> to ~/.vimrc

  Articles / Manuals

    •   コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese)

See a full list with articles.

  Visual Studio

The Microsoft Visual Studio (Free) is an integrated development environment (IDE) from Microsoft. Visual Studio includes a code editor supporting IntelliSense (the code completion component) as well as code refactoring.

Refer to the Visual Studio Documentation page for more detailed information. .SS Contents

    •   Visual Studio

        •   Integration

            •   Project Generator

            •   Manual Integration

                •   Setup New Project

                •   First program in Visual Studio

                •   Conclusion

        •   Known issues

            •   IntelliSense Errors

  Integration

Integration process consists of these steps:

    1.  Open system Terminal and install piocore

    2.  Create new folder for your project and change directory (cd) to it

    3.  Generate a project using PIO Core Project Generator (platformio project init --ide)

    4.  Import project in IDE.

----

  Project Generator

Choose board ID using cmd_boards or Embedded Boards Explorer command and generate project via platformio project init --ide command:

        platformio project init --ide visualstudio --board <ID>

        # For example, generate project for Arduino UNO
        platformio project init --ide visualstudio --board uno

Then:

    1.  Import this project via Menu: File > Open > Project/Solution and specify root directory where is located projectconf

    2.  Open source file from src directory (*.c, *.cpp, *.ino, etc.)

    3.  Build project: Menu: Build > Build Solution.

WARNING:
        The libraries which are added, installed or used in the project after generating process won't be reflected in IDE. To fix it you need to reinitialize project using cmd_project_init (repeat it).

  Manual Integration

  Setup New Project

First of all, let's create new project from Visual Studio Start Page: Start > New Project or using Menu: File > New > Project, then select project with Makefile type (Visual C++ > General > Makefile Project), fill Project name, Solution name, Location fields and press OK button. [image]

Secondly, we need to configure project with PlatformIO Build System: [image]

If we want to use native AVR programming, we have to specify additional preprocessor symbol ("Preprocessor definitions" field) about your MCU. For example, an Arduino Uno is based on the ATmega328 MCU. In this case We will add new definition __AVR_ATmega328__. [image]

Release Configuration is the same as Debug, so on the next step we check "Same as Debug Configuration" and click "Finish" button. [image]

Thirdly, we need to add directories with header files using project properties (right click on the project name or Alt-Enter shortcut) and add two directories to Configuration Properties > NMake > Include Search Path:

        $(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\toolchain-atmelavr\avr\include
        $(HOMEDRIVE)$(HOMEPATH)\.platformio\packages\framework-arduinoavr\cores\arduino
[image]

  First program in Visual Studio

Simple "Blink" project will consist from two files:

1. Main "C++" source file named main.cpp must be located in the src directory. Let's create new file named main.cpp using Menu: File > New File or shortcut Ctrl+N: [image]

Copy the source code which is described below to file main.cpp.

        #include "Arduino.h"

        void setup()
        {
          pinMode(LED_BUILTIN, OUTPUT);  // set pin as output
        }

        void loop()
        {
          digitalWrite(LED_BUILTIN, HIGH);  // set the LED on
          delay(1000);               // wait for a second
          digitalWrite(LED_BUILTIN, LOW);   // set the LED off
          delay(1000);               // wait for a second
        }

    2.  Project Configuration File named platformio.ini must be located in the project root directory.
[image]

Copy the source code which is described below to it.

        ; PlatformIO Project Configuration File
        ;
        ;   Build options: build flags, source filter, extra scripting
        ;   Upload options: custom port, speed and extra flags
        ;   Library options: dependencies, extra library storages
        ;
        ; Please visit documentation for the other options and examples
        ; https://docs.platformio.org/page/projectconf.html

        [env:arduino_uno]
        platform = atmelavr
        framework = arduino
        board = uno

  Conclusion

Taking everything into account, we can build project with shortcut Ctrl+Shift+B or using Menu: Build > Build Solution.

  Known issues

  IntelliSense Errors

VS Studio does not allow one to specify for project other toolchain which will be used by IntelliSense. In this case, IntelliSense does not understand GCC-specific definitions.

However, these errors does not have any influence on PlatformIO Build System. It means that you can ignore them and rely on PlatformIO Build System messages which will be shown in output console after build.

Nevertheless, you can provide an IntelliSense-friendly definition of problematic GCC constructs and make sure that the GCC will ignore such definitions or disable IntelliSense error reporting at all. See details in issue #543 .SS VSCode

PlatformIO IDE is the next-generation integrated development environment for IoT.

    •   Cross-platform build system without external dependencies to the OS software:

                •   800+ boards

                •   35+ platforms

                •   20+ frameworks

    •   piodebug

    •   pioremote

    •   unit_testing

    •   C/C++ Intelligent Code Completion

    •   C/C++ Smart Code Linter for rapid professional development

    •   Library Manager for the hundreds popular libraries

    •   Multi-projects workflow with multiple panes

    •   Themes support with dark and light colors

    •   Serial Port Monitor

    •   Built-in Terminal with piocore and CLI tool (pio, platformio)

    •   Built-in piohome.

----

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Python, PHP, Go) and runtimes (such as .NET and Unity) .SS Contents

    •   Installation

    •   Quick Start

        •   Setting Up the Project

    •   PlatformIO Toolbar

        •   Custom Build Task

    •   Key Bindings

    •   Project Tasks

        •   Task Explorer

        •   Task Runner

        •   Custom Tasks

    •   Multi-project Workspaces

    •   Serial Port Monitor

    •   Debugging

        •   Variable Format

        •   Watchpoints

    •   Install Shell Commands

    •   Proxy Server Support

    •   Settings

        •   platformio-ide.activateOnlyOnPlatformIOProject

        •   platformio-ide.autoCloseSerialMonitor

        •   platformio-ide.autoRebuildAutocompleteIndex

        •   platformio-ide.buildTask

        •   platformio-ide.customPATH

        •   platformio-ide.disableToolbar

        •   platformio-ide.forceUploadAndMonitor

        •   platformio-ide.reopenSerialMonitorDelay

        •   platformio-ide.updateTerminalPathConfiguration

        •   platformio-ide.useBuiltinPIOCore

        •   platformio-ide.useDevelopmentPIOCore

        •   platformio-ide.disablePIOHomeStartup

        •   platformio-ide.pioHomeServerHttpPort

    •   Known issues

        •   PackageManager is unable to install tool

    •   Changelog

  Installation

NOTE:
        Please note that you do not need to install piocore separately if you are going to use VSCode. piocore is built into PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.

    0.  Download and install official Microsoft Visual Studio Code. PlatformIO IDE is built on top of it

    1.  Open VSCode Package Manager

    2.  Search for the official platformio ide extension

    3.  Install PlatformIO IDE.
[image]

  Quick Start

This tutorial introduces you to the basics of PlatformIO IDE workflow and shows you a creation process of a simple "Blink" example. After finishing you will have a general understanding of how to work with projects in the IDE.

  Setting Up the Project

    1.  Click on "PlatformIO Home" button on the bottom PlatformIO Toolbar
[image]

    2.  Click on "New Project", select a board and create new PlatformIO Project
[image]

    3.  Open main.cpp file form src folder and replace its contents with the next:

WARNING:
        The code below works only in pair with Arduino-based boards. Please follow to PlatformIO Project Examples repository for other pre-configured projects.

        /**
         * Blink
         *
         * Turns on an LED on for one second,
         * then off for one second, repeatedly.
         */
        #include "Arduino.h"

        // Set LED_BUILTIN if it is not defined by Arduino framework
        // #define LED_BUILTIN 13

        void setup()
        {
          // initialize LED digital pin as an output.
          pinMode(LED_BUILTIN, OUTPUT);
        }

        void loop()
        {
          // turn the LED on (HIGH is the voltage level)
          digitalWrite(LED_BUILTIN, HIGH);

          // wait for a second
          delay(1000);

          // turn the LED off by making the voltage LOW
          digitalWrite(LED_BUILTIN, LOW);

           // wait for a second
          delay(1000);
        }
[image]

    4.  Build your project with ctrl+alt+b hotkey (see all Key Bindings in "User Guide" section below) or using "Build" button on the PlatformIO Toolbar
[image]

----

Further for reading:

    •   tutorials (step-by-step tutorials with debugging and unit testing)

    •   Learn more about PlatformIO Toolbar and other commands (Upload, Clean, Serial Monitor) below.

Happy coding with PlatformIO!

  PlatformIO Toolbar

PlatformIO IDE Toolbar is located in VSCode Status Bar (left corner) and contains quick access buttons for the popular commands. Each button contains hint (delay mouse on it). [image]

    1.  piohome

    2.  PlatformIO: Build

    3.  PlatformIO: Upload

    4.  pioremote

    5.  PlatformIO: Clean

    6.  unit_testing

    7.  Run a task... (See "Task Runner" below)

    8.  Serial Port Monitor

    9.  PIO Terminal

  Custom Build Task

You can override default "PlatformIO: Build" task for "Build" command which is used by "Build" button in PlatformIO Toolbar and Key Bindings. See platformio-ide.buildTask setting in Settings for more details.

Built-in PlatformIO tasks are available in "Menu > Terminal > Run Task..." list.

  Key Bindings

    •   ctrl+alt+b / cmd-shift-b / ctrl-shift-b Build Project

    •   cmd-shift-d / ctrl-shift-d Debug project

    •   ctrl+alt+u Upload Firmware

    •   ctrl+alt+s Open Serial Port Monitor

You can override existing key bindings or add a new in VSCode. See official documentation Key Bindings for Visual Studio Code.

  Project Tasks

  Task Explorer

PlatformIO provides access to "Project Task Explorer" where you can control the build process of the environments declared in projectconf. Project Task Explorer is located in the VSCode Activity Bar under the branded PlatformIO icon. You can also access it via "VSCode Menu > Open View... > PlatformIO". [image]

  Task Runner

PlatformIO IDE provides built-in tasks through the menu Terminal > Run Task... (Build, Upload, Clean, Monitor, etc) and custom tasks per projectconf environment ([env:***]). The default behavior is to use Terminal Panels for presentation, one panel dedicated to each unique task.

The PlatformIO IDE provides its own Problems Matcher named $platformio. You can use it later if you decide to change base task settings.

You can override existing tasks with your own presentation options. For example, let's configure PlatformIO Task Runner to use a NEW Terminal panel for each "Build" command:

    1.  The menu item Terminal > Run Task... opens up a list of VSCode tasks for PlatformIO. In the line PlatformIO: Build, press the gear icon on the far right side of the list. This creates or opens the file .vscode/tasks.json with some template code.

    2.  Replace the template in tasks.json with this code

                {
                    "version": "2.0.0",
                    "tasks": [
                        {
                            "type": "PlatformIO",
                            "task": "Monitor",
                            "problemMatcher": [
                                "$platformio"
                            ],
                            "presentation": {
                                "panel": "new"
                            }
                        }
                    ]
                }

See more options in the official VSCode documentation.

  Custom Tasks

Custom tasks can be added to tasks.json file located in the .vscode folder in the root of project. Please read the official documentation Tasks in VSCode.

This simple example demonstrates a custom monitor task which echoes input locally. There are a lot of other commands, please read more about piocore and its commands (piocore_userguide).

        {
            "version": "2.0.0",
            "tasks": [
                {
                    "type": "shell",
                    "command": "platformio",
                    "args": [
                        "device",
                        "monitor",
                        "--echo"
                    ],
                    "problemMatcher": [
                        "$platformio"
                    ],
                    "label": "PlatformIO: Monitor (local echo)"
                }
            ]
        }

If the platformio executable file is not in your system environment "PATH", you can provide the full path to the binary folder using the options field for the task. For example, if the platformio binary is located in the home folder "~/.platformio/penv/bin":

        {
            "version": "2.0.0",
            "tasks": [
                {
                    "type": "shell",
                    "command": "platformio",
                    "args": [
                        "device",
                        "monitor",
                        "--echo"
                    ],
                    "problemMatcher": [
                        "$platformio"
                    ],
                    "label": "PlatformIO: Monitor (local echo)",
                    "options": {
                        "env": {"PATH": "${env:HOME}/.platformio/penv/bin"}
                    }
                }
            ]
        }

  Multi-project Workspaces

You can work with multiple project folders in Visual Studio Code with multi-root workspaces. This can be very helpful when you are working on several related projects at the same time. Read more in the documentation Multi-root Workspaces.

  Serial Port Monitor

You can customize Serial Port Monitor using projectconf_section_env_monitor in projectconf:

    •   projectconf_monitor_port

    •   projectconf_monitor_speed

    •   projectconf_monitor_rts

    •   projectconf_monitor_dtr

    •   projectconf_monitor_flags

Example:

        [env:esp32dev]
        platform = espressif32
        framework = arduino
        board = esp32dev

        ; Custom Serial Monitor port
        monitor_port = /dev/ttyUSB1

        ; Custom Serial Monitor speed (baud rate)
        monitor_speed = 115200

  Debugging

Debugging in VSCode works in combination with piodebug. You should have pioaccount to work with it.

VSCode has a separate activity view named "Debug" (accessed by the bug icon on the left toolbar). piodebug extends it with more advanced debugging instruments and features:

    •   Local, Global, and Static Variable Explorer

    •   Conditional Breakpoints

    •   Expressions and Watchpoints

    •   Generic Registers

    •   Peripheral Registers

    •   Memory Viewer

    •   Disassembly

    •   Multi-thread support

    •   A hot restart of an active debugging session.

There are two pre-configured debugging configurations:

    PIO Debug
        Default configuration. PlatformIO runs the Pre-Debug task and builds the project using Debug Configuration. Also, it checks for project changes.

    PIO Debug (skip Pre-Debug)
        PlatformIO skips the Pre-Debug stage and DOES NOT build or check the project for changes. If you do changes in project source files, they will not be reflected in debug sessions until you switch back to the "PIO Debug" configuration or manually run the "Pre-Debug" task.

        This configuration is very useful for quick debug session. It is super fast by skipping several checks, letting you control project changes manually.

NOTE:
        Please note that piodebug will use the first declared build environment in projectconf if the projectconf_pio_default_envs option is not specified.
[image]

  Variable Format

Currently, VSCode does not provide an UI or API to change the variable format. See the related VSCode Issue #28025.

A temporary solution is to set the default numerical base in which the debugger displays numeric output in the Debug Console. (The Debug Console is visible during active debugging sessions). For example, to show variables in hexadecimal format, copy the code below and paste it into "Debug Console":

        set output-radix 16

Possible values, listed in decimal base, are: 8, 10, 16.

  Watchpoints

Please read GDB: Setting Watchpoints first.

Currently, VSCode does not provide an API to change the value format of watchpoints. You can manually cast watchpoint expressions to display the value as specific pointer types:

    •   $pc, default decimal integer format

    •   *0x10012000, an address, default decimal integer format

    •   (void*)$pc, $pc register, hexadecimal format

    •   *(void**)0x10012000, an address, hexadecimal format

  Install Shell Commands

Please refer to PIO Core piocore_install_shell_commands.

  Proxy Server Support

There are two options how to configure a proxy server:

    1.  Declare the HTTP_PROXY and HTTPS_PROXY system environment variables (for example HTTP_PROXY=http://user:pass@10.10.1.10:3128/, etc.)

    2.  Open VSCode Settings and search for "Proxy". Please set "Http: Proxy" and disable "Http: Proxy Strict SSL".

  Settings

How to configure VSCode settings?

  platformio-ide.activateOnlyOnPlatformIOProject

If true, activate the platformio ide extension only when a PlatformIO-based project (that has a projectconf) is open in the workspace. The default value is false.

  platformio-ide.autoCloseSerialMonitor

If true, automatically close cmd_device_monitor before uploading/testing. The default value is true.

  platformio-ide.autoRebuildAutocompleteIndex

If true, automatically rebuild the C/C++ Project Index when projectconf is changed or when new libraries are installed. The default value is true.

  platformio-ide.buildTask

The build task (label) that is launched by the "Build" button in the PlatformIO Toolbar and Key Bindings. The default is PlatformIO: Build.

You can create custom Custom Tasks and assign one of them to platformio-ide.buildTask.

  platformio-ide.customPATH

Custom PATH for the platformio command. Paste here the result of echo $PATH (Unix) / echo %PATH% (Windows) command by typing into your system terminal if you prefer to use a custom version of piocore. The default value is null, meaning PlatformIO looks for the platformio command in the system path.

  platformio-ide.disableToolbar

Disable the PlatformIO toolbar. The default value is false.

  platformio-ide.forceUploadAndMonitor

If true, the Upload (platformio-ide.upload) command is changed to use the "Upload and Monitor" task. The default value is false.

  platformio-ide.reopenSerialMonitorDelay

Configure the time in milliseconds before reopening the Serial Port Monitor. The default value is 0, which means to reopen instantly.

  platformio-ide.updateTerminalPathConfiguration

If true, use a patched PATH environment for the Terminal configuration. The default value is true.

  platformio-ide.useBuiltinPIOCore

If true, use the built-in piocore. The default value is true.

  platformio-ide.useDevelopmentPIOCore

If true, use the development version of piocore. The default value is false.

  platformio-ide.disablePIOHomeStartup

Disable showing PIO Home at startup. The default value is false.

  platformio-ide.pioHomeServerHttpPort

PIO Home server HTTP port. The default value 0 automatically assigns a free port in the range [8010..8100]).

  Known issues

  PackageManager is unable to install tool

This is a known bug in VSCode Terminal issue #61.

A temporary solution is to install packages using a system terminal (not VSCode Terminal). Please use "Solution 3: Run from Terminal" in FAQ > Package Manager > faq_package_manager_error_5. Afterwards, go back to using the VSCode Terminal.

  Changelog

Please visit the releases page.

  Continuous Integration

Continuous Integration (CI, wiki) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.

cmd_ci command is intended to be used in combination with the build servers and the popular Continuous Integration Software.

By integrating regularly, you can detect errors quickly, and locate them more easily.

  AppVeyor

AppVeyor is an open-source hosted, distributed continuous integration service used to build and test projects hosted at GitHub on Windows family systems.

AppVeyor is configured by adding a file named appveyor.yml, which is a YAML format text file, to the root directory of the GitHub repository.

AppVeyor automatically detects when a commit has been made and pushed to a repository that is using AppVeyor, and each time this happens, it will try to build the project using cmd_ci command. This includes commits to all branches, not just to the master branch. AppVeyor will also build and run pull requests. When that process has completed, it will notify a developer in the way it has been configured to do so — for example, by sending an email containing the build results (showing success or failure), or by posting a message on an IRC channel. It can be configured to build project on a range of different platforms.

  Contents

    •   AppVeyor

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

        •   Examples

  Integration

Put appveyor.yml to the root directory of the GitHub repository. The contents of this file depends on the project you want to add. There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects:

        build: off
        environment:

        install:
            - cmd: git submodule update --init --recursive
            - cmd: SET PATH=%PATH%;C:\Python27\Scripts
            - cmd: pip install -U platformio

        test_script:
            - cmd: platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

        build: off
        environment:

          matrix:
            - PLATFORMIO_CI_SRC: "path\\to\\source\\file.c"
            - PLATFORMIO_CI_SRC: "path\\to\\source\\file.ino"
            - PLATFORMIO_CI_SRC: "path\\to\\source\\directory"

        install:
            - cmd: git submodule update --init --recursive
            - cmd: SET PATH=%PATH%;C:\Python27\Scripts
            - cmd: pip install -U platformio

        test_script:
            - cmd: platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Examples

    1.  Integration for USB_Host_Shield_2.0 project. The appveyor.yml configuration file:

        build: off
        environment:

          matrix:
            - PLATFORMIO_CI_SRC: "examples\\Bluetooth\\PS3SPP\\PS3SPP.ino"
            - PLATFORMIO_CI_SRC: "examples\\pl2303\\pl2303_gps\\pl2303_gps.ino"

        install:
            - cmd: git submodule update --init --recursive
            - cmd: SET PATH=%PATH%;C:\Python27\Scripts
            - cmd: pip install -U platformio
            - cmd: git clone https://github.com/xxxajk/spi4teensy3.git C:\spi4teensy

        test_script:
            - cmd: platformio ci --lib="." --lib="C:\\spi4teensy" --board=uno --board=teensy31 --board=due

  CircleCI

CircleCI is a hosted cloud platform that provides hosted continuous integration, deployment, and testing to GitHub repositories.

CircleCI is configured by adding a file named circle.yml, which is a YAML format text file, to the root directory of the GitHub repository.

CircleCI automatically detects when a commit has been made and pushed to a repository that is using CircleCI, and each time this happens, it will try to build the project using cmd_ci command. This includes commits to all branches, not just to the master branch. CircleCI will also build and run pull requests. When that process has completed, it will notify a developer in the way it has been configured to do so — for example, by sending an email containing the build results (showing success or failure), or by posting a message on an IRC channel. It can be configured to build project on a range of different platforms.

  Contents

    •   CircleCI

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

                •   Library dependencies

            •   Install dependent library using librarymanager

            •   Manually download dependent library and include in build process via --lib option

                •   Custom Build Flags

                •   Advanced configuration

        •   Examples

  Integration

NOTE:
        Please make sure to read CircleCI Getting Started guide first.

There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects:

        dependencies:
            pre:
                # Install the latest stable PlatformIO
                - sudo pip install -U platformio

        test:
            override:
                - platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

        dependencies:
            pre:
                # Install the latest stable PlatformIO
                - sudo pip install -U platformio

        test:
            override:
                - platformio ci path/to/test/file.c --board=<ID_1> --board=<ID_2> --board=<ID_N>
                - platformio ci examples/file.ino --board=<ID_1> --board=<ID_2> --board=<ID_N>
                - platformio ci path/to/test/directory --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Library dependencies

There 2 options to test source code with dependent libraries:

  Install dependent library using librarymanager

        dependencies:
            pre:
                # Install the latest stable PlatformIO
                - sudo pip install -U platformio

                # OneWire Library with ID=1 https://platformio.org/lib/show/1/OneWire
                - platformio lib -g install 1

        test:
            override:
                - platformio ci path/to/test/file.c --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Manually download dependent library and include in build process via --lib option

        dependencies:
            pre:
                # Install the latest stable PlatformIO
                - sudo pip install -U platformio

                # download library to the temporary directory
                - wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
                - unzip /tmp/onewire_source.zip -d /tmp/

        test:
            override:
                - platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Custom Build Flags

PlatformIO allows one to specify own build flags using PLATFORMIO_BUILD_FLAGS environment

        machine:
            environment:
                PLATFORMIO_BUILD_FLAGS: -D SPECIFIC_MACROS -I/extra/inc

For the more details, please follow to available build flags/options.

  Advanced configuration

PlatformIO allows one to configure multiple build environments for the single source code using projectconf.

Instead of --board option, please use platformio ci --project-conf

        test:
            override:
                - platformio ci path/to/test/file.c --project-conf=/path/to/platoformio.ini

  Examples

    1.  Custom build flags

        dependencies:
            cache_directories:
                - "~/.platformio"

            pre:
                - sudo pip install -U platformio

                # pre-install PlatformIO development platforms, they will be cached
                - platformio platform install atmelavr atmelsam teensy

                #
                # Libraries from PlatformIO Library Registry:
                #
                # https://platformio.org/lib/show/416/TinyGPS
                # https://platformio.org/lib/show/417/SPI4Teensy3
                - platformio lib -g install 416 417

        test:
            override:
                - platformio ci examples/acm/acm_terminal --board=uno --board=teensy31 --board=due --lib="."
                - platformio ci examples/adk/adk_barcode --board=uno --board=teensy31 --board=due --lib="."
                - platformio ci examples/adk/ArduinoBlinkLED --board=uno --board=teensy31 --board=due --lib="."
                - platformio ci examples/adk/demokit_20 --board=uno --board=teensy31 --board=due --lib="."
                # ...
                - platformio ci examples/Xbox/XBOXUSB --board=uno --board=teensy31 --board=due --lib="."

    2.  Dependency on external libraries

        dependencies:
            pre:
                # Install the latest stable PlatformIO
                - sudo pip install -U platformio

                # download dependent libraries
                - wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip
                - unzip /tmp/jeelib.zip -d /tmp

                - wget https://github.com/Rodot/Gamebuino/archive/master.zip  -O /tmp/gamebuino.zip
                - unzip /tmp/gamebuino.zip -d /tmp

        test:
            override:
                -  platformio ci examples/backSoon/backSoon.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                -  platformio ci examples/etherNode/etherNode.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                -  platformio ci examples/getDHCPandDNS/getDHCPandDNS.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                -  platformio ci examples/getStaticIP/getStaticIP.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                # ...
                -  platformio ci examples/twitter/twitter.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                -  platformio ci examples/udpClientSendOnly/udpClientSendOnly.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                -  platformio ci examples/udpListener/udpListener.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560
                -  platformio ci examples/webClient/webClient.ino --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560

    •   Configuration file: hhttps://github.com/ivankravets/ethercard/blob/master/circle.yaml

    •   Build History: https://circleci.com/gh/ivankravets/ethercard/tree/master

  Drone

Drone is a hosted continuous integration service. It enables you to conveniently set up projects to automatically build, test, and deploy as you make changes to your code to GitHub and BitBucket repositories.

Drone is configured by modifying settings in your project control panel.

Drone automatically detects when a commit has been made and pushed to a repository that is using Drone, and each time this happens, it will try to build the project using cmd_ci command. This includes commits to all branches, not just to the master branch. Drone will also build and run pull requests. When that process has completed, it will notify a developer in the way it has been configured to do so — for example, by sending an email containing the build results (showing success or failure). It can be configured to build project on a range of different platforms.

  Contents

    •   Drone

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

        •   Examples

  Integration

There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects (Please fill all fields for your project in the Drone control panel):

Commands:

        pip install -U platformio
        platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

Environment Variables:

        PLATFORMIO_CI_SRC=path/to/source/file.c
        PLATFORMIO_CI_SRC=path/to/source/file.ino
        PLATFORMIO_CI_SRC=path/to/source/directory

Commands:

        pip install -U platformio
        platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
[image]

  Examples

    1.  Integration for USB_Host_Shield_2.0 project. The circle.yml configuration file:

Environment Variables:

        PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino
        PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino

Commands:

        pip install -U platformio
        wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
        unzip /tmp/spi4teensy3.zip -d /tmp
        platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due
[image]

  GitHub Actions

GitHub Actions enables you to create custom software development life cycle (SDLC) workflows directly in your GitHub repository.

You need to configure GitHub Actions using YAML syntax, and save them as workflow files in your repository. Workflows are custom automated processes that you can set up in your repository to build, test, package, release, or deploy any code project on GitHub. You can write individual tasks, called actions, and combine them to create a custom workflow. Once you've successfully created aYAML workflow file and triggered the workflow, you will see the build logs, tests results, artifacts, and statuses for each step of your workflow. It can be configured to build project on a range of different platforms.

GitHub Actions help you automate your software development workflows in the same place you store code and collaborate on pull requests and issues and each time this happens, it will try to build the project using cmd_ci command.

  Contents

    •   GitHub Actions

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

                •   Library dependencies

            •   Install dependent library using librarymanager

            •   Manually download dependent library and include in build process via --lib option

                •   Custom Build Flags

        •   Examples

  Integration

NOTE:
        Please make sure to read GitHub Actions Getting Started guide first.

There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects:

        name: PlatformIO CI

        on: [push]

        jobs:
          build:

            runs-on: ubuntu-latest

            steps:
            - uses: actions/checkout@v1
            - name: Set up Python
              uses: actions/setup-python@v1
            - name: Install dependencies
              run: |
                python -m pip install --upgrade pip
                pip install platformio
            - name: Run PlatformIO
              run: platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

        name: PlatformIO CI

        on: [push]

        jobs:
          build:

            runs-on: ubuntu-latest
            strategy:
              matrix:
                example: [path/to/test/file.c, examples/file.ino, path/to/test/directory]

            steps:
            - uses: actions/checkout@v1
            - name: Set up Python
              uses: actions/setup-python@v1
            - name: Install dependencies
              run: |
                python -m pip install --upgrade pip
                pip install platformio
            - name: Run PlatformIO
              run: platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>
              env:
                PLATFORMIO_CI_SRC: ${{ matrix.example }}

  Library dependencies

There 2 options to test source code with dependent libraries:

  Install dependent library using librarymanager

        - name: Install library dependencies
          run: platformio lib -g install 1

        - name: Run PlatformIO
          run: platformio ci path/to/test/file.c --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Manually download dependent library and include in build process via --lib option

        - name: Install library dependencies
          run: |
            wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
            unzip /tmp/onewire_source.zip -d /tmp/

        - name: Run PlatformIO
          run: platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Custom Build Flags

PlatformIO allows one to specify own build flags using PLATFORMIO_BUILD_FLAGS environment

        - name: Run PlatformIO
          run: platformio ci path/to/test/file.c --lib="/tmp/OneWire-master" --board=<ID_1> --board=<ID_2> --board=<ID_N>
          env:
            PLATFORMIO_BUILD_FLAGS: -D SPECIFIC_MACROS -I/extra/inc

For the more details, please follow to available build flags/options.

  Examples

Integration for USB_Host_Shield_2.0 project. The workflow.yml configuration file:

        name: PlatformIO CI

        on: [push]

        jobs:
          build:

            runs-on: ${{ matrix.os }}
            strategy:
              matrix:
                os: [ubuntu-latest, macos-latest, windows-latest]
                example: [examples/Bluetooth/PS3SPP/PS3SPP.ino, examples/pl2303/pl2303_gps/pl2303_gps.ino]

            steps:
            - uses: actions/checkout@v1
            - name: Set up Python
              uses: actions/setup-python@v1

            - name: Install dependencies
              run: |
                python -m pip install --upgrade pip
                pip install platformio
                wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
                unzip /tmp/spi4teensy3.zip -d /tmp

            - name: Run PlatformIO
              run: platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due
              env:
                PLATFORMIO_CI_SRC: ${{ matrix.example }}

  GitLab

GitLab is a hosted cloud platform that can help you build, test, deploy, and monitor your code from GitLab repositories.

GitLab CI is enabled by default on new projects, so you can start using its features right away. All you need is cmd_ci command, a file called .gitlab-ci.yml (where you describe how the build should run) placed in the root directory of your git project, and a configured Runner to perform the actual build (Gitlab has some pre-configured public runners so your CI script should work out of the box). Each project comes with a Builds page where you can follow the output of each build, see the commit that introduced it and other useful information such as the time the build started, how long it lasted and the commiter's name. The statuses for each build are exposed in the GitLab UI, and you can see whether a build succeeded, failed, got canceled or skipped.

  Contents

    •   GitLab

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

        •   Examples

  Integration

Put .gitlab-ci.yml to the root directory of your repository. The contents of this file depends on the project you want to add. There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects:

        image: python:2.7

        stages:
         - test

        before_script:
          - "pip install -U platformio"

        job:
          stage: test
          script: "platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>"

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

        image: python:2.7

        stages:
         - test

        before_script:
          - "pip install -U platformio"

        job:
          stage: test
          script: "platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>"
          variables: {PLATFORMIO_CI_SRC: "path/to/test/file.c"}

  Examples

    1.  Integration for ArduinoJson library project. The .gitlab-ci.yml configuration file:

        image: python:2.7

        stages:
         - test

        .job_template: &pio_run
          script:
            - "platformio ci --lib='.' --board=uno --board=teensy31 --board=nodemcuv2 $PLATFORMIO_CI_EXTRA_ARGS"

        before_script:
          - "pip install -U platformio"

        JsonGeneratorExample:
          <<: *pio_run
          variables:
            PLATFORMIO_CI_EXTRA_ARGS: "--board=due"
            PLATFORMIO_CI_SRC: examples/JsonGeneratorExample

        JsonHttpClient:
          <<: *pio_run
          variables:
            PLATFORMIO_CI_SRC: examples/JsonHttpClient

        JsonParserExample:
          <<: *pio_run
          variables:
            PLATFORMIO_CI_SRC: examples/JsonParserExample

        JsonServer:
          <<: *pio_run
          variables:
            PLATFORMIO_CI_SRC: examples/JsonServer

        JsonUdpBeacon:
          <<: *pio_run
          variables:
            PLATFORMIO_CI_SRC: examples/JsonUdpBeacon

        ProgmemExample:
          stage: test
          <<: *pio_run
          variables:
            PLATFORMIO_CI_SRC: examples/ProgmemExample

        StringExample:
          stage: test
          <<: *pio_run
          variables:
            PLATFORMIO_CI_SRC: examples/StringExample

  Jenkins

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and deploying software.

Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.

It can be configured to build project on a range of different platforms.

  Contents

    •   Jenkins

        •   Integration

  Integration

See step-by-step guide in ThingForward's blog post Setting up a Jenkins CI engine for embedded projects.

  Shippable

Shippable is a hosted cloud platform that provides hosted continuous integration, deployment, and testing to GitHub and BitBucket repositories. Shippable's continuous integration service is built using Docker.

Shippable is configured by adding a file named shippable.yml, which is a YAML format text file, to the root directory of the GitHub repository or you can use your Travis CI configuration file .travis.yml.

Shippable automatically detects when a commit has been made and pushed to a repository that is using Shippable, and each time this happens, it will try to build the project using cmd_ci command. This includes commits to all branches, not just to the master branch. Shippable will also build and run pull requests. When that process has completed, it will notify a developer in the way it has been configured to do so — for example, by sending an email containing the build results (showing success or failure), or by posting a message on an IRC channel. It can be configured to build project on a range of different platforms.

  Contents

    •   Shippable

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

        •   Examples

  Integration

Put shippable.yml or .travis.yml to the root directory of your repository. The contents of this file depends on the project you want to add. There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects:

        language: python
        python:
            - "2.7"

        install:
            - pip install -U platformio

        script:
            - platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

        language: python
        python:
            - "2.7"

        env:
            - PLATFORMIO_CI_SRC=path/to/source/file.c
            - PLATFORMIO_CI_SRC=path/to/source/file.ino
            - PLATFORMIO_CI_SRC=path/to/source/directory

        install:
            - pip install -U platformio

        script:
            - platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Examples

    1.  Integration for USB_Host_Shield_2.0 project. The shippable.yml or .travis.yml configuration file:

        language: python
        python:
            - "2.7"

        env:
            - PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino
            - PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino

        install:
            - pip install -U platformio
            - wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
            - unzip /tmp/spi4teensy3.zip -d /tmp

        script:
            - platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due

  Travis CI

Travis CI officially supports PlatformIO for Embedded Builds.

Travis CI is an open-source hosted, distributed continuous integration service used to build and test projects hosted at GitHub.

Travis CI is configured by adding a file named .travis.yml, which is a YAML format text file, to the root directory of the GitHub repository.

Travis CI automatically detects when a commit has been made and pushed to a repository that is using Travis CI, and each time this happens, it will try to build the project using cmd_ci command. This includes commits to all branches, not just to the master branch. Travis CI will also build and run pull requests. When that process has completed, it will notify a developer in the way it has been configured to do so — for example, by sending an email containing the build results (showing success or failure), or by posting a message on an IRC channel. It can be configured to build project on a range of different platforms.

  Contents

    •   Travis CI

        •   Integration

            •   Using cmd_run command

            •   Using cmd_ci command

        •   Library dependencies

            •   Install dependent library using librarymanager

            •   Manually download dependent library and include in build process via --lib option

        •   Custom Build Flags

        •   Advanced configuration

        •   Unit Testing

        •   Examples

  Integration

Please make sure to read Travis CI Getting Started and general build configuration guides first.

NOTE:
        If you are going to use PlatformIO unit_testing or pioremote you will need to define PLATFORMIO_AUTH_TOKEN environment variable in project settings. See Defining Variables in Repository Settings guide.

PlatformIO is written in Python and is recommended to be run within Travis CI Python isolated environment. There are two possible ways of running PlatformIO in CI services:

  Using cmd_run command

This variant is default choice for native PlatformIO projects:

        language: python
        python:
            - "2.7"

        # Cache PlatformIO packages using Travis CI container-based infrastructure
        sudo: false
        cache:
            directories:
                - "~/.platformio"

        install:
            - pip install -U platformio
            - platformio update

        script:
            - platformio run /path/to/project/dir -e <ID_1> -e <ID_2> -e <ID_N>

  Using cmd_ci command

This variant is more convenient when project is written as a library (when there are examples or testing code) as it has additional options for specifying extra libraries and boards from command line interface:

        language: python
        python:
            - "2.7"

        # Cache PlatformIO packages using Travis CI container-based infrastructure
        sudo: false
        cache:
            directories:
                - "~/.platformio"

        env:
            - PLATFORMIO_CI_SRC=path/to/test/file.c
            - PLATFORMIO_CI_SRC=examples/file.ino
            - PLATFORMIO_CI_SRC=path/to/test/directory

        install:
            - pip install -U platformio
            - platformio update

        script:
            - platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>

Then perform steps 1, 2 and 4 from http://docs.travis-ci.com/user/getting-started/

  Library dependencies

There 2 options to test source code with dependent libraries:

  Install dependent library using librarymanager

        install:
            - pip install -U platformio

            #
            # Libraries from PlatformIO Library Registry:
            #
            # https://platformio.org/lib/show/1/OneWire
            - platformio lib -g install 1

  Manually download dependent library and include in build process via --lib option

        install:
            - pip install -U platformio

            # download library to the temporary directory
            - wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
            - unzip /tmp/onewire_source.zip -d /tmp/

        script:
            - platformio ci --lib="/tmp/OneWire-master" --board=<ID_1> --board=<ID_2> --board=<ID_N>

  Custom Build Flags

PlatformIO allows one to specify own build flags using PLATFORMIO_BUILD_FLAGS environment

        env:
            - PLATFORMIO_CI_SRC=path/to/test/file.c PLATFORMIO_BUILD_FLAGS="-D SPECIFIC_MACROS_PER_TEST_ENV -I/extra/inc"
            - PLATFORMIO_CI_SRC=examples/file.ino
            - PLATFORMIO_CI_SRC=path/to/test/directory

        install:
            - pip install -U platformio
            - export PLATFORMIO_BUILD_FLAGS="-D GLOBAL_MACROS_FOR_ALL_TEST_ENV"

For the more details, please follow to available build flags/options.

  Advanced configuration

PlatformIO allows one to configure multiple build environments for the single source code using projectconf.

Instead of --board option, please use platformio ci --project-conf

        script:
            - platformio ci --project-conf=/path/to/platoformio.ini

  Unit Testing

See PlatformIO Remote Unit Testing Example.

  Examples

    1.  Custom build flags

        language: python
        python:
            - "2.7"

        # Cache PlatformIO packages using Travis CI container-based infrastructure
        sudo: false
        cache:
            directories:
                - "~/.platformio"

        env:
            - PLATFORMIO_CI_SRC=examples/acm/acm_terminal
            - PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
            - PLATFORMIO_CI_SRC=examples/ftdi/USBFTDILoopback
            - PLATFORMIO_CI_SRC=examples/Xbox/XBOXUSB
            # - ...

        install:
            - pip install -U platformio
            - platformio update

            #
            # Libraries from PlatformIO Library Registry:
            #
            # https://platformio.org/lib/show/416/TinyGPS
            # https://platformio.org/lib/show/417/SPI4Teensy3
            - platformio lib -g install 416 417

        script:
            - platformio ci --board=uno --board=teensy31 --board=due --lib="."

    •   Configuration file: https://github.com/felis/USB_Host_Shield_2.0/blob/master/.travis.yml

    •   Build History: https://travis-ci.org/felis/USB_Host_Shield_2.0

    2.  Dependency on external libraries

        language: python
        python:
            - "2.7"

        # Cache PlatformIO packages using Travis CI container-based infrastructure
        sudo: false
        cache:
            directories:
                - "~/.platformio"

        env:
            - PLATFORMIO_CI_SRC=examples/backSoon/backSoon.ino
            - PLATFORMIO_CI_SRC=examples/etherNode/etherNode.ino
            # -

        install:
            - pip install -U platformio
            - platformio update

            - wget https://github.com/jcw/jeelib/archive/master.zip -O /tmp/jeelib.zip
            - unzip /tmp/jeelib.zip -d /tmp

            - wget https://github.com/Rodot/Gamebuino/archive/master.zip  -O /tmp/gamebuino.zip
            - unzip /tmp/gamebuino.zip -d /tmp

        script:
            - platformio ci --lib="." --lib="/tmp/jeelib-master" --lib="/tmp/Gamebuino-master/libraries/tinyFAT" --board=uno --board=megaatmega2560

    •   Configuration file: https://github.com/jcw/ethercard/blob/master/.travis.yml

    •   Build History: https://travis-ci.org/jcw/ethercard

    3.  Dynamic testing of the boards

        language: python
        python:
            - "2.7"

        # Cache PlatformIO packages using Travis CI container-based infrastructure
        sudo: false
        cache:
            directories:
                - "~/.platformio"

        env:
            - PLATFORMIO_CI_SRC=examples/TimeArduinoDue PLATFORMIO_CI_EXTRA_ARGS="--board=due"
            - PLATFORMIO_CI_SRC=examples/TimeGPS
            - PLATFORMIO_CI_SRC=examples/TimeNTP
            - PLATFORMIO_CI_SRC=examples/TimeTeensy3 PLATFORMIO_CI_EXTRA_ARGS="--board=teensy31"
            # - ...

        install:
            - pip install -U platformio
            - platformio update
            - rm -rf ./linux

            #
            # Libraries from PlatformIO Library Registry:
            #
            # https://platformio.org/lib/show/416/TinyGPS
            - platformio lib -g install 416 421 422

        script:
            - platformio ci --lib="." --board=uno --board=teensy20pp $PLATFORMIO_CI_EXTRA_ARGS

    •   Configuration file: https://github.com/ivankravets/Time/blob/master/.travis.yml

    •   Build History: https://travis-ci.org/ivankravets/Time

    4.  Advanced configuration with extra project options and libraries

        language: python
        python:
            - "2.7"

        # Cache PlatformIO packages using Travis CI container-based infrastructure
        sudo: false
        cache:
            directories:
                - "~/.platformio"

        env:
            - PLATFORMIO_CI_SRC=examples/Boards_Bluetooth/Adafruit_Bluefruit_LE
            - PLATFORMIO_CI_SRC=examples/Boards_Bluetooth/Arduino_101_BLE PLATFORMIO_CI_EXTRA_ARGS="--board=genuino101"
            - PLATFORMIO_CI_SRC=examples/Boards_USB_Serial/Blue_Pill_STM32F103C PLATFORMIO_CI_EXTRA_ARGS="--board=bluepill_f103c8 --project-option='framework=arduino'"
            - PLATFORMIO_CI_SRC=examples/Export_Demo/myPlant_ESP8266 PLATFORMIO_CI_EXTRA_ARGS="--board=nodemcuv2 --project-option='lib_ignore=WiFi101'"
            # - ...

        install:
            - pip install -U platformio
            - platformio update

            #
            # Libraries from PlatformIO Library Registry:
            #
            # https://platformio.org/lib/show/44/Time
            # https://platformio.org/lib/show/419/SimpleTimer
            #
            # https://platformio.org/lib/show/17/Adafruit-CC3000
            # https://platformio.org/lib/show/28/SPI4Teensy3
            # https://platformio.org/lib/show/91/UIPEthernet
            # https://platformio.org/lib/show/418/WildFireCore
            # https://platformio.org/lib/show/420/WildFire-CC3000
            # https://platformio.org/lib/show/65/WiFlyHQ
            # https://platformio.org/lib/show/19/Adafruit-DHT
            # https://platformio.org/lib/show/299/WiFi101
            # https://platformio.org/lib/show/259/BLEPeripheral
            # https://platformio.org/lib/show/177/Adafruit_BluefruitLE_nRF51

            - platformio lib -g install 17 28 91 418 419 420 65 44 19 299 259 177 https://github.com/vshymanskyy/BlynkESP8266.git https://github.com/cmaglie/FlashStorage.git https://github.com/michael71/Timer5.git

        script:
            - make travis-build

    •   Configuration file: https://github.com/blynkkk/blynk-library/blob/master/.travis.yml

    •   Build History: https://travis-ci.org/blynkkk/blynk-library

  Compilation database compile_commands.json

New in version 4.2.

A compilation database is a JSON-formatted file named compile_commands.json that contains structured data about every compilation unit in your project.

piocore supports generating of compilation database using platformio run --target command and compiledb target. For example,

        > platformio run -t compiledb

A default path for compile_commands.json is "projectconf_pio_build_dir/envname". You can override this path with projectconf_advanced_scripting and COMPILATIONDB_PATH environment variable. For example, generate compile_commands.json in a root of project:

platformio.ini:

        [env:myenv]
        platform = ...
        board = ...
        extra_scripts = post:extra_script.py

extra_script.py:

        import os
        Import("env")

        env.Replace(COMPILATIONDB_PATH=os.path.join("$PROJECT_DIR", "compile_commands.json"))

  Articles about us

NOTE:
        If you've written article about PlatformIO and would like it listed on this page, please edit this page.

Here are recent articles/reviews about PlatformIO:

  2020

    •   Mar 28, 2020 - Brian Lough - Use the PlatformIO Debugger on the ESP32 Using an ESP-prog

    •   Mar 10, 2020 - James Harton - Augie the Hexapod Robot

    •   Mar 05, 2020 - Alex Govorov - PVS-Studio Integration in PlatformIO

    •   Feb 2, 2020 - Tommy Desrochers - VS Code et PlatformIO: Mieux que l'IDE Arduino?

    •   Jan 15, 2020 - Ivan Kravets, CEO of PlatformIO - Next-generation IDE for your RISC-V Product in 20 Minutes

  2019

    •   Dec 29, 2019 - Andri Yadi - AI-Powered Magic Wand

    •   Oct 31, 2019 - Frank Leon Rose - Minimal FreeRTOS with PlatformIO

    •   Aug 18, 2019 - Manuel Bleichenbacher - Arduino In-circuit Debugging with PlatformIO

    •   Aug 13, 2019 - Tech Explorations - 6 reasons why PlatformIO is perhaps the best programming environment for the ESP32

    •   Jul 04, 2019 - Jean-Claude Wippler - The PlatformIO command line

    •   Mar 08, 2019 - Nathan Glover - Amazon Alexa controlled IoT Traffic Lights

  2018

    •   Dec 27, 2018 - Xose Pérez - Automated unit testing in the metal

    •   Dec 20, 2018 - Jean-Claude Wippler - Getting started with the STM32F407VG and STM32Cube

    •   Nov 24, 2018 - Martin Fasani - PlatformIO: An alternative to Arduino IDE and a complete ecosystem for IoT

    •   Sep 27, 2018 - Lup Yuen Lee - Connect STM32 Blue Pill to Sigfox

    •   Aug 27, 2018 - Lup Yuen Lee - Juggling STM32 Blue Pill For Arduino Jugglers

    •   Jul 3, 2018 - Andreas Schmidt - IoT for web developers: From zero to firmware, Part II

    •   Jun 22, 2018 - Andreas Schmidt - IoT for web developers, Part I

    •   Jul 4, 2018 - ThingForward - Screen-cast: First steps with PlatformIO’s Unified Debugger

    •   Jun 6, 2018 - Andreas Schmidt - ESP32, WebThing API and PlatformIO-style projects

    •   May 21, 2018 - Dentella Luca - ESP32, PlatformIO

    •   Mar 27, 2018 - Andreas Schmidt - Building a Web Of Things REST-API on an Arduino MKR1000 with PlatformIO

    •   Mar 19, 2018 - ThingForward - Webinar: Unit Testing for Embedded with PlatformIO and Qt Creator

    •   Feb 16, 2018 - Alex Corvis - DIY Virtual alike NEST Thermostat with Node-RED

    •   Jan 24, 2018 - ThingForward - Embedded and Cloud - Continuous Integration

    •   Jan 14, 2018 - IT4nextgen - 5 Best Development Software(IDE) for Internet of Things (IOT) in 2018

    •   Jan 13, 2018 - Rui Marinho - Quick start guide to flashing ESP8266-based devices with PlatformIO

  2017

    •   Dec 26, 2017 - Coyt Barringer - Programming STM32F103 Blue Pill using USB Bootloader and PlatformIO

    •   Dec 1, 2017 - ThingForward - Using Cloud IDEs for Embedded Development: CodeAnywhere

    •   Nov 13, 2017 - ThingForward - Automating Static and Dynamic Code Analysis with PlatformIO

    •   Oct 18, 2017 - ThingForward - Getting Started with SigFox and PlatformIO

    •   Sep 18, 2017 - ThingForward - Embedded Testing with PlatformIO – Part 4: Continuous Integration

    •   Sep 06, 2017 - ThingForward - Embedded Testing with PlatformIO – Part 3: Remoting

    •   Sep 04, 2017 - Dror Gluska - Looking To The IoT Future With PlatformIO And ESP32

    •   Aug 23, 2017 - 陳亮 - Develop ESP32 With PlatformIO IDE

    •   Aug 08, 2017 - ThingForward - Embedded Testing with PlatformIO - Part 2

    •   Jul 25, 2017 - ThingForward - Start Embedded Testing with PlatformIO

    •   Jun 23, 2017 - Naresh Krish - Home Automation Using Wiscore, OpenHab and PlatformIO

    •   Jun 05, 2017 - Projects DIY - Démarrer avec PlatformIO IDE alternatif pour Arduino, ESP8266, ESP32 et autres micro-contrôleurs (Start with PlatformIO alternative IDE for Arduino, ESP8266, ESP32 and other microcontrollers, French)

    •   Apr 12, 2017 - Jane Elizabeth - Let's talk IoT: PlatformIO puts developers back in the driver's seat

    •   Apr 07, 2017 - Al Williams - Hackaday: PlatformIO and Visual Studio take over the world

    •   Mar 13, 2017 - Ryan Mulligan - Continuous testing for Arduino libraries using PlatformIO and Travis CI

    •   Feb 23, 2017 - Bastiaan Visee - Using PlatformIO for your Arduino projects

    •   Jan 12, 2017 - Tiest van Gool - OTA: PlatformIO and ESP8266

  2016

    •   Dec 13, 2016 - Dr. Patrick Mineault - Multi-Arduino projects with PlatformIO

    •   Dec 08, 2016 - Cuong Tran Viet - PlatformIO is a solution

    •   Nov 10, 2016 - PiGreek - PlatformIO the new Arduino IDE ?!

    •   Oct 31, 2016 - Ricardo Quesada - Retro Challenge: announcing Commodore Home

    •   Oct 3, 2016 - Xose Pérez - Using the new Bean Loader CLI from PlatformIO

    •   Sep 20, 2016 - The Linux Foundation - 21 Open Source Projects for IoT

    •   Sep 19, 2016 - Doc Walker - How to automatically test build Arduino libraries

    •   Sep 18, 2016 - Kadda Sahnine - LoRaWAN network practice with Objenious, PlatformIO and Node-RED

    •   Sep 13, 2016 - Xose Pérez MQTT LED Matrix Display

    •   Sep 12, 2016 - Pedro Minatel - OTA – Como programar o ESP8266 pelo WiFi no platformIO (OTA programming for ESP8266 via Wi-Fi using PlatformIO, Portuguese)

    •   Sep 2, 2016 - Xose Pérez ESP8266: Optimizing files for SPIFFS with Gulp

    •   Aug 28, 2016 - Tom Parker Using the BBC micro:bit with PlatformIO

    •   Aug 24, 2016 - Primal Cortex Cloud based continuous integration and delivery for IOT using PlatformIO

    •   Aug 18, 2016 - Primal Cortex - Installing PlatformIO on Arch Linux

    •   Aug 14, 2016 - Rodrigo Castro - PlataformIO o comó usar Arduino con ATOM (Spanish)

    •   Jul 27, 2016 - Francesco Azzola - Arduino Alternative IDE: PlatformIO IoT integrated platform

    •   Jul 26, 2016 - Embedded Systems Laboratory - แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai)

    •   Jul 15, 2016 - Jaime - ESP8266 Mobile Rick Roll Captive Portal

    •   Jul 5, 2016 - Ivan Kravets, Ph.D. - Explore the new development instruments for Arduino with PlatformIO ecosystem

    •   Jul 5, 2016 - Belinda - Monte Bianco Arduino Developer Summit

    •   Jul 1, 2016 - Tam Hanna - Mikrocontroller-Gipfel in den Alpen: Arduino Developer Summit, Tag eins (Microcontroller peaks in the Alps: Arduino Developer Summit, Day One, German)

    •   Jun 14, 2016 - Glyn Hudson - OpenEnergyMonitor Part 2/3: Firmware Continuous Test & Build

    •   Jun 13, 2016 - Daniel Eichhorn - New Weather Station Demo on Github

    •   Jun 12, 2016 - Glyn Hudson - OpenEnergyMonitor Part 1/3: PlatformIO open-source embedded development ecosystem

    •   Jun 12, 2016 - Uli Wolf - Nutzung von PlatformIO im Atom Editor zur Entwicklung von Arduino Code (Use PlatformIO and Atom Editor to develop Arduino code, German)

    •   Jun 3, 2016 - Daniel Eichhorn - ESP8266: Continuous Delivery Pipeline – Push To Production

    •   May 30, 2016 - Ron Moerman - IoT Development with PlatformIO

    •   May 29, 2016 - Chris Synan - Reverse Engineer RF Remote Controller for IoT!

    •   May 26, 2016 - Charlie Key - 7 Best Developer Tools To Build Your NEXT Internet of Things Application

    •   May 22, 2016 - Pedro Minatel - Estação meteorológica com ESP8266 (Weather station with ESP8266, Portuguese)

    •   May 16, 2016 - Pedro Minatel - Controle remoto WiFi com ESP8266 (WiFi remote control using ESP8266, Portuguese)

    •   May 11, 2016 - Jo Vandeginste - Using PlatformIO to compile for Jeelabs' Jeenode Micro

    •   May 08, 2016 - Radoslaw Bob - Touch controlled buzzer (Nodemcu ESP8266)

    •   May 06, 2016 - Jean Roux - The IoT building blocks I use for my home-automation projects

    •   May 05, 2016 - Ivan Kravets, Ph.D. / Eclipse Virtual IoT Meetup - PlatformIO: a cross-platform IoT solution to build them all!

    •   May 01, 2016 - Pedro Minatel - PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese)

    •   Apr 23, 2016 - Al Williams - Hackaday: Atomic Arduino (and Other) Development

    •   Apr 16, 2016 - Sathittham Sangthong - [PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let's play together with PlatformIO IDE [alternative to Arduino IDE], Thai)

    •   Apr 15, 2016 - Daniel Eichhorn - ESP8266: Offline Debugging with the Platformio Environment

    •   Apr 11, 2016 - Matjaz Trcek - Top 5 Arduino integrated development environments

    •   Apr 06, 2016 - Aleks - PlatformIO ausprobiert (Tried PlatformIO, German)

    •   Apr 02, 2016 - Diego Pinto - Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese)

    •   Mar 30, 2016 - Brandon Cannaday - Getting Started with PlatformIO and ESP8266 NodeMcu

    •   Mar 29, 2016 - Pablo Peñalve - PlatformIO + Geany + Raspberry PI, Spanish

    •   Mar 24, 2016 - NAzT - PlatformIO และการปรับแต่ง เพื่อใช้สำหรับพัฒนา Arduino Library (PlatformIO and advanced development for Arduino Library, Thai)

    •   Mar 16, 2016 - Jakub Skořepa - Instalace PlatformIO (PlatformIO IDE Installation, Czech)

    •   Mar 12, 2016 - Peter Marks - PlatformIO, the Arduino IDE for programmers

    •   Mar 12, 2016 - Richard Arthurs - Getting Started With PlatformIO

    •   Mar 07, 2016 - Joran Jessurun - Nieuwe wereld met PlatformIO (New world with PlatformIO, Dutch)

    •   Mar 05, 2016 - brichacek.net - PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech)

    •   Mar 04, 2016 - Ricardo Vega - Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish)

    •   Feb 28, 2016 - Alex Bloggt - PlatformIO vorgestellt (Introduction to PlatformIO IDE, German)

    •   Feb 25, 2016 - NutDIY - PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai)

    •   Feb 23, 2016 - Ptarmigan Labs - ESP8266 Over The Air updating – what are the options?

    •   Feb 22, 2016 - Grzegorz Hołdys - How to Integrate PlatformIO with Netbeans

    •   Feb 19, 2016 - Embedds - Develop easier with PlatformIO ecosystem

    •   Feb 13, 2016 - Robert Cudmore - Programming an arduino with PlatformIO

    •   Jan 24, 2016 - Sergey Prilukin - How to use IntelliJ IDEA to develop and upload software for micro controllers like Arduino

    •   Jan 16, 2016 - Dani Eichhorn - ESP8266 Arduino IDE Alternative: PlatformIO

    •   Jan 11, 2016 - David Mills, Ph.D. - STM NUCLEOF401RE TIMER IO

    •   Jan 05, 2016 - Julien Rodrigues - Internet Of Things: The IDE scandal

  2015

    •   Dec 22, 2015 - Jan Penninkhof - Over-the-Air ESP8266 programming using PlatformIO

    •   Dec 15, 2015 - stastaka - PlatformIOでカスタムボードを使う (Use a custom board for PlatformIO, Japanese)

    •   Dec 08, 2015 - Piotr Król - Using PlatformIO with TI MSP430 LunchPads

    •   Dec 01, 2015 - Michał Seroczyński - Push Notification from Arduino Yún with motion sensor

    •   Dec 01, 2015 - JetBrains CLion Blog - C++ Annotated: Fall 2015. Arduino Support in CLion using PlatformIO

    •   Dec 01, 2015 - Tateno Yuichi - ESP8266 を CUI で開発する (Develop a ESP8266 in CUI, Japanese)

    •   Nov 29, 2015 - Keith Hughes - Using PlatformIO for Embedded Projects

    •   Nov 22, 2015 - Michał Seroczyński - Using PlatformIO to get started with Arduino in CLion IDE

    •   Nov 09, 2015 - ÁLvaro García Gómez - Programar con Arduino "The good way" (Programming with Arduino "The good way", Spanish)

    •   Nov 06, 2015 - nocd5 - PlatformIOでmbedをオフラインビルドしSTM32 Nucleoボードでmrubyを使う (Use mruby in the offline build for STM32 Nucleo board with mbed and PlatformIO, Japanese)

    •   Oct 21, 2015 - Vittorio Zaccaria - Using a cheap STM32 Nucleo to teach remote sensor monitoring

    •   Oct 18, 2015 - Nico Coetzee - First Arduino I2C Experience with PlatformIO

    •   Oct 10, 2015 - Floyd Hilton - Programming Arduino with Atom

    •   Oct 01, 2015 - Mistan - Compile and Upload Arduino Sketch with PlatformIO for Raspberry Pi Running Arch Linux

    •   Sep 30, 2015 - Jay Wiggins - PlatformIO Investigation

    •   Sep 01, 2015 - Thomas P. Weldon, Ph.D. - Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation

    •   Aug 08, 2015 - Josh Glendenning - Armstrap Eagle and PlatformIO

    •   Aug 01, 2015 - Russell Davis - PlatformIO on the Raspberry Pi

    •   Jul 25, 2015 - DinoTools - Erste Schritte mit PlatformIO (Getting Started with PlatformIO, German)

    •   Jul 20, 2015 - Eli Fatsi - Arduino Development in Atom Editor

    •   Jul 14, 2015 - ElbinarIO - Programar para Arduino y otros microcontroladores desde la linea de comandos (Program Arguino and other microcontrollers from the command line, Spanish)

    •   Jul 11, 2015 - TrojanC - Learning Arduino GitHub Repository

    •   Jul 07, 2015 - Sho Hashimoto - PlatformIOでArduino開発する(Arduino development in PlatformIO, Japanese)

    •   Jun 02, 2015 - Alejandro Guirao Rodríguez - Discovering PlatformIO: The RaspberryPi / Arduino combo kit is a winner option when prototyping an IoT-style project

    •   May 17, 2015 - S.S - コマンドラインでArduino開発 : vim + platformio (Arduino development at the command line: VIM + PlatformIO, Japanese)

    •   May 11, 2015 - IT Hare - From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part II

    •   May 4, 2015 - IT Hare - From Web Developer to Embedded One: Interview with Ivan Kravets, The Guy Behind PlatformIO. Part I

    •   Apr 17, 2015 - Michael Ball - PlatformIO - A Cross-Platform Code Builder and Missing Library Manager

    •   Mar 23, 2015 - Atmel - Cross-board and cross-vendor embedded development with PlatformIO

    •   Mar 22, 2015 - Mark VandeWettering - Discovered a new tool for embedded development: PlatformIO

    •   Feb 25, 2015 - Hendrik Putzek - Use your favourite IDE together with Arduino

  2014

    •   Oct 7, 2014 - Ivan Kravets, Ph.D. - Integration of PlatformIO library manager to Arduino and Energia IDEs

    •   Jun 20, 2014 - Ivan Kravets, Ph.D. - Building and debugging Atmel AVR (Arduino-based) project using Eclipse IDE+PlatformIO

    •   Jun 17, 2014 - Ivan Kravets, Ph.D. - How was PlatformIO born or why I love Python World

  Frequently Asked Questions

NOTE:
        We have a big database with Frequently Asked Questions in our Community Forums. Please have a look at it.

  Contents

    •   General

        •   What is PlatformIO?

        •   What is .pio directory

        •   What is .pioenvs directory

        •   Command completion in Terminal

    •   Install Python Interpreter

    •   Convert Arduino file to C++ manually

    •   Program Memory Usage

    •   Advanced Serial Monitor with UI

    •   Troubleshooting

        •   Installation

            •   Multiple PIO Cores in a system

            •   'platformio' is not recognized as an internal or external command

            •   99-platformio-udev.rules

            •   ImportError: cannot import name _remove_dead_weakref

        •   Package Manager

            •   [Error 5] Access is denied

                •   Solution 1: Remove folder

                •   Solution 2: Antivirus

                •   Solution 3: Run from Terminal

                •   Solution 4: Manual

        •   Building

            •   UnicodeWarning: Unicode equal comparison failed

            •   UnicodeDecodeError: Non-ASCII characters found in build environment

            •   ARM toolchain: cc1plus: error while loading shared libraries

            •   Archlinux: libncurses.so.5: cannot open shared object file

            •   Monitoring a serial port breaks upload

  General

  What is PlatformIO?

Please refer to what_is_pio

  What is .pio directory

Please refer to projectconf_pio_workspace_dir.

  What is .pioenvs directory

Please refer to projectconf_pio_build_dir.

  Command completion in Terminal

Please refer to cmd_misc_completion.

  Install Python Interpreter

piocore is written in Python that is installed by default on the all popular OS except Windows.

Please navigate to official website and Download the latest Python and install it. Please READ NOTES BELOW.

    macOS
        Please read the "Important Information" displayed during installation for information about SSL/TLS certificate validation and the running the "Install Certificates.command".

        If you do not install SSL/TLS certificates, PlatformIO will not be able to download dependent packages, libraries, and toolchains.

    Windows
        Please select Add Python to Path (see below), otherwise, python command will not be available. [image]

  Convert Arduino file to C++ manually

Some ide doesn't support Arduino files (*.ino and .pde) because they are not valid C/C++ based source files:

    1.  Missing includes such as #include <Arduino.h>

    2.  Function declarations are omitted.

In this case, code completion and code linting do not work properly or are disabled. To avoid this issue you can manually convert your INO files to CPP.

For example, we have the next Demo.ino file:

        void setup () {
            someFunction(13);
        }

        void loop() {
            delay(1000);
        }

        void someFunction(int num) {
        }

Let's convert it to Demo.cpp:

    1.  Add #include <Arduino.h> at the top of the source file

    2.  Declare each custom function (excluding built-in, such as setup and loop) before it will be called.

The final Demo.cpp:

        #include <Arduino.h>

        void someFunction(int num);

        void setup () {
            someFunction(13);
        }

        void loop() {
            delay(1000);
        }

        void someFunction(int num) {
        }

Finish.

  Program Memory Usage

PlatformIO calculates firmware/program memory usage based on the next segments:

    .text
        The code segment, also known as a text segment or simply as text, is where a portion of an object file or the corresponding section of the program's virtual address space that contains executable instructions is stored and is generally read-only and fixed size.

    .data
        The .data segment contains any global or static variables which have a pre-defined value and can be modified. The values for these variables are initially stored within the read-only memory (typically within .text) and are copied into the .data segment during the start-up routine of the program. Example,

            int val = 3;
            char string[] = "Hello World";

    .bss
        Uninitialized data is usually adjacent to the data segment. The BSS segment contains all global variables and static variables that are initialized to zero or do not have explicit initialization in the source code. For instance, a variable defined as static int i; would be contained in the BSS segment.

The rough calculation could be done as:

    •   PROGRAM (Flash) = .text + .data

    •   DATA (RAM) = .bss + .data

If you need to print all memory sections and addresses, please use platformio run --verbose command.

Recommended for reading:

    •   https://en.wikipedia.org/wiki/Data_segment

    •   text, data and bss: Code and Data Size Explained

  Advanced Serial Monitor with UI

PlatformIO Core provides CLI version (cmd_device_monitor) of Serial Monitor. If you need advanced instrument with a rich UI, we recommend free and multi-platform CoolTerm serial port terminal application.

WARNING:
        Please note that you need to manually disconnect (close serial port connection) in CoolTerm before doing uploading in PlatformIO. PlatformIO can not disconnect/connect to a target device automatically when CoolTerm is used.

  Troubleshooting

  Installation

  Multiple PIO Cores in a system

Multiple standalone piocore in a system could lead to the different issues. We highly recommend to keep one instance of PIO Core or use built-in PIO Core in pioide:

    •   ide_atom - Menu PlatformIO: Settings > PlatformIO IDE > Use built-in PlatformIO Core

    •   ide_vscode - ide_vscode_settings > Set platformio-ide.useBuiltinPIOCore to true.

Finally, if you have a standalone piocore in a system, please open system Terminal (not PlatformIO IDE Terminal) and uninstall obsolete PIO Core:

        pip uninstall platformio

        # if you used macOS "brew"
        brew uninstall platformio

If you need to have piocore globally in a system, please piocore_install_shell_commands.

  'platformio' is not recognized as an internal or external command

If you use pioide, please check in PlatformIO IDE Settings that "Use built-in PIO Core" is enabled.

If you modify system environment variable PATH in your Bash/Fish/ZSH profile, please do not override global PATH. This line export PATH="/my/custom/path" is incorrect. Use export PATH="/my/custom/path":$PATH instead.

  99-platformio-udev.rules

Linux users have to install udev rules for PlatformIO supported boards/devices. The latest version of rules may be found at https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules

NOTE:
        Please check that your board's PID and VID are listed in the rules. You can list connected devices and their PID/VID using cmd_device_list command.

This file must be placed at /etc/udev/rules.d/99-platformio-udev.rules (preferred location) or /lib/udev/rules.d/99-platformio-udev.rules (required on some broken systems).

Please open system Terminal and type

        # Recommended
        curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules

        # OR, manually download and copy this file to destination folder
        sudo cp 99-platformio-udev.rules /etc/udev/rules.d/99-platformio-udev.rules

Restart "udev" management tool:

        sudo service udev restart

        # or

        sudo udevadm control --reload-rules
        sudo udevadm trigger

Ubuntu/Debian users may need to add own “username” to the “dialout” group if they are not “root”, doing this issuing

        sudo usermod -a -G dialout $USER
        sudo usermod -a -G plugdev $USER

Similarly, Arch users may need to add their user to the “uucp” group

        sudo usermod -a -G uucp $USER
        sudo usermod -a -G lock $USER

NOTE:
        You will need to log out and log back in again (or reboot) for the user group changes to take effect.

After this file is installed, physically unplug and reconnect your board.

  ImportError: cannot import name _remove_dead_weakref

Windows users can experience this issue when multiple Python interpreters are installed in a system and conflict each other. The easy way to fix this problem is uninstalling all Python interpreters using Windows Programs Manager and installing them manually again.

    1.  "Windows > Start Menu > Settings > System > Apps & Features", select Python interpreters and uninstall them.

    2.  Install the latest Python interpreter, see Install Python Interpreter guide

    3.  Remove C:\Users\YourUserName\.platformio and C:\.platformio folders if exist (do not forget to replace "YourUserName" with the real user name)

    4.  Restart pioide.

  Package Manager

  [Error 5] Access is denied

PlatformIO installs all packages to "projectconf_pio_core_dir/packages" directory. You MUST HAVE write access to this folder. Please note that PlatformIO does not require "sudo"/administrative privileges.

    •   Solution 1: Remove folder

    •   Solution 2: Antivirus

    •   Solution 3: Run from Terminal

    •   Solution 4: Manual

  Solution 1: Remove folder

A quick solution is to remove "projectconf_pio_core_dir/packages" folder and repeat installation/building/uploading again.

  Solution 2: Antivirus

Some antivirus tools forbid programs to create files in the background. PlatformIO Package Manager does all work in the background: downloads package, unpacks archive in temporary folder and moves final files to "projectconf_pio_core_dir/packages" folder.

Antivirus tool can block PlatformIO, that is why you see "[Error 5] Access is denied". Try to disable it for a while or add projectconf_pio_core_dir directory to exclusion/whitelist.

  Solution 3: Run from Terminal

As we mentioned in "Solution 2", antivirus tools can block background file system operations. Another solution is to run piocore from a system terminal.

    1.  Open System Terminal, on Windows cmd.exe (not pioide Terminal)

    2.  Build a project and upload firmware using piocore which will download and install all dependent packages:

            # Change directory to PlatformIO Project where is located "platformio.ini"
            cd path/to/platformio/project

            # Force PlatformIO to install PIO Home dependencies
            platformio home

            # Force PlatformIO to install toolchains
            platformio run --target upload

If "platformio" command is not globally available in your environment and you use pioide, please use built-in piocore which is located in:

    •   Windows: C:\Users\{username}\.platformio\penv\Scripts\platformio Please replace {username} with a real user name

    •   Unix: ~/.platformio/penv/bin/platformio

NOTE:
        You can add platformio and pio commands to your system environment. See piocore_install_shell_commands.

  Solution 4: Manual

If none of the solutions above do work for you, you can download and unpack all packages manually to "projectconf_pio_core_dir/packages".

Please visit PlatformIO Package Storage and download a package for your platform. A correct package path is "projectconf_pio_core_dir/packages/{package_name}/package.json".

  Building

  UnicodeWarning: Unicode equal comparison failed

Full warning message is "UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal".

KNOWN ISSUE. Please move your project to a folder which full path does not contain non-ASCII chars.

  UnicodeDecodeError: Non-ASCII characters found in build environment

KNOWN ISSUE. piocore currently does not support projects which contain non-ASCII characters (codes) in a full path or depend on the libraries which use non-ASCII characters in their names.

TEMPORARY SOLUTION

    1.  Use pioide, it will automatically install piocore in a root of system disk (%DISK%/.platformio) and avoid an issue when system User contains non-ASCII characters

    2.  Do not use non-ASCII characters in project folder name or its parent folders.

Also, if you want to place piocore in own location, see:

    •   Set PLATFORMIO_CORE_DIR environment variable with own path

    •   Configure custom location per project using projectconf_pio_core_dir option in projectconf.

  ARM toolchain: cc1plus: error while loading shared libraries

See related answers for error while loading shared libraries.

  Archlinux: libncurses.so.5: cannot open shared object file

Answered in issue #291.

  Monitoring a serial port breaks upload

Answered in issue #384.

  Release Notes

  PlatformIO Core 4

  4.3.4 (2020-05-23)

    •   Added PlatformIO CLI Shell Completion for Fish, Zsh, Bash, and PowerShell (issue #3435)

    •   Automatically build contrib-pysite package on a target machine when pre-built package is not compatible (issue #3482)

    •   Fixed an issue on Windows when installing a library dependency from Git repository (issue #2844, issue #3328)

  4.3.3 (2020-04-28)

    •   Fixed "UnicodeDecodeError: 'utf-8' codec can't decode byte" when non-Latin chars are used in project path (issue #3481)

  4.3.2 (2020-04-28)

    •   New Account Management System (preview)

    •   Open source PIO Remote client

    •   Improved PIO Check with more accurate project processing

    •   Echo what is typed when send_on_enter device monitor filter is used (issue #3452)

    •   Fixed PIO Unit Testing for Zephyr RTOS

    •   Fixed UnicodeDecodeError on Windows when network drive (NAS) is used (issue #3417)

    •   Fixed an issue when saving libraries in new project results in error "No option 'lib_deps' in section" (issue #3442)

    •   Fixed an incorrect node path used for pattern matching when processing middleware nodes

    •   Fixed an issue with missing lib_extra_dirs option in SRC_LIST for CLion (issue #3460)

  4.3.1 (2020-03-20)

    •   Fixed a SyntaxError "'return' with argument inside generator" for PIO Unified Debugger when Python 2.7 is used

    •   Fixed an issue when lib_archive = no was not honored in "platformio.ini"

    •   Fixed a TypeError "super(type, obj): obj must be an instance or subtype of type" when device monitor is used with a custom dev-platform filter (issue #3431)

  4.3.0 (2020-03-19)

    •   Initial support for an official PlatformIO for CLion IDE plugin:

        •   Smart C and C++ editor

        •   Code refactoring

        •   On-the-fly code analysis

        •   "New PlatformIO Project" wizard

        •   Building, Uploading, Testing

        •   Integrated debugger (inline variable view, conditional breakpoints, expressions, watchpoints, peripheral registers, multi-thread support, etc.)

    •   Device Monitor 2.0

        •   Added PlatformIO Device Monitor Filter API (dev-platforms can extend base device monitor with a custom functionality, such as exception decoding) (pull #3383)

        •   Configure project device monitor with monitor_filters option

        •   Capture device monitor output to a file with log2file filter (issue #670)

        •   Show a timestamp for each new line with time filter (issue #981)

        •   Send a text to device on ENTER with send_on_enter filter (issue #926)

        •   Show a hexadecimal representation of the data (code point of each character) with hexlify filter

    •   New standalone (1-script) PlatformIO Core Installer

    •   Initial support for Renode simulation framework (issue #3401)

    •   Added support for Arm Mbed "module.json" dependencies field (issue #3400)

    •   Improved support for Arduino "library.properties" depends field

    •   Fixed an issue when quitting from PlatformIO IDE does not shutdown PIO Home server

    •   Fixed an issue "the JSON object must be str, not 'bytes'" when PIO Home is used with Python 3.5 (issue #3396)

    •   Fixed an issue when Python 2 does not keep encoding when converting ".ino" (issue #3393)

    •   Fixed an issue when "libArchive": false in "library.json" does not work (issue #3403)

    •   Fixed an issue when not all commands in compilation database "compile_commands.json" use absolute paths (pull #3415)

    •   Fixed an issue when unknown transport is used for PIO Unit Testing engine (issue #3422)

  4.2.1 (2020-02-17)

    •   Improved VSCode template with special forceInclude field for direct includes via -include flag (issue #3379)

    •   Improved support of PIO Home on card-sized PC (Raspberry Pi, etc.) (issue #3313)

    •   Froze "marshmallow" dependency to 2.X for Python 2 (issue #3380)

    •   Fixed "TypeError: unsupported operand type(s)" when system environment variable is used by project configuration parser (issue #3377)

    •   Fixed an issue when Library Dependency Finder (LDF) ignores custom "libLDFMode" and "libCompatMode" options in library.json

    •   Fixed an issue when generating of compilation database "compile_commands.json" does not work with Python 2.7 (issue #3378)

  4.2.0 (2020-02-12)

    •   PlatformIO Home 3.1:

        •   Project Manager

        •   Project Configuration UI for "platformio.ini"

    •   PIO Check – automated code analysis without hassle:

        •   Added support for PVS-Studio static code analyzer

    •   Initial support for Project Manager CLI:

        •   Show computed project configuration with a new platformio project config command or dump to JSON with platformio project config --json-output (issue #3335)

        •   Moved platformio init command to platformio project init

    •   Generate compilation database "compile_commands.json" (issue #2990)

    •   Control debug flags and optimization level with a new debug_build_flags option

    •   Install a dev-platform with ALL declared packages using a new --with-all-packages option for pio platform install command (issue #3345)

    •   Added support for "pythonPackages" in platform.json manifest (PlatformIO Package Manager will install dependent Python packages from PyPi registry automatically when dev-platform is installed)

    •   Handle project configuration (monitor, test, and upload options) for PIO Remote commands (issue #2591)

    •   Added support for Arduino's library.properties depends field (issue #2781)

    •   Autodetect monitor port for boards with specified HWIDs (issue #3349)

    •   Updated SCons tool to 3.1.2

    •   Updated Unity tool to 2.5.0

    •   Made package ManifestSchema compatible with marshmallow >= 3 (issue #3296)

    •   Warn about broken library manifest when scanning dependencies (issue #3268)

    •   Do not overwrite custom items in VSCode's "extensions.json" (issue #3374)

    •   Fixed an issue when env.BoardConfig() does not work for custom boards in extra scripts of libraries (issue #3264)

    •   Fixed an issue with "start-group/end-group" linker flags on Native development platform (issue #3282)

    •   Fixed default PIO Unified Debugger configuration for J-Link probe

    •   Fixed an issue with LDF when header files not found if "libdeps_dir" is within a subdirectory of "lib_extra_dirs" (issue #3311)

    •   Fixed an issue "Import of non-existent variable 'projenv''" when development platform does not call "env.BuildProgram()" (issue #3315)

    •   Fixed an issue when invalid CLI command does not return non-zero exit code

    •   Fixed an issue when Project Inspector crashes when flash use > 100% (issue #3368)

    •   Fixed a "UnicodeDecodeError" when listing built-in libraries on macOS with Python 2.7 (issue #3370)

    •   Fixed an issue with improperly handled compiler flags with space symbols in VSCode template (issue #3364)

    •   Fixed an issue when no error is raised if referred parameter (interpolation) is missing in a project configuration file (issue #3279)

  4.1.0 (2019-11-07)

    •   PIO Check – automated code analysis without hassle:

        •   Potential NULL pointer dereferences

        •   Possible indexing beyond array bounds

        •   Suspicious assignments

        •   Reads of potentially uninitialized objects

        •   Unused variables or functions

        •   Out of scope memory usage.

    •   PlatformIO Home 3.0:

        •   Project Inspection

        •   Static Code Analysis

        •   Firmware File Explorer

        •   Firmware Memory Inspection

        •   Firmware Sections & Symbols Viewer.

    •   Added support for Build Middlewares: configure custom build flags per specific file, skip any build nodes from a framework, replace build file with another on-the-fly, etc.

    •   Extend project environment configuration in "platformio.ini" with other sections using a new extends option (issue #2953)

    •   Generate .ccls LSP file for Emacs cross references, hierarchies, completion and semantic highlighting

    •   Added --no-ansi flag for PIO Core to disable ANSI control characters

    •   Added --shutdown-timeout option to PIO Home Server

    •   Fixed an issue with project generator for CLion IDE when 2 environments were used (issue #2824)

    •   Fixed default PIO Unified Debugger configuration for J-Link probe

    •   Fixed an issue when configuration file options partly ignored when using custom --project-conf (issue #3034)

    •   Fixed an issue when installing a package using custom Git tag and submodules were not updated correctly (issue #3060)

    •   Fixed an issue with linking process when $LDSCRIPT contains a space in path

    •   Fixed security issue when extracting items from TAR archive (issue #2995)

    •   Fixed an issue with project generator when src_build_flags were not respected (issue #3137)

    •   Fixed an issue when booleans in "platformio.ini" are not parsed properly (issue #3022)

    •   Fixed an issue with invalid encoding when generating project for Visual Studio (issue #3183)

    •   Fixed an issue when Project Config Parser does not remove in-line comments when Python 3 is used (issue #3213)

    •   Fixed an issue with a GCC Linter for PlatformIO IDE for Atom (issue #3218)

  4.0.3 (2019-08-30)

    •   Added support for multi-environment PlatformIO project for CLion IDE (issue #2824)

    •   Generate .ccls LSP file for Vim cross references, hierarchies, completion and semantic highlighting (issue #2952)

    •   Added support for PLATFORMIO_DISABLE_COLOR system environment variable which disables color ANSI-codes in a terminal output (issue #2956)

    •   Updated SCons tool to 3.1.1

    •   Remove ProjectConfig cache when "platformio.ini" was modified outside

    •   Fixed an issue with PIO Unified Debugger on Windows OS when debug server is piped

    •   Fixed an issue when --upload-port CLI flag does not override declared upload_port option in "platformio.ini" (Project Configuration File)

  4.0.2 (2019-08-23)

    •   Fixed an issue with a broken LDF when checking for framework compatibility (issue #2940)

  4.0.1 (2019-08-22)

    •   Print debug tool name for the active debugging session

    •   Do not shutdown PIO Home Server for "upgrade" operations (issue #2784)

    •   Improved computing of project check sum (structure, configuration) and avoid unnecessary rebuilding

    •   Improved printing of tabulated results

    •   Automatically normalize file system paths to UNIX-style for Project Generator (issue #2857)

    •   Ability to set "databaseFilename" for VSCode and C/C++ extension (issue #2825)

    •   Renamed "enable_ssl" setting to strict_ssl

    •   Fixed an issue with incorrect escaping of Windows slashes when using PIO Unified Debugger and "piped" openOCD

    •   Fixed an issue when "debug", "home", "run", and "test" commands were not shown in "platformio --help" CLI

    •   Fixed an issue with PIO Home's "No JSON object could be decoded" (issue #2823)

    •   Fixed an issue when library.json had priority over project configuration for LDF (issue #2867)

  4.0.0 (2019-07-10)

Migration Guide from 3.0 to 4.0.

    •   PlatformIO Plus Goes Open Source

        •   Built-in PIO Unified Debugger

        •   Built-in PIO Unit Testing

    •   Project Configuration

        •   New project configuration parser with a strict options typing (API)

        •   Unified workspace storage (workspace_dir -> .pio) for PlatformIO Build System, Library Manager, and other internal services (issue #1778)

        •   Share common (global) options between project environments using [env] section (issue #1643)

        •   Include external configuration files with extra_configs option (issue #1590)

        •   Custom project ***_dir options declared in platformio section have higher priority than Environment variables

        •   Added support for Unix shell-style wildcards for monitor_port option (issue #2541)

        •   Added new monitor_flags option which allows passing extra flags and options to platformio device monitor command (issue #2165)

        •   Added support for PLATFORMIO_DEFAULT_ENVS system environment variable (issue #1967)

        •   Added support for shared_dir where you can place an extra files (extra scripts, LD scripts, etc.) which should be transferred to a PIO Remote machine

    •   Library Management

        •   Switched to workspace .pio/libdeps folder for project dependencies instead of .piolibdeps

        •   Save libraries passed to platformio lib install command into the project dependency list (lib_deps) with a new --save flag (issue #1028)

        •   Install all project dependencies declared via lib_deps option using a simple platformio lib install command (issue #2147)

        •   Use isolated library dependency storage per project build environment (issue #1696)

        •   Look firstly in built-in library storages for a missing dependency instead of PlatformIO Registry (issue #1654)

        •   Override default source and include directories for a library via library.json manifest using includeDir and srcDir fields

        •   Fixed an issue when library keeps reinstalling for non-latin path (issue #1252)

        •   Fixed an issue when lib_compat_mode = strict does not ignore libraries incompatible with a project framework

    •   Build System

        •   Switched to workspace .pio/build folder for build artifacts instead of .pioenvs

        •   Switch between Build Configurations (release and debug) with a new project configuration option build_type

        •   Custom platform_packages per a build environment with an option to override default (issue #1367)

        •   Print platform package details, such as version, VSC source and commit (issue #2155)

        •   Control a number of parallel build jobs with a new -j, --jobs option

        •   Override default "platformio.ini" (Project Configuration File) with a custom using -c, --project-conf option for platformio run, platformio debug, or platformio test commands (issue #1913)

        •   Override default development platform upload command with a custom upload_command (issue #2599)

        •   Configure a shared folder for the derived files (objects, firmwares, ELFs) from a build system using build_cache_dir option (issue #2674)

        •   Fixed an issue when -U in build_flags does not remove macro previously defined via -D flag (issue #2508)

    •   Infrastructure

        •   Python 3 support (issue #895)

        •   Significantly speedup back-end for PIO Home. It works super fast now!

        •   Added support for the latest Python "Click" package (CLI) (issue #349)

        •   Added options to override default locations used by PlatformIO Core (core_dir, globallib_dir, platforms_dir, packages_dir, cache_dir) (issue #1615)

        •   Removed line-buffering from platformio run command which was leading to omitting progress bar from upload tools (issue #856)

        •   Fixed numerous issues related to "UnicodeDecodeError" and international locales, or when project path contains non-ASCII chars (issue #143, issue #1342, issue #1959, issue #2100)

    •   Integration

        •   Support custom CMake configuration for CLion IDE using CMakeListsUser.txt file

        •   Fixed an issue with hardcoded C standard version when generating project for CLion IDE (issue #2527)

        •   Fixed an issue with Project Generator when an include path search order is inconsistent to what passed to the compiler (issue #2509)

        •   Fixed an issue when generating invalid "Eclipse CDT Cross GCC Built-in Compiler Settings" if a custom PLATFORMIO_CORE_DIR is used (issue #806)

    •   Miscellaneous

        •   Deprecated --only-check PlatformIO Core CLI option for "update" sub-commands, please use --dry-run instead

        •   Fixed "systemd-udevd" warnings in 99-platformio-udev.rules (issue #2442)

        •   Fixed an issue when package cache (Library Manager) expires too fast (issue #2559)

  PlatformIO Core 3

  3.6.7 (2019-04-23)

    •   PIO Unified Debugger: improved debugging in debug_load_mode = modified and fixed an issue with useless project rebuilding

    •   Project Generator: fixed a VSCode C/C++'s "Cannot find" warning when CPPPATH folder does not exist

    •   Fixed an "IndexError: list index out of range" for Arduino sketch preprocessor (issue #2268)

    •   Fixed an issue when invalid "env_default" in "platformio.ini" (Project Configuration File) results into unhandled errors (issue #2265)

  3.6.6 (2019-03-29)

    •   Project Generator: fixed a warning "Property !!! WARNING !!! is not allowed" for VSCode (issue #2243)

    •   Fixed an issue when PlatformIO Build System does not pick up "mbed_lib.json" files from libraries (issue #2164)

    •   Fixed an error with conflicting declaration of a prototype (Arduino sketch preprocessor)

    •   Fixed "FileExistsError" when platformio ci command is used in pair with --keep-build-dir option

    •   Fixed an issue with incorrect order of project "include" and "src" paths in CPPPATH (issue #1914)

  3.6.5 (2019-03-07)

    •   Project Generator: added new targets for CLion IDE "BUILD_VERBOSE" and "MONITOR" (serial port monitor) (issue #359)

    •   Fixed an issue with slow updating of PlatformIO Core packages on Windows

    •   Fixed an issue when platformio ci recompiles project if --keep-build-dir option is passed (issue #2109)

    •   Fixed an issue when $PROJECT_HASH template was not expanded for the other directory ***_dir options in "platformio.ini" (Project Configuration File) (issue #2170)

  3.6.4 (2019-01-23)

    •   Improved Project Generator for IDEs:

        •   Use full path to PlatformIO CLI when generating a project (issue #1674)

        •   CLion: Improved project portability using "${CMAKE_CURRENT_LIST_DIR}" instead of full path

        •   Eclipse: Provide language standard to a project C/C++ indexer (issue #1010)

    •   Fixed an issue with incorrect detecting of compatibility (LDF) between generic library and Arduino or ARM mbed frameworks

    •   Fixed "Runtime Error: Dictionary size changed during iteration" (issue #2003)

    •   Fixed an error "Could not extract item..." when extracting TAR archive with symbolic items on Windows platform (issue #2015)

  3.6.3 (2018-12-12)

    •   Ignore *.asm and *.ASM files when building Arduino-based library (compatibility with Arduino builder)

    •   Fixed spurious project's "Problems" for PlatformIO IDE for VSCode when ARM mbed framework is used

    •   Fixed an issue with a broken headers list when generating ".clang_complete" for Emacs (issue #1960)

  3.6.2 (2018-11-29)

    •   Improved IntelliSense for PlatformIO IDE for VSCode via passing extra compiler information for C/C++ Code Parser (resolves issues with spurious project's "Problems")

    •   Fixed an issue with VSCode IntelliSense warning about the missed headers located in include folder

    •   Fixed incorrect wording when initializing/updating project

    •   Fixed an issue with incorrect order for library dependencies CPPPATH (issue #1914)

    •   Fixed an issue when Library Dependency Finder (LDF) does not handle project src_filter (issue #1905)

    •   Fixed an issue when Library Dependency Finder (LDF) finds spurious dependencies in chain+ and deep+ modes (issue #1930)

  3.6.1 (2018-10-29)

    •   Generate an include and test directories with a README file when initializing a new project

    •   Support in-line comments for multi-line value (lib_deps, build_flags, etc) in "platformio.ini" (Project Configuration File)

    •   Added $PROJECT_HASH template variable for build_dir. One of the use cases is setting a global storage for project artifacts using PLATFORMIO_BUILD_DIR system environment variable. For example, /tmp/pio-build/$PROJECT_HASH (Unix) or $[sysenv.TEMP}/pio-build/$PROJECT_HASH (Windows)

    •   Improved a loading speed of PIO Home "Recent News"

    •   Improved PIO Unified Debugger for "mbed" framework and fixed issue with missed local variables

    •   Introduced "Release" and "Debug" Build Configurations

    •   Build project in "Debug Mode" including debugging information with a new debug target using platformio run command or targets option in platformio.ini. The last option allows avoiding project rebuilding between "Run/Debug" modes. (issue #1833)

    •   Process build_unflags for the cloned environment when building a static library

    •   Report on outdated 99-platformio-udev.rules (issue #1823)

    •   Show a valid error when the Internet is off-line while initializing a new project (issue #1784)

    •   Do not re-create ".gitignore" and ".travis.yml" files if they were removed from a project

    •   Fixed an issue when dynamic build flags were not handled correctly (issue #1799)

    •   Fixed an issue when pio run -t monitor always uses the first monitor_port even with multiple environments (issue #1841)

    •   Fixed an issue with broken includes when generating .clang_complete and space is used in a path (issue #1873)

    •   Fixed an issue with incorrect handling of a custom package name when using platformio lib install or platformio platform install commands

  3.6.0 (2018-08-06)

    •   Program Memory Usage

        •   Print human-readable memory usage information after a build and before uploading

        •   Print detailed memory usage information with "sections" and "addresses" in verbose mode

        •   Check maximum allowed "program" and "data" sizes before uploading/programming (issue #1412)

    •   PIO Unit Testing:

        •   Documented Project Shared Code

        •   Force building of project source code using test_build_project_src option

        •   Fixed missed UNIT_TEST macro for unit test components/libraries

    •   Check package structure after unpacking and raise error when antivirus tool blocks PlatformIO package manager (issue #1462)

    •   Lock interprocess requests to PlatformIO Package Manager for install/uninstall operations (issue #1594)

    •   Fixed an issue with PIO Remote when upload process depends on the source code of a project framework

    •   Fixed an issue when srcFilter field in library.json breaks a library build (issue #1735)

  3.5.4 (2018-07-03)

    •   Improved removing of default build flags using build_unflags option (issue #1712)

    •   Export LIBS, LIBPATH, and LINKFLAGS data from project dependent libraries to the global build environment

    •   Don't export CPPPATH data of project dependent libraries to framework's build environment (issue #1665)

    •   Handle "architectures" data from "library.properties" manifest in lib_compat_mode = strict

    •   Added workaround for Python SemVer package's issue #61 with caret range and pre-releases

    •   Replaced conflicted "env" pattern by "sysenv" for "platformio.ini" Dynamic Variables" (issue #1705)

    •   Removed "date&time" when processing project with platformio run command (issue #1343)

    •   Fixed issue with invalid LD script if path contains space

    •   Fixed preprocessor for Arduino sketch when function returns certain type (issue #1683)

    •   Fixed issue when platformio lib uninstall removes initial source code (issue #1023)

  3.5.3 (2018-06-01)

    •   PlatformIO Home - interact with PlatformIO ecosystem using modern and cross-platform GUI:

        •   "Recent News" block on "Welcome" page

        •   Direct import of development platform's example

    •   Simplify configuration for PIO Unit Testing: separate main program from a test build process, drop requirement for #ifdef UNIT_TEST guard

    •   Override any option from board manifest in "platformio.ini" (Project Configuration File) (issue #1612)

    •   Configure a custom path to SVD file using debug_svd_path option

    •   Custom project description which will be used by PlatformIO Home

    •   Updated Unity tool to 2.4.3

    •   Improved support for Black Magic Probe in "uploader" mode

    •   Renamed "monitor_baud" option to "monitor_speed"

    •   Fixed issue when a custom lib_dir was not handled correctly (issue #1473)

    •   Fixed issue with useless project rebuilding for case insensitive file systems (Windows)

    •   Fixed issue with build_unflags option when a macro contains value (e.g., -DNAME=VALUE)

    •   Fixed issue which did not allow to override runtime build environment using extra POST script

    •   Fixed "RuntimeError: maximum recursion depth exceeded" for library manager (issue #1528)

  3.5.2 (2018-03-13)

    •   PlatformIO Home - interact with PlatformIO ecosystem using modern and cross-platform GUI:

        •   Multiple themes (Dark & Light)

        •   Ability to specify a name for new project

    •   Control PIO Unified Debugger and its firmware loading mode using debug_load_mode option

    •   Added aliases (off, light, strict) for LDF Compatibility Mode

    •   Search for a library using PIO Library Registry ID id:X (e.g. pio lib search id:13)

    •   Show device system information (MCU, Frequency, RAM, Flash, Debugging tools) in a build log

    •   Show all available upload protocols before firmware uploading in a build log

    •   Handle "os.mbed.com" URL as a Mercurial (hg) repository

    •   Improved support for old mbed libraries without manifest

    •   Fixed project generator for Qt Creator IDE (issue #1303, issue #1323)

    •   Mark project source and library directories for CLion IDE (issue #1359, issue #1345, issue #897)

    •   Fixed issue with duplicated "include" records when generating data for IDE (issue #1301)

  3.5.1 (2018-01-18)

    •   New test_speed option to control a communication baudrate/speed between PIO Unit Testing engine and a target device (issue #1273)

    •   Show full library version in "Library Dependency Graph" including VCS information (issue #1274)

    •   Configure a custom firmware/program name in build directory (example)

    •   Renamed envs_dir option to build_dir in "platformio.ini" (Project Configuration File)

    •   Refactored code without "arrow" dependency (resolve issue with "ImportError: No module named backports.functools_lru_cache")

    •   Improved support of PIO Unified Debugger for Eclipse Oxygen

    •   Improved a work in off-line mode

    •   Fixed project generator for CLion and Qt Creator IDE (issue #1299)

    •   Fixed PIO Unified Debugger for mbed framework

    •   Fixed library updates when a version is declared in VCS format (not SemVer)

  3.5.0 (2017-12-28)

    •   PlatformIO Home - interact with PlatformIO ecosystem using modern and cross-platform GUI:

        •   Library Manager:

            •   Search for new libraries in PlatformIO Registry

            •   "1-click" library installation, per-project libraries, extra storages

            •   List installed libraries in multiple storages

            •   List built-in libraries (by frameworks)

            •   Updates for installed libraries

            •   Multiple examples, trending libraries, and more.

        •   PlatformIO Projects

        •   PIO Account

        •   Development platforms, frameworks and board explorer

        •   Device Manager: serial, logical, and multicast DNS services

    •   Integration with Jenkins CI

    •   New include folder for project's header files (issue #1107)

    •   Depend on development platform using VCS URL (Git, Mercurial and Subversion) instead of a name in "platformio.ini" (Project Configuration File). Drop support for *_stage dev/platform names (use VCS URL instead).

    •   Reinstall/redownload package with a new -f, --force option for platformio lib install and platformio platform install commands (issue #778)

    •   Handle missed dependencies and provide a solution based on PlatformIO Library Registry (issue #781)

    •   New setting projects_dir that allows to override a default PIO Home Projects location (issue #1161)

    •   Library Dependency Finder (LDF):

        •   Search for dependencies used in PIO Unit Testing (issue #953)

        •   Parse library source file in pair with a header when they have the same name (issue #1175)

        •   Handle library dependencies defined as VCS or SemVer in "platformio.ini" (Project Configuration File) (issue #1155)

        •   Added option to configure library Compatible Mode using library.json

    •   New options for platformio device list command:

        •   --serial list available serial ports (default)

        •   --logical list logical devices

        •   --mdns discover multicast DNS services (issue #463)

    •   Fixed platforms, packages, and libraries updating behind proxy (issue #1061)

    •   Fixed missing toolchain include paths for project generator (issue #1154)

    •   Fixed "Super-Quick (Mac / Linux)" installation in "get-platformio.py" script (issue #1017)

    •   Fixed "get-platformio.py" script which hangs on Windows 10 (issue #1118)

    •   Other bug fixes and performance improvements

  3.4.1 (2017-08-02)

    •   Pre/Post extra scripting for advanced control of PIO Build System (issue #891)

    •   New lib_archive option to control library archiving and linking behavior (issue #993)

    •   Add "inc" folder automatically to CPPPATH when "src" is available (works for project and library) (issue #1003)

    •   Use a root of library when filtering source code using library.json and srcFilter field

    •   Added monitor_* options to white-list for "platformio.ini" (Project Configuration File) (issue #982)

    •   Do not ask for board ID when initialize project for desktop platform

    •   Handle broken PIO Core state and create new one

    •   Fixed an issue with a custom transport for PIO Unit Testing when multiple tests are present

    •   Fixed an issue when can not upload firmware to SAM-BA based board (Due)

  3.4.0 (2017-06-26)

    •   PIO Unified Debugger

        •   "1-click" solution, zero configuration

        •   Support for 100+ embedded boards

        •   Multiple architectures and development platforms

        •   Windows, MacOS, Linux (+ARMv6-8)

        •   Built-in into PlatformIO IDE for Atom and PlatformIO IDE for VScode

        •   Integration with Eclipse and Sublime Text

    •   Filter PIO Unit Testing tests using a new test_filter option in "platformio.ini" (Project Configuration File) or platformio test --filter command (issue #934)

    •   Custom test_transport for PIO Unit Testing Engine

    •   Configure Serial Port Monitor in "platformio.ini" (Project Configuration File) (issue #787)

    •   New monitor target which allows to launch Serial Monitor automatically after successful "build" or "upload" operations (issue #788)

    •   Project generator for VIM

    •   Multi-line support for the different options in "platformio.ini" (Project Configuration File), such as: build_flags, build_unflags, etc. (issue #889)

    •   Handle dynamic SRC_FILTER environment variable from library.json extra script

    •   Notify about multiple installations of PIO Core (issue #961)

    •   Improved auto-detecting of mbed-enabled media disks

    •   Automatically update Git-submodules for development platforms and libraries that were installed from repository

    •   Add support for .*cc extension (issue #939)

    •   Handle env_default in "platformio.ini" (Project Configuration File) when re-initializing a project (issue #950)

    •   Use root directory for PIO Home when path contains non-ascii characters (issue #951, issue #952)

    •   Don't warn about known boards_dir option (pull #949)

    •   Escape non-valid file name characters when installing a new package (library) (issue #985)

    •   Fixed infinite dependency installing when repository consists of multiple libraries (issue #935)

    •   Fixed linter error "unity.h does not exist" for Unit Testing (issue #947)

    •   Fixed issue when Library Dependency Finder (LDF) does not handle custom src_dir (issue #942)

    •   Fixed cloning a package (library) from a private Git repository with custom user name and SSH port (issue #925)

  3.3.1 (2017-05-27)

    •   Hotfix for recently updated Python Requests package (2.16.0)

  3.3.0 (2017-03-27)

    •   PlatformIO Library Registry statistics with new pio lib stats command

        •   Recently updated and added libraries

        •   Recent and popular keywords

        •   Featured libraries (today, week, month)

    •   List built-in libraries based on development platforms with a new pio lib builtin command

    •   Show detailed info about a library using pio lib show command (issue #430)

    •   List supported frameworks, SDKs with a new pio platform frameworks command

    •   Visual Studio Code extension for PlatformIO (issue #619)

    •   Added new options --no-reset, --monitor-rts and --monitor-dtr to pio test command (allows to avoid automatic board's auto-reset when gathering test results)

    •   Added support for templated methods in *.ino to *.cpp converter (pull #858)

    •   Package version as "Repository URL" in manifest of development version ("version": "https://github.com/user/repo.git")

    •   Produce less noisy output when -s/--silent options are used for platformio init and platformio run commands (issue #850)

    •   Use C++11 by default for CLion IDE based projects (pull #873)

    •   Escape project path when Glob matching is used

    •   Do not overwrite project configuration variables when system environment variables are set

    •   Handle dependencies when installing non-registry package/library (VCS, archive, local folder) (issue #913)

    •   Fixed package installing with VCS branch for Python 2.7.3 (issue #885)

  3.2.1 (2016-12-07)

    •   Changed default LDF Mode from chain+ to chain

  3.2.0 (2016-12-07)

    •   PIO Remote™. Your devices are always with you!

        •   Over-The-Air (OTA) Device Manager

        •   OTA Serial Port Monitor

        •   OTA Firmware Updates

        •   Continuous Deployment

        •   Continuous Delivery

    •   Integration with Cloud IDEs

        •   Cloud9

        •   Codeanywhere

        •   Eclipse Che

    •   PIO Account and PLATFORMIO_AUTH_TOKEN environment variable for CI systems (issue #808, issue #467)

    •   Inject system environment variables to configuration settings in "platformio.ini" (Project Configuration File) (issue #792)

    •   Custom boards per project with boards_dir option in "platformio.ini" (Project Configuration File) (issue #515)

    •   Unix shell-style wildcards for upload_port (issue #839)

    •   Refactored Library Dependency Finder (LDF) C/C++ Preprocessor for conditional syntax (#ifdef, #if, #else, #elif, #define, etc.) (issue #837)

    •   Added new LDF Modes: chain+ and deep+ and set chain+ as default

    •   Added global lib_extra_dirs option to [platformio] section for "platformio.ini" (Project Configuration File) (issue #842)

    •   Enabled caching by default for API requests and Library Manager (see enable_cache setting)

    •   Native integration with VIM/Neovim using neomake-platformio plugin

    •   Changed a default exit combination for Device Monitor from Ctrl+] to Ctrl+C

    •   Improved detecting of ARM mbed media disk for uploading

    •   Improved Project Generator for CLion IDE when source folder contains nested items

    •   Improved handling of library dependencies specified in library.json manifest (issue #814)

    •   Improved Library Dependency Finder (LDF) for circular dependencies

    •   Show vendor version of a package for platformio platform show command (issue #838)

    •   Fixed unable to include SSH user in lib_deps repository url (issue #830)

    •   Fixed merging of ".gitignore" files when re-initialize project (issue #848)

    •   Fixed issue with PATH auto-configuring for upload tools

    •   Fixed 99-platformio-udev.rules checker for Linux OS

  3.1.0 (2016-09-19)

    •   New! Dynamic variables/templates for "platformio.ini" (Project Configuration File) (issue #705)

    •   Summary about processed environments (issue #777)

    •   Implemented LocalCache system for API and improved a work in off-line mode

    •   Improved Project Generator when custom --project-option is passed to platformio init command

    •   Deprecated lib_force option, please use lib_deps instead

    •   Return valid exit code from plaformio test command

    •   Fixed Project Generator for CLion IDE using Windows OS (issue #785)

    •   Fixed SSL Server-Name-Indication for Python < 2.7.9 (issue #774)

  3.0.1 (2016-09-08)

    •   Disabled temporary SSL for PlatformIO services (issue #772)

  3.0.0 (2016-09-07)

    •   PlatformIO Plus

        •   Local and Embedded Unit Testing (issue #408, issue #519)

    •   Decentralized Development Platforms

        •   Development platform manifest "platform.json" and open source development platforms

        •   Semantic Versioning for platform commands, development platforms and dependent packages

        •   Custom package repositories

        •   External embedded board configuration files, isolated build scripts (issue #479)

        •   Embedded Board compatibility with more than one development platform (issue #456)

    •   Library Manager 3.0

        •   Project dependencies per build environment using lib_deps option (issue #413)

        •   Semantic Versioning for library commands and dependencies (issue #410)

        •   Multiple library storages: Project's Local, PlatformIO's Global or Custom (issue #475)

        •   Install library by name (issue #414)

        •   Depend on a library using VCS URL (GitHub, Git, ARM mbed code registry, Hg, SVN) (issue #498)

        •   Strict search for library dependencies (issue #588)

        •   Allowed library.json to specify sources other than PlatformIO's Repository (issue #461)

        •   Search libraries by headers/includes with platformio lib search --header option

    •   New Intelligent Library Build System

        •   Library Dependency Finder that interprets C/C++ Preprocessor conditional macros with deep search behavior

        •   Check library compatibility with project environment before building (issue #415)

        •   Control Library Dependency Finder for compatibility using lib_compat_mode option

        •   Custom library storages/directories with lib_extra_dirs option (issue #537)

        •   Handle extra build flags, source filters and build script from library.json (issue #289)

        •   Allowed to disable library archiving (*.ar) (issue #719)

        •   Show detailed build information about dependent libraries (issue #617)

        •   Support for the 3rd party manifests (Arduino IDE "library.properties" and ARM mbed "module.json")

    •   Removed enable_prompts setting. Now, all PlatformIO CLI is non-blocking!

    •   Switched to SSL PlatformIO API

    •   Renamed platformio serialports command to platformio device

    •   Build System: Attach custom Before/Pre and After/Post actions for targets (issue #542)

    •   Allowed passing custom project configuration options to platformio ci and platformio init commands using -O, --project-option.

    •   Print human-readable information when processing environments without -v, --verbose option (issue #721)

    •   Improved INO to CPP converter (issue #659, issue #765)

    •   Added license field to library.json (issue #522)

    •   Warn about unknown options in project configuration file platformio.ini (issue #740)

    •   Fixed wrong line number for INO file when #warning directive is used (issue #742)

    •   Stopped supporting Python 2.6

  PlatformIO Core 2

  2.11.2 (2016-08-02)

    •   Improved support for Microchip PIC32 development platform and ChipKIT boards (issue #438)

    •   Added support for Pinoccio Scout board (issue #52)

    •   Added support for Teensy USB Features (HID, SERIAL_HID, DISK, DISK_SDFLASH, MIDI, etc.) (issue #722)

    •   Switched to built-in GCC LwIP library for Espressif development platform

    •   Added support for local --echo for Serial Port Monitor (issue #733)

    •   Updated udev rules for the new STM32F407DISCOVERY boards (issue #731)

    •   Implemented firmware merging with base firmware for Nordic nRF51 development platform (issue #500, issue #533)

    •   Fixed Project Generator for ESP8266 and ARM mbed based projects (resolves incorrect linter errors)

    •   Fixed broken LD Script for Element14 chipKIT Pi board (issue #725)

    •   Fixed firmware uploading to Atmel SAMD21-XPRO board using ARM mbed framework (issue #732)

  2.11.1 (2016-07-12)

    •   Added support for Arduino M0, M0 Pro and Tian boards (issue #472)

    •   Added support for Microchip chipKIT Lenny board

    •   Updated Microchip PIC32 Arduino framework to v1.2.1

    •   Documented uploading of EEPROM data (from EEMEM directive)

    •   Added Rebuild C/C++ Project Index target to CLion and Eclipse IDEs

    •   Improved project generator for CLion IDE

    •   Added udev rules for OpenOCD CMSIS-DAP adapters (issue #718)

    •   Auto-remove project cache when PlatformIO is upgraded

    •   Keep user changes for .gitignore file when re-generate/update project data

    •   Ignore [platformio] section from custom project configuration file when platformio ci --project-conf command is used

    •   Fixed missed --boot flag for the firmware uploader for ATSAM3X8E Cortex-M3 MCU based boards (Arduino Due, etc) (issue #710)

    •   Fixed missing trailing \ for the source files list when generate project for Qt Creator IDE (issue #711)

    •   Split source files to HEADERS and SOURCES when generate project for Qt Creator IDE (issue #713)

  2.11.0 (2016-06-28)

    •   New ESP8266-based boards: Generic ESP8285 Module, Phoenix 1.0 & 2.0, WifInfo

    •   Added support for Arduino M0 Pro board (issue #472)

    •   Added support for Arduino MKR1000 board (issue #620)

    •   Added support for Adafruit Feather M0, SparkFun SAMD21 and SparkFun SAMD21 Mini Breakout boards (issue #520)

    •   Updated Arduino ESP8266 core for Espressif platform to 2.3.0

    •   Better removing unnecessary flags using build_unflags option (issue #698)

    •   Fixed issue with platformio init --ide command for Python 2.6

  2.10.3 (2016-06-15)

    •   Fixed issue with platformio init --ide command

  2.10.2 (2016-06-15)

    •   Added support for ST Nucleo L031K6 board to ARM mbed framework

    •   Process build_unflags option for ARM mbed framework

    •   Updated Intel ARC32 Arduino framework to v1.0.6 (issue #695)

    •   Improved a check of program size before uploading to the board

    •   Fixed issue with ARM mbed framework -u _printf_float and -u _scanf_float when parsing $LINKFLAGS

    •   Fixed issue with ARM mbed framework and extra includes for the custom boards, such as Seeeduino Arch Pro

  2.10.1 (2016-06-13)

    •   Re-submit a package to PyPI

  2.10.0 (2016-06-13)

    •   Added support for emonPi, the OpenEnergyMonitor system (issue #687)

    •   Added support for SPL framework for STM32F0 boards (issue #683)

    •   Added support for Arduboy DevKit, the game system the size of a credit card

    •   Updated ARM mbed framework package to v121

    •   Check program size before uploading to the board (issue #689)

    •   Improved firmware uploading to Arduino Leonardo based boards (issue #691)

    •   Fixed issue with -L relative/path when parsing build_flags (issue #688)

  2.9.4 (2016-06-04)

    •   Show udev warning only for the Linux OS while uploading firmware

  2.9.3 (2016-06-03)

    •   Added support for Arduboy, the game system the size of a credit card

    •   Updated 99-platformio-udev.rules for Linux OS

    •   Refactored firmware uploading to the embedded boards with SAM-BA bootloader

  2.9.2 (2016-06-02)

    •   Simplified Continuous Integration with AppVeyor (issue #671)

    •   Automatically add source directory to CPPPATH of Build System

    •   Added support for Silicon Labs SLSTK3401A (Pearl Gecko) and MultiTech mDot F411 ARM mbed based boards

    •   Added support for MightyCore ATmega8535 board (issue #585)

    •   Added stlink as the default uploader for STM32 Discovery boards (issue #665)

    •   Use HTTP mirror for Package Manager in a case with SSL errors (issue #645)

    •   Improved firmware uploading to Arduino Leonardo/Due based boards

    •   Fixed bug with env_default when pio run -e is used

    •   Fixed issue with src_filter option for Windows OS (issue #652)

    •   Fixed configuration data for TI LaunchPads based on msp430fr4133 and msp430fr6989 MCUs (issue #676)

    •   Fixed issue with ARM mbed framework and multiple definition errors on FRDM-KL46Z board (issue #641)

    •   Fixed issue with ARM mbed framework when abstract class breaks compile for LPC1768 (issue #666)

  2.9.1 (2016-04-30)

    •   Handle prototype pointers while converting *.ino to .cpp (issue #639)

  2.9.0 (2016-04-28)

    •   Project generator for CodeBlocks IDE (issue #600)

    •   New Lattice iCE40 FPGA development platform with support for Lattice iCEstick FPGA Evaluation Kit and BQ IceZUM Alhambra FPGA (issue #480)

    •   New Intel ARC 32-bit development platform with support for Arduino/Genuino 101 board (issue #535)

    •   New Microchip PIC32 development platform with support for 20+ different PIC32 based boards (issue #438)

    •   New RTOS and build Framework named Simba (issue #412)

    •   New boards for ARM mbed framework: ST Nucleo F410RB, ST Nucleo L073RZ and BBC micro:bit

    •   Added support for Arduino.Org boards: Arduino Leonardo ETH, Arduino Yun Mini, Arduino Industrial 101 and Linino One (issue #472)

    •   Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25, ATTiny45 and ATTiny85 (issue #636)

    •   Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324, ATmega164, ATmega32, ATmega16 and ATmega8535 (issue #585)

    •   Added support for TI MSP430 boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989

    •   Updated Arduino core for Espressif platform to 2.2.0 (issue #627)

    •   Updated native SDK for ESP8266 to 1.5 (issue #366)

    •   PlatformIO Library Registry in JSON format! Implemented --json-output and --page options for platformio lib search command (issue #604)

    •   Allowed to specify default environments env_default which should be processed by default with platformio run command (issue #576)

    •   Allowed to unflag(remove) base/initial flags using build_unflags option (issue #559)

    •   Allowed multiple VID/PID pairs when detecting serial ports (issue #632)

    •   Automatically add -DUSB_MANUFACTURER with vendor's name (issue #631)

    •   Automatically reboot Teensy board after upload when Teensy Loader GUI is used (issue #609)

    •   Refactored source code converter from *.ino to *.cpp (issue #610)

    •   Forced -std=gnu++11 for Atmel SAM development platform (issue #601)

    •   Don't check OS type for ARM mbed-enabled boards and ST STM32 development platform before uploading to disk (issue #596)

    •   Fixed broken compilation for Atmel SAMD based boards except Arduino Due (issue #598)

    •   Fixed firmware uploading using serial port with spaces in the path

    •   Fixed cache system when project's root directory is used as src_dir (issue #635)

  2.8.6 (2016-03-22)

    •   Launched PlatformIO Community Forums (issue #530)

    •   Added support for ARM mbed-enabled board Seed Arch Max (STM32F407VET6) (issue #572)

    •   Improved DNS lookup for PlatformIO API

    •   Updated Arduino Wiring-based framework to the latest version for Atmel AVR/SAM development platforms

    •   Updated "Teensy Loader CLI" and fixed uploading of large .hex files (issue #568)

    •   Updated the support for Sanguino Boards (issue #586)

    •   Better handling of used boards when re-initialize/update project

    •   Improved support for non-Unicode user profiles for Windows OS

    •   Disabled progress bar for download operations when prompts are disabled

    •   Fixed multiple definition errors for ST STM32 development platform and ARM mbed framework (issue #571)

    •   Fixed invalid board parameters (reset method and baudrate) for a few ESP8266 based boards

    •   Fixed "KeyError: 'content-length'" in PlatformIO Download Manager (issue #591)

  2.8.5 (2016-03-07)

    •   Project generator for NetBeans IDE (issue #541)

    •   Created package for Homebrew Mac OS X Package Manager: brew install platformio (issue #395)

    •   Updated Arduino core for Espressif platform to 2.1.0 (issue #544)

    •   Added support for the ESP8266 ESP-07 board to Espressif (issue #527)

    •   Improved handling of String-based CPPDEFINES passed to extra build_flags (issue #526)

    •   Generate appropriate project for CLion IDE and CVS (issue #523)

    •   Use src_dir directory from Project Configuration File platformio.ini when initializing project otherwise create base src directory (issue #536)

    •   Fixed issue with incorrect handling of user's build flags where the base flags were passed after user's flags to GCC compiler (issue #528)

    •   Fixed issue with Project Generator when optional build flags were passed using system environment variables: PLATFORMIO_BUILD_FLAGS or PLATFORMIO_BUILD_SRC_FLAGS

    •   Fixed invalid detecting of compiler type (issue #550)

    •   Fixed issue with updating package which was deleted manually by user (issue #555)

    •   Fixed incorrect parsing of GCC -include flag (issue #552)

  2.8.4 (2016-02-17)

    •   Added support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02, ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to Espressif development platform

    •   Added board_f_flash option to Project Configuration File platformio.ini which allows to specify custom flash chip frequency for Espressif development platform (issue #501)

    •   Added board_flash_mode option to Project Configuration File platformio.ini which allows to specify custom flash chip mode for Espressif development platform

    •   Handle new environment variables PLATFORMIO_UPLOAD_PORT and PLATFORMIO_UPLOAD_FLAGS (issue #518)

    •   Fixed issue with CPPDEFINES which contain space and break PlatformIO IDE Linter (IDE issue #34)

    •   Fixed unable to link C++ standard library to Espressif platform build (issue #503)

    •   Fixed issue with pointer (char* myfunc()) while converting from *.ino to *.cpp (issue #506)

  2.8.3 (2016-02-02)

    •   Better integration of PlatformIO Builder with PlatformIO IDE Linter

    •   Fixed issue with removing temporary file while converting *.ino to *.cpp

    •   Fixed missing dependency (mbed framework) for Atmel SAM development platform (issue #487)

  2.8.2 (2016-01-29)

    •   Corrected RAM size for NXP LPC1768 based boards (issue #484)

    •   Exclude only test and tests folders from build process

    •   Reverted -Wl,-whole-archive hook for ST STM32 and mbed

  2.8.1 (2016-01-29)

    •   Fixed a bug with Project Initialization in PlatformIO IDE

  2.8.0 (2016-01-29)

    •   PlatformIO IDE for Atom (issue #470)

    •   Added pio command line alias for platformio command (issue #447)

    •   Added SPL-Framework support for Nucleo F401RE board (issue #453)

    •   Added upload_resetmethod option to Project Configuration File platformio.ini which allows to specify custom upload reset method for Espressif development platform (issue #444)

    •   Allowed to force output of color ANSI-codes or to disable progress bar even if the output is a pipe (not a tty) using Environment variables (issue #465)

    •   Set 1Mb SPIFFS for Espressif boards by default (issue #458)

    •   Exclude test* folder by default from build process

    •   Generate project for IDEs with information about installed libraries

    •   Fixed builder for mbed framework and ST STM32 platform

  2.7.1 (2016-01-06)

    •   Initial support for Arduino Zero board (issue #356)

    •   Added support for completions to Atom text editor using .clang_complete

    •   Generate default targets for supported IDE (CLion, Eclipse IDE, Emacs, Sublime Text, VIM): Build, Clean, Upload, Upload SPIFFS image, Upload using Programmer, Update installed platforms and libraries (issue #427)

    •   Updated Teensy Arduino Framework to 1.27 (issue #434)

    •   Fixed uploading of EEPROM data using uploadeep target for Atmel AVR development platform

    •   Fixed project generator for CLion IDE (issue #422)

    •   Fixed package shasum validation on Mac OS X 10.11.2 (issue #429)

    •   Fixed CMakeLists.txt add_executable has only one source file (issue #421)

  2.7.0 (2015-12-30)

Happy New Year!

    •   Moved SCons to PlatformIO packages. PlatformIO does not require SCons to be installed in your system. Significantly simplified installation process of PlatformIO. pip install platformio rocks!

    •   Implemented uploading files to file system of ESP8266 SPIFFS (including OTA) (issue #382)

    •   Added support for the new Adafruit boards Bluefruit Micro and Feather (issue #403)

    •   Added support for RFDuino (issue #319)

    •   Project generator for Emacs text editor (pull #404)

    •   Updated Arduino framework for Atmel AVR development platform to 1.6.7

    •   Documented firmware uploading for Atmel AVR development platform using Programmers: AVR ISP, AVRISP mkII, USBtinyISP, USBasp, Parallel Programmer and Arduino as ISP

    •   Fixed issue with current Python interpreter for Python-based tools (issue #417)

  2.6.3 (2015-12-21)

    •   Restored support for Espressif ESP8266 ESP-01 1MB board (ready for OTA)

    •   Fixed invalid ROM size for ESP8266-based boards (issue #396)

  2.6.2 (2015-12-21)

    •   Removed SCons from requirements list. PlatformIO will try to install it automatically, otherwise users need to install it manually

    •   Fixed ChunkedEncodingError when SF connection is broken (issue #356)

  2.6.1 (2015-12-18)

    •   Added support for the new ESP8266-based boards (SparkFun ESP8266 Thing, NodeMCU 0.9 & 1.0, Olimex MOD-WIFI-ESP8266(-DEV), Adafruit HUZZAH ESP8266, ESPino, SweetPea ESP-210, WeMos D1, WeMos D1 mini) to Espressif development platform

    •   Created public platformio-pkg-ldscripts repository for LD scripts. Moved common configuration for ESP8266 MCU to esp8266.flash.common.ld (issue #379)

    •   Improved documentation for Espressif development platform: OTA update, custom Flash Size, Upload Speed and CPU frequency

    •   Fixed reset method for Espressif NodeMCU (ESP-12E Module) (issue #380)

    •   Fixed issue with code builder when build path contains spaces (issue #387)

    •   Fixed project generator for Eclipse IDE and "duplicate path entries found in project path" (issue #383)

  2.6.0 (2015-12-15)

    •   Install only required packages depending on build environment (issue #308)

    •   Added support for Raspberry Pi WiringPi framework (issue #372)

    •   Implemented Over The Air (OTA) upgrades for Espressif development platform. (issue #365)

    •   Updated CMSIS framework and added CMSIS support for Nucleo F401RE board (issue #373)

    •   Added support for Espressif ESP8266 ESP-01-1MB board (ready for OTA)

    •   Handle upload_flags option in platformio.ini (issue #368)

    •   Improved PlatformIO installation on the Mac OS X El Capitan

  2.5.0 (2015-12-08)

    •   Improved code builder for parallel builds (up to 4 times faster than before)

    •   Generate .travis.yml CI and .gitignore files for embedded projects by default (issue #354)

    •   Removed prompt with "auto-uploading" from platformio init command and added --enable-auto-uploading option (issue #352)

    •   Fixed incorrect behaviour of platformio serialports monitor in pair with PySerial 3.0

  2.4.1 (2015-12-01)

    •   Restored PLATFORMIO macros with the current version

  2.4.0 (2015-12-01)

    •   Added support for the new boards: Atmel ATSAMR21-XPRO, Atmel SAML21-XPRO-B, Atmel SAMD21-XPRO, ST 32F469IDISCOVERY, ST 32L476GDISCOVERY, ST Nucleo F031K6, ST Nucleo F042K6, ST Nucleo F303K8 and ST Nucleo L476RG

    •   Updated Arduino core for Espressif platform to 2.0.0 (issue #345)

    •   Added to FAQ explanation of Can not compile a library that compiles without issue with Arduino IDE (issue #331)

    •   Fixed ESP-12E flash size (pull #333)

    •   Fixed configuration for LowPowerLab MoteinoMEGA board (issue #335)

    •   Fixed "LockFailed: failed to create appstate.json.lock" error for Windows

    •   Fixed relative include path for preprocessor using build_flags (issue #271)

  2.3.5 (2015-11-18)

    •   Added support of libOpenCM3 framework for Nucleo F103RB board (issue #309)

    •   Added support for Espressif ESP8266 ESP-12E board (NodeMCU) (issue #310)

    •   Added support for pySerial 3.0 (issue #307)

    •   Updated Arduino AVR/SAM frameworks to 1.6.6 (issue #321)

    •   Upload firmware using external programmer via platformio run --target program target (issue #311)

    •   Fixed handling of upload port when board option is not specified in platformio.ini (issue #313)

    •   Fixed firmware uploading for nordicrf51 development platform (issue #316)

    •   Fixed installation on Mac OS X El Capitan (issue #312)

    •   Fixed project generator for CLion IDE under Windows OS with invalid path to executable (issue #326)

    •   Fixed empty list with serial ports on Mac OS X (isge #294)

    •   Fixed compilation error TWI_Disable not declared for Arduino Due board (issue #329)

  2.3.4 (2015-10-13)

    •   Full support of CLion IDE including code auto-completion (issue #132)

    •   PlatformIO command completion in Terminal for bash and zsh

    •   Added support for ubIQio Ardhat board (pull #302)

    •   Install SCons automatically and avoid error: option --single-version-externally-managed not recognized (issue #279)

    •   Use Teensy CLI Loader for upload of .hex files on Mac OS X (issue #306)

    •   Fixed missing framework-mbed package for teensy platform (issue #305)

  2.3.3 (2015-10-02)

    •   Added support for LightBlue Bean board (pull #292)

    •   Added support for ST Nucleo F446RE board (pull #293)

    •   Fixed broken lock file for "appstate" storage (issue #288)

    •   Fixed ESP8266 compile errors about RAM size when adding 1 library (issue #296)

  2.3.2 (2015-09-10)

    •   Allowed to use ST-Link uploader for mbed-based projects

    •   Explained how to use lib directory from the PlatformIO based project in readme.txt which will be automatically generated using platformio init command (issue #273)

    •   Found solution for "pip/scons error: option --single-version-externally-managed not recognized" when install PlatformIO using pip package manager (issue #279)

    •   Fixed firmware uploading to Arduino Leonardo board using Mac OS (issue #287)

    •   Fixed SConsNotInstalled error for Linux Debian-based distributives

  2.3.1 (2015-09-06)

    •   Fixed critical issue when platformio init --ide command hangs PlatformIO (issue #283)

  2.3.0 (2015-09-05)

    •   Added native, linux_arm, linux_i686, linux_x86_64, windows_x86 development platforms (issue #263)

    •   Added PlatformIO Demo page to documentation

    •   Simplified installation process of PlatformIO (issue #274)

    •   Significantly improved Project Generator which allows to integrate with the most popular IDE

    •   Added short -h help option for PlatformIO and sub-commands

    •   Updated mbed framework

    •   Updated tool-teensy package for Teensy platform (issue #268)

    •   Added FAQ answer when Program "platformio" not found in PATH (issue #272)

    •   Generate "readme.txt" for project "lib" directory (issue #273)

    •   Use toolchain's includes pattern include* for Project Generator (issue #277)

    •   Added support for Adafruit Gemma board to atmelavr platform (pull #256)

    •   Fixed includes list for Windows OS when generating project for Eclipse IDE (issue #270)

    •   Fixed AttributeError: 'module' object has no attribute 'packages' (issue #252)

  2.2.2 (2015-07-30)

    •   Integration with Atom IDE

    •   Support for off-line/unpublished/private libraries (issue #260)

    •   Disable project auto-clean while building/uploading firmware using platformio run --disable-auto-clean option (issue #255)

    •   Show internal errors from "Miniterm" using platformio serialports monitor command (issue #257)

    •   Fixed platformio serialports monitor --help information with HEX char for hotkeys (issue #253)

    •   Handle "OSError: [Errno 13] Permission denied" for PlatformIO installer script (issue #254)

  2.2.1 (2015-07-17)

    •   Project generator for CLion IDE (issue #132)

    •   Updated tool-bossac package to 1.5 version for atmelsam platform (issue #251)

    •   Updated sdk-esp8266 package for espressif platform

    •   Fixed incorrect arguments handling for platformio serialports monitor command (issue #248)

  2.2.0 (2015-07-01)

    •   Allowed to exclude/include source files from build process using src_filter (issue #240)

    •   Launch own extra script before firmware building/uploading processes (issue #239)

    •   Specify own path to the linker script (ld) using build_flags option (issue #233)

    •   Specify library compatibility with the all platforms/frameworks using * symbol in library.json

    •   Added support for new embedded boards: ST 32L0538DISCOVERY and Delta DFCM-NNN40 to Framework mbed

    •   Updated packages for Framework Arduino (AVR, SAM, Espressif and Teensy cores, Framework mbed, Espressif ESP8266 SDK (issue #246)

    •   Fixed stk500v2_command(): command failed (issue #238)

    •   Fixed IDE project generator when board is specified (issue #242)

    •   Fixed relative path for includes when generating project for IDE (issue #243)

    •   Fixed ESP8266 native SDK exception (issue #245)

  2.1.2 (2015-06-21)

    •   Fixed broken link to SCons installer

  2.1.1 (2015-06-09)

    •   Automatically detect upload port using VID:PID board settings (issue #231)

    •   Improved detection of build changes

    •   Avoided LibInstallDependencyError when more than 1 library is found (issue #229)

  2.1.0 (2015-06-03)

    •   Added Silicon Labs EFM32 siliconlabsefm32 development platform (issue #226)

    •   Integrate PlatformIO with Circle CI and Shippable CI

    •   Described in documentation how to create/register own board for PlatformIO

    •   Disabled "nano.specs" for ARM-based platforms (issue #219)

    •   Fixed "ConnectionError" when PlatformIO SF Storage is off-line

    •   Fixed resolving of C/C++ std libs by Eclipse IDE (issue #220)

    •   Fixed firmware uploading using USB programmer (USBasp) for atmelavr platform (issue #221)

  2.0.2 (2015-05-27)

    •   Fixed libraries order for "Library Dependency Finder" under Linux OS

  2.0.1 (2015-05-27)

    •   Handle new environment variable PLATFORMIO_BUILD_FLAGS

    •   Pass to API requests information about Continuous Integration system. This information will be used by PlatformIO-API.

    •   Use include directories from toolchain when initialising project for IDE (issue #210)

    •   Added support for new WildFire boards from Wicked Device to atmelavr platform

    •   Updated Arduino Framework to 1.6.4 version (issue #212)

    •   Handle Atmel AVR Symbols when initialising project for IDE (issue #216)

    •   Fixed bug with converting *.ino to *.cpp

    •   Fixed failing with platformio init --ide eclipse without boards (issue #217)

  2.0.0 (2015-05-22)

Made in Paradise

    •   PlatformIO as Continuous Integration (CI) tool for embedded projects (issue #108)

    •   Initialise PlatformIO project for the specified IDE (issue #151)

    •   PlatformIO CLI 2.0: "platform" related commands have been moved to platformio platforms subcommand (issue #158)

    •   Created PlatformIO gitter.im room (issue #174)

    •   Global -f, --force option which will force to accept any confirmation prompts (issue #152)

    •   Run project with platformio run --project-dir option without changing the current working directory (issue #192)

    •   Control verbosity of platformio run command via -v/--verbose option

    •   Add library dependencies for build environment using lib_install option in platformio.ini (issue #134)

    •   Specify libraries which are compatible with build environment using lib_use option in platformio.ini (issue #148)

    •   Add more boards to PlatformIO project with platformio init --board command (issue #167)

    •   Choose which library to update (issue #168)

    •   Specify platformio init --env-prefix when initialise/update project (issue #182)

    •   Added new Armstrap boards (issue #204)

    •   Updated SDK for espressif development platform to v1.1 (issue #179)

    •   Disabled automatic updates by default for platforms, packages and libraries (issue #171)

    •   Fixed bug with creating copies of source files (issue #177)

  PlatformIO Core 1

  1.5.0 (2015-05-15)

    •   Added support of Framework mbed for Teensy 3.1 (issue #183)

    •   Added GDB as alternative uploader to ststm32 platform (issue #175)

    •   Added examples with preconfigured IDE projects (issue #154)

    •   Fixed firmware uploading under Linux OS for Arduino Leonardo board (issue #178)

    •   Fixed invalid "mbed" firmware for Nucleo F411RE (issue #185)

    •   Fixed parsing of includes for PlatformIO Library Dependency Finder (issue #189)

    •   Fixed handling symbolic links within source code directory (issue #190)

    •   Fixed cancelling any previous definition of name, either built in or provided with a -D option (issue #191)

  1.4.0 (2015-04-11)

    •   Added espressif development platform with ESP01 board

    •   Integrated PlatformIO with AppVeyor Windows based Continuous Integration system (issue #149)

    •   Added support for Teensy LC board to teensy platform

    •   Added support for new Arduino based boards by SparkFun, BQ, LightUp, LowPowerLab, Quirkbot, RedBearLab, TinyCircuits to atmelavr platform

    •   Upgraded Arduino Framework to 1.6.3 version (issue #156)

    •   Upgraded Energia Framework to 0101E0015 version (issue #146)

    •   Upgraded Arduino Framework with Teensy Core to 1.22 version (issue #162, issue #170)

    •   Fixed exceptions with PlatformIO auto-updates when Internet connection isn't active

  1.3.0 (2015-03-27)

    •   Moved PlatformIO source code and repositories from Ivan Kravets account to PlatformIO Organisation (issue #138)

    •   Added support for new Arduino based boards by SparkFun, RepRap, Sanguino to atmelavr platform (issue #127, issue #131)

    •   Added integration instructions for Visual Studio and Sublime Text IDEs

    •   Improved handling of multi-file *.ino/pde sketches (issue #130)

    •   Fixed wrong insertion of function prototypes converting *.ino/pde (issue #137, issue #140)

  1.2.0 (2015-03-20)

    •   Added full support of mbed framework including libraries: RTOS, Ethernet, DSP, FAT, USB.

    •   Added freescalekinetis development platform with Freescale Kinetis Freedom boards

    •   Added nordicnrf51 development platform with supported boards from JKSoft, Nordic, RedBearLab, Switch Science

    •   Added nxplpc development platform with supported boards from CQ Publishing, Embedded Artists, NGX Technologies, NXP, Outrageous Circuits, SeeedStudio, Solder Splash Labs, Switch Science, u-blox

    •   Added support for ST Nucleo boards to ststm32 development platform

    •   Created new Frameworks page in documentation and added to PlatformIO Web Site (issue #115)

    •   Introduced online Embedded Boards Explorer

    •   Automatically append define -DPLATFORMIO=%version% to builder (issue #105)

    •   Renamed stm32 development platform to ststm32

    •   Renamed opencm3 framework to libopencm3

    •   Fixed uploading for atmelsam development platform

    •   Fixed re-arranging the *.ino/pde files when converting to *.cpp (issue #100)

  1.1.0 (2015-03-05)

    •   Implemented PLATFORMIO_* environment variables (issue #102)

    •   Added support for SainSmart boards to atmelsam development platform

    •   Added Project Configuration option named envs_dir

    •   Disabled "prompts" automatically for Continuous Integration systems (issue #103)

    •   Fixed firmware uploading for atmelavr boards which work within usbtiny protocol

    •   Fixed uploading for Digispark board (issue #106)

  1.0.1 (2015-02-27)

PlatformIO 1.0 - recommended for production

    •   Changed development status from beta to Production/Stable

    •   Added support for ARM-based credit-card sized computers: Raspberry Pi, BeagleBone and CubieBoard

    •   Added atmelsam development platform with supported boards: Arduino Due and Digistump DigiX (issue #71)

    •   Added ststm32 development platform with supported boards: Discovery kit for STM32L151/152, STM32F303xx, STM32F407/417 lines and libOpenCM3 Framework (issue #73)

    •   Added teensy development platform with supported boards: Teensy 2.x & 3.x (issue #72)

    •   Added new Arduino boards to atmelavr platform: Arduino NG, Arduino BT, Arduino Esplora, Arduino Ethernet, Arduino Robot Control, Arduino Robot Motor and Arduino Yun

    •   Added support for Adafruit boards to atmelavr platform: Adafruit Flora and Adafruit Trinkets (issue #65)

    •   Added support for Digispark boards to atmelavr platform: Digispark USB Development Board and Digispark Pro (issue #47)

    •   Covered code with tests (issue #2)

    •   Refactored Library Dependency Finder (issues #48, #50, #55)

    •   Added src_dir option to [platformio] section of platformio.ini which allows to redefine location to project's source directory (issue #83)

    •   Added --json-output option to platformio boards and platformio search commands which allows to return the output in JSON format (issue #42)

    •   Allowed to ignore some libs from Library Dependency Finder via lib_ignore option

    •   Improved platformio run command: asynchronous output for build process, timing and detailed information about environment configuration (issue #74)

    •   Output compiled size and static memory usage with platformio run command (issue #59)

    •   Updated framework-arduino AVR & SAM to 1.6 stable version

    •   Fixed an issue with the libraries that are git repositories (issue #49)

    •   Fixed handling of assembly files (issue #58)

    •   Fixed compiling error if space is in user's folder (issue #56)

    •   Fixed AttributeError: 'module' object has no attribute 'disable_warnings' when a version of requests package is less then 2.4.0

    •   Fixed bug with invalid process's "return code" when PlatformIO has internal error (issue #81)

    •   Several bug fixes, increased stability and performance improvements

  PlatformIO Core Preview

  0.10.2 (2015-01-06)

    •   Fixed an issue with --json-output (issue #42)

    •   Fixed an exception during platformio upgrade under Windows OS (issue #45)

  0.10.1 (2015-01-02)

    •   Added --json-output option to platformio list, platformio serialports list and platformio lib list commands which allows to return the output in JSON format (issue #42)

    •   Fixed missing auto-uploading by default after platformio init command

  0.10.0 (2015-01-01)

Happy New Year!

    •   Implemented platformio boards command (issue #11)

    •   Added support of Engduino boards for atmelavr platform (issue #38)

    •   Added --board option to platformio init command which allows to initialise project with the specified embedded boards (issue #21)

    •   Added example with uploading firmware via USB programmer (USBasp) for atmelavr MCUs (issue #35)

    •   Automatic detection of port on platformio serialports monitor (issue #37)

    •   Allowed auto-installation of platforms when prompts are disabled (issue #43)

    •   Fixed urllib3's SSL warning under Python <= 2.7.2 (issue #39)

    •   Fixed bug with Arduino USB boards (issue #40)

  0.9.2 (2014-12-10)

    •   Replaced "dark blue" by "cyan" colour for the texts (issue #33)

    •   Added new setting enable_prompts and allowed to disable all PlatformIO prompts (useful for cloud compilers) (issue #34)

    •   Fixed compilation bug on Windows with installed MSVC (issue #18)

  0.9.1 (2014-12-05)

    •   Ask user to install platform (when it hasn't been installed yet) within platformio run and platformio show commands

    •   Improved main documentation

    •   Fixed "OSError: [Errno 2] No such file or directory" within platformio run command when PlatformIO isn't installed properly

    •   Fixed example for Eclipse IDE with Tiva board (issue #32)

    •   Upgraded Eclipse Project Examples to latest Luna and PlatformIO releases

  0.9.0 (2014-12-01)

    •   Implemented platformio settings command

    •   Improved platformio init command. Added new option --project-dir where you can specify another path to directory where new project will be initialized (issue #31)

    •   Added Migration Manager which simplifies process with upgrading to a major release

    •   Added Telemetry Service which should help us make PlatformIO better

    •   Implemented PlatformIO AppState Manager which allow to have multiple .platformio states.

    •   Refactored Package Manager

    •   Download Manager: fixed SHA1 verification within Cygwin Environment (issue #26)

    •   Fixed bug with code builder and built-in Arduino libraries (issue #28)

  0.8.0 (2014-10-19)

    •   Avoided trademark issues in library.json with the new fields: frameworks, platforms and dependencies (issue #17)

    •   Switched logic from "Library Name" to "Library Registry ID" for all platformio lib commands (install, uninstall, update and etc.)

    •   Renamed author field to authors and allowed to setup multiple authors per library in library.json

    •   Added option to specify "maintainer" status in authors field

    •   New filters/options for platformio lib search command: --framework and --platform

  0.7.1 (2014-10-06)

    •   Fixed bug with order for includes in conversation from INO/PDE to CPP

    •   Automatic detection of port on upload (issue #15)

    •   Fixed lib update crashing when no libs are installed (issue #19)

  0.7.0 (2014-09-24)

    •   Implemented new [platformio] section for Configuration File with home_dir option (issue #14)

    •   Implemented Library Manager (issue #6)

  0.6.0 (2014-08-09)

    •   Implemented platformio serialports monitor (issue #10)

    •   Fixed an issue ImportError: No module named platformio.util (issue #9)

    •   Fixed bug with auto-conversation from Arduino *.ino to *.cpp

  0.5.0 (2014-08-04)

    •   Improved nested lookups for libraries

    •   Disabled default warning flag "-Wall"

    •   Added auto-conversation from *.ino to valid *.cpp for Arduino/Energia frameworks (issue #7)

    •   Added Arduino example with external library (Adafruit CC3000)

    •   Implemented platformio upgrade command and "auto-check" for the latest version (issue #8)

    •   Fixed an issue with "auto-reset" for Raspduino board

    •   Fixed a bug with nested libs building

  0.4.0 (2014-07-31)

    •   Implemented platformio serialports command

    •   Allowed to put special build flags only for src files via src_build_flags environment option

    •   Allowed to override some of settings via system environment variables such as: PLATFORMIO_SRC_BUILD_FLAGS and PLATFORMIO_ENVS_DIR

    •   Added --upload-port option for platformio run command

    •   Implemented (especially for SmartAnthill) platformio run -t uploadlazy target (no dependencies to framework libs, ELF and etc.)

    •   Allowed to skip default packages via platformio install --skip-default-package option

    •   Added tools for Raspberry Pi platform

    •   Added support for Microduino and Raspduino boards in atmelavr platform

  0.3.1 (2014-06-21)

    •   Fixed auto-installer for Windows OS (bug with %PATH% custom installation)

  0.3.0 (2014-06-21)

    •   Allowed to pass multiple "SomePlatform" to install/uninstall commands

    •   Added "IDE Integration" section to README with Eclipse project examples

    •   Created auto installer script for PlatformIO (issue #3)

    •   Added "Super-Quick" way to Installation section (README)

    •   Implemented "build_flags" option for environments (issue #4)

  0.2.0 (2014-06-15)

    •   Resolved issue #1 "Build referred libraries"

    •   Renamed project's "libs" directory to "lib"

    •   Added arduino-internal-library example

    •   Changed to beta status

  0.1.0 (2014-06-13)

    •   Birth! First alpha release

  Migrating from 3.x to 4.0

Guidance on how to upgrade from piocore v3.x to v4.x with emphasis on major changes, what is new, and what has been removed.

Please read PlatformIO 4.0 Release Notes before.

  Contents

    •   Compatibility

    •   Infrastructure

    •   What is new

        •   projectconf

            •   Global scope [env]

            •   External Configuration Files

            •   New Options

        •   Library Management

        •   Build System

            •   Package Dependencies

            •   Custom Platform Packages

            •   Custom Upload Command

            •   Shared Cache Directory

    •   What is changed or removed

        •   Command Line Interface

        •   projectconf

  Compatibility

PlatformIO Core 4.0 is fully backward compatible with v3.x. The only major change is a new location for project build artifacts and library dependencies. The previous .pioenvs (projectconf_pio_build_dir) and .piolibdeps (projectconf_pio_libdeps_dir) folders were moved to a new projectconf_pio_workspace_dir.

NOTE:
        If you manually added library dependencies to old .piolibdeps folder, please declare them in projectconf_lib_deps. We do not recommend modifying any files or folders in projectconf_pio_workspace_dir. This is an internal location for PlatformIO Core artifacts and temporary files. PlatformIO Core 4.0 may delete/cleanup this folder in a service purpose any time.

  Infrastructure

Finally, Python 3 interpreter is officially supported! The minimum requirements are Python 2.7 or Python 3.5+.

We also added full support for operating system locales other than UTF-8. So, your project path can contain non-ASCII/non-Latin chars now.

If you are platforms maintainer or you need to show a progress bar (upload progress, connecting status...), PlatformIO Core 4.0 has re-factored target runner where line-buffering was totally removed. Just print any progress information in real time and PlatformIO Core will display it instantly on user the side. For example, a writing progress from platform_atmelavr "avrdude" programmer:

        ...
        Looking for upload port...
        Auto-detected: /dev/cu.usbmodemFA141
        Uploading build/uno/firmware.hex

        avrdude: AVR device initialized and ready to accept instructions

        Reading | ################################################## | 100% 0.00s

        avrdude: Device signature = 0x1e950f (probably m328p)
        avrdude: reading input file "build/uno/firmware.hex"
        avrdude: writing flash (930 bytes):

        Writing | ##########################

  What is new

In this section, we are going to highlight the most important changes and features introduced in piocore 4.0. Please visit PlatformIO 4.0 Release Notes for more detailed information.

  projectconf

A project configuration parser was rewritten from scratch. It has strict options typing (API) and helps to avoid issues when option values are invalid (for example, invalid ldf_mode or non-existing projectconf_debug_svd_path).

  Global scope [env]

One of the most requested features was a "global" or "common" project environment (projectconf_section_env) where developers can share common configuration between all declared build environments [env:NAME].

The previous solution in PlatformIO Core 3.0 was using projectconf_dynamic_vars. As practice has shown, this approach was not good and more advanced projectconf looked so complicated and hard for managing (for example, open source projects MarlinFirmware, Espurna).

PlatformIO Core 4.0 introduces a new global scope named [env] which allows declaring global options that will be shared between all [env:NAME] sections in projectconf. For example,

        [env]
        platform = ststm32
        framework = stm32cube
        board = nucleo_l152re
        lib_deps = Dep1, Dep2

        [env:release]
        build_flags = -D RELEASE
        lib_deps =
            ${env.lib_deps}
            Dep3

        [env:debug]
        build_type = debug
        build_flags = -D DEBUG
        lib_deps = DepCustom

In this example we have 2 build environments release and debug. This is the same if you duplicate all options (PlatformIO Core 3.0 compatible):

        [env:release]
        platform = ststm32
        framework = stm32cube
        board = nucleo_l152re
        build_flags = -D RELEASE
        lib_deps = Dep1, Dep2, Dep3

        [env:debug]
        platform = ststm32
        framework = stm32cube
        board = nucleo_l152re
        build_type = debug
        build_flags = -D DEBUG
        lib_deps = DepCustom

  External Configuration Files

To simplify the project configuration process, PlatformIO Core 4.0 adds support for external projectconf. Yes! You can finally extend one configuration file with another or with a list of them. The cool feature is a support for Unix shell-style wildcards. So, you can dynamically generate projectconf files or load bunch of them from a folder. See projectconf_pio_extra_configs option for details and a simple example below:

Base "platformio.ini"

        [platformio]
        extra_configs =
          extra_envs.ini
          extra_debug.ini

        [common]
        debug_flags = -D RELEASE
        lib_flags = -lc -lm

        [env:esp-wrover-kit]
        platform = espressif32
        framework = espidf
        board = esp-wrover-kit
        build_flags = ${common.debug_flags}

"extra_envs.ini"

        [env:esp32dev]
        platform = espressif32
        framework = espidf
        board = esp32dev
        build_flags = ${common.lib_flags} ${common.debug_flags}

        [env:lolin32]
        platform = espressif32
        framework = espidf
        board = lolin32
        build_flags = ${common.debug_flags}

"extra_debug.ini"

        # Override base "common.debug_flags"
        [common]
        debug_flags = -D DEBUG=1

        [env:lolin32]
        build_flags = -Og

After a parsing process, configuration state will be the next:

        [common]
        debug_flags = -D DEBUG=1
        lib_flags = -lc -lm

        [env:esp-wrover-kit]
        platform = espressif32
        framework = espidf
        board = esp-wrover-kit
        build_flags = ${common.debug_flags}

        [env:esp32dev]
        platform = espressif32
        framework = espidf
        board = esp32dev
        build_flags = ${common.lib_flags} ${common.debug_flags}

        [env:lolin32]
        platform = espressif32
        framework = espidf
        board = lolin32
        build_flags = -Og

  New Options

We have added new options and changed some existing ones. Here are the new or updated options.
Section | Option | Description
platformio | projectconf_pio_extra_configs | Extend base configuration with external projectconf
platformio | projectconf_pio_core_dir | Directory where PlatformIO stores development platform packages (toolchains, frameworks, SDKs, upload and debug tools), global libraries for ldf, and other PlatformIO Core service data
platformio | projectconf_pio_globallib_dir | Global library storage for PlatfrmIO projects and librarymanager where ldf looks for dependencies
platformio | projectconf_pio_platforms_dir | Global storage where PlatformIO Package Manager installs platforms
platformio | projectconf_pio_packages_dir | Global storage where PlatformIO Package Manager installs platforms dependencies (toolchains, frameworks, SDKs, upload and debug tools)
platformio | projectconf_pio_cache_dir | piocore uses this folder to store caching information (requests to PlatformIO Registry, downloaded packages and other service information)
platformio | projectconf_pio_workspace_dir | A path to a project workspace directory where PlatformIO keeps by default compiled objects, static libraries, firmwares, and external library dependencies
platformio | projectconf_pio_shared_dir | pioremote uses this folder to synchronize extra files between remote machine
env | projectconf_build_type | See extended documentation for build_configurations
env | projectconf_monitor_flags | Pass extra flags and options to cmd_device_monitor command
env | projectconf_upload_command | Override default platforms upload command with a custom one.

  Library Management

Library management brings a few new changes which resolve historical issues presented in PlatformIO 3.0:

    1.  .piolibdeps folder was moved to projectconf_pio_libdeps_dir of project workspace.

        If you manually added library dependencies to old .piolibdeps folder, please declare them in projectconf_lib_deps. We do not recommend modifying any files or folders in projectconf_pio_workspace_dir. This is an internal location for PlatformIO Core artifacts and temporary files. PlatformIO Core 4.0 may delete/cleanup this folder in a service purpose any time.

    2.  ldf now uses isolated library dependency storage per project build environment. It resolves conflicts when the libraries from different build environments declared via projectconf_lib_deps option were installed into the same .piolibdeps folder.

See Library Management section in release_notes_4 release notes for more details.

  Build System

PlatformIO Core 4.0 uses a new projectconf_pio_build_dir instead of .pioenvs for compiled objects, archived libraries, firmware binaries and, other artifacts. A new projectconf_build_type option allows you to control a build process between "Release" and "Debug" modes (see build_configurations).

See Build System section in release_notes_4 release notes for more details.

  Package Dependencies

PlatformIO has decentralized architecture and allows platform maintainers to create platform_creating for PlatformIO ecosystem. Each development platform depends on a list of packages (toolchains, SDKs, debugging servers, etc). PlatformIO Package Manager installs these packages automatically and PlatformIO Build System uses them later.

Starting from PlatformIO Core 4.0, developers can see which versions of a development platform or its dependent packages will be used. This is a great addition to track changes (frameworks, SDKs) between platforms updates. See an example with "staging" (Git) version of platform_espressif8266 development platform:

        Processing nodemcuv2 (platform: https://github.com/platformio/platform-espressif8266.git#feature/stage; board: nodemcuv2; framework: arduino)
        -------------------------------------------------------------------------------
        Verbose mode can be enabled via `-v, --verbose` option
        CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
        PLATFORM: Espressif 8266 (Stage) 2.3.0-alpha.1 #990141d > NodeMCU 1.0 (ESP-12E Module)
        HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
        PACKAGES: toolchain-xtensa 2.40802.190218 (4.8.2), tool-esptool 1.413.0 (4.13), tool-esptoolpy 1.20600.0 (2.6.0), framework-arduinoespressif8266 78a1a66
        LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
        LDF Modes: Finder ~ chain+, Compatibility ~ soft
        Found 35 compatible libraries
        Scanning dependencies...

  Custom Platform Packages

Sometimes you need to override default platforms packages or add an extra. PlatformIO Core 4.0 introduces a new configuration option projectconf_env_platform_packages per a build environment. Also, using this option you can install external packages and use them later as programmers or upload tools. See a few examples:

        [env:override_default_toolchain]
        platform = atmelavr
        platform_packages =
          ; use GCC AVR 5.0+
          toolchain-gccarmnoneeabi@>1.50000.0

        [env:override_framework]
        platform = espressif8266
        platform_packages =
          ; use upstream Git version
          framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git

        [env:external_package]
        platform = ststm32
        platform_packages =
          ; latest openOCD from PlatformIO Package Registry
          tool-openocd

          ; source code of ST-Link
          tool-stlink-source @ https://github.com/texane/stlink.git

  Custom Upload Command

PlatformIO's platforms have pre-configured settings to program boards or devices. They depend on a type of bootloader or programming interface. PlatformIO Core 4.0 allows you to override default upload command using projectconf_upload_command option in projectconf:

        [env:custom_upload_cmd]
        platform = ...
        framework = ...
        board = ...
        upload_command = /my/flasher arg1 arg2 --flag1 $SOURCE

See real examples for projectconf_upload_command.

  Shared Cache Directory

PlatformIO Core 4.0 allows you to configure a shared folder for the derived files (objects, firmwares, ELFs) from a build system using projectconf_pio_build_cache_dir. You can use it in multi-environments project configuration to avoid multiple compilations of the same source code files.

The example of projectconf below instructs PlatformIO Build System to check projectconf_pio_build_cache_dir for already compiled objects for framework_stm32cube and project source files. The cached object will not be used if the original source file was modified or build environment has a different configuration (new build flags, etc):

        [platformio]
        ; set a path to a cache folder
        build_cache_dir = /tmp/platformio-shared-cache

        [env:bluepill_f103c6]
        platform = ststm32
        framework = stm32cube
        board = bluepill_f103c6

        [env:nucleo_f411re]
        platform = ststm32
        framework = stm32cube
        board = nucleo_f411re

You can also use the same projectconf_pio_build_cache_dir between different projects if they use the same platforms and frameworks.

  What is changed or removed

  Command Line Interface

The following commands have been changed in v4.0.
Command | Description
cmd_run | Added platformio run --jobs option
cmd_update | Replaced -c, --only-check with platformio update --dry-run
cmd_lib_update | Replaced -c, --only-check with platformio lib update --dry-run
cmd_platform_update | Replaced -c, --only-check with platformio platform update --dry-run
cmd_remote_update | Replaced -c, --only-check with platformio remote update --dry-run

  projectconf

The following options have been changed in v4.0.
Section | Option | Description
platformio | env_default | Renamed to projectconf_pio_default_envs
platformio | home_dir | Renamed to projectconf_pio_core_dir
env | debug_load_cmd | Renamed to projectconf_debug_load_cmds and allowed to pass more than one load command

AUTHOR
PlatformIO

COPYRIGHT
2014-present, PlatformIO