Reaching higher


Jun 18

30 days ago

164

Hello again!

Time for some important news!

Over the past year I've been working pretty much non-stop to improve the ecosystem, offer more capabilities, better hardware modules. I wanted to build a better Dooba experience in general.

Here we will try to cover the most significant changes. Though we will inevitably omit many things, keep in mind that everything you need is documented on the new Dooba Wiki.

So let's start with the heart of all this - the ioNode.

It was time

After almost two years of use, I had collected interesting experience and feedback and was ready to re-design the ioNode.


The new ioNode

It now features a more efficient layout, allows breadboarding of the SPI bus (previously was an issue), and just looks much better :)

A better SDK

The SDK is probably the part that has evolved the most. The list of improvements would be too long to enumerate but most importantly, the SDK now features the Substrate system - a powerful way to generate the underlying bricks for any application with minimal code. This even allows you to "describe" your hardware platform using a beautifully simple syntax. It is also capable of fetching dependencies on remote git servers and allows dependency version management.

Generic Frameworks

Having drivers for hardware chips or modules is great, but what's even better is having those drivers integrate into generic frameworks that allow applications to be constructed as if an operating system was present.

The VFS & generic storage model

Using the new Virtual File System (VFS), you can now access files accross any storage device, through any file system. While at the time of this writing only a FAT32 driver is provided, we will continue to support more file systems as time progresses, and even implementing your own file system driver is a piece of cake.

The generic storage model defines a common interface for any storage device.

We already provide a driver for SD cards (including MicroSD etc...) as well as MBR partition support.

Graphics framework

The all-new Graphics framework allows drawing text, shapes, tilesets and images on any display device.

Network sockets

Communication across the internet have never been easier - thanks to the network sockets library.

So easy in fact, that we also implemented an HTTP library, supporting both client and server operation! That's right, we can host web applications on a microcontroller!

We also provide a ESP8266 WiFi driver to get you online in no time.

UI Framework

One of the big additions is the UI framework, Yolk.

Yolk relies on the previously-mentioned graphics framework to build generic graphical user interfaces on any display with just a few lines of code.

Yolk offers many possibilities for custom styles, designing custom components, plugins or input layers.

It even includes utilities such as a generic file browser or a customizable status bar.

This is only the beginning

I wanted to complete at least these fundamental frameworks and features before presenting anything. This is why I've waited so long before giving any sign of life.

However now that this is complete, I can begin to work on the next steps for Dooba. The roadmap (sorry, that part is not public yet!) is already filled with new tickets and I have a lot ahead of me.

So don't forget to subscribe to the newsletter if you haven't already done that - you'll be the first to know about all the new updates!