MicroROS Setup

December 6, 2025·koustav
koustav
In this guide we will setup complete micro-ros setup from installing PlatformIO on VSCode and then installing the agent onto the main machine installed with ROS2 Jazzy.

Why PlatformIO?

  1. Easy to setup
  2. Mostly automated and takes care all the compiling and uploading part all by itself.

Prerequisites

  • Basic idea of micro-controllers and ROS(2).
  • Some hardware related experience for connecting IO pins properly.
  • Basics of electronics, voltage and current requirements for used components.

Install PlatformIO for VSCode:

  • Install VSCode, if you haven’t already
sudo snap install code --classic # Assuming you are on Ubuntu
  • Install PlatformIO extension for VSCode by navigating to: extensions (ctrl+shift+x) > search “platformio ide” > Install OR,
code --install-extension platformio.platformio-ide
  • After Installing the extension, Click on the PlatformIO button or clicking the home button on status bar or by searching “platfomio home” on command palette (ctrl+shift+p)

Setting up PlatformIO Project

Resolve Dependencies

  • Install the requirement dependencies mentioned here.
sudo apt install -y git cmake python3-pip

Create a New Project

  • Open VSCode

  • Initialise PIO for VSCode (Only for the first time) Click on the PlatformIO button present in the sidebar. That’s It!!
    For the first time PIO will take its time to download binaries and initialise everything.

  • Navigate to PlatformIo Home by, Clicking on the PlatformIO button or, clicking the home button on status bar or, by searching “platfomio home” on command palette (ctrl+shift+p)

  • Click on Create Project

    • Give a proper name
    • Select board according to your model (i.e. DOIT ESP Devkit V1)
    • Keep the framework to “Arduino
    • Save it in a recognisable place (uncheck the locaton option to turn off default location).

Note: To open the project later you only have to open this specific older where the .ini file is stored.

Configure .ini file

The {project}.ini file should already be populated with some values:

; PlatformIO Project Configuration File
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting

; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:esp32doit-devkit-v1]
platform = espressif32
board = esp32doit-devkit-v1
framework = arduino

Add these lines onto this file:

board_microros_transport = serial
board_microros_distro = jazzy
lib_deps =
	https://github.com/micro-ROS/micro_ros_platformio

board_microros_* are optional and should be changed based on your preferred value (all possible values can be found here.)

Upon saving this file pltformIO will download all the pkgs and will build everything in the background, Don’t panic and Do Not close the Application.

Basic setup for the project is done, Now do the code in main.cpp under /src folder.
(To Understand complete file structure of a PIO project look for the MicroROS 101 in guides.[TODO])

Resources

This video covers all I have mentioned in this blog including,
1. Configuring PIO
2. MicroROS Agent setup in main machine.
3. And basic understanding of microROS codes.