Arduino GUI wizard and interface


I've just released the evolution of my old druid4arduino project: Device Druid.

For the moment, it uses the USB serial to connect to various flavours of Arduino and present an automatically configured user interface, like so:

There are windows and linux clients, and a windows version of the builder app.

Please check out the project site and the various tutorial videos, and let me know what you think and how I should make the next iteration better.


Note: at this time, I've only got Windows 10 (x64) and Ubuntu apps ready.


Well no feedback here, yet, but I did get some questions through the site about basic setup and usage.

So here's a new HOWTO video which doubles as a neat demo:
Device Druid HOWTO/Demo

I think it's pretty cool but please do let me know what's not clear or how to make it more better still.


What’s not clear to me is what someone would use this for?

I have not seen anything that suggests to me “that might be useful, I will take the trouble to read the other website”


I'd surmise that you--with your 30k posts here--may be a bit more advanced than many and aren't quite the target audience.

Honestly, I'll often just use a serial terminal if it's just to perform an action but the system's pretty cool for visualizing state.

More importantly, my clients love their GUIs and I love the fact I don't have to write a blasted app for each project.

Hopefully others may benefit from my efforts, which is why I'm striving to make it more useful.

Thanks for your input.

Well, I looked at it a few days ago, and was impressed.
I am impressed with how quickly it is possible to achieve a fairly good GUI, especially for all those people who keep asking on methods to do exactly this.

I like how you have developed the web site and to showcase the software.

I know it will not be to everyone's liking, but I am sure many people will be wanting to try Device Druid out.

Something that I use a lot is embedded VT102/220 escape codes in my outputs, either as simple, memory efficient GUI or for debugging, where I can simply use cursor position codes and colour codes to display what is needed. I usually have a function that drives static sections only when needed and then another function for updating of value data.

Device Druid is again another step up from this, keep up the nice work.

Paul - VK7KPA

Honestly, I’ll often just use a serial terminal if it’s just to perform an action but the system’s pretty cool for visualizing state.

I am in no way trying to be dismissive of your project.

What I was hoping to do was encourage you to write 3 or 4 sentences that explain to someone what your project does.

I’m guessing (based on the sentence I have quoted) that it might start something like this

You can use the Arduino Serial Monitor to display output from your Arduino program but it is very crude and really only suitable for debugging messages. If you want to display your output in a stylish and professional way then try my DeviceDruid program.

DeviceDruid will be especially useful for people without PC programming experience who just need an attractive PC interface for a simple Arduino project.

To use my DeviceDruid program you need to do …

I suggest you also include a simple “Hello World” example program here in this Thread.

PS. feel free to use what I have written if it helps. Or just ignore it :slight_smile:

Look very cool.

Still need complete tutorial to how to use it..

tried basic example, couple of thing I notice:

if you set some graph, the are lost if you leave the app... should be able to save the work done...

If you create a graph or other data, his the hystory of this data is store on arduino or the app ? should be in arduino so the data is collected even if the GUI is offline .



Hello and thanks for your feedback

@rockwallaby: thanks for the encouragement. Never thought of using escape codes, that's pretty cool. Wonder how the Arduino IDE serial monitor reacts to that, but in most cases I just use gtkterm or somesuch... worth checking out for the SerialUI lib.

@robin: I had indeed misread the intent of your post, whereas you were pointing out some communication issues (which I evidently have in spades :wink: ). It's been tough, for me, trying to get the idea/usefulness across in as few words as possible--your suggestion is a good start.

Also, a "hello world" is a great idea... I found that making the most of the (increasingly complex) SerialUI backend was getting to be a barrier for some users, and wound up creating the "builder" app to avoid that.

But, here at least, there's sure to be many who would like to start out with the most barebones program and work their way up from there. Will do that--the SerialUI project site needs an update, too, so that'll be perfect.

@nitrof: yeah, the app is dumb and forgets what you've done. I have to update it, both for practical and look&feel issues, so that's on the stack of TODOs... Actually, I've already added a type of UID for the applications, which is included when you generate code using the Druid Builder, like


during the setup, and this is in the hopes that any program generated today will already be setup to store per-app state in the druid front-end once it's implemented.

As for collecting data while offline... I like the idea, just need to ensure that it doesn't impact memory/program footprint if you're not using the feature. But making it easy to "track state" even while you're away is something I hadn't thought of but would be very much worthwhile.

Thanks again to all of you.

maybe a FIFO buffer to store data with a user define size could be cool. Or for more big data, a routine that store it into a sd card is another idea.