Loudness detector and … 3D printing filament story

Today, we have continue to work on the MEMS micro with Alexis, and Samuel has also participated to the code. I would like to thank for their help.

We have changed the filter since yesterday and now, the ST Microelectronics PDM library is used. We have implemented a loudness detector whick sends an event when the loudness goes over the specified threshold.

For the test, the concerning thread was nearly the only one working running but tomorrow, I will test it in parallel to the others ones. These future results will indicate to us if we will be able to capture a usefull sound during the game, and also if the voice recognition will be possible. To be continued…
I let you see this feature with the following video :

Moreover, this morning, I have finished some modifications of the 3D Model. Nevertheless, we were not lucky with the 3D printer today. In addition to the lack of 3D filament, we got problems, 3 times, with the printer because of knots on the filament. We tried and succeed a really tricky stuff, with the Expelliarose team, to roll up a coil of 3D printing filament on an other coil, suitable with the 3D printer used. I give you our tools and let you guess the process : a broom, a coat rack, a pen, a drill, … 😀 It was a very funny and interesting teamwork.

Now, it’s time to sleep for me. Bye !

Microphone check, one, two, one, two…


Yesterday, we’ve worked on the microphone with Alexis. As using the I2S protocol is more practical for us but it isn’t implemented on the 2.5.6 version of ChibiOS, we decided to add its implementation, available on Chibios 3. Once the good configurations set, we finally succeded in making the clock and the data transfer work.

After this, we added a processing to make the raw data useful. For this, we used a library that implements decimation signal processing and a low pass filter. In this way, the microphone capture the sound 😀

Now, we just have to apply a band pass filter to delete some unuseful data. The next step will be the sound recognition 🙂

PS : Thanks again to Alexis, for his HUGE help.

Bye !

I’m working against the clock but the MEMS micro one is working against me !

Since thursday, I’ve been working on the microphone. We have decided to use this micro, in a first time, just for capture the sound intensity and force the player to scream during to scream during a spell.
In the future, we’ll maybe use it to make some voice recognition, using the same algorithm employed for the motion recognition.

But so far, I still get problem to receive the data from the microphone. We are linked to the processor thanks 2 pins that provide a possible using of I2S, with I2K CLK and I2S SD.
I have configured the different registers to not only to have a correct clock but also to precise all the I2S characteristics choosen, as described in the documentation.

Despite this, when I read the SPI status register, I don’t see the “receive buffer not empty” flag enabled, what means that any data was received. So, I think this a clock problem because the data transfer is dictated by the clock. I wanted  to see with a analogical analyser the clock but the pin is too small and it’s too risky. Then, I’ve decided to just check the clock pin with a direct reading of the pin but for the moment, I see a fixed value. I’ve enabled the SPI2 clock, which is available on the same pin, but it still doesn’t work.

I must have overlooked something but I will try and fix this issue quickly.
If anyone has a idea that may help me, there will be most welcome 🙂

See you !