Since last Sunday, I mainly focused my work on 2 elements: the schematic and the audio decoding.
Let’s start by the schematic: on Sunday evening, I changed the voltage regulator in our schematic because the previous one was too weak: in case of current peaks (expectable because the supply block is not perfect), it would have burnt: not a good idea. The new one is much stronger. And I also added the powerful LED. Then Alexis reviewed this schematic, and I made some corrections. After the last corrections made by Tanguy on Tuesday, our schematic seems to be good enough so that we can start the placement/routing phase.
Alexis proposed us to use a small motor instead of a servomotor to make the leaves move. A quick test showed us that it wasn’t a good idea: the motor he gave us to test rotates far too quickly. He also showed us another servomotor, the HD1370A. I tested it and it seems to meet our needs: it’s small, rather powerful and cheap. We will thus use it for our project.
Since Monday, I work on the software audio codec. Samuel helped me on Monday and showed me that the first one I’d found couldn’t work for our project because it requires a Linux system. He found another one, which can work on a bare-metal system. It’s called Helix and the API is quite clear, but it lacks a good documentation. By chance, I found several projects for STM32F4 that use it, so I can see what functions they call, when and in what order. After several hours of work, I finally managed to decode a mp3 file stored in flash and to play it on my development board. There are still some imperfections in the sound produced and I have to investigate a bit to find where it comes from.
For the second part of the week, we have to work on the PCB. Tanguy will probably do the main part of this job. I will continue to work on the software codec, in order to find the remaining errors and I will have a look to the server (that will be written in Python using the framework Pyramid).