Flotilla and Rockpool on Ubuntu PC without Raspberry Pi


Ahoy there shipmates!

For anyone who’s interested, I had a play with building the flotilla daemon for Ubuntu Linux on a PC, and running Rockpool on the same PC, without a Raspberry Pi in sight.

If you want to see what I did, it’s on my blog!



What do I need to install Flotilla and Rockpool on Ubuntu?

Awesome work! I built for Ubuntu recently and ran into the exact same object ordering error, it stumped me for a good while. Wish I’d seen this first :D

The cutting-edge of Flotilla Daemon is now in a branch confusingly named “ship” ( I codenamed Update 1 “Shipshape” but didn’t actually tell anyone else or really act upon it ): https://github.com/pimoroni/flotilla-daemon-vs/tree/ship

Note: This Daemon will not work without the latest Dock Firmware and the latest Rockpool.

Confusingly, every time I’ve manually re-ordered the LDFLAGS and OBJECTS I’ve not actually committed the change to GitHub! I’d better fix that.


Cool, I might try that later in the week and update my blog.

Is the firmware open-sourced as well?


I switched to shipshape this evening, @gadgetoid. Definitely faster, loving the new functions on there with the matrix (and the brightness working! ;-) )
Would love to help out with this - I can do C++ proficiently, and HTML/JS pretty well. My CSS is shaky to poor, so probably best avoided. My websites tend to be ugly.
Don’t know how much time I’ll be able to dedicate, but if you have a list of annoying little bugs you’re not getting round to, or perhaps some lower priority work which would be cool but which you’re not desperately waiting for, give me a shout!


I’m also having trouble getting Brightness on the Matrix unit to work. I’ve downloaded the “ship” branch mentioned above and built it, but it seems my RasPi 2 is still using the original one. What do I need to do to activate the new version instead?


It sounds like you have built the pre-release from source, which is not required on the Pi and probably best recommended only for advanced users since the code in the flotilla-daemon-vs repo is rather cutting edge.

The easiest is to use the ‘launch_flotilla’ script provided at:

Alternatively you can overwrite /usr/bin/flotilla and /opt/rockpool/ in place on your system though I’d only recommend doing that if you are fluent with linux/raspbian.


I’m a little late to the party…

Just tried this on 16.04LTS, and it seems there’s been a change in the repo (or else I’m being entirely stupid - likely)

There doesn’t seem to be a libserialport folder in the Flotilla-Daemon-VS repo that I can see, only a DLL file.

Because of this,
pushd Flotilla-Daemon-VS/libserialport won’t run.

Am I just being stupid?


No, you’re not. It looks like that library is no longer in the repo as source, but is quoted as a dependency in the readme.

You may be able to achieve similar results by checking out libserialport directly from its own repo and building it from there: http://sigrok.org/wiki/Libserialport


For better or worse I currently build against a fork of libserialport you can find here: https://github.com/martinling/libserialport

And the whole daemon codebase + naive build script can be found here: https://github.com/pimoroni/Flotilla-Daemon-VS/tree/ship

The build script would probably get you up and running with minimal modifications.


I appreciate this is an old topic and I try not to resurrect threads without good reason. However, I was following these instructions and found that they didn’t quite work for me so I needed some extra steps to get it working.

Background: I was looking at getting this running on Ubuntu 16.04.

I followed the instructions on the blog but came to a problem at this line:


I got an error about being unable to open the pid file.

This happens because flotilla was trying to create a pid file in /var/run but would need root permissions to do so.

So I could either run as root (not ideal) or provide a fix for a normal user. I created a directory in /var/run and gave that global write permissions. I could now run flotilla with the argument:

./Debug/flotilla --pid-file /var/run/flotilla/flotilla.pid

Bizarrely, although that didn’t give me any error, it didn’t actually seem as though flotilla was running (checking with ‘ps aux | grep flotilla’ confirmed as much).

Next up, I ran the command with the no daemon option:

./Debug/flotilla --pid-file /var/run/flotilla/flotilla.pid -d

and that showed the file running.

I got some errors about not being able to access /dev/ttyACM0 so I added my user to the dialout group for good measure.

All seems to be working now.


This is a perfectly appropriate reason to revive a thread- thank you for your input!