Skip to content

A Gentle Introduction Into Platformio

JC edited this page Mar 16, 2025 · 1 revision

Why Use PlatformIO?

PlatformIO is a powerful cross-platform tool that simplifies the development of embedded systems. Unlike traditional development environments, PlatformIO supports a wide range of boards and microcontrollers, making it highly versatile for various projects. Here's why it's particularly beneficial:

  • Cross-Platform: PlatformIO IDE can be used on Windows, macOS, and Linux.
  • Wide Hardware Support: Supports over 1000 development boards including Arduino, Teensy, ESP32, and more.
  • Unified Environment: Integrates with several IDEs like VS Code and Atom, and includes its own command line interface.
  • Library Management: Automatically manages project dependencies and libraries.
  • Advanced Features: Supports unit testing, continuous integration, and delivery processes, which are essential for professional development and maintenance.

Setting Up PlatformIO for a Teensy 4.1 Blink Project

Let’s walk through setting up a basic blink project on a Teensy 4.1 board using PlatformIO and VS Code.

  1. Installing PlatformIO

First, ensure you have Visual Studio Code installed. Then, install the PlatformIO IDE extension from the VS Code marketplace:

Open VS Code, go to Extensions (sidebar), and search for "PlatformIO IDE".
Install the extension and reload VS Code if prompted.
  1. Creating a New Project

    Open PlatformIO Home by clicking on the alien icon in the sidebar or pressing Alt+P then Alt+H. Click on “New Project”. Name your project (e.g., "TeensyBlink"). Choose “Teensy 4.1” from the board list. Set "Arduino" as the framework. Click “Finish” to create the project.

  2. Configuring the Project

Navigate to the platformio.ini file in the root of your project directory and configure it with the following settings:

[env:teensy41]
platform = teensy
board = teensy41
framework = arduino
upload_protocol = teensy-cli
build_flags = -D TEENSY_OPT_FASTEST_LTO

hese settings specify the board type, the framework, the upload protocol, and compiler optimization flags for faster execution. 4. Writing the Blink Program

Open the src/main.cpp file and replace its contents with the following code:

#include <Arduino.h>

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // Set the built-in LED as an output
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // Turn the LED on
  delay(1000);                       // Wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // Turn the LED off
  delay(1000);                       // Wait for a second
}

This program blinks the built-in LED on the Teensy 4.1 board every second.

  1. Building and Uploading

To upload the blink program to your Teensy board:

  • Connect the Teensy to your computer via a USB cable.
  • Open a terminal in VS Code (Terminal > New Terminal).
  • Type pio run --target upload and press Enter.
  • PlatformIO will compile and upload the program to your Teensy 4.1.

If the upload is successful, the onboard LED on the Teensy should start blinking every second.

Club Information:

Home 🏠

University Rover Challenge:

Clone this wiki locally