Vor 25 Jahren beschloss ein kleines Unternehmen im Großbritannien, ein Programm zu entwickeln, mit dem Studenten das Programmieren von Mikrocontrollern lernen konnten: Flowcode. Es kam im Jahr 2000 auf den Markt. Anfangs verkaufte es sich gut im Bildungsbereich, und da es einfach zu bedienen war, wurde es von vielen Hobbyisten und Industrieunternehmen eingesetzt. Heute ist Flowcode sehr funktionell und hat Tausende von Benutzern.

 
Flowcode-Zeitverlauf
Flowcode-Zeitverlauf

Wer waren die Entwickler?

1998 war die 1993 gegründete Matrix Multimedia Limited an der Spitze der Multimedia-Entwicklung im Bildungsbereich im Großbritannien und war einer der ersten Herausgeber von Multimedia-Inhalten im Land. Nach der Entwicklung von mehr als 20 CD-ROMs für den Unterricht in den Fächern Geografie, Mathematik und Elektronik war dem Unternehmen klar, dass die aufkommende Internettechnologie das Geschäft mit Bildungsinhalten zerstören würde, und es musste sich diversifizieren. Matrix hatte bahnbrechende CD-ROMs für den Elektronikunterricht entwickelt, die umfangreiche Schaltungssimulationen mit SPICE-Modellierung enthielten, und das Unternehmen beschloss, sein Fachwissen im Bereich Elektronik zu nutzen, um in den aufstrebenden Markt für Mikrocontroller im Bildungsbereich einzusteigen.

Fürs Lernen gemacht

Der Zweck des Unternehmens war das Lernen/Lehren. Matrix wusste, dass einige Ingenieurstudenten Schwierigkeiten mit der Programmierung in C-Code hatten und dass die Entwicklung komplexerer Programme von Grund auf zu zeitaufwändig war. Daher beschloss Matrix, die Programmierung durch die Verwendung von Flussdiagrammen als Programmeingabemethode zu vereinfachen und eine große Bibliothek mit Standardroutinen für eine Vielzahl von Sensoren, Anzeigen und elektronischen Komponenten zu erstellen. Da Flussdiagramme für jedermann verständlich sind, war die Programmierung einfacher, und das Befehlseingabesystem verhinderte, dass die Schüler syntaktische Fehler machen konnten. Die große Komponentenbibliothek ermöglichte es den Schülern, weiter und schneller voranzukommen, spannendere Projekte zu entwickeln, die Motivation zu steigern und es war viel einfacher als C oder Assembler.

Darüber hinaus wurde Flowcode mit vollständigen Simulationsfunktionen entwickelt: Simulation ist ein wirklich effektives Lernwerkzeug, das einen anderen Blick auf die Vorgänge in einem Programm ermöglicht und den zusätzlichen Vorteil hat, dass es den Prozess der Programmentwicklung verkürzt. In der Software können die Schüler einen Mikrocontroller auswählen, Schalter, Sensoren, Anzeigen und Aktoren anschließen und die Schaltung auf dem Bildschirm simulieren und mit ihr interagieren, bevor sie das Programm auf echter Hardware kompilieren. 

Die erste Version von Flowcode wurde im Jahr 2000 veröffentlicht - zu einer Zeit, als Mikrocontroller noch in den Kinderschuhen steckten und die beliebten 8-Bit-Bausteine PIC16F84 und ATMEGA8 dazu gehörten - und war ein großer Erfolg mit Verkäufen in vielen Ländern. Die Benutzerfreundlichkeit von Flowcode führte auch dazu, dass eine große Anzahl von Hobbyisten und Industrieingenieuren Flowcode für die Entwicklung echter Elektronikprojekte nutzten und die Benutzerbasis wuchs.
 
Flowcode
Frühes Flowcode 5-Bildschirmbild

Mehrere Code-Paradigmen

Als die Mikrocontroller Anfang der 2000er Jahre immer vielfältiger und allgegenwärtiger wurden, wurde Flowcode erweitert, um Programme für AVR, Arduino, ARM dsPIC und andere erstellen zu können. Flowcode war ein großartiges Programmiertool, aber viele Ingenieure und Studenten hatten immer noch das Bedürfnis, C-Code zu lernen, und einige fanden den Übergang von der intuitiven Flowchart-Programmierung schwierig. Um diesen Übergang zu erleichtern, fügte Matrix Pseudocode- und C-Code-Schnittstellen zu Flowcode hinzu, und - was einzigartig ist - die Studenten können nahtlos zwischen diesen Paradigmen wechseln und das Schaltungsverhalten in jedem von ihnen simulieren.

E-Blocks

Flowcode hatte erfolgreich modulare Programmierkonzepte eingeführt, bei denen die Funktionalität für bestimmte Hardwaremodule in "components" zusammengefasst wurde, doch die physische Hardware bestand fast ausschließlich aus multifunktionalen Entwicklungsboards. Matrix wollte diesen modularen Ansatz mit Hardware replizieren, und so wurde E-Blocks geboren in etwa 2006. Das E-Blocks-Sortiment umfasste eine Reihe von Upstream"-Platinen - PIC, AVR, ARM, FPGA - und viele Downstream"-Platinen - LEDs, Schalter, Sensoren, Displays, Aktoren. Die Blöcke lassen sich mit 9-poligen D-Typen (robust für den Einsatz im Bildungsbereich) zusammenstecken, wobei die Stromversorgung separat erfolgt. Die Boards enthielten Standardfunktionen wie In-Circuit-Debug, aber auch Onboard-Instrumente mit einem vollständigen 2-Kanal-Oszilloskop und einem Mehrkanal-Logikanalysator, der Signale an jedem Pin des Zielgeräts anzeigen kann. Dies ermöglichte Matrix die Entwicklung innovativer Bildungsprojekte wie voll funktionsfähige Mobiltelefone oder GPS-Empfänger, bei denen die Schüler fortgeschrittene Konzepte wie AT-Befehl-Kommunikationsprotokolle verstehen konnten.

 
E-Blocks
E-Blocks II Boards

