Arduino boards are normally programmed using Arduino “programming language” that’s more like an API using C/C++ language. But when I started in high-school I remember learning Pascal and BASIC programming languages.
Bruce Eisenhard also learned BASIC in the past, so he decided to port his company’s ARM BASIC compiler to Arduino Zero, and it should also work on other boards based on Microchip SAMD21G Arm Cortex-M0+ microcontroller.
The compiler includes floating-point, strings, inline assembly, interrupts, pre-processor, and the BASIC firmware supports direct access to hardware registers so you can control digital and analog I/Os, ADCs, and other peripherals using BASIC programming language. A runtime monitor also facilitates debugging.
The IDE used for development is called BASICtools that’s a free 30MB download which install programs and documentation. There are also libraries and examples from blinky to more complex code. It’s been possible to run interpreted BASIC on Arduino for a while, but Bruce notes compiled BASIC is at least 20 times faster, and about as fast as compiled C programs.
To complete development, and raise awareness of the project, he has launched a crowdfunding campaign on Kickstarter. Pledges start at just $1 to receive an early beta version of the firmware, but there are also hardware rewards with BASIC firmware bundles with Protoneer Nano, Itaca uChip, or RobotDyn Zero boards. Some have already received the beta firmware, and hardware rewards are scheduled to ship next month.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
BASIC damages minds of would-be programmers. I’d rather see proliferation of functional programming on micro-controllers.
BASIC is a bad language for someone having already programmed and a good one for someone having difficulties starting with computers. Many of us started with it. If your mind is set to work with computers, quickly you’re starting to miss a number of features and want to switch to something else. But you’ve at least learned some important bases. To me, the “improved” BASIC featuring functions etc are the worst variants of BASIC because they try to make the language better but it remains wrong. There’s no way to make it good, what matters with this language is its… Read more »
I started with basic and moved on to Pascal by way of Delphi and other languages from there.
Basic is a stepping stone, nothing wrong with it.
It’s the artist — not the brush.
But a good brush can make the creative process easier.
Cost and licensing.
If you have to ask about either of these, you’re not going to like the answer.
*Free* (or nearly so) is plastered all over this in big tall letters. However, licensing seems to be some sort of trade secret. I’m guessing this is the part I’m not going to like.
But I will gladly be proven wrong. Please tell me there is no “bait and switch” involved with the licensing here.
@jqpabc123, Yeah, I agree with you – it feels like there’s a ticking time bomb in there somewhere. I couldn’t find a license or a price for their ARM-Basic on the Cordium site either. I might toss a buck or two at the Kickstarter seeing that it’s funded and betas are shipping. I’ve got a RobotDyn SAM21 M0 sitting here in front of me and it’s bored. Plus it’ll be nostalgic to fool around in BASIC again. You can get RobotDyn SAM21 M0 boards on Amazon with “free” U.S. Prime CONUS 2-day (or less) shipping for $14.40. That’s just $0.91… Read more »
The BASIC firmware is free to distribute for personal or educational use. We have negotiated with OEMs for licensing for commercial products, mainly because many of them wanted additional features, but it starts out as low as $500 for a commercial license.
We are asked if this is open source. At present it is not, and we are not sure there is much benefit for that.
@Bruce,
I’m sure you’re good at the technical side of things. But you need help with marketing. “As low as $500”? Really?
In other words, a potential paying customer still has no clue if this deserves attention or not. The ambiguity is not persuasive. Without clear licensing terms, the only rational assumption is that it does not.
Is that too harsh? I suspect that the marketplace will be even more so.
This license is ONLY needed once you start selling a product using our compiler and firmware. Still free for evaluation. Compare to IAR, Keil, …
Another version of compiled BASIC for AVR (and PICs) that should work with a classic Arduino is Great Cow Basic (http://gcbasic.sourceforge.net/). I’ve used it on some PIC projects and found it worked pretty well.
@JimG,
Unfortunately I don’t see the ATSAMD21G18 M0 chip listed on the GC BASIC list of supported uC’s:
http://gcbasic.sourceforge.net/chipdata.html?latest=1
Yes, it’s only for 8-bit AVRs and PICs, so it should work with an ATMega328-based classic Arduino, but not the Arduino zero.