I was really annoyed at all of the Arduino-based DDR pad firmware out there so I ended up writing my own using modern C++ and what feels like reasonable software engineering practices. As a bonus it actually feels really precise. Check it out if you're at all interested. https://git.beesbuzz.biz/fluffy/DDRuino/
The main difference between this and all the other firmware I could find is that configuring the key mapping is really easy, and its debouncing actually works.
It does require something with built-in USB host support like a Leonardo or a LilyPad. And since I'm using actual C++ flow control it does need a little more EEPROM space than most firmwares, but I mean, as long as it fits, right? You're not gonna be running an OS on this thing.