Some additional info:
While the newest Arduino/newest Marlin combo compiled, it didn't work to actually operate the printer.
I kept the newest Arduino, but went back to the FT_2020_NO_LCD firmware. Unfortunately, the new C++ 11 compiler included with Arduino doesn't like the fact that Marlin reuses "fpos_t" as a struct name after Arduino itself uses that for a variable name in another file (stdio I think). So I went into SDBaseFile.h and SDBaseFile.cpp and changed "fpos_t" to "fpos_t5" (just to make it unique but also recognizable). The firmware then compiled and I have a working i3
There was another problem in the firmware in Marlin_Main.cpp (line 2664 or something close) where this text:
needed to have spaces between identifiers and the quotes for the strings. Like so:
(MACHINE_NAME " " MSG_OFF ".")
YMMV based on the Arduino version you're using. I like staying on one version if I can, and I've got other things going with Arduino, so I just wanted to fix this.