Arduino GIGA R1


#1

There seems to be a new board in town:

… allegedly with 1 MB RAM, which would be absolutely amazing.

Because, however, it is not based on the AVR architecture, it has no on-board EEPROM, and is instead using something called KV store:

Please, David, take that as a humble proposal of a new board that just might be of interest for the one or the other… I mean, these boards are actually starting to have as much power as “real” computers of the early-mid 1980s…


#2

I did get hold of an Arduino Giga R1 board in the middle of last year when it was first released, and successfully got uLisp running on it, and it was pretty fast.

However, there were several problems that prevented me from making a full implementation of uLisp. I was unable to get help with from Arduino support in solving these, so I gave up on it.

There’s a description of my incomplete implementation here:

Arduino GIGA R1

The main problems were:

  • One approach to providing support for save-image and load-image would be to use LittleFS, as on other ARM platforms, but I couldn’t get it working. A description of the problem is here:

    https://forum.arduino.cc/t/examples-please-for-littlefs/1136267

  • An alternative approach to providing support for save-image and load-image would be to use the 16 MB DataFlash chip provided on the GIGA R1 board, as uLisp does for the Adafruit Express boards; however, doing this interferes with the GIGA R1’s use of the DataFlash for storing Wi-Fi configuration data.

  • I couldn’t get the uLisp Wi-Fi routines to work on the Arduino Giga R1 because of some pecularities with the way they are implemented. A description of the problem is here:

    https://forum.arduino.cc/t/call-to-server-available-fails-if-client-is-a-global-variable/1137604

  • I couldn’t get information about analogReference(). A description of the problem is here:

    https://forum.arduino.cc/t/what-are-the-options-for-analogreference/1135954

  • Execution of code in RAM, required for support of the uLisp ARM assembler and machine code, caused an MbedOS error (red flashing LED), and I couldn’t find any way around it.

I’m happy to provide the partially complete version of uLisp that runs on the GIGA R1 with these limitations, if someone else would like to try solving them.

One of the problems is that the Arduino GIGA R1 core is developed on top of the ARM Mbed OS, which has now been discontinued, so there will be no further development of it.

There’s more information about the GIGA R1 here:

Arduino GIGA R1 Cheat Sheet


#3

Well, then all I can do is most humbly thank you for your efforts… and let us see what other boards will come along… If a thing is ooooh sooo peculiar, frankly, they can just keep it.


#4

If it’s the 1 Mbytes of RAM that appeals to you, check out the new uLisp support for PSRAM on ESP32 boards:

The latest ESP32 Version of uLisp now supports PSRAM

This gives you 2 Mbytes of RAM on a board costing $20!