6 Comments
User's avatar
Diego Elio Flameeyes's avatar

Don't forget USB-PD. Almost all of those interfaces are themselves 8-bit MCUs (usually an 8052 variant), and some of the slightly higher level chips are... full-fledged M0s!

https://flameeyes.blog/2023/08/13/usb-power-delivery-for-hobby-projects/

Also even Espressif has a tiered system by now, ESP32 is the most common hobbyist option, but there's a number of low-power variants that have next to no use...

Expand full comment
Dave92f1's avatar

PIC32MX

Expand full comment
skybrian's avatar

As a hobbyist who's more comfortable with programming than with designing circuit boards, I've only used USB-programmable single-board devices. My current favorite is a Raspberry Pi Pico, or a Pico-W for WiFi. So, what the chip can do is less directly relevant to me than what the board can do.

These 32-bit chips are pretty complicated, but it seems like that doesn't mean the board or programming environment have to be? And since they have through-hole pins, I can solder socket headers onto them, or maybe something else if I could decide on a better connector. (There are too many to choose from; after reading about many of them, I gave up.)

But sometimes I've wondered about a no-soldering solution: suppose there were a board with *two* USB ports on opposite ends, basically to act as a programmable dongle. It could plug it into the laptop with a USB-C connector and use the USB-A on the opposite end for whatever peripheral I wanted to plug into it. It could run without the laptop if plugged it into a USB battery or wall adapter, which means that I don't need to think about power supply issues either.

I guess this would seem pretty over-built to someone who works at a lower level, but the nice thing is that USB ports are designed to be hot-pluggable and people know what to do with them.

Expand full comment
lcamtuf's avatar

I think that makes sense; just keep in mind that especially on the 8-bit side, these "prototyping" boards can give the wrong impression - that you need a bunch of external components to use the MCU. In reality, you just buy a through-hole chip, hook up anywhere between 1.8 and 5.5 V to two pins, and... that's it. For AVR Dx, you'd then hook up a cheap and reusable USB dongle programmer to a third pin and send code. That standalone programmer is an up-front expense of $25 or something like that, but it saves you money in the long haul - $1-$2 per chip, versus perhaps $5-25 per board. The added perk is that these programmers support remote on-chip debugging, so you can single-step through your code, inspect registers and variables, etc.

For 32-bit MCUs, it varies. Some are similarly plug-and-play, although you typically have less leeway with supply voltage. But some, like RP2040 (the basis of Raspberry Pi Pico), actually require external memory, so a board is pretty much a must. Plus, it does save you SMD soldering, because through-hole 32-bit MCUs are pretty much non-existent.

Anyway, I don't think you're doing anything wrong, it's just that weaning off these boards is often easier than one suspects. Again, not for RP2040, but if you want to stick to Cortex-M, Microchip's SAM series or ST Microelectronics' STM32 series chips are pretty much plug-and-play.

Regarding the no-soldering solution... I don't recall seeing anything with USB "output" (well, except for SBCs like the "big" Raspberry Pi). I'm sure you know there's plenty of boards with a PCB header for GPIO, so you can use breadboard jumper wires or make your own connectors with ease...

Expand full comment
Ben Hekster's avatar

For me, there's an overriding reason to use an 8-bit MCU: through-the-hole packaging. I don't think I could handle anything like LQFP. Perhaps even more than that, though, it just feels _wasteful_ to use a full ARM core for something that can be easily handled by a PIC.

Expand full comment
lcamtuf's avatar

It certainly helps for quick prototyping!

FWIW, if this is the only thing holding you back from trying out an interesting chip, consider cheap SMD-to-THT breakout boards - stuff like this: https://www.amazon.com/Stargazer-Breakout-SOIC-16-TSSOP-16-MSOP-16/dp/B07YRC1GHQ/. While 0.5mm xQFP is pretty demanding, packages like like SOIC-28 don't require a whole lot of effort to handle.

Expand full comment