“m a huge fan of the SAMD21 boards that Adafruit is producing. What a huge step up from the ATMEGA328 or 2560. 48MHz, 32 bit ARM Cortex-M0+, and loads of flash and ram.
I have several of these boards and am dabbling with CircuitPython (I finally a compelling reason to learn Python!). I have a couple/few each of Circuit Playground Express, Feather M0 Express, Gemma M0, and the most recent: the Trinket M0.
Some advantages of the Gemma and Trinket boards is their small size. One effect of this is that there is limited board space, which means that neither of these boards include an exteral SPI flash chip that the “Express” boards include. This means that you are limited in the amount of application code (in Python) the board can contain. Note that if you’re working in C/C++ you will be able to fit far more application code; most likely you will have more than enough space for your code. Now, since the Trinket and Gemma boards are also limited in their I/O connections, having a limited amount of code is probably not going to be a huge problem.
Even so, my first thought when I ordered some Trinket-M0s was to wonder what would be involved in adding an SPI flash chip. After some research, hacking, and digging through code I have a working Trinket M0 Express.”