Installation on Ubuntu 16.10

echo "deb ./" >> /etc/apt/sources.list
wget ""
apt-key add public.gpg
apt-get update
apt-get install data-flow-gui

Please bear in mind, that the application is still in early stage, providing very limited functionality. For now you can draw a simple program, and run / step / stop it. There is still no save / load functionality (I am working on it right now, so I could bundle some examples). It would be very helpful and encouraging if you'd contact me and said if you successfully (or not) run the application, and what problems you had. This is absolute pre-alpha.

Windows installer

I am currently working hard on Windows installer!


Prototyping and creating electronic projects could be tough. Sometimes the effort for checking out your new idea is simply to much, and so you write it down on some of your many TODO lists, and with time you forget about it. Situation is even worse if your system requires many of devices which operate with each other and are spread over some area like house, or laboratory. So what if you had an application gathering in one place all the pieces of your system and displaying them graphically and letting you to connect them like you do with electronic components in you EDA software? You would then simply drag and drop them, connect with streams of data, and display bits of this data, or send it somewhere else.

This project aims to create new data flow graphical programming language for small wireless boards communicating with the host computer using Bluetooth Low energy. Data-flow programs are parallel in nature, so one could interact and reprogram connected devices all at once. Data would be sent upstream and downstream in real time making it possible for creating rich and responsible GUI interfaces and Bluetooth connection would decrease latency between data and GUI response. Also the host computer could act as a bridge between the wireless boards and the Internet acting as (for example) a MQTT relay allowing users to publish their data over the net. This way this system could be a backbone of many future IoT projects, and thanks to the unusual, and easy to grasp programming environment could reduce prototyping time, and enable non programmers to create all sorts of projects.


Multiple boards are programmed and and controlled (in real-time) with PC based data-flow application. Every board has its inputs and outputs (GPIO, PWM, analog etc), and can read them and pass the information back to the PC. User can then interact with boards using GUI elements like sliders, and data inputs.