Here at Adafruit, we sell all of these amazing components, but we couldn’t find a good way to interact with them over the internet. There are certainly a lot of great services out there for datalogging, or communicating with your microcontroller over the web, but these services are either too complicated to get started, or they aren’t particularly fun to use. So, we decided to experiment with our own system, and that is how Adafruit IO got started.
The same small team that brought you the Adafruit Learning System set out to create a fun, interactive, and easy to use way to play with data. Here is a brief preview of what Adafruit IO is, how it works, and what’s next.

While we are still in the very early stages of Adafruit IO, we are really happy with the way it is turning out. We decided from the beginning that this would be about real time data, and that is what we focused on. You can also drag and drop the block anywhere you want, and resize them to whatever size you want to make your own unique dashboard. Oh, and fullscreen mode on a big screen TV looks pretty awesome as well.

The API is the core of the system, but with only an API, it’s not that fun to use. We’ve built a few basic client libraries to simplify working with the API. We also have a dashboard with a few widgets that allow easy 2-way interaction with your devices.
At launch, we have the following simple widgets:
- Gauge
- Line Chart
- Text (allows for submitting raw data)
- Toggle Button
- Momentary Button
- Slider
We plan on adding many more features, such as mapping and location awareness for your devices, triggers based on custom parameters, email alerts and more.
We are very early in the lifecycle of Adafruit IO, and will continue to add features, and build it out with better client libraries, more stability, more features, integrate it with our existing Learning System tutorials, and continue fixing many of the bugs that exist yet.