Introduction to Programming Microcontrollers with Flowcode V6Bitahwa Bindu
What is new in Flowcode v6
Flowcode is one of the World’s most advanced graphical programming languages for microcontrollers.
Flowcode software allows you to develop complex electronic and electromechanical systems with ease by just dragging and dropping icons on to a flowchart to create programs. The graphical programming tool allows even those with little experience to develop complex electronic systems in minutes.
These programs can control external devices attached to the microcontroller such as LED, LCD, GSM/GPRS modems, 3D Printer, Bluetooth, Motor or read external devices connected to the microcontroller such as switches, keypad, Humidity SHT21, Temperature LM75B, Acceleromete etc. Various communication protocols are also supported in Flowcode such as CAN, I2C Master, LIN Master, LIN Slave, One Wire, RS232, SPI Master, TCP Base, TCPIP, USB HID, USB Serial, USB Slave, Visi (4DSystems), Webserver.
Once you have designed your flowchart, you can simulate your project to see how it will behave once compiled and transferred to PIC microcontrollers, dsPIC and PIC24 microcontrollers, AVR and Arduino microcontrollers, and ARM microcontrollers. Flowcode V6 has improved its simulation, you can now design and simulate in 2D or 3D, this will enable you to construct a complete electronic system on-screen, develop a program based on standard flowcharts, simulate the system and then deploy it with confidence.
Figure 1: 3D System Panel and 2D Dashboard Panel
Flowcode v6 has two separate panels compared to 1 panel in its predecessor. The Dashboard Panel and System Panel are both designed to compliment each other, the Dashboard Panel is a 2D workspace designed to display and simulate controls, such as buttons, switches, dials, knobs and sliders as well as readings such as meters, scales and digits such as temperatures, times and measurements while the The System panel provides a real-world framework on which to load Flowcode components. It is designed to show the physical representation of real world components during simulation in 3D.
Advantages of Flowcode v6
- A bigger range of components: Flowcode 6 is loaded with lots of components compared to v5 and includes component creation software for users to create their own designs: electrical, mechanical and systems.
- Simulation: Flowcode 6 has superb simulation capabilities. The great thing about simulation is that it allows you to test your design on-screen before you deploy it. This saves time. Simulation also allows you to set scenarios for your project to test it under more conditions than you find on the bench.
- Test built in: Flowcode 6 now includes full 3D support and a range of API calls that allow engineers to work at a systems level. Flowcode 6 can now simulate complete mechanical systems like plotters and 3D printers. The 3D engine and API calls facilitate other types of design and simulation: from heating water in tanks using PID algorithms to robotics. 3D design files for electromechanical parts are now freely available and can be easily imported into Flowcode and used in engineer’s designs.
- Data Injectors: Some of the more common communications based components have an inbuilt option to use a data injector component to allow the external portion of the communications bus to be simulated. The data injectors are designed to replicate the functionality of a specific external interface without adding anything to the downloadable code sent to the embedded device. Here are the current included data injectors: Injector Base, AT Injector, CAN Injector, DS1307 Injector, GPS Injector, Human Interface Injector and Vnet Injector
Figure 2: Flowcode v6 Overview
Key Features of Flowcode v6
- Arduino Support: Apart from the wide range of microcontrollers it supports: PIC10, 12, 16, 18, dsPIC, PIC24 series, AVR and ARM, now Arduino is suported. Flowcode has huge benefits over the software platform and compiler used by Arduino and this is where users can really benefit from using the Flowcode environment. The intuitive, graphical programming style of Flowcode means that there is an ease-of-development aspect to be gained from Flowcode.
- Flowcode 6 includes a full API with DLL support. This means that during simulation and In-Circuit-Test mode you can control any third party instrument that provides a DLL and develop a full SCADA system
- Dashboard HMIs – Human Machine interface: components show your system during simulation and In-Circuit-Test using intuitive displays including meters, graphs, oscillograms and tables.
Figure 3: Dashboard HMIs
- Third party instrument support – access readings and data from external instruments using DLL support. Display data with dashboard HMIs or third party software.
- 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 Softscope at the same time as the flow chart simulation.
- Flowcode 6 is available in many languages such as French, German, English, Italian, Spanish etc.
Versions of Flowcode v6
- Free Version: 30 days trial version with full features, after 30 days, some features will be disabled including Compile to chip. Full version This well featured version allows you to verify that Flowcode will provide the functions you need and is also suitable for ongoing use with personal computers.
- Chip Pack Version: These Chip pack versions of Flowcode are available for each of the microcontroller chip types supported. When bought alone they give limited functionality for each chip type but When used in conjunction with a professional or multiuser education license, the chip pack unlocks the full Flowcode features for the chip type. There is a Chip Pack for ARM, AVR/Arduino, PIC (PIC10, PIC12, PIC16 and PIC18) and PIC16 (PIC24 and dsPIC)
- Professional Version: This version includes all functions, components, and is licensed for commercial use.
- Academic Versions: A reduced cost Academic version of Flowcode is available and it provides the same functionality as the Professional version. Academic multi-user versions (10 user, 50 user) are also available. These are for sale only to educational schools, colleges and universities.
- Free Flowcode SE version: Flowcode SE is a reduced function version of Flowcode 6. It is the same software products with a different ‘skin’ on it. All Flowcode 6 Academic customers can receive Flowcode SE free of charge should they want it.