Before going to bed


Since few days, I haven’t post because I was tired. In fact, Monday was ·− / ···− · ·−· −·−− / ···· ·− ·−· −·· / −·· ·− −·−− 🙂
After the presentation of a first prototype, we are now working on some completions.
I had for example, implementing the second capacitive sensor yesterday.

Now, I got to obey Alexis and go sleep.

Good night !

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 !

Wanderful !

Hi !

Since few days, I’ve worked on the capacitive sensor controller but I still get a problem : when I read the capacitance of the sensor I use, I always read the same value, even if I put my hand on the pin sensor.

This CapSense controller converts the sensor capacitance into a count value, coded on 2 bytes. There are some debug registers and with them, I can read the count value. This one changes when I touch the pin with something but it changes a lot even if I just plug a simple wire on it, without touching it. Alexis has decided to take the board and try and understand this problem.

Thus, today, I didn’t work on the electrode part, but I have coded the sensor detection thread. Basically, when a player puts his thumb on the sensor, if he lets it enough time on the sensor, it means that a gesture spell will be done. During all the spell, the player has to let his thumb on the capacitive sensor. Once the spell finished, he just has to release his thumb of the sensor.

Moreover, I have corrected small bugs on the 3D model of the wand and we have printed it. For your enjoyment, here are some pictures of our wand (it’s the debug version, we’ll improve the design later 🙂 ).

See you !

Capacitive electrode and the wand


I’m currently dealing with the creation of a capacitive button. Since yesterday, I can talk with the capacitive sensor controller and thus, I can read the state of a specific sensor that I’ve configured as a button.

The problem is that as soon as I plug something on the sensor pin, I got the maximum value when I read the sensor output, in counts unit. I have tryed and tunned different configuration registers but I still got the same issue.

I was using a simple iron wire with a circular copper welded on one side, and the controller sensor pin on the other side. In general, the electrodes are directly over the PCB but in our case, we want the electrode to be remote from it. So, I think that the design of the electrode wasn’t good there is no ground close to it. I am presently reading the doc more carefully and I will try an other electrode design tomorrow, based of the information that I found on one of the datasheet.

Lastly, two wands have been printed but they have been a little deform, because of they’re position during the printing, implying difficulties to fit together the different parts. Mickael has adjusted some parts of the wand this evening to avoid this problem during the next printing of tomorrow.

You can see below 3 members of the Expelliarose team and the actual printed wand.


Good night !

Communication I2C with the capac sensor controller


Yesterday, I have worked on the I2C communication with the capacitive sensor controller.
I got a problem because I received a NAK when I tried to read or write a register but, thanks to Samuel, I finally solved it. In fact, the device, after receiving its address, wakes up but sends a NAK. It expects the master to retry the transaction until it accepts it.
Now, I can read and write any registers and I’m tackling with the sensor itself, by creating a capacitive button with some copper 🙂

About the wand, we had to make some changes on it, because it has been a little deformed during the last printing. It is currently being printed and we will share some pictures of it tomorrow 🙂

See you !

3D model of the wand


During several days, I have worked on the establishment of a 3D model of the wand. I used Solidworks for that.

Our wand is actually composed by 4 parts :

  • a handle with some holes for the USB plug, the ON/OFF switch and other things. There is a recess to know how to catch it with your hand.
  • a central part to principally support the LED strip
  • an external shaft to hide the LED strip
  • th tip which contains the IR receivers and the emitter, and also a RGB led

The handle and the external shaft are linked thanks to the central part. In fact, they are screwed to the middle part. The board and the battery are contained in the handle.

3D model of the wand

I have been helped by Mickael during this task for the creating of the thread, for the screwing.

Today, we have launched the printing of the handle and the tip and tomorrow, we will launch the rest.


You will be kept in date of the progress of the printing with some other pictures. BYE BYE !


The Lab is over


I just have finished the STM32 lab. Now, I can use some basic features as the LWIP, the serial over USB, the buzzer and much more.

These elements will be very useful for the communication challenge of tomorrow but also for our project.

See you soon, bye !

Soon… placement and routing

Hi !

Since a few days, the Expelliarose team has worked on the schematic design of our card. Now, most of the components that we have ordered are available in the Expedition PCB libraries and thus, we can start placing and routing them.  We will also have to choose the shape of our PCB, which will probably be a bit special, because it has to match with our wand design.

At the same time, I have begun to get more familiar with ChibiOS and the STM32 processor thanks to the Olimex board. I currently deal with the PWM control to manage easilly the LEDs intensity.