Nordic FOB problems

I’m trying to use the Nordic FOB with a nRF24LU1+. However, I only receive data from pressing 3 of the FOB buttons, and the data I receive is partially corrupted.

When I press any of those three buttons, I receive a packet that has a bad button press code (it’ll jump around between 0x09, 0x19, 0x11, 0x17, etc), but an ok rest of the packet (# of presses looks ok, last byte is 0x00). If I press either of the other two buttons, nothing happens, and the button press counter doesn’t increment.

I’ve tried reprogramming the FOB with the current firmware from the product page, but that didn’t help. I noticed the battery voltage was ~2.9 V, so I replaced it with a new battery (showed ~3.3 V). About 30 minutes of debugging this later, the battery voltage was ~3.1 V, which seemed like a pretty quick drop. I’m satisfied that the receiver code is working, since the rest of the packet looks ok. I noticed CRC is enabled for the packets, so I should be getting what’s sent.

Anyone have any suggestions before I contact SparkFun about this?

Thanks,

Carson

I have two FOBs. the last one i received had some corrosion on the button areas on the circuit board. I had to clean (alcohol) and polish the copper matrix in order to make it work better.

My symptoms were flakey button presses. Often had to push the buttons several times to get reaction from the receiver. I dont know if i got a random value like you or just nothing.

Its better now but has never worked as well as my first FOB.

So maybe check for corrosion?

I eventually narrowed it down to a problem with reading from the input pins. I switched the packet data to send the button press count followed by two empty bytes, and I could receive that fine, so I think my RX code was alright. I kept messing with it and eventually all 5 buttons worked, but 3 of them still didn’t send the right value, and none of them sent the right value consistently. Maybe some flux or a solder bridge on some of the input pins?

I emailed Sparkfun tech support and they asked me to send it back.