Working Environment

Platformio is a really well known open source ecosystem for IoT development. Most advanced features are remote unit testing and firmware updates, which means that you will learn how to use pretty powerful cross-platform IDE.

Installing VS Code

Platformio can be used in several code editors, but we will use Visual Studio Code. VS Code is great source code editor developed by Microsoft and it can be used on Windows, Linux or macOS. Great thing about VS Code is that it supports debugging, version control, intelligent code completion, snippets and much more.

In this step we will download and install VS Code. Select your platform (Windows, Linux, macOS) and install your software after downloading it.

Installing Platformio

Open Visual Studio Code that you have just installed and in the extensions field search for official PlatformIO IDE extension. Install PlatformIO extension.

alt text

Setting Up Platformio IDE

You can always access PlatformIO (PIO) home by clicking home button that can be found in the status bar of the VS Code.

alt text

Adding IoTaaP platform to PIO

PlatformIO can work with various development boards, like Arduino, Nucleo, etc. In order to make your IoTaaP board function properly, you have to add it’s configuration to your PlatformIO installation.

Go to your Platformio Home tab in VS Code, select Platforms and click on the Embedded tab, then type Espressif32 in the search bar.

alt text

Click on the Espressif 32 in your search results and click the Install button.

alt text

This will automatically install all needed files, settings and configurations for your IoTaaP Magnolia board.

alt text

After installation, you should get the message that your platform is successfully installed.

You can check the official PlatformIO documentation about IoTaaP Magnolia board here.

Now you can proceed with the next step and install IoTaaP library.

Installing IoTaaP Library

In order to use all IoTaaP features out of the box, you have to install IoTaaP library.

Go to your Platformio Home tab and select Libraries from the side menu. Type “IoTaaP” in the search field, click on the “IoTaaP by MVT Solutions” and then click Install.

alt text

This will install IoTaaP library globally, and you will be able to use it in your projects.

New Project

Click on the platformio Home button and then click on New Project button in Quick Access menu.

alt text

In Project Wizard you will be able to enter your project name, select your development board and framework.

Type your project name (e.g. MyCoolProject) and search for IoTaaP Magnolia board*

*** IF YOU CANNOT TYPE IN THE FIELDS, JUST DOUBLE CLICK ON ‘PIO HOME’ TAB IN YOUR VS CODE. This is a well-known bug in VS Code where it loses focus (hopefully they will fix this soon).


Click on Finish and wait a few moments for PlatformIO to configure your new project

alt text

Your project structure is very simple, you will mostly use ‘lib‘ and ‘src‘ directories. Expand src directory, and you will find main.cpp file, this is the main file of your new project with the following content:

#include <Arduino.h>

void setup() {
  // put your setup code here, to run once:

void loop() {
  // put your main code here, to run repeatedly:
As you can guess, this program does nothing, but we will use it to test if everything works as it should.

Testing your environment

Connect your IoTaaP board with your PC using USB cable. Your PC should automatically install all drivers needed for your board to work. If you have trouble with automatic driver installation, you can install your drivers manually

PlatformIO automatically detects upload port by default. You can configure a custom port using upload_port option in platformio.ini

Use Upload button in your Platformio status bar to start uploading your project to the board.

alt text

If everything works well you should see [SUCCESS] message. Congrats, your working environment is now fully functional 💪

Doesn’t work?

Feel free to write your problems in our community page.

Manual port configuration:

Open platformio.ini file located in your project tree and add the following line (replace COM2 with your COM port if needed)

; COM2
upload_port = COM2