GCBASIC is an open-source BASIC compiler for 8 bit Microchip PIC, Atmel AVR legacy, AVRDx and LGT microcontrollers.
See https://ko-fi.com/post/The-Story-of-GCBASIC-Making-Microcontroller-Progr-D1D319SJ72 for story of GCBASIC.
This is a continuous release project. The latest release is always available. This will give you the most complete development toolchain to create and program 8-bit PIC, AVR and LGT microcontrollers.
We have added new capabilities that make GCBASIC the easiest tool set available - supporting over 1400 microcontrollers with tools to make this fun and simple.
Please see the download section for your options. We have two IDEs, we have just the compiler and we have a minimal install - it is your choice.
Please see the homepage here: https://gcbasic.com
Features
- Compiler
- Microchip
- AVR
- BASIC
- Assembler
- PIC-AS
- Fast
- PPSTOOL
- PIC
- LGT
- AVRDx
License
GNU General Public License version 2.0 (GPLv2), GNU Library or Lesser General Public License version 2.0 (LGPLv2)User Reviews
-
Thirty years ago, I began using small microcontrollers for my hobby projects — for instance, the PIC16F84, which was the first to feature flash program memory. Since there were very few high-level language compilers available — and those that did exist were extremely expensive — programs were naturally written in assembly language. Furthermore, using assembly language provides complete control over the chip. With these small microcontrollers, it was easy to keep track of the code when programming in assembly. But over time, microcontrollers have become increasingly larger. As program memory capacity and overall complexity increased, it became possible to undertake more extensive projects — a task that, when using assembly language, eventually reaches its practical limits. Some time ago, I discovered GCB and familiarized myself with it a bit. I must say that the more I use it, the more I like it. I recently received an update that includes many new improvements. I was particularly pleased to see that the original BASIC lines now appear as comments within the assembly code; this makes it much easier to locate the corresponding section in the assembly output. Because I like to maintain control over my programs, I always review the assembly code generated by GCB after compilation. Most of the code is already highly optimized, but on the rare occasions when it isn't, I can simply replace the relevant BASIC line with my own assembly instructions. I was amazed at how well the two languages work together — the compiler even correctly handles the bank-select commands for the assembly lines. It is also worth noting that GCB saves a great deal of effort and thought, while helping to avoid errors when it comes to program flow commands. Ultimately, GCB should also be the first choice if you are too lazy to write every single instruction of a program in assembly language — since it is far easier to simply review the generated assembly code than it is to write it yourself. An alternative would be to program in the C language — especially since it is far more widely used among professional programmers — but I find C too cryptic, and I have great respect for those who can handle it with ease.
-
Using GCBasic to write embedded system code using PIC processors. A while back, I stumbled on some compiler bugs which were fixed quite quickly. I find I have to look at the ASM output to see what has been produced, and sometimes, I have to drop into assembly code to fit the timing constraints of the real-time system. Thanks guys!
-
Super program, very easy to useReply from GCBASIC
-
This is a great project. I tried to start programming several times, but due to the complexity of syntax in modern programming languages, I gave up this idea. Thanks to this project, I was able to write the first program after a few days of studying. I ran into a compilation problem, and I wrote about it to the guys on the forum, the guys immediately responded and helped.Reply from GCBASIC
-
I absolutely love GCBasic. The software has made it easy for someone like me, a non programmer to enjoy the electronics hobby with minimum frustration. Microcontroller projects can be coded easily and quickly even for beginners like myself. Software is easy to use and does pretty much anything I would ever need. I appreciate everyone's effort who works on GCBasic!Reply from GCBASIC