Problems with sound and on/off button

I have had my prop board soldered for a bit and was having some trouble uploading the code for the lightsaber example project, but now I have the code on the board and I have 2 major problems: 1, I press the on button (sometimes I have to press it more than once) and the LED turns on, but no matter how many times I press the button and how long I hold it down it will not turn off. 2, There is no sound coming out of the speaker. I have the audio files on the microSD card, but it is possible it isn’t set up properly or it is having trouble accessing it. I just updated the board software and added the #include <SD.h>, but still no luck. It is possible the speaker is broken and I am likely going to order another one and test that instead, but I’ve been trying various things to debug it and nothing seems to be working. Has anyone else had this problem? Is it likely a code problem or an electrical problem?

Hi @mathtapmusic,

What code are you using? The one from the tutorial? If so, I think the problem could be hardware-related. Perhaps showing some pictures on how you connected it could help.

Regarding the button, a faulty one can explain the problems you see.

Regarding audio, you can check the return value of the play function and output some error to the serial port, like:

void setup()
{
  // Add this line to your setup() function
  Serial.begin(9600);
}

Find the parts where audio is played.

// Play ignition sound
if (fx.play("on0.wav") == false)
{
  Serial.println("Error opening file");
} else {
  Serial.println("Everything is OK and I should be hearing some audio");
}

At least you will be able to differentiate if it is your speaker or there is something with the SD/files. Adding <SD.h> won’t help in this case.

Ok, I tried adding the code, and when I press the button to turn it on the state changes to state 2, then back to 0 when I long press it again, but still no audio and the LED stays on. This should mean the wires on the button are working properly then, right? could it be the LED wires that are messed up? Here are some pictures…

Hi @mathtapmusic, did you check the speaker connector pins?
Looking at the pics it seems that the pin near the SD connector is not soldered correctly to the PCB.

I think it’s ok, the bottom is soldered well and the top just has a little bit of the gold showing and I think the flash made a kind of weird glare on it. Either way I suppose I would still have the on/off problem.

I checked and I think the problem is that it’s not finding the files on th SD. The ledRampDown function wants a duration, and if it’s zero (because cannot find the file) the LEDs will stay on.

Try reformatting th SD as Fat 32 and copy the files again. Try with this tool: https://www.sdcard.org/downloads/formatter_4/

Ok, I finally got my new micro SD card today because the one I was using before was from my raspberry pi and I didn’t want to delete anything. I tried reformatting it, but there was no option or anything for Fat 32, so I just did quick format and it still didn’t work :confused: What now?

Ok, let’s start with the simplest test. Copy the idle1.wav file to the SD and make sure that you can open it and hear it with a Windows PC.

Then start a new sketch and use the following code:

WavPlayer myPlayer;

void setup() {
  // put your setup code here, to run once:
  Audio.begin();
  Serial.begin(9600);

  if (myPlayer.play("idle1.wav", PlayModeLoop))
  {
    Serial.println("Playing");
  } else {
    Serial.println("Problem reading");
  }
}

void loop() {
  // put your main code here, to run repeatedly:
}

Open the serial monitor at 9600 and if you read “Problem reading” then there is something with that SD.

Let me know also the brand and model of the SD. Thank you.

Sorry for the late response. I just did the test, and on both the micro SDs I tried it said Problem Reading. The brand I just got was SanDisk and the model is (I believe) SDSDQM-008G-B35A. The older one was SanDisk Ultra and I’m not sure what model it is. It came with my raspberry pi. Both are 8 GB

So, to summarize: you have tested with two SD cards. The first one came with the Raspberry Pi. The second one is a brand new SD that has never been used in a Raspberry Pi. Is that correct?

May be the first one cannot be used because it is partitioned in way the PropBoard file system doesn’t like. You can check this with the Windows Disk Manager (execute compmgmt.msc and then go to Disk Manager). If you see several partitions, then it could be a problem. Please, do the same with the brand new SD.

In the meantime I can check if there is an extra beta PropBoard we can send to you.

Yes, that’s correct. The first one came with the Pi and the second one is new and has never been used. Thank you!

Ok, the one that came with the Pi has multiple partitions, but the new one is fine. I’m not sure what to make of this :confused:

OK, so far, the real test was done once using a well-partitioned, FAT32 SD. I would say if you please can test again using another new SD of a different brand, just in case. We tested several here, and we’ve never found any problem. I will try to get a SDSDQM-008G-B35A myself (found the datasheet already).

In the case it still doesn’t work, we would want to have that board back (replaced with another one) for analysis. I will contact you by email to arrange the shipping.

Ok, thank you. I don’t think I have any more micro SD cards here, and even if I do they are likely the same brand, but I can get one from Amazon or something. If I have to return the board, would you like me to leave all the soldering connections on it with the LED and speaker I currently have on it, or do you just want what’s soldered on there currently?

Keep your LEDs, button and speaker. If you have trouble removing those green screw terminals, leave them and we will remove them here.

Hi Ivan,

I have also a trouble with the sound part of the board. What’s strange is that works until now.

I checked my SD card and all is ok, I also changed the speaker in case but i heard nothing.

I know the board works correctly cause the LED part and the motion part works correctly (My LED Flash when i hit the board)

do you have a test procedure to check if a component of the sound part is broken ?

Thanks

Sorry @Dadoo for the late reply.

So the WAV files are being read. If you have doubts about it, please check with the code I’ve posted before

Using a tester you can measure the following:

  1. This point must be at 3.3V
  2. This point must be at 3.3V if the board is powered with 1 battery, or 5V otherwise

If you measure 3.3V at point 1, the codec is powered. If you measure 3.3V or 5V at point 2, the power amplifier is powered.

If point 1 and point 2 have power, please measure using a oscilloscope on the point 3 to see if there is any audio signal.

I think she is dead cause:
0V to point 1
3.3V to point 2
0V to point 3

What can I do ?

@Dadoo, are you powering the board with a single battery (3.7V to 5V range)?

The board is powered by a single 3.7V cell