Features of Flowcode 8

Fast & easy graphical programming

Choice of programming methods

Being able to use graphical icons to develop your system makes Flowcode easy-to-use. If you're a first-time developer or have little experience of developing electronic systems, Flowcode will make it easy for you to pick up the fundamentals and run with your designs without getting bogged down in syntax. Users can choose between two graphical methods of programming - flowcharts or Blocks - and two scripted coding modes - Pseudocode or C - making for a very flexible IDE.

Graphical programming screenshot #1

Fast system development

Programming can be a complex, drawn out process and can often result in errors. Ensuring your code is accurate and precise takes skill and time. With Flowcode, your job becomes easier. Programs that previously took hours to design and perfect can be brought together in minutes. The added advantage of simulation also allows you to check and test your designs prior to compilation to a microcontroller.

Learn and program using C code

If you're a more advanced programmer or have pre-written code you want to embed into your design, Flowcode allows you to do just that. What's more, if you're using graphical icons, you can view and learn code side-by-side with your design, meaning academic users of Flowcode develop their learning over time. Convert your C code into graphical programs and your graphical programs into C to develop and grow your understanding. You can now even simulate your C code, too.

Graphical programming screenshot #2

Test & Debugging

Ghost Technology

Ghost Technology is an advanced way of testing and debugging your electronic system. Using Matrix's range of E-blocks and E-blocks2 hardware, you can monitor every pin and every variable on your microcontroller and interpret serial data inputs and outputs. Flowcode includes an in-software oscilloscope and data recorder which both display feedback and information live from the hardware you're using.

Test and Debugging screenshot #1

Simulation debugger

For many engineers, a key requirement is to ensure the designs you have developed will work when you compile to your microcontroller. Flowcode allows you to do all you need in simulation using the simulation debugger. This becomes active during simulation and is used to monitor both the values of the variables in your program, and the macros which are being called. Flowcode 8 allows you to simulate your C code.

Code profiling

Test and Debugging screenshot #2

Code profiling shows the user when icons have been 'hit' when the program is executed, distinguishing between sections of code that may be redundant and other parts which are executed often. This helps you improve program efficiency.

Test and Debugging screenshot #3

In-Circuit-Test and In-Circuit-Debugging

In Circuit Debug (ICD) allows you to control the execution of your Flowcode program on E-blocks & E-blocks2 hardware. This allows you to Run, Step, Pause, use Breakpoints, and monitor and set variable values. In Circuit Test (ICT) allows you to monitor the signals on the pins of your microcontroller, providing you with a clear picture of what is happening on your hardware. ICT mode also allows you to decode communications signals including UART, SPI and I2C packets.


Simulate your code

Prior to deploying your code to a microcontroller, you can simulate in Flowcode, to ensure your design is accurate and will run as you expect. This can be done not only for your flowchart, Blocks or Pseudocode projects, but even for your C code-based developments, too.

Simulation screenshot #1

Create simple designs

Create simple actuators or valves or add simple shapes to your existing designs and use the built in API to control these creations during simulation. You can even use the Flowcode system panel tools to create your own simple 3D models.

Import your designs from CAD packages

Flowcode integration with third party drawing packages (such as Solidworks), through support for various file formats, means that you can easily import your 3D drawings and designs into Flowcode, then characterise and bring their electromechanical elements to life with the advanced simulation capabilities.

Simulation screenshot #2

Multi-view system panel

View your designs from different angles within the system panel. Split-screen capabilities means you can ensure you are happy with your electronic design. Furthermore, high-speed simulation means that your system works close to real-time - so you can verify your design 'live'.

Component Library

Pre-developed components

A whole suite of electromechanical components exists in our large library of parts; from simple switches and LED's to more complex communications modules. These components are developed and grown with every release of Flowcode we launch, ensuring you have what you need to develop your electronic systems. Academic licences gain access to all components, with professional and standard users gaining access through the purchase of feature packs.

Component Library screenshot #1

Communications components

Communications developments form a large part of modern day electronic education and understanding. Communications protocols including CAN bus, Bluetooth, USB, Ethernet and Wi-Fi are widely studied across the globe. All of these components are available within the Flowcode environment and come as standard with all academic licences.

New components added

Component Library screenshot #2

Flowcode 8 contains hundreds components that can be used to create a wide range of electrical and electromechanical systems. These components can also be used as a basis for creating your own components or simulations. Version 8 includes a number of new components for system development and more are constantly being added via the dynamic update system. You can find a full list of components in the Flowcode datasheet.

Supported Devices

Arduino programming

One of the major benefits of using Flowcode, is that it simplifies the programming of Arduino platforms through its use of graphical programming. Arduino support means you can do more with your Arduino than you ever dreamed, and you can even integrate it into our E-blocks modules with our E-blocks2 Arduino Shield.

E-blocks & E-blocks2

Use Flowcode to program Matrix's E-blocks; the perfect platform for learners, engineers and electronic system developers to quickly prototype your designs on a rugged set of hardware. Programming boards and peripheral downstream boards, ranging from input and output, to communications and prototyping makes this the ultimate development platform. Our new E-blocks2 range is out now, and features development boards and kits for Arduino, PIC MCUs, Raspberry Pi, ARM and more.


The MIAC range from Matrix gives electronic engineers a rugged industrial platform on which to develop their designs. The MIAC range of hardware is fully supported by Flowcode and is available with a choice of Microcontroller brain: 8bit PIC, 16bit PIC or Arduino. Users have a PLC which is easy to program, reliable and perfect for harsh, industrial environments.

8Bit PIC

Flowcode provides support for a range of 8-bit microcontrollers from Microchip, with an easy-to-use development environment, technical documentation and our hardware platform.

16Bit PIC & 32Bit PIC

Flowcode also supports Microchip's 16-bit (also known as dsPIC or PIC24 devices) and 32-bit (PIC32) families of MCU's. The PIC32 family delivers 32-bit performance and more memory, to solve increasing complex embedded system design challenges.

Raspberry Pi

New in Flowcode 8, is the ability to control Raspberry Pi devices. For those wanting to integrate the Raspberry Pi into our new E-blocks2 range, we have also developed a hardware platform, the Raspberry Pi Shield, through which your Raspberry Pi becomes compatible with the whole new range of Eblocks2 boards. Perfect for those studying Computer Science or those who wish to develop using the Pi.

Supported Devices screenshot #1


Atmel's AVR devices and ARM MCUs including the popular STM32 ARM family are also supported in Flowcode.