Flotilla

Flotilla is something that we've worked incredibly hard on here at Pimoroni. It's a range of twelve smart, friendly, and affordable modules that you connect together to create amazing projects that can sense and react to the world around them.

What is Flotilla?

It's designed to progress with you as your skills develop. You don't need any coding skills or electronics knowledge to get started, you can simply plug and play.

As well as a complete Python API, we've specifically built two super-simple ways for makers who are still learning to code to make exciting and elaborate creations really quickly and easily.

The first is Cookbook. It allows young makers to use and play with Flotilla just by following a short tutorial and plugging in a few modules. We've launched Cookbook with 11 fun recipes ranging from simple ones like a bat and ball game (inspired by Pong) and a marble maze game, to more complex ones like a Noisemaker synth and a line-following robot.

The second is Rockpool. It's a flow-based programming system, with inputs, feeding through (optional) modifiers, to outputs. Inputs can either be virtual ones, like sine waves, square waves or random values, or Flotilla module inputs like the Motion or Touch modules. Outputs are one of a number of Flotilla module outputs like the Rainbow or Motor modules. We think Rockpool is a really elegant way to teach young makers and coders the fundamental concept of input-process-output.

Flotilla is on sale now, and you can explore the full range of products from individual modules to the fully-loaded Mega Treasure Chest in our shop.

Features

We'll have a quick look at some of the features of the Flotilla hardware - the Dock and the modules.

The Dock

The Dock is the heart of the Flotilla system. It talks to all of the Flotilla modules connected to its eight ports. It connects to your Raspberry Pi with a USB A to micro B cable, and then your Flotilla modules are connected to the eight ports with 'ropes'.

It uses the ATMEGA32A4U microcontroller to talk to the Flotilla modules and relay data to and from the connected computer.

There are three bright blue status LEDs, and eight bright white LEDs that show activity on each of the dock's eight ports.

The Modules

There are twelve Flotilla modules that, we hope, cover a wide range of use cases, from controllers and sensors to motors and LEDs.

The twelve modules are: Colour, Dial, Joystick, Light, Matrix, Motion, Motor, Number, Rainbow, Slider, Touch, and Weather.

The modules can be categorised as either inputs or outputs. The inputs can be broken into human interface devices like Dial, Joystick, Slider and Touch, and sensors like Colour, Light, Motion and Weather. The outputs are Matrix, Motor, Number and Rainbow.

All of the modules have M3 mounting holes that make it easy to attach them to your project, and they connect to the Dock with the Flotilla ropes of various lengths.

Software

The Flotilla software is a pretty complicated mix behind the scenes, with the Dock firmware, the Flotilla daemon that interfaces with the Dock, JavaScript in the browser that runs Cookbook and Rockpool (as well as the HTML and CSS for these), and the standalone Python API.

As we said above, we've designed Flotilla to work really well at whatever level of experience you might have - beginner, learner, or pro. And the three different ways of using Flotilla feed into each other, with ideas from Cookbook developing into Rockpool recipes, and ideas from Rockpool recipes feeding through to Python programs.

Cookbook recipes, as we said at the beginning, are standalone projects, where you follow a short tutorial showing you how to set things up, which is often just connecting a couple of modules to the dock, and then you're taken to a recipe page where the code runs. They're designed for those who don't have any experience in coding, or are just beginning, and showcase what can be done with different combinations of Flotilla modules. A couple of our favourites are the marble maze, and the noisemaker synth.

Rockpool is something that we've built from the ground up to be an intuitive programming experience. It exposes the very basis of how Flotilla works, linking inputs to outputs, and despite its simplicity it actually allows you to make some really complex creations. In our Rockpool getting started guide, we show you how you can use two Flotilla modules - Rainbow and Touch - and a few virtual inputs to make a very realistic flickering candle light.

Our Python API is a full-blown Python library for using Flotilla. For those who know how to use Python, the API frees you from some of the limitations of Rockpool and, of course, allows you to link Flotilla modules with other components like the Pi camera and to use other Python libraries like Tweepy to tweet sensor readings, for example. That's exactly what we used Flotilla for in our Internet of Seeds project - to take light, colour, temperature and pressure readings from our hydroponic growing system.

Learning

An important part of the Flotilla experience for us was to have really clear and comprehensive learning materials to help those less experienced Flotilla users, and to make it as easy as possible to use.

We wanted to make it distinct from our main learning portal, so we've created a learning site specifically for Flotilla. Currently, it has getting started guides for installing the Flotilla software and how to use Rockpool, and tutorials for our 11 Cookbook recipes, but we'll add Rockpool and Python tutorials and getting started guides in the coming weeks.

We've built the Flotilla learning site with Grav, a really nice Markdown-based CMS, that should allow us to add content and refine the look really simply.

Development

The development of Flotilla was, I think it's fair to say, a mammoth effort. It launched on Kickstarter on January 17, 2015, and raised £146,680, with just over 1,500 backers.

The hardware went through many iterations, with different sizes and shapes of the Dock and the modules.

Design

The look of Flotilla was something we wanted to get just right. We wanted it to look friendly and approachable and, of course, there was the nautical theme running through all of it.

Part of the friendly look of Flotilla is the cute colours of the Dock and the modules. We worked really hard with Ragworm, our PCB supplier, to get the colours just right. They were all new colours for Ragworm, and we went through several rounds of prototypes before we got it just right, especially as the colours of the boards change when they go through the reflow oven.

As you'll know, the artwork on our boards is very important to us, and it was no exception with Flotilla. We wanted a cohesive look, tying together the hardware and software. The round icons with the Flotilla module glyphs on, found in Rockpool and on the learning site, mimic the Flotilla modules themselves, and aid accessibility for those who might find reading more difficult.

I'm particularly fond of the Dock. It has the Flotilla logo on the front, along with some useful labels to make it clear what and where everything is. On the back, there's the cute pirate octopus critter with his copper eyepatch and legs that line up with the eight ports.

All of the sensor modules are the same size and shape, meaning they can be swapped into and out of projects interchangeably.

Hardware

With so many different modules, the Flotilla hardware is challenging to manufacture. There's the picking-and-placing of the components and wave-soldering for some of the modules like Dial, Joystick, Number and Slider, as well as the challenges of the different colours of PCB that I mentioned earlier.

Several of the modules, like Dial, Joystick, Number and Slider use PIC microcontrollers, that have been cunningly hidden beneath the larger components on those boards, out of sight.

Those PIC microcontrollers require flashing with firmware, using a custom jig that Gee made, and then all of the modules are tested to ensure they function as expected before being ready for sale.

The Future of Flotilla

We have several things in the works for Flotilla.

There's a Mini Dock, that's around half the size of the full-sized Dock, with four ports rather than eight. The Mini Dock will come without the acrylic case that the larger Dock has, allowing it to be mounted in projects.

There may also be further Flotilla modules, if we determine that there is demand for modules of a particular function.

We'll be adding to the Cookbook recipes, and adding learning materials for Rockpool and Python, as well as adding the ability to save, load, and download Rockpool recipes, something that we think will be popular.