weird problem with button press

  • so i finally have one of my boards completely wired up. everything seems to be working fine except for a couple of small things

    firstly, the button presses dont always respond, sometimes it takes a few presses to trigger

    the main problem im having, however, is that in regardless which button i press in column 1, it randomly triggers the top button. ive meticulously checked my soldering and cant find any problems.

    basically what im experiencing is something like ghosting, but with only 1 button pressed. does anyone have any idea what this could be??? i really want to fix this asap so please, any help would be greatly appreciated.

    thanks in advance

    edit: please post if you have any input at all, im thinking that i just screwed something up but i cant imagine what it is, ill take any ideas, ive been working on this thing for 3 straight days now, troubleshooting all kinds of problems, this is the only one that has me totally stumped

  • what are you using?

  • completely homebrew.

    perf board with copper pads, not through hole plated, all connections are hand wired but have been checked numerous times.

    all the right chips, i have 2 properly self-programmed atmega chips, i tried them both to be sure it wasnt a poor firmware install

    sparkfun keypads and pcbs with the diodes

    i have 2 full 40h kits worth but im just trying to get one up and running before i finish troubleshooting the other logic board, it still has a few issues

    the thing about the button presses not always registering has me stumped too, does that sound like a loose connection or something?

    oh and i thought i should mention that the schematic lacks 2 grounds and 2 vcc inputs. one ground and one vcc for the IN and SEL chips. on the IN chip, pin 12 needs to be grounded, and pin 7 needs to be to vcc. on the SEL chip, pin 16 needs to be grounded, and pin 8 goes to vcc, just thought this should be included, it took me about 7 hours to figure that doozy out.

  • the sparkfun pads have through whole diodes on them right? won't the solder points lift the rubber off the pcb a bit?

    Make sure the silicon is making contact with the pcb when u press a button.

    Also did you set the fuses when u programmed the atmel chip? I think it runs at 1mhz by default... so make sure you switched it to the external clock.

  • what would be the result if i didnt program the chip correctly? is it possible that these weird ghosting effects and inability to for the buttons to always register is related to such a simple mistake? i actually had my computer/ electronics guru roommate program the chip, but i figured that since the 1-8 binary showed up when i plugged it in, coupled with the fact that everything works, just poorly, must have been a wiring problem. now i see that unless the clock change was included in the flash firmware (if it had to be manually changed) then it must be a problem with the microcontroller after all

  • ok, chip has been set to the correct clock, and that significantly improved button response time but im still obesrving the problem with that one column ghosting the first button (edit: its actually much more widespread) . im gonna take a little video of some of the button problems.

  • ok here is a quick vid of the problem im experiencing with those ghosted button inputs

    this is running the test patch with the toggle leds set

  • looks like maybe your shift registers are off?

    the buttons and lights are decoupled, so what matters most is the OSC messages you're getting into the test patch. is the matrixctrl~ that displays input doing the same thing as the lights are showing in your video?

  • yes, that output is goofy too. i realize the leds and switches are wired seperately, i simply set the switches to toggle so you could see what they were doing using the leds as indicators.

    what exactly do you mean they might be off?

  • haha, sorry that must've been confusing. i meant off like odd, not as in the opposite of on...

    if you use the mouse to set the LEDs, they all work fine, right? so it's not an issue with the 7221.

    i wonder if there might be an issue with the dioded sparkfun pcbs..

  • the led chip functions beautifully, the symptoms are mainly that one button on certain rows fires the entire row, i cant figure out why

  • not sure ... but I would guess that there is an issue with how the buttons are wired (backwards?) ... the diodes (backwards?) ... a short on the board due to solder points on the top of the pcb?

  • if either the buttons were wired backwards or the diodes were on backwards, there would be no button output at all, hence the nature of the diodes limiting current to one direction. i cant imagine that the points sticking out the top are causing shorts.

    i do appreciate the input though, anything else maybe?

  • it sounds more and more like a wiring/short issue to me. i'd say triple check everything on the boards again.

  • ok i have checked every connection very thoroughly with a multimeter and found no shorts, im lost, and very close to giving up. ive been at this non stop for a week and since i received the final pieces 3 days ago, i have been trouble shooting my entire waking day. i have only stopped for food and sleep. i cant deal with trouble shooting something i dont understand any longer.

  • Hey Paul,

    I saw something similar with my kit when I was assembling it, sometimes a button press in the test app would toggle an entire row of LEDs.

    It was definitely a solder bridge/dodgy connection because it works fine now.

    I'd recommend taking a good look at the cable connector solder points where they attach to the board.


  • with a multimeter, i placed one end to the termination of the wire at the furthest end on the breakouts, and the other end on the header pin on the back of the logic board. every single connection was correct, and after inspecting every soldering joint from the front and the back many times, i am convinced that if there is a short, its invisible, and its practically impossible to miss one when checking with a multimeter.

  • i guess this wouldnt bother me so much if it didnt cost an arm and a leg. i wish id just waited until the kits were available because at least there are no wiring issues when you're using pcbs.

  • hi paul,

    sorry to agree, but i suspect it's a wiring short. (i've built over 400 of these.)

    the multimeter isn't the best way to check. a seriously mind-numbing visual check is the best way. try reheating solder points in the problem area to smooth everything out.

    also, make sure your fuses are set properly (as shown in the Makefile.)

  • ok, i guess there could be no harm in reheating the pads again just to be sure. i really do hope its just a soldering mistake. thanks everyone for their input