Open Source IoT Development IDE and Communicator for NodeMCU / Arduino /Raspberry-PI

(David Lyon) #1

After much work on NodeMCU I felt that I’d do my own IDE for it and the Raspberry Pi because I felt that many development environments were lacking.

So I’m now aiming to complete this project as a Training Teaching Tool for using NodeMCU, RIOT and other IoT projects.

Here is the link to the Repository - I’m doing it as Open Source.

I’ve taken some Qt example projects and I’m modifying it all up to get it all to work together.

The basic features are to be:

  • Integrated Communications window for all types of Serial and Packet data
  • Support for GNU ‘Make’ type tools
  • Support for NodeMCU
  • Made with Qt and runs on RaspberryPi, Windows, Linux, OS-X
  • will have some advanced features - those are coming when the basics are done.

(David Lyon) #2

I now have a hopefully not too obscure Toolbar:


With the following toolbar buttons:

  • Welcome
  • Save
  • Devices
  • Logic
  • Connections
  • Build
  • Run

I want to have it ready before I go back to Japan to show friends there.

(David Lyon) #3

The next step is building the GPIO setup.



Which then gives a GPIO map for your particular processor board:


The next step will then be building in the logic to allow you to assign pins, rename them and perhaps move them and use them in code.

(David Lyon) #4

The IoT Designer progresses.

The latest addition is to be able to Cut&Paste graphics off the Web and paste them directly into the diagram and connect them.

Here I want to add an Electric Motor. So I find one off the web:


Then I add it from the Dialog:

Then it appears on my Scene along with the other Components:

(David Lyon) #5

Hopefully it’s approaching being useable.

It’s now possible to design Scenes and change connection points for items.

I did some Demonstrations to people here in town and they definitely could see that it could be useful.

In my web searching I came across : which allows for building of Arduino projects from Makefiles.

So I’ll be loading this up soon to see if I can integrate that.

At the IoT meetup I asked if anybody knew of any tool like this and Cisco apparently have the only thing but it works a little differently and it’s for a completely different purpose.

I’ll most likely come back next Wednesday night on Electronics night and see if there are any projects that I can attempt to document using this tool. One of the main purposes is to be able to quikly document Electronics and IoT projects so I’ll give that a go.

(David Lyon) #6


I’m working on the pin autoconnection system. It’s showing proof of life.

The idea is to be able to connect two boards together and have the software work out what wires need to be connected together to make it work.

(David Lyon) #7

I’ve completed the first run of Automatic Pin Connection and it works for simple cases.

When you connect a cable between two components, the software will figure out the pins that you need to connect together to make it work.

It’s also now lives on github as KayeIoT (pronounced Cayote).

(David Lyon) #8

The UI now has colour schemes, Orange, Blue, Purple etc and the Operation to generate a “Report” on the Design is now operational.

To generate this information from the diagram in the previous post, all you have to do is press the “F” key which toggles the “Final Display” mode.

(David Lyon) #9

It can now Import Parts and .SVGs from Fritzing ! and Auto-Connect them.


Nice, especially the auto-connect!

(David Lyon) #11


I need to write some better Test Cases because the AutoConnect is getting a bit complex but it works at a basic level.

Now I am working to get the Animations working so that you can see Sensor activity and so forth happen in a visual manner. I demonstrated a few things moving last night. Next step will be to get the directions of the movements going in the right way :wink:

Can anyone help me to write some code to help Import Arduino Sketches and produce a Visual Diagram for an Arduino Sketch ?

It isn’t as hard as it might sound. At the top of the .ino program will be a list of “.h” files and they will correspond to a particular known board which we can record in the board file for a part. I’ve moved my ‘Parts library’ to github and it now lives here

By doing a lookup of the .h file we can associate a particular .h file to a board and then automatically add a component to the diagram for each component identified.

Any helpers ?

[I can already import many Fritzing .fzp files. It would be great to have .ino Import as well as then we can produce a Visual Diagram for the majority of Arduino Sketches simply by reading the Source .ino file and then graphing it. All of the Graphing activity currently exists]


(David Lyon) #12

The .ino Scanner is now showing signs of life and it will now identify Hardware that’s used inside Arduino Sketches.

(David Lyon) #13

So here it is now generating and displaying all the components from the .ino.

It shows how a Graphical Diagram can be generated from an ino file.

(David Lyon) #14

A new Toolbar added to make it easer to add Components.

Including the ‘r’ button to generate the Report for a Printer/Documentation ready Version.

The ability to Import an Arduino directly from github and produce a diagram of the Hardware as described by the Code.

Ie, give it an Arduino Github URL, it will produce a diagram of what the Sketch would need to run.

This diagram is created directly from this Arduino Sketch on Github:

(David Lyon) #15

It’s now on Hackaday :

Work will now commence to get it running on Windows, get bugs fixed up and make it useable for people on projects.