robca: Fair enough about the 32-bit uC. I ended up going with the Atmegas as it is what I am familiar with and it had all the things I needed. I initially just wanted to go with a 328P but then I chose to go with the 32U4 for its USB functionality. I should just get a small dev board and have a play around with the 32-bit ones... Might just grab one off eBay and give it a shot and use it in my next project, whatever it may be!
I highly recommend getting an ESP32 board (pretty much all have the same functionality, as long as you get one with the USB integrated. There are even ones with integrated LCD screen, if you want:
https://www.banggood.com/LILYGO-TTGO-T-Display-ESP32-CP2104-WiFi-bluetooth-Module-1_14-Inch-LCD-Development-Board-p-1522925.html. If you want hardware debugging for those, you need a F2232L board, which can be used as SWD for the ESP32 line
Up to a year ago, I would have also recommended a Blue Pill, but these days a lot of the Blue Pill boards on eBay have a face STM32, some with a lot of problems. So still good if you are an expert and can make them work, but not for a beginner who would waste a lot of time chasing board issues
https://www.eevblog.com/forum/microcontrollers/cheap-bluepill-very-likely-it-has-fake-stm32-right/. Probably one of the ST Nucleo boards with an STM32F4 would be a good choice. Slightly more expensive, but also immensely more powerful than an STM32F1. The Nucleo boards also have the ST Link on board, so you can hardware debug as well. Or you can build something like this
https://github.com/profdc9/STM32surface plus a ~$3 ST Link clone on eBay.
https://robotdyn.com/catalogsearch/result/?q=stm32 also has a lot of very good, well designed boards.
The STM32 support USB natively (even USB OTG), while the ESP32 does not and requires USB Serial chip. But on the other hand, if you use the WiFi functionality of the ESP32, you can program only once an OTA bootloader, and from then on the device can be updated over the air via WiFi. There are also a lot of libraries to help preconfigure WiFi on any network, so it's very easy to design a device that can self provision over WiFi and update over the air