PlatformIO is a very interesting project that aims to solve a very important problem of configuring deployment environment for embedded systems. IMHO good approach is to focus on modularity (various IDE can be used, even Vim) and simplicity (in best case 2 commands should be enough to deploy first code).

Recent years we have an explosion of bootstraping applications (ie.vagrant, puppet). Most of them seem to follow git-like command line interface and getting a lot of attention from programmers community. PlatformIO is a promising project for all Embedded Software developers who in the era of IoT came from Linux systems.

It takes some time to try PlatformIO using real hardware. Luckily on my desk there are 2 supported boards gathering dust, which I would like to try in this post.


MSP-EXP430F5529LP on the left and MSP-EXP430FR5969 on the right.

Installation on Debian

I highly recommend using virtualenv for any custom python application.

At the beginning I simply follow Getting Started page.

What configuration should I use for my boards ?

So it looks like 5529 have 2 flavours. According to Energia 16MHz option is for backward compatibility. Let’s use recent 25MHz config.

PlatformIO first asks if we want auto-uploading successfully built project, so I answered y. Then inform about creating some directories and platformio.ini file. After confirming toolchain, downloading starts.

Problems with MSP430F5529LP

Lack of main.cpp

If you run PlatformIO without any source code in src directory you will get error message like this:

Of course adding main.cpp to src directory fix this issue. As sample code you may use MSP430F55xx_1.c cannot open shared object file

Next problem is with which is not visible by mspdebug, but was installed by PlatformIO in $HOME/.platformio/packages/toolchain-timsp430/bin/


before calling platformio fix problem. For some users even better would be to make accessible system wide:

tilib: device initialization failed

If you didn’t use your MSP430 for a while there can be problem like this:

Fix for that according to error log should be like this:

But this can cause additional problems that I reported here. I finally managed to fix the problem using hints from Agla Blog.

Because gcc-msp430 was removed from Debian Sid we have to use compiler delivered by platformio to test blinky example from Agla blog:

Problems with MSP430FR5969

I experienced very similar problems with FR5969. Unfortunately, above procedure led me to:


This probably means that default, downloaded probably from Energia project, doesn’t support FR5969. So I tried build by myself:

This improved situation, but given:

I’m not sure why this message appears, but when tried 2nd time I finally get debugger prompt, what means that process finished correctly and we can access FR5969.

Final test


Please download MSP430F55xx_1.c and save it as src/main.c. Then run:

If you see blinking red P1.0 LED1 then everything works as expected.


Please download msp430fr59xx_1.c and save it as src/main.c. Then run:

If you see blinking green LED2 then everything works as expected.


I hope that this post was useful for you and you learn some things. If you feel that this knowledge was valuable please share, if you experienced some other problems please let me know, so I can improve the content of this post.