I'm hoping you guys might help me find an appropriate microcontroller and/or development board for my needs. I keep finding ones that I think I'm going to like, but then I discover a nasty deal-breaker an hour into the documentation.
Programmable USB interface (can behave like an arbitrary HID)
Small, breadboard-friendly form factor
Lots of GPIO pins
Cheap (<$10, <$5 is even better)
Support for generic/open toolchains (GCC, OpenOCD, JTAG, etc...)
Reasonable long-term availability (several years)
Integrated peripherals that consume GPIOs
Dedicated headers for specific peripherals, or special integration with branded peripherals
I basically just want a bare chip on a minimal dev board. Here's what I don't like about the popular choices:
Teensy: magic drag-and-drop bootloader and MINI54TAN chip
mBed lpc1768: web-based development environment and "mBed Interface" chip on the bottom.
Arduino Micro: ATmega32U4 is a little underpowered for my needs... not enough GPIO.
Discovery and Nucleo boards: don't know enough about them... is there a big development community? Do they have that "mBed Interface" chip? (they're listed as "mBed Enabled")
LeafLabs Maple Mini: Retired, and I don't want to encourage knock-offs.
And pretty much all of them are too expensive for me to buy a couple dozen just to have around. I get the feeling that a lot of the popular development boards owe their high prices to all the extra hardware needed for the integrated programming features. Don't get me wrong, I like in-circuit programming, but I don't need additional embedded microcontrollers. Self-programmability over USB is a cool feature if the chip itself supports it (rather than some cleverness using another embedded controller).
I'm not afraid of whipping up a quick board design and making my own dev boards, but that opens up a huge question: what chip should I use? Which chips don't use much supporting circuitry? Which chips have a thriving community? I'd *love* to find a nice chip with a few complete GPIO ports for fast parallel communication...
My guess is that I'm looking for something with a Cortex-M3 or M4, but I can be convinced otherwise.
Thanks in advance!