We thought we'd never get there... After countless promises of "opening soon", "almost there", "check back next week" and the likes, I am very pleased to announce that the Dooba shop is now finally open for business!
Why the ridiculous wait, you ask?
I did not want to open before the ioNode was tested enough. Same goes for the SDK and core libraries. It took me a while to gather enough experience and feedback with these.
What I really wanted to avoid was to have people start using Dooba stuff and then radically change fundamental things - I personally hate this nightmare of constantly changing the very basics of a system / framework / technology.
This of course does not mean that Dooba will not evolve. The point here is making sure that I'm not going to completely re-think the SDK or the ioNode just three days after you've started playing with this stuff.
What to expect
For now, I'm starting with just the basics: the ioNode, a few modules and some nice t-shirts.
I am currently putting together some really cool kits that will help you build incredible projects. First up are the Remote-controlled vehicle kit and the Portable MP3 player kit.
Also, I have more amazing modules coming up for your projects, including motion sensing, GSM/3G, Ethernet, and more!
As always, don't forget to subscribe to the newsletter to get all the updates :)
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.
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.
The all-new Graphics framework allows drawing text, shapes, tilesets and images on any display device.
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.
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!
Hello! It's been a while...
Yes, it's been almost a year since I last posted anything... But that doesn't mean I've been sleeping all this time - quite the opposite in fact!
For the past years Dooba was very much a "side project" for me. I decided I wanted to get more committed and take things to another level. The first step in doing that was re-thinking the infrastructure around Dooba.
I started to feel like the Dooba infrastructure (servers, repositories, management, etc...) was lacking in many aspects.
So the first order of business was migrating from Redmine to something more complete and better suited to something like Dooba.
Repos & Project management
After evaluating some options I decided to go with Atlassian's tools - Bitbucket for the repositories and JIRA for project management.
One of the major reasons for migrating away from Redmine was the documentation system. While the wiki features offered by Redmine are interesting and certainly useful, I needed something more advanced. I decided I would go with MediaWiki, the software that powers Wikipedia.
Until very recently, the complete Dooba infrastructure (DNS, Web, DB, E-Mail, Repos, ...) was hosted on my personal (eresse.net) dedicated server.
So the next item on the list was figuring out some proper hosting for this infrastructure. I went with OVH VPS service to have a dedicated virtual server on which I could host the website (what you're looking at right now) and the wiki.
For the e-mail, I finally went with Google's G Suite which allows much smoother management for a decent price.
Now that I had everything in place, it was time for some cleaning up and making things more 'production-ready'. The time had come to update the modules, libraries, even the SDK.
So stay tuned for the big updates coming very soon - sign-up for the newsletter if you haven't already done it!
Dooba is an open-source embedded development ecosystem.
Want the full story? Make yourself comfortable and check this out: Discover Dooba.
We provide electronic modules for the maker community to build upon, as well as a powerful yet easy-to-use SDK.
At the heart of the Dooba ecosystem is the ioNode, a basic hardware development board featuring a microcontroller, a USB interface, and a lot of inputs/outputs.
To help you build great projects, we also provide hardware modules to achieve specific functionalities such as motor control, MP3 decoding, battery management and more.
To support development of firmware, we also provide a Software Development Kit (SDK), which allows extremely fast and straightforward development of firmware components, both simple and complex.
The SDK includes a dependency management system capable of fetching and configuring libraries from various sources, including the official Dooba Core Team repositories.
One of the core advantages of the Dooba SDK is the substrate system - a powerful way to generate the underlying bricks for any application with minimal code.
The Dooba ecosystem is designed to allow the construction of better applications with less code.
Manage files across multiple storage devices using different file systems.
Open up menus and dialogs through a generic user interface framework on any display.
Call remote APIs through WiFi using the generic HTTP library - or even crazier: serve up an API yourself!.
the Dooba ecosystem takes care of the details and lets you focus on implementing your applications.
We offer a collection of tutorials to help you navigate this ecosystem: the Dooba Wiki.