From Stanford SSI Wiki
Revision as of 03:51, 7 January 2017 by Johnldean (talk | contribs)
Jump to navigation Jump to search

This is a guide

Welcome! This article is intended to guide you through an SSI process. While its authors have made efforts to make it useful, if you have questions, please ask the authors on Slack. They will be able to both help you and improve this resource for future SSI-ers.

This article was written by John Dean (SlackLogo.png@{{{display-name}}} ).


PlatformIO is an open source Integrated Development Environment (IDE) for programming microcontrollers (like arduino) and embedded systems. For our purposes, we mainly use it to write software for the Teensy 3.2 Microcontoller. In the past, we previously had used the easy to set up Arduino IDE, however it has many drawbacks and lacks many of the features of a full IDE.


To install the PlatformIO IDE, follow the installation steps on the PlatformIO website

There are a fair number of steps to follow if you do not have any of the software that PlatformIO incorporates, but it should be fairly straightforward.

OSX Users: due to a a problem with the program that loads your compiled code to the teensy on OSX, you will need to used a custom executable file in place of the original. there will be more added here later

Usage Guide

Starting a new project

To start a new project, select PlatformIO → Initialize or Update PlatformIO Project from the top bar. From this menu, simple select the board that you are programming for (Usually will be Teensy 3.2), navigate to the directory that you want to generate the project in. You should create a new directory that is the name of your project, as you want nothing but the project's contents to be in the directory that you are working in.

Project Setup

Library Dependencies

If you used the Ardiuno IDE, you will be used to having an folder on your computers where you install libraries. If you downloaded a project from the internet that needed a bunch of new libraries, you would have to install all of them manually. Thankfully, with PlatformIO, you no longer have to worry about this.