What is Ghost?

Ghost is a new technology which, when combined with Flowcode, provides a revolutionary way of debugging electronic systems.

Ghost technology provides a real time log of the status of all the pins on the microcontroller whilst a Flowcode program is running on the device. Ghost data can be viewed on the Flowcode Oscilloscope or Data Recorder at the same time as the flow chart simulation. We call this ‘In-Circuit-Test’.

It also provides the ability to control the program that is running on the microcontroller from Flowcode itself. You can run, pause, and step through, your program and view Ghost data at the same time and view variables, registers and other memory locations. We call this ‘In-Circuit-Debug’

When this data is combined with the PC-side processing capabilities of Flowcode it provides a very powerful debugging and learning tool. This saves huge amounts of development time - whether you are working at a pin level and getting your first program to work, or whether you are an advanced user wanting to perform a sanity check to make sure communications baud rates are set at the correct speed.

Both analogue and digital data is gathered through Ghost ICT and displayed on the Flowcode Oscilloscope. For communications busses decoding overlays for UART, SPI, and I2C are available. Ghost data can also be passed to simulation/SCADA components in Flowcode to provide Human Machine Interface style debug features.

Ghost is watching over your hardware!

Flowcode screenshot of Ghost and Eblocks 2

Flowcode screen showing real time digital and analogue in circuit test (ICT) data being shown via the data recorder and oscilloscope windows. The data recorder showing data over a period of time and the oscilloscope showing repeating waveforms.

How does Ghost work?

Ghost is a unique piece of technology, the entire system works in real time as ghost monitors all the I/O on the target chip and streams that data directly into Flowcode via USB, below is a diagram explaining how the system works.

Diagram of how ghost works first image
Diagram of how ghost works second image
Diagram of how ghost works third image
Diagram of how ghost works fourth image
Diagram of how ghost work fifth images

For a much more detailed description of how ghost works, please see this Blog article by the creator of Ghost, Ben Rowland: Ghost Blog Post or watch the video below for a more detailed explanation.




Ghost: Oscilloscope

Flowcode screenshot of Oscilloscope

Flowcode includes a 4 channel, fully triggering oscilloscope, ideal for testing your applications in both hardware and simulation.

It works alongside Ghost Technology to allow users to monitor signals in real time using In-Circuit-Test. It can also be used in simulation mode.



Ghost: Data Recorder

Flowcode screenshot of Data Recorder

Flowcode includes a data recorder ideal for testing your applications in both hardware and simulation.

It works alongside Ghost Technology to allow users to monitor signals in real time using In-Circuit-Test. It can also be used in simulation mode, though timing of signals is not accurate when using simulation. In simulation, it allows the user to see the results and values from raw data and components such as dials and measures. This data allows you to monitor the state of the various signals plotted to various channels.

The data recorder is very useful for analyzing data as it can accurately display information to identify patterns in the data as well as the speed data is being displayed at. Components such as the DSP range will automatically create their own Data Recorder channels, allowing for very simple yet powerful means of monitoring and debugging the system.



What Hardware can I use with Ghost

BL0080 PIC Multiprogrammer board

As part of the new Eblocks 2 range, the BL0080 will allow you to use Ghost technology. This board programs 8-bit PIC microcontrollers by connecting to a PC and programming via USB to provide a combined powerful microcontroller and debugging platform.


You can purchase the BL0080 board from here on the Matrix website:

Find out more about the BL0080

BL0080 PIC multiprogrammer

BL0055 Arduino Shield

Connect your Arduino device to the BL0055 Arduino shield to use the Arduino I/O with Eblocks 2. The device connects to a PC via USB, allowing users to program the device and debug via Ghost.


You can purchase the BL0055 Arduino Shield board from here on the Matrix website:

Find out more about the BL0055

BL0055 Arduino Shield

BL0032 dsPIC Programmer

This 16-bit PIC programmer can be used with Ghost and Flowcode. The device connects to a PC via USB, allowing users to program the device with Flowcode and debug via Ghost. The board comes complete with a powerful dsPIC33EP256MU806 microcontroller.


You can purchase the BL0032 dsPIC Programmer board from here on the Matrix website:

Find out more about the BL0032

BL0032 dsPIC Programmer

BL0011 PIC Programmer

This 8-bit PIC programmer can be used with Ghost and Flowcode. The device connects to a PC via USB, allowing users to program the device with Flowcode and debug via Ghost. The board comes complete with a versatile PIC16F18877 microcontroller.


You can purchase the BL0011 PIC Programmer board from here on the Matrix website:

Find out more about the BL0011

BL0011 dsPIC Programmer

BL0036 Raspberry Pi Shield

This Raspberry Pi shield can be used with Ghost and Flowcode. The device connects to a PC via USB, allowing users to debug the device with Ghost. The Raspberry Pi shield presents all GPIO and peripheral pins collected together as E-blocks2 sockets.


You can purchase the BL0036 Raspberry Pi shield from here on the Matrix website:

Find out more about the BL0036

BL0036 Raspberry Pi Shield