Page 1 of 2

BASIC for Arduino ARM

Posted: Sun Jan 20, 2019 9:45 pm
by basicchip
We've got a couple of Arduino Zero's here and we have BASIC up and running on them. Ported the code into the Arduino environment (wow what a hog -- but it does support a hole raft of CPUs).

It's far enough along to run our test programs and do some benchmarks.

I expect this will be a free download, hopefully we can figure out how to use their binary loader so we don't have to distribute 100s of MB of project.

Expect a Kickstarter kickoff for this soon.

Who came up with the name Zero? Must not be a marketing person.

Re: BASIC for Arduino ARM

Posted: Tue Aug 06, 2019 8:13 pm
by basicchip
Steps to download BASIC for SAMD21

If you have not download the BASICtools IDE download and install that now

then download the latest release BOSSA app which loads BASIC firmware

And this is the one we used - ... -1.9.1.msi

Re: BASIC for Arduino ARM

Posted: Tue Aug 06, 2019 8:22 pm
by basicchip
Run the BOSSA installer

Download these 2 files - BASIC firmware binary for ArduinoZero and MKRzero

The files have been removed, and are available to Kickstarter backers. It will cost you a buck, but if you need it more than I do, I'll refund it after you back the Kickstarter (assuming you have a Paypal account)

Unzip the files to some directory

Yes this is a moving target, and we are fixing small issues, so check back. These files were last updated Aug 13, 2019. I will keep updating this copy of the files, so there is only one place to look

A known issue seems to be these boards, work well on USB 2.0 ports, but not so well on 3.0 ports. This is an Atmel issue, unless someone can point me at a fix.

For any issues or questions feel free to email me bruce at

Re: BASIC for Arduino ARM

Posted: Tue Aug 06, 2019 9:09 pm
by basicchip
Before you run the BOSSA app, get the Arduino into download mode. Do that by hitting the RESET button twice.

Run BOSSA app

MAKE SURE you set the OFFSET to 0x2000 otherwise you will brick your part and require an ICE download

arduino1.png (21.59 KiB) Viewed 6247 times
Choose the serial port

Choose one of the binary files

Set Flash Offset to 0x2000

Then WRITE button.

Re: BASIC for Arduino ARM

Posted: Tue Aug 06, 2019 9:12 pm
by basicchip
Then restart the Arduino (in this case a MKRZero), and startup BASICtools

You should see this welcome screen and you are ready to write BASIC programs on the Arduino
arduino2.jpg (37.66 KiB) Viewed 6247 times

Re: BASIC for Arduino ARM

Posted: Sat Aug 10, 2019 12:27 am
by basicchip
Note to self -- program bootloader for SAMD21G MKRZero

After stumbling around for an afternoon trying to figure out how to load a BOSSA compatible bootloader onto a MKR Zero clone, I accidentally stumbled onto how to do it.

Using a uLink2 connected to the SW debug pins

Use Arduino IDE, under tools select the board -- Arduino MKRZero

and select programmer -- Atmel EDBG (I know the uLink2 is not, but it looks to openocd like it is)

and Burn Program, picture below
bootloader.jpg (193.81 KiB) Viewed 6224 times

Re: BASIC for Arduino ARM

Posted: Wed Aug 14, 2019 10:33 pm
by basicchip
Known issues as of 8/14

STOP statement in a program does not quite work correctly

USB 3.0 still flakey, not sure there is a fix for it, seems to have complaints about it in the Arduino forum.

Re: BASIC for Arduino ARM

Posted: Wed Aug 14, 2019 10:45 pm
by basicchip
Support files for SAMD21

register definitions --
(46.41 KiB) Downloaded 251 times
pin naming files -- seems like Arduino likes renaming which we find difficult to support in firmware, so #include files
(9.08 KiB) Downloaded 240 times
(7.8 KiB) Downloaded 232 times
(10.95 KiB) Downloaded 223 times
Example files
(3.7 KiB) Downloaded 221 times

Re: BASIC for Arduino ARM - Adafruit Feather M0 Expres

Posted: Sat Aug 17, 2019 1:17 am
by olzeke51
Hey Y'all,
In anticipation of the kickstarter release of the SAMD21G ARMbasic firmware,
I turned an ADAFruit 'Feather M0 Express' into a testbed for Coridium - I'll
get to CircuitPython in a bit.!!
It appears that the pinout functionality is very similar to the Arduino Zero.
There aren't as many Digitals as they have been re-functioned to a NEOpixel
device (tri-color type LED) and being this Feather was designed for ADAfruit's
CircuitPython ; there is a "2 MB SPI Flash storage" chip. One of the Digitals
was/will be configured for a VBAT measurement via an AD() command.
So taking several pieces of documentation, I created a "pins_Feather_Ex.bas"
for those of us that want to check out a SAMD21G with Coridium's (embedded)
ARMbasic. Send me any corrections or post an update.
I have tested pins A0 thru A5 for GND and floating/no input, and A5 for 3v3.
Happy Testing - on "BASIC_zero.bin" from the zipped file on the 14th.
Gary Olzeke51
(1.56 KiB) Downloaded 131 times

Re: BASIC for Arduino ARM

Posted: Sat Aug 17, 2019 11:00 pm
by basicchip
Got the video almost ready for the Kickstart campaign