Arduino looks interesting, and a quick scan of the website ticks the required boxes.

Looks like I need to decide between Arduino, CuBloc, or PIC :-/