Status: under active development. Go code generation and C99 target support are in progress.
IoTMaker is a graphical IDE that blends visual and textual programming. You build logic by connecting blocks on a stage, and the IDE generates compilable source code. It is inspired by Arduino: the same block a child wires visually is a block an engineer can write in C99 or Golang.
Makers connect blocks on the stage and export working code — no programming required.
Specialists write reusable components ("black boxes"), following the IoTMaker Doc Standard; each one becomes a graphical block a maker can wire.
You don't need to know how to program; you simply connect blocks.
This is a graphical IDE designed to transform sets of blocks into C99 or Golang source code.
It was designed to allow non-programmers to connect blocks and generate source code.
However, it was also conceived to enable engineers to transform large amounts of complex code into simple graphical blocks, while preserving the underlying code.
Write your source code in C99 or Golang.
Check and configure the graphical interface to your liking.
Document your work so that the community can use it easily.
Your documentation becomes a manual integrated into the menu, simplifying usage.
Include a usage example for the user who just wants to run the initial functional test.
Don't waste time searching for the information needed to complete your project; the graphical interface was designed for efficiency, putting the information right in the palm of your hand.
The user interface was designed to be easy to configure, so you don't waste time searching for settings; you simply click on the graphical device to access its configuration.
It is so easy that we can even sketch out the result for you.
IoTMaker is built by a single developer. If you believe a kid in a classroom and an engineer in a lab should be able to use the same tool, you can help:
cd server
make docker-up-fullThe documentation is preliminary and is located in the 00_howto folder.
IoTMaker uses a two-level licensing model — please read this before building on it.
The IDE, generator, and libraries are dual-licensed:
- Open source — GNU AGPL v3.0 — see
LICENSE. If you run a modified version as a network service, you must make your source available. This is what keeps IoTMaker open and prevents it from being closed and resold as a service. - Commercial — for embedding IoTMaker in a proprietary product or a hosted
service without AGPL obligations — see
LICENSING.md. Contact licensing@iotmaker.io.
Firmware generated by the tool, and components you export, are not covered by the AGPL. You own your output and may license it however you choose. Exported projects default to the Apache License 2.0. See the generated-code exception.
Contributions are made under the Contributor License Agreement; see
CONTRIBUTING.md.
"IoTMaker", the IoTMaker logo, and iotmaker.io are reserved and are not licensed under the AGPL. You may run and fork the code, but you may not present a fork as the official IoTMaker project or use the name or logo to imply endorsement.
- Website: https://iotmaker.io
- Licensing overview:
LICENSING.md - How to contribute:
CONTRIBUTING.md










