If you have a question that isn’t answered here, check out the relevant section on the support page to know where to go from here…

General FAQs

Why does druid exist?

We make custom embedded systems and found ourselves endlessly creating apps just to configure and manage these devices.

To keep focused on the business of designing circuits and programming firmware that actually addresses the particular concerns of a project, SerialUI and Druid were born. Now we can whip out a UI in less than a hour and keep our eyes on the true prize.

How much does all this cost?

For you, my friend: nothing. There’s no charge for using the apps or the SerialUI library.  Of note is the fact that everything that runs on your device to let druid do its thing–be it Arduino, Raspberry Pi or whatever–is open-sourced under the LGPL.  All your code and functionality is all yours, of course.

Why are you making it available for free?

I believe we’re all better off when creators are free to create, and to focus on that unique piece of the giant puzzle that currently has their eye.

Since druid existed, was being used and growing internally, why should anyone need to re-invent the wheel and rediscover yet another solution to same tired problems?

Creators: create, Makers: make. Something new, better, that has never existed before.

Which devices are supported?

There are currently two requirements for supporting Druid on a given device:

  1. It must have a means of communicating through the USB-Serial or Bluetooth Low Energy; and
  2. It must be able to use the SerialUI library.

At this time, SerialUI works on pretty much anything that supports the Arduino SDK,  which is a whole lot of different platforms including Nordic nRF-based platforms and Raspberry Pi.  There are of course the Arduino products, but the SDK is so popular that it works on a bunch of different platforms (e.g. the ESP8266, the BLE Nano, and on and on).

Which Raspberry Pis are supported?

At this time, the main requirement for the RPi is that it run Raspbian (or something debian-like) and that it have Bluetooth Low Energy support. This should mean anything starting with v3.

Which Bluetooth devices are supported?

SerialUI relies on the abstraction provided by the wonderful Arduino-nRF5 board by Sandeep Mistry, which allows it to support anything supported by that platform. This includes:

  • Bluey
  • RedBearLabs BLE Nano, Blend, Nano2, etc.
  • hackaBLE/hackaBLE v2
  • BBC micro:bit
  • TinyBLE
  • Generic nRF51 and nRF52 boards;
  • and more…

See the Supported Boards on the project page for a complete list.

Device Druid Questions

Who wrote the program for device X?

Many devices can support Device Druid. Some of the Druid/SerialUI code is of course involved in the process, but the decisions concerning which controls to include and what they actually do are up to individual developers. Short answer: I dunno who wrote the program.

How do I know which baud rate to use?

Unfortunately, as far as I know there’s no way for the Serial Port (through USB) to announce the speed at which it’s communicating–so you’ll have to know this beforehand, either because you created the firmware or the developer has stated the correct baud rate.

How quickly does state tracking refresh?

Tracked variables are refreshed whenever the program modifies their value–that data is sent to the druid client, which updates any views displaying them.

Druid Builder Questions

How long is the project available using the report download button?

You should be able to access the zip file for an hour, or more, after generation.  Download it when it’s done, to be sure, but the fact is that it isn’t all that hard to regenerate the project either..

Do I have to use the online builder?

Oh, no, not at all. It’s just there to make things easy.

SerialUI has grown and evolved and gotten pretty complex, under the hood, and the generator is there to hide all that.

You can use generated samples as a guide, or just look into the SerialUI docs and internals. If you know C++, it’s really not hard… just gets repetitive. Hence, the builder.