Bought an Adafruit Trinket M0 on a whim in a recent order. I thought it was going to be just yet another little Arduino type board. Boring... Turns out it is that, but it's also more, and it's pretty cool.
This isn't a new thing, but it's new to me. The board is set up out of the box to run CircuitPython, which is Adafruit's version of MicroPython. When you plug the USB into the board to power it, it shows up on your computer as a tiny drive with some files on it. You load main.py and edit the Python code contained within. Then when you save, your new program runs. It's just that easy! No programmer - no Arduino uploader. Just edit the file and save it and it's running. It's that simple to use. I love it!
You can use a serial terminal on your host computer (or there's one built into Adafruit's IDE) to serve as a text output and for error reporting, and to use the computer keyboard for input. No extra wire needed - it uses the USB to emulate serial. All super easy to use.
It can also be set up to use Arduino code if you prefer.
Adafruit's documentation is very well done. It holds your hand very nicely for the first while until you're up to speed, and then shows you the libraries and away you go, with simple example code for everything to get you started. Nicely done!
They have their own IDE for it, but they also explain how to work with your own software, and they explain everything very clearly for Windows, Mac and Linux. Nice!
Early on I managed to brick my Trinket M0 by screwing around with things while not knowing what I was doing. Adafruit supplies a little "eraser" file that zeroes out the chip - very simple to do - just double-click the Trinket's reset button to put it in bootloader mode, wait for another little drive to show up on your computer and drag/drop the erase file to that. Then you just drag and drop the CircuitPython files back to the Trinket and you're back in business. Takes only a few seconds. Again, nice!
The CPU is an Atmel ATSAMD21, running at 48MHz. The board has only five GPIO pins, so it's pretty tiny. It has a voltage reg onboard that outputs 3.3V on one pin. Another pin outputs the 5V from the USB - if you're not using the USB you can backpower with 5V to this pin. There's another BAT pin that allows you to power the board with 3-6V unregulated.
The board has a red and a green indicator LED, as well as an RGB DotStar LED. The red and RGB LEDs flash various status and diagnostic codes when you're working with the thing, and you can control the red LED and the DotStar with your own code.
Anyway, I'm glad I bought it. It's quite a neat little product. I hope they come out with some bigger boards that run CircuitPython.