I'm developing a Forth-like compiler and interpreter for Arduino, currently using the old Nano with 2 Kbytes of SRAM, and 1Kb of EEPROM.
Making it work within 2K has been fun ... for about a week. I started looking at Nano Every, but since also considering the Nano BLE 33, although it starts getting a bit on the expensive side?
My needs are twofold.
The first is on board persistent storage reachable from "sketch" code. I'm not interested in writing my own boot-loader (yet), which I understand is needed to write to Flash on the old Arduinos.
Then of course there is RAM. 6Kb on the Every would be a nice update, but really, more is always better.
I was in the process of hooking up an i2c external EEPROM, but my headroom for running code is quite low with 2 Kbytes of RAM.
Or should I just go for the Pi PICO?
The language interpreter is mostly independent from hardware, except it uses the F() and strcmp_P() macros/functions to put static strings into Flash, plus liberal use of Serial.println() around the code (Arduino.h). Also wrote some functions interfacing the on-board EEPROM, which I will gladly give up, if there is a board with access to Flash etc.
Note also that when I say "compiler" I refer to creating byte code, not assembler, so instruction set is not an issue. On the old nano it executes about 100 of my op-codes per millisecond.
Well documented access to hardware registers, on the other hand, is important, as I will need to write my own libraries in the RForth language, and that means interacting with ports and spi and i2c on a register level.
The Pi PICO docs seem a bit too high level, while the Nano Every docs linked from arduino.cc shop seems excellent.
Advice?