Skip to main content
OSSM is developed using PlatformIO. If you’re familiar with the Arduino IDE, transitioning to PlatformIO may seem daunting at first. Trust us—it’s simpler than it looks and works far better than the Arduino IDE as the project grows.
PlatformIO excels at managing libraries and dependencies, which becomes critical as projects scale. Earlier OSSM builds could be adapted for the Arduino IDE, but the project has grown beyond that point. Learning PlatformIO is now easier than repackaging OSSM for Arduino with each release.

Why PlatformIO?

  • More time for features — Less time wrestling with dependency management
  • Easier collaboration — Consistent development environment across contributors
  • Automatic downloads — Libraries and dependencies pulled from GitHub automatically
  • Code intelligence — Autocomplete, linting, and error detection built-in

Installation

1

Install VS Code and PlatformIO

Install VS Code and the PlatformIO extension. You can find guides for this on the web.
2

Open PlatformIO

Restart VS Code and wait until PlatformIO has started. Look for this button on the sidebar:
PlatformIO sidebar button in VS Code
3

Click Open

Click the “Open” button in the PlatformIO welcome screen.
PlatformIO Open button
4

Open the PlatformIO Home

The PlatformIO Home interface will appear:
PlatformIO Home interface
5

Open the OSSM project

Click “Open Project” and navigate to the OSSM directory containing platformIO.ini.
Open Project dialog
Selecting the OSSM project folder
6

Open main.cpp

In the src directory, locate and click on main.cpp:
main.cpp file in the src directory
7

Compile and upload

Near the bottom of the window, locate the tick icon (compile) and arrow icon (upload):
Compile and upload buttons in the status bar
You can compile first to check for errors, or skip directly to upload.

Troubleshooting

The most common issues are incorrect COM port selection or wrong board configuration.

Check your COM port

The COM port (or /dev/tty on macOS/Linux) varies between machines. Set it in PlatformIO here:
COM port selection in PlatformIO
The reference OSSM board uses an embedded Espressif ESP32 Dev Module.
If the project fails to build, an external library update may have introduced compatibility issues.Try pinning the platform version by changing this line in platformIO.ini:
platformIO.ini
# Change this:
platform = espressif32

# To this:
platform = [email protected]
Always check the project’s release notes for the recommended platform version.