Motor Control Shield v3.0 interrupt - board design broken?

Hi,

I bought a “Motor Control Shield v.3.0” kit (http://blushingboy.net/p/motorShieldV3/) from a local electronics store and run it with an Arduino UNO. The kit is almost identical to http://arduino.cc/en/Main/ArduinoMotorShield. Unfortunately I’m quite a beginner in hardware and the kit was absolutely undocumented, except that I found a schematic, parts list and an example for how to run a motor somewhere at the first link above.

I can get a motor running now, but I have problems with the buttons resp. the interrupt pin. I have attached the relevant part of the schematic. When I press the buttons, the pins ENCODER 1 and 2 resp. Arduino Pin 7 and 6 are pulled to LOW. I can read them by polling. However, the interrupt pin ENCODER 6 = Arduino 2 = Interrupt 0 on board is always HIGH, except if both buttons are pressed simultanously. That way, neither the encoder inputs nor single buttons can be used with interrupts.

As much as I can tell from the schematic, the encoder pins EC1 and EC2 are meant to work with positive logic, that means, R1 and R2 pull them to low and if one of them goes to HIGH, IC1C and IC1E switch to HIGH and set ENCODER 6 to HIGH.

However, the buttons work the other way round: They switch IC1D and IC1E to HIGH and therefore always pull the interrupt pin to HIGH, except if both are pressed simultanously. In my view that makes sense only in the case that the buttons are to be used as “dead man switches” or something. However, this makes the interrupt mode unusable if the buttons are intended to be used as ordinary buttons.

Therefore I believe that the board design is quite impractical for most purposes and the buttons should work the other way round.

What would be the easiest way to fix that? Currently I am thinking about putting a 74xx04 onto the 74xx32 in “piggyback style” and reroute the inputs to pins 12 and 13 of IC1 through it. Or is there a better way?

Can anyone with more experience in electronics confirm or correct my analysis, please?

Bye, Matthias