Great Cow BASIC Introduction – Programming tools for Microchip PIC and Atmel AVR microcontrollers
Great Cow BASIC is a robust and fully functional compiler and assembler for 8-bit microchip PIC and Atmel AVR microcontrollers. It was developed to cater for all class of embedded system solution developers from experts to beginners but with a great tool to help beginners.
It was developed to achieve three major goals which include;
- To remove the need for repetitive assembly commands for developers
- To help embedded developers produce efficient code
- To make it easy to take code written for one microcontroller type and run it on another microcontroller type.
The third one which seems to be a viable solution to one of the pain points of developers is one of Great Cow BASIC’s most useful characteristic. The design intent was to remove the complexity of using and programming a microcontroller and by proxy, make Great Cow BASIC suitable for beginners, for those who do not like or wish to learn assembly language and for experienced microcontroller programmers all at the same time.
Great Cow Graphical BASIC
For beginners, Great Cow BASIC comes with the Great Cow Graphical BASIC which is an icon-based editor for Great Cow BASIC Programs. This user interface was designed for beginners and those who do not like or wish to learn assembly language, removing the burden of memorizing commands by allowing users to just drag boxes that represents the line of code they are trying to create in a manner that is similar to the popular scratch software. As mentioned above, the Great Cow Graphical BASIC is tightly integrated with Great Cow BASIC as such, it will work with all of the same chips, and loads and saves GCBASIC programs directly. You can even copy and paste between Great Cow Graphical BASIC and a text editor with a Great Cow BASIC program in it! GCGB (Great Cow Graphical BASICs) will load the GCB (Great Cow BASIC) libraries, and when you’re comfortable to leave the icons behind, your GCGB programs can be edited like any other Great Cow BASIC program.
Great Cow BASIC IDE
For more experienced microcontroller programmers, the Great Cow BASIC IDE is the way to go. The IDE, which is primarily based on Synwrite created by Alexey Torgashin but adapted, modified and maintained for GCB by Frank Steinberg, integrates several amazing features that make firmware development easy and less stressful. It incorporates a simple to change programmer, the editor with syntax highlighting and code folding, sub/function list, autocomplete, context-sensitive help, multiple tabs, and bookmarks and a host of other attractive and engaging features.
A highlight of some of the features of the GCB includes:
- Integration with the Great Cow BASIC compiler
- Simple to change the programmer
- SynWrite editor with syntax highlighting and code folding
- Sub/function list
- Context-sensitive help (F1)
- Multifile tabs and bookmarksDoubleclick on compiler errors moves the cursor to the source code error line
- One-click assemble/compile/flash microcontroller (F5, F6, F7, F8)
- Serial Terminal software
- Programming software
Great Cow BASIC demonstrations
Great Cow basic has been used in the development of tons of projects like game controllers and projects featuring different sensors for tasks like temperature monitoring, distance measurement with ultrasonic sensor, display of text and images on LCDs and so on. A good number of these past projects have been collated into an example folder that can be found here and it serves as a good resource for coding newbies as it contains different code blocks that may be needed in the when building a project and they are written in such a way that they can be reused in other projects.
Great Cow BASIC microcontroller supported
Great Cow Basic supports an impressive number of 8bits PIC ( including the; 10F, 12C, 12F, 16C, 16F, 18C and 18F chips), and AVR (Classic AVR, Tiny AVR and Mega AVR) microcontrollers and it generates standard MPASM compatible assembly code for PIC, or avrasm2 compatible code for AVR microcontrollers. This makes it easy to write code for different microcontrollers. For instance, you could develop code for TinyAVR microcontroller, and easily adapt it for a PIC microcontroler like the 18F series.
Support for more microcontrollers is being added regularly, so any microcontroller not currently supported should be supported soon.
Great Cow BASIC programmers supported
Supporting AVR and PIC Family of microcontrollers ensures Great Cow Basic supports some of the most popular programmers used in programming those microcontrollers.
To mention a few, some of the programmers and tools supported by Great Cow Basic include;
- PicKit2 and PicKit3
- AVRdude and Avrdude-GUI
- Microchip Xpress Board programmer
- Microchip IPE automation tool
Great Cow BASIC distributions
The Great Cow BASIC toolchain is available for Windows, MacOS, and Linux users. Currently, the Great Cow Graphical BASIC will only run on Windows and requires the .NET Framework 1.1 or higher.