I'm looking for an alternative to MIT's Scratch. It has a drag-and-drop visual interface emabling kids can construct programming-like instructions for on-screen actions and to control lego WeDo hardware. But despite the open source nature, there have been precious few adaptations to cheaper hardware besides lego. It seems the software has been written with no such considerations - what I've read suggests the code is complex and monolithic with no useable API for hardware interface.
I want a GUI library with behaviour like that of Scratch, purely allowing kids to visually build programming constructs. I would then write "blocks" that can be dragged/dropped and either allow reading of inputs (sensors) or writing outputs (eg lights, motors).
Are there any alternatives to Scratch?