Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Issues with the B Button and Shutdown
I have a Freeplay CM3 that was built in December 2018 per the sticker on the board.  Up until a couple of months ago all of the buttons would function normally and the shutdown slider would trigger the shutdown process.  Then using it one day, the B Button stopped working entirely and I could not get it to shutdown via holding the slider to the right for a couple of seconds; and in my panic I simply pulled the battery.

Well now with the corona-virus keeping me at home, I decided to try to reconfigure it, so I downloaded the CM3 image from March 13th, 2020 (Freeplay_CM3_20031301.img) and installed it to a freshly formatted micro SD card.  With that fresh install the B Button still would not work, nor does holding the power slider shutdown the device (this time I did use the shutdown command in retropie successfully).

Reading around on the forum I have also tried the following in order:
- open the case, using isopropyl alcohol clean the contacts and rubber pads and let dry --> B button still fails to work
- with the case open, power the board flip the A and B button pad --> A button still worked, B did not
- unseat and reseat the CM3 board and try again with the case open --> no change
- for grins I even tried using the B button pad on different contacts and they continue to function

Have I missed anything else to try?
*side note I have never soldered anything nor do I have a soldering machine

Thank you for any input or assistance
I hope you are safe, I am also stuck home for the same reason.

Something you can try thru SSH (it will not solve the problem but help for diag):
watch -n 0.1 -d gpio allreadall
This command will allow you to see in almost real time what is happening with all GPIO "pins" (I2C, SPI, ... included).

If the command doesn't work:
sudo apt-get update
sudo apt-get install wiringpi

Pin list (I hope to not make any mistake, don't have the device with me):
Up : 17
Down : 4
Left : 6
Right : 5
Start : 19
Select : 26
A : 16
B : 24
Right Trigger : 23
Y : 18
X : 15
Left Trigger : 14
Hotkey (Power) : 20
Hey Porcinus, thank you I am safe and healthy and I hope you are as well.

So it took a little bit but I was able to run the watch command as you directed and here is what I got back:
Pins 12 and 13 and were blinking the whole time

Left Bumper: 14
Up: 4
Left: 6
Right: 5
Down: 17
Start: Both 18 and 19 blinked
Select: 26
Right Bumper: 23
X/North: 15
Y/West: 18 and 19
A/East: 16
B/South: no response

So I am guessing something has gone haywire with the underlying board?
So far, I am safe too Wink

I think about 2 possibility:
- The compute module is faulty (I already damaged 2, it can go bad pretty fast without notice, a pin just die).
- You can still have a false contact even after re-sitting the compute module.
- Some traces are damaged.

For the second one, you can also try to clean both module and socket contacts. For the socket, you can use a piece of paper but beware, don't bend any contact.

Do you notice any traces of corrosion on the board or the compute module?
If so, this can be caused be sweat, sadly without soldering iron, it will be difficult to do something :/

If you have a multi meter on hand, here is a old picture :    
I didn't include power because it use 2 pins, 20 and not sure for the other one :S
Well I took it back apart and cleaned the contacts on the cm3 board itself, and while it looks like that fixed up the issue with the start and Y buttons, the B button was still dead. I will give it a shot cleaning the socket contacts tomorrow. So dumb question, I have a multi-meter but I've only used it for my riding lawn mower, what/how would I use it on the CM3?

Thanks again for all of your suggestion thus far, pushed me to try somethings I am not familiar with Smile
You should use the multi-meter in resistance test mode (not sure of the English name), the highest value.
First, you will need to found what part of the pad is ground, it is common to other pads, you will need to use the other part for the continuity test.
If there is a continuity, you should read 0.

I have a picture of a old motherboard, for B, the part of the pad that interest you should the second or the last (a trace touch the B marking).
Hey Porcinus,
   Im still not having any luck with the CM3, but I have attached a picture of the board.  I am pretty sure its just corrosion.


But I do have another question, if I picked up another CM3+ board what type of board would I select or does it matter between the Lite, 8GB, 16GB, or 32GB?
CM3 motherboard aren't compatible with EMMC version, you need to take the Lite version.
If you go for a CM3+, you may have to update Linux plus the kernel.

To limit troubles, the best option is to reflash a SDcard using the lastest image from
I think it is Freeplay_CM3_20042001.img.gz

Connecting thru WiFi, you should be able to backup your old saves / Roms and configs.
To enable Samba : On main page -> Retropie -> Retropie Setup -> Configuration / tools -> Samba -> Install Retropie Samba Shares -> Then Cancel -> Back -> Exit
Once done, you should be able to connect via the Windows network share.

Edit: Totally missed to check the image, there is a lot of corrosion here, how the socket look?
Thank you for all of your help Porcinus. I just put in an order for a cm3+ lite and I will reflash the SD card once the new board comes in. I will also try to find some higher proof isopropyl alcohol to try and clean up the corrosion. The socket thankfully looks ok.

Forum Jump:

Users browsing this thread: 1 Guest(s)