I've become fond of the CH552g for projects as it's simple like AVR unlike something like ARM, but it doesn't require a programmer and has built-in USB support from the factory, unlike something like AVR but more like ARM.

To ensure I don't have to constantly order pcb after pcb, I've created this dev board that can go on a breadboard, so I can prototype with the chip more easily.

See ordering, code building, uploading, etc info for Linux and Windows on the GitHub site linked below