That sounds ridiculous to me. AVR was modeled after the 68xxx/DEC instruction sets and has far simpler yet similarly powerful peripheral register setup. It does occur to me that the C (centipede) Girls may lack accurate perspective on the matter since most of the ugly details are hidden from their delicate sensibilities.
I will give you an example, I implemented a simple i/o pin library for both the AVR and ARM. With the ARM things were more intuitive, the port can be refered to using a simple pointer
uint8* const pin_gpio_B_;and the pins can be refered to using simple array notation
LPC_GPIO->B[port_number][pin_number];https://github.com/zapta/arm/blob/master/pro-mini/lpcxpresso/arm_pro_mini_lib/inc/io_pins.h Same goes for string literals, the flash is mapped to the standard memory space and you don't need special considerations to avoid duplicating the literal also in RAM.
This is subjective of course but hopefully it explains my view point.
I will say this particular board is still my favorite over any of the other ARM or AVR dealies mostly because of that drag-n-drop capability. I don't know why none of the other low cost platforms haven't adopted similar approach. There's something very nice about not needing special download utilities or drivers.
You may like also the ARM MINI NADA (do you like the name?) which is a brutal minimization of ARM PRO MINI. It's still a work in progress but the circuit does work for me.
TP11, 12 are free so you can patch them on the board to any additional pins you want to have externally. I think the crystal is required for proper USB operation (is it?), I would love to switch the internal RC oscillator. I reduced the four bypass caps from 0603 to 0402 (same values) and removed the USB data protection diodes and termination resistors (everything works and signals look clean).
What do you think? Any suggestion?
Schematic here
https://github.com/zapta/arm/blob/master/pro-nada/eagle/arm-pro-nada_schematic.pdf?raw=true![](http://i.imgur.com/6uW1kkt.png)