BASIC Compiler & Programming on Arduino Zero Boards (Crowdfunding)

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.

BASIC Compiler Arduino

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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

12
Leave a Reply

avatar
3 Comment threads
9 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
Bruce EisenhardJimGjqpabc123TimDrone Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Tesla
Guest
Tesla

BASIC damages minds of would-be programmers. I’d rather see proliferation of functional programming on micro-controllers.

willy
Guest
willy

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 accessibility. It *needs* to be interpreted, and to have its own IDE where you can simply insert a line number in front of a working statement to make it part of your program. This language was designed to work without the internet to look at stackoverflow, man pages and examples. You have to experiment by yourself with it.

When it comes to finding a compiled language for beginners, I found Pascal to be really awesome. It forces you to respect some rules, and doesn’t get in your way. You can easily code as you think with it.

Tim
Guest
Tim

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.

jqpabc123
Guest
jqpabc123

It’s the artist — not the brush.

But a good brush can make the creative process easier.

jqpabc123
Guest
jqpabc123

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.

Drone
Guest
Drone

@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 cents more than the price on the RobotDyn site in China before shipping! Here are the links:

https://robotdyn.com/samd21-m0.html

https://www.amazon.com/RobotDyn-SAMD21-32-bit-Compatible-Arduino/dp/B0719WS26Z

The KickStarter bundled software plus one RobotDyn SAM21 M0 board is another option at just $15, but it’s not shipping yet (at my post time).

Bruce Eisenhard
Guest

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.

jqpabc123
Guest
jqpabc123

@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.

Bruce Eisenhard
Guest

This license is ONLY needed once you start selling a product using our compiler and firmware. Still free for evaluation. Compare to IAR, Keil, …

JimG
Guest
JimG

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.

Drone
Guest
Drone

@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

JimG
Guest
JimG

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.