Release of a new version of the program

FLProg was originally created as a graphical system for visual programming of controllers in the Arduino IDE.
At the beginning these were AVR controllers, later ESP controllers were added.
There are a large number of Arduino libraries for working with devices, which work quite well in small projects and on which the built-in FLProg blocks were mainly built.
However, these libraries usually work according to the Arduino approach – a completed result in one pass. A very simple and convenient approach for small projects, but also a source of problems due to the delays caused by such libraries.
Many users are familiar with block compatibility problems, “braking” and other “troubles”, since the uncontrolled use of third-party Arduino libraries is an obstacle to the design of complex projects in the FLProg environment and to the development of FLProg-SCADA.

The handwriting of the Arduino libraries shows that this is the work of programmers with experience working on personal computers (Windows, Linux) – and this is von Neumann architecture. Modern microcontrollers (AVR, ESP, STM, Raspberry Pi Pico, etc.) are built on Harvard architecture, the features of which must be taken into account when designing professional libraries for them.

After ten years of development of FLProg, at the beginning of 2023. a new goal was set: “To create a flexible environment for the design of scalable multi-platform (AVR, SAMD, ESP, STM, Raspberry Pi Pico…) FLProg projects – from the simplest “children’s” devices to powerful networked industrial controllers with support for SCADA systems.

Several basic problems had to be solved:
1. Changing the internal organization of the FLProg system itself;
2. Research of system software of used controllers and creation of multi-platform support methods;
3. Development of methods and tools for designing C++ libraries that do not block the execution of the main program code;
4. Development of our own non-blocking libraries for using various devices in FLProg;
5. Development of hardware and software, creation of organizational structures for testing created libraries and new versions of FLProg;
6. Creation of your own controllers (with sufficient production support) on which the openness and power of design in FLProg can be fully realized;
7. Creation of structures to promote FLProg hardware and software in Russia, the CIS and abroad.
The listed tasks have been partially solved, work continues.

FLProg-2024 is a visual multi-platform multi-core (Raspberry Pi Pico) programming environment for high-performance real-time systems.

Testing on fairly heavy tests (sensors, expanders, displays and panels such as Nextion, Ethernet, Modbus RS-485, Web server, UDP, etc.) on different controllers show performance from 30 to 300 thousand loop() cycles per second. This kind of performance is difficult to achieve on most industrial PLCs.

The FLProg interface has not yet undergone significant changes. Work is underway.
The most important thing is that the “Interfaces” tab has appeared in the left menu.
A “Candidates” block tab has appeared in the right menu.

The current version is released in beta mode. In this version, some of the previous blocks do not work – they will have to be replaced. You can use custom blocks instead.

Via Modbus TCP – it works between the controller and the computer, between two controllers – you need to figure it out, it will take some time.

Partners will write more about the features and capabilities of the new version on the forum – they also undertake obligations to promptly respond to questions that arise.


You can download the beta version of the program here.


Thank you.
Sergey Glushenko.


Publication author

Comments: 15Publics: 389Registration: 04-02-2018

2 thoughts on “Release of a new version of the program”

  1. Добрый день. Можно уточнить, FLProg-2024 теперь буде только для (Raspberry Pi Pico) или же так же будет поддерживать AVR, SAMD, ESP, STM и др ?


Leave a Comment

Войти с помощью: