Flow Chart Programming for Atmel AVR Microcontrollers Flowcode 5 is a very high-level language programming system for AVR microcontrollers (including Arduino systems) based on flowcharts. Flowcode allows you to design and simulate complex AVR-based robotics and control systems simply by drawing a flow chart of your desired program in a matter of minutes, even without any prior programming skills.
Flowcode allows complex AVR and Arduino programs to be designed quickly. It uses international standard flowchart symbols (ISO5807). Full on-screen simulation allows debugging and speeds up the development process. It facilitates learning via a full suite of demonstration tutorials and virtual systems (burglar alarms etc.). It can be used to teach PLC programming skills. It supports interrupts and A/D converters. It produces ASM code for a range of devices, and you can use most programmers. C code or assembly code can be embedded as a macro.
Flowcode is available with student, professional, and multi-user licenses, which you can select at the bottom of this page. Scroll down to the Different License Versions header for an overview of the differences.
New in Flowcode Version 5 Now supports Arduino and Xmega. A significant number of new devices.
C code views and and customization. Improvements to the C code viewing and editing. View the flowchart or its generated C code, or even show and edit the flowchart and the C code side by side. Insert new icons into the C code in the same way as you can with the flowchart. Customize the C code behind individual components and use Flowcode as a C code management tool.
Simulation improvements. Improved simulation and mathematics parsing. Simulation is faster and truer to real life.
New components and E-Blocks support. Accelerometer, RC5, gLCD/touchscreen, RS232/RS485, FAT, WLAN, GPS, GSM.
Search and replace. Search the whole program for icon and variable use, and replace where needed.
Improved support. You have access to help, support, videos, updates and more from within Flowcode. Project auto-documentation. Create an HTML document for the whole program to allow it to be understood easier by others.
Interrupts overhaul. Improved range and handling of chip interrupt features in terms of simulation and code generation.
Improved annotations. The annotation feature has been improved to allow flowchart icon functionality to be better commented and understood.
Disable icons feature. Icons can be disabled temporarily within Flowcode to assist in debugging.
Compilation errors and warning. Better linkage between errors in the compiler and location in Flowcode program makes programs easier to debug.
Project explorer. New project explorer tree-view for components, variables, etc. makes for easier editing and improves project transparency.
New variable types +. New data types include bool, long, uint. Constants now implemented. Possible to set initial values for variables in simulation. Port and pin values are supported directly. Syntax highlighting implemented for Flowcode icons.
Bookmarks. Bookmark icons within your flowchart to help navigation through larger programs.
Note: Some new features are available with the Professional license only. See the license option details below.
Flowcode Software Features Flowcode facilitates the rapid design of electronic systems based on microcontrollers. Simply drag and drop icons on screen to create an electronic system without writing traditional code line by line. Flowcode has a host of high-level component subroutines, and the flowchart programming method allows users of all abilities to develop microcontroller programs rapidly. What you design and simulate on screen is the result you get when you download to your microcontroller. Flowcode allows you to view C and ASM code for all programs created and to customize them. View circuit diagram equivalents to the system you design though its datasheets and support material.
Note: Some components and features listed above are available only with the Professional license. See the license option details below.
- Supported microcontrollers: Atmel AVR, including AT90, ATmega, ATtiny, ATxmega, and Arduino.
- Supported communication systems: Bluetooth, CAN, FAT, GPS, GSM, I2C, IrDA, LIN, MIDI, One wire, RC5, RF, RFID, RS232, RS485, SPI, TCP/IP, USB, Wireless LAN, Zigbee.
- Supported components: ADC, LEDs, switches, keypads, LCDs, Graphical color LCDs, Graphical mono LCDs, Sensors, 7-segment displays, Internal EEPROM, comms systems, Touchscreen LCD, Webserver.
- Supported mechatronics: Accelerometer, PWM, Servo, Stepper, Speech.
- Panel designer: Design a panel of your choice on screen and simulate it.
- In-Circuit Debug (ICD): When used with the FlowKit.
- Tight integration with E-Blocks: Each comms system is supported by E-Blocks hardware.
- Virtual networks: Co-simulation of many instances of Flowcode for multi-chip systems.
How Flowcode Works
Flowcode generates a C code file from the flowchart that you create. This C code is compiled into assembler code automatically by the compiler and then translated into a Hex machine code file. Any third-party AVR programmer then can be used to download the resulting Hex file into the target AVR's program memory.
It also can generate Arduino code. Arduino devices can be selected as a target from within Flowcode and programmed directly with the command-line Arduino programming tool.
Flowcode can be used with an optional AVR Multiprogrammer or Arduino Interface Shield, integrating with the E-Blocks range of hardware devices.
Video examples To see how Flowcode works, view a brief usage video, an Introduction to Flowcode, or these 30 Flowcode Training videos. Also see videos showing new features of V5.
Downloadable Flowcode Tutorials and Examples
- Flowcourse tutorial that teaches you the basics of developing code with Flowcode (course is based on PIC microcontrollers). That link is for student use only. The full Flowcourse CD-ROM 50-hour tutorial in PIC microcontroller programming using Flowcode with 13 lab exercises is available for commercial use.
- Flowcode Example Files
Supported AVR Devices
Flowcode runs on Windows XP, Vista and 7. It supports code generation for the following Atmel AVR and Arduino devices:
- Arduino BT 168, Arduino BT 328, Arduino Duemilanove 168, Arduino Duemilanove 328P, Arduino Ethernet, Arduino Fio, Arduino Leonardo, Arduino LilyPad 168, Arduino LilyPad 328, Arduino Mega 1280, Arduino Mega 2560, Arduino Mega ADK 2560, Arduino Mini, Arduino Nano 168, Arduino Nano 328, Arduino Pro 168 3V3, Arduino Pro 168 5V, Arduino Pro 328 3V3, Arduino Pro 328 5V, Arduino Pro Mini 3V3, Arduino Pro Mini 5V, Arduino Serial, Arduino Uno PDIP, Arduino Uno SMD
- AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM1, AT90PWM2, AT90PWM216, AT90PWM2B, AT90PWM3, AT90PWM316, AT90PWM3B, AT90PWM81, AT90S2313, AT90S2323, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82
- ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164P, ATmega165, ATmega165P, ATmega168, ATmega168P, ATmega169, ATmega169P, ATmega16M1, ATmega16U2, ATmega16U4, ATmega2560, ATmega2561, ATmega32, ATmega323, ATmega324, ATmega324P, ATmega325, ATmega3250, ATmega3250P, ATmega325P, ATmega328, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega329P, ATmega32C1, ATmega32M1, ATmega32U2, ATmega32U4, ATmega32U6, ATmega406, ATmega48, ATmega48P, ATmega64, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega6450, ATmega6450P, ATmega645P, ATmega649, ATmega6490, ATmega6490P, ATmega649P, ATmega64C1, ATmega64M1, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88P, ATmega8U2
- ATtiny13, ATtiny167, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny4313, ATtiny44, ATtiny45, ATtiny461, ATtiny48, ATtiny84, ATtiny85, ATtiny861, ATtiny87, ATtiny88
- ATxmega128A1, ATxmega128A3, ATxmega128D3, ATxmega16A4, ATxmega16D4, ATxmega192A3, ATxmega192D3, ATxmega256A3, ATxmega256A3B, ATxmega256D3, ATxmega32A4, ATxmega32D4, ATxmega64A1, ATxmega64A3, ATxmega64D3
Software activation A one-time activation with a code issued by Matrix Multimedia is required. An internet connection is recommended for this.
Multiple languages available Flowcode contains a language pack to convert the main program and help files into Arabic, Simplified Chinese, Traditional Chinese, Danish, Dutch, English, Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Spanish, Swedish, Thai, Turkish, and Vietnamese.
Cross-platform Development Programs written for the Atmel AVR in Flowcode can be exported and imported into Flowcode for PIC microcontrollers, Flowcode for ARM, and vice-versa. This means that programs written for one microcontroller can be used in another.
Bundle Option With the following bundle option, you can purchase Flowcode and compatible hardware at a discount:
Different License Versions
Free Demo Version There is a demo version of V5 for AVR. This demo supports only a few icons but will let you try the entire process through to finished, working code.
Home/Student version The AVR Flowcode Home/Student version has a limited number of icons and components. Communications components are not included. The In-Circuit Debug, Virtual Networks, and Code Customization functions are not supported. Home versions are not licensed for generating code used in commercial applications.
Standard components: The Student/Home version has the following standard components: LED, LED array, Switch, Switchbank, ADC, LCD, 7-segment display, Keypad, Quad 7-segment display, and PWM. This version cannot have more components added to it as free downloads. Other versions include all standard components and a full complement of advanced components (see below).
Professional version The Pro version includes all functions and components, and is licensed for commercial use. Industrial users who need more than one license will need to purchase each license separately.
Advanced components: In addition of the standard components of the Home/Student version, the Professional license includes the following advanced components, and supports In-Circuit Debug, Virtual Networks, and Code Customization: gLCD / touchscreen, LED RGB, CAN, CAN2, I2C master, LIN master, LIN slave, One wire, RS232 / RS485, SPI, Bluetooth, IrDA, RF, RFID, ZigBee, FAT, MIDI, USB HID, USB Serial, USB Slave, Web server, WLAN, Accelerometer, RC5, Servo, Speech, Stepper, EEPROM, GPS, GSM, Custom.
The license option below allows you to select which version of the Flowcode software you require.
Please select the license version you require from the drop-down menu below. The price increase over the student/home edition is displayed next to the license version you select. The part number on your invoice will be changed to reflect the version you chose. TEVRST5 = Student, TEVRSI5 = Professional, TEVR105 = 10-user, TEVRSL5 = Site license (50 users).
- Student/Home: For Students or private home users (some features not available; see above)
- Professional (a.k.a. Single User): For corporate & professional users
- 10 User: License for 10 users (has all components, but is for non-commercial use only)
- Site License: Up to 50 concurrent users (has all components, but is for non-commercial use only)
Flowcode CD-ROM Optional Use the option below if you want a CD-ROM copy of Flowcode. Otherwise, you shall receive a license key and a link to download the software within 1 business day.