3D

Mitte der 2010er Jahre zeichnete sich ein neuer Trend ab: Alle Ingenieure begannen, Mikrocontroller zu programmieren, auch Maschinenbauingenieure. Das Programmieren war zu einer Kernkompetenz der Ingenieure geworden, da es kaum noch technische Systeme ohne elektronische Steuerung oder Überwachung gibt. Ein weiterer Trend: Alle Bauteile von Firmen wie RS und Farnell hatten herunterladbare 3D-Modelle aller Komponenten. Also beschloss Matrix, Flowcode vollständig 3D-kompatibel zu machen, damit Ingenieure ein 3D-System aus Solidworks in die Software importieren und die mechanische Bewegung ihres Projekts in 3D zusammen mit den elektronischen Teilen ihres Projekts simulieren konnten.

Flowcode App Developer

2018 veröffentlichte Matrix in Version 8 den Flowcode App Developer. Das Konzept bestand darin, Benutzern die Möglichkeit zu geben, web- oder PC-basierte Anwendungen mit der Flowcode-Programmierumgebung zu entwickeln. Matrix entwickelte APIs für gängige Technologien wie Arduino, so dass Kunden hochfunktionale Programme auf der Grundlage kostengünstiger Hardwareschnittstellen für Test und Steuerung erstellen können. So können Kunden nun Programme für das Web, PCs und Mikrocontroller entwickeln.
 
Flowcode-Hardware-Simulationsbildschirmbild
Typischer Flowcode-Hardware-Simulationsbildschirmbild

State Machines und Datenflussprogrammierung

Sowohl für Lehrkräfte als auch für Industriekunden war sich Matrix bewusst, dass bei der Entwicklung elektronischer Systeme rein skript- oder flussdiagrammbasierte Programmierparadigmen ihre Grenzen haben. Im Jahr 2018 brachte Matrix eine neue Version von Flowcode heraus, die grafischen Systeme enthielt, mit denen Benutzer Programme unter Verwendung von State Machines und Datenflussprogrammierung eingeben und diese mit herkömmlichen Programmen mischen konnten. State Machines eignen sich hervorragend für bestimmte Anwendungen - insbesondere für Kommunikationssysteme - und stellen die Funktion eines Systems in Bezug auf ihren Status an verschiedenen Stellen eines Programms dar. Mit der Datenflussprogrammierung können Benutzer Funktionsdiagramme auf der Grundlage von Standardsignalverarbeitungsblöcken zusammenstellen und das resultierende System in einen Mikrocontroller kompilieren: fantastisch für DSP- und Kommunikationssysteme.
 
Flowcode 10
Gemischtes Datenfluss- und Flussdiagramm-Programm in Flowcode 10

Gratis für Maker

Im Januar 2023 hat Matrix die version 10 von Flowcode mit einer Reihe von Funktionserweiterungen und einer bedeutenden Lizenzänderung veröffentlicht: Das Programm ist jetzt für Maker und Hobbyisten für beliebte Mikrocontroller wie PIC16F18877 und Arduino kostenlos. 

Wie weiter?

Matrix entwickelt weiterhin das Flowcode-Programm und die Hardware, die Studenten dabei helfen können, etwas über Technik zu lernen, und hat eine große Auswahl an Kursen und Hardware für Elektronik, Robotik, digitale Kommunikation, Prozesssteuerung und andere Technologien im Portfolio. Matrix setzt auch weiterhin auf Innovationen in der Ingenieurausbildung und der Entwicklung elektronischer Systeme. Im Jahr 2023 wird das Unternehmen ein wichtiges neues Hardware-/Software-Entwicklungssystem auf den Markt bringen: Sysblocks. Sysblocks basiert auf dem Datenfluss-Programmiersystem Flowcode und einem sehr schnellen dsPIC-Mikrocontroller mit zwei analogen Eingängen und zwei analogen Ausgängen. Dies ermöglicht es Ingenieuren und Studenten, ein Signalverarbeitungsdiagramm in Flowcode zu konstruieren und es in einen Mikrocontroller zu kompilieren, der für Anwendungen in der Musiktechnologie, DSP, Software Defined Radio, Modulation-Demodulation, Kodierung-Dekodierung, Spread Spectrum usw. geeignet ist. Matrix ist zuversichtlich, dass dies einen bedeutenden Einfluss auf die Art und Weise haben wird, wie Kommunikation und andere Fächer an Universitäten gelehrt werden, und hofft, dass die Technologie auch in der Industrie Anwendung finden kann.
 
Sysblocks
Sysblocks hardware
Flowcode 10 ist jetzt kostenlos für Maker und Hobbyisten. Sie können eine kostenlose Kopie herunterladen unter www.flowcode.co.uk