Visual Framework GUI for Arduino, WIP

I am working on a modular visual GUI designer for arduino under working title VMF (visual micro framework)

The framework code itself is nonblocking and very light - it has been refined over many projects I've had done and has besides menus also input screens for values, text strings, yes/no screens etc...

However every time I do a new project I spend most of the time on the display GUI, copy/paste, setting up all the menus etc... instead on the actual functionality and so I decided to make it much simpler.

The whole idea behind this designer is that you can design your interface graphically (menus, inputs, screens, code blocks) and their relationship in regards to triggers (buttons, encoder...), specify what display you have, add hardware and it will generate correct core code.

Since it is modular I can add more hardware and blocks later (for example keypad, RTC) etc...

So far it is currently in very pre-alpha stage. At first I am going to do it for 1602 and 2004 I2C displays (no reason to bother with non I2C I think), rotation encoder and buttons, because this is basically what I use all the time and they are dirt cheap. Then I am planning to add other things like 7 segment LED, RTC, Keypad...

Let me know what you think and if people would be interested in such tool.
Once it is in alpha/beta stage I will post a link.

For example my recent project for alarm clock would look like this:
(of course things are missing, for example I don't yet have block in my Designer for number entry, instead of going to function myTimeSet, I would actually add linked entry blocks for Time -> Minute -> Day... and then back to menu.)

2 Likes

Looks interesting. Will it work on Windows, Mac and Linux?

...R

At this moment it is developed on windows.

Oscarko:
At this moment it is developed on windows.

I appreciate that most of the world uses Windows but I use Linux so may I make a plea to build a cross-platform product?

If you build it with one of the languages that uses the Java JVM or with Python cross-platform comes pretty much automatically.

...R

I agree, but in general well working framework library itself is the part that is most important. A GUI designer on top of it can be always created in any language and platform and if the library is clearly defined and modular enough it can be created by anyone.

I started doing my own micro GUI library because most of the other libraries that I came across are not only too complex but also generated on runtime which means they don't just take flash memory but need also a lot of SRAM for the arrays where the logic is stored. That is of course an overkill especially with the little SRAM we have.

My library creates the program logic during the compile time so there are no arrays to hold things in SRAM and the whole code is hence far more leaner. But obviously doing it this way it needs a "code generator" for each new project, which is the designer I'm building. I just thought it would be nice to have it visual since I like doing that, but it can be as well just as a dialog - and that is of course easy to do even in java script.

Great idea but you may want to reconsider the name as it is already being used by another commercial product in the same/related Arduino space http://www.visualmicro.com/. I thought this post was about that 'other' visual micro.

You are right. The whole thing doesn't yet have name anyhow.