LEDzep – Viderose

Hi all,

Friday we eventually managed to fix most of our issues, which allowed us to have a working prototype with a very rudimentary control system, even though it was a first draft it was rather cool 😀

Saturday I spent all day (and night) soldering with Alexis and Daniel, and was rather happy to discover that I was able to solder 0402 components (even there was a lot of free space around the components), we now have our 10 PCB soldered !

Later I tried to improve the barometer measurements, as they were not very good …

I also helped Daniel adapt the Invensense library for the mpu9150 for ChibiOS and STM32.

From now I will spend all my time on improving the altitude measurement and flight control until I consider they are good enough 😉

LEDzep – Servos and Motors

Yesterday and this morning I worked on driving the servos and the motors.

It was a bit harder than expected since the two timers the servo used both had weird behavior with Chibios. The first one TIM8 had advanced functions not supported by Chibios (we were on an N channel, so I had to change a bit in the CCER register in order to switch the polarity of the channel), it wasn’t hard to fix but took me a while to find where the bug came from.
The second timer TIM9 had an issue on his PWM function, the frequency was twice what it was supposed to be, after a while trying to figure out why it behaved this way Sam told me to check the implementation made by ChibiOS/RT of the clock, after a while reading the datasheets (and checking the implementation which indeed respected the datasheet) I decided to look on the ChibiOS/RT support forum and discovered that it really came from ChibiOS/RT and was discovered the day before … Eventually I solved the problem by taking another timer as we still had a few free ones.
Once I solved this problem it let it rest for the night and finished it this morning, Thomas took a nice video you should see it soon.

I also worked on the H-Bridges, after losing two hours on a stupid board.h issue (I forgot to put pin linked to the enable of the H-Bridges as outputs …) they were running !
Later I fixed an issue which allowed us to control the speed of the motor (but only when they turned forward) when I looked at the signal with the oscilloscope I discovered that the PWM for the backward rotation wasn’t generated properly … I was sick with PWMs for that day and decided to call it a night.
This morning Thomas discovered that it was a simple sign issue in the code so we fixed it, and now both the motors and the servos are working !

See you soon 😉

LEDzep – Here comes the PCB

Yesterday, I finally had a PCB to work on !

After spending a few days acting like a kid before Christmas awaiting his presents (here LEDzep’s PCB), Santa (here Alexis) brag ma my present 😀

Isn’t it a nice board ?


I had a few troubles making it work at first, as I used the wrong linker script at the begining and forgot that it had a 16MHz clock instead of an 8MHz one.
Nevertheless after Alexis and Sam explained me which PLL values to change (and thus saving me quite a while of datasheet reading) I manage to make the board work !

I had time to have a LED blink and use the LED strip on the balloon and it was rather encouraging !

Later I worked on driving the servos and the motors, I realized that we most likely would have to patch my gift, as the servo connector didn’t have the proper wiring nor the good voltage (they are plugged on the LiPo battery which gives between 3.3 and 4.2V whereas the servo datasheet asks for at least 3.6V so we will have to see if they respond at a lower voltage :/). I was stuck a little bit on them so I didn’t manage to have them move properly (our previous code wasn’t working as expected), but I am confident that by tomorrow afternoon we will be able to drive both the servos and the motors !

Our only lasting foe will be the controll system, but I’m rather optimistic !

See you soon 😉


Hi again !

Friday was supposed to be a great day, we were supposed to finally receive the last components needed to solder our PCBs.
Unfortunately, UPS didn’t plane it that way, and due to an “exception” we will not receive these last components untill Monday …

So as I was a bit pissed of, I didn’t feel like coding and thus started soldering the LEDs for our balloons (you saw only one ribbon), I took me quite a while (about 10 hours) but had the merit to change my mind as it allowed me to listen to some good music 🙂

I was rather happy when I tested the ribbons and realized that I only had 3 bad solders on about 2000, and 7 out of the 9 worked perfectly on the first attempt. I have to admit it made me rather proud.

Here are some picture of the assembling of the ribbons :

IMG_20140411_203257 IMG_20140411_203303


IMG_20140411_224042 IMG_20140411_224156

Some kind of time lapse, of a ribbon assembly :

IMG_20140411_224343 IMG_20140411_224600 IMG_20140411_225024  IMG_20140411_225210 IMG_20140411_225407

And the final result :



While soldering I also had a hangout with drix who explained me how to properly power the TWI (and by the way making me realized that I should have started by looking at the schematics instead of trying all the wiring combinations that came to my mind ^^), I’ll be working on it this afternoon hopefully it will work this time ^^


LEDzep – TWI, LEDs, nRF, refactoring and presentation

Well it’s been a while, but I haven’t been inactive !

This Week-End I mostly (and only) worked on the final presentation as I was busy at a hackathon Saturday (which served as a great day off with lau and former ROSE students).

Since then I read some other application notes on the nrf51822 (and managed to remember the full name of the chip doing so ^^). Thanks to that I’ll (hopefully) be orders of magnitude more efficient writing code for it.

Later we planned to work with Thomas on using the Digital Motion Processor of the mpu9150 (which we overlooked at first), which could do all the angles calculations and tap detection, and thus saving us a lot of time. To do so Alexis and Sam lent us two TWIs (a great board made by drix !) which already has a nRF51822, a mpu9150 and a serial port : all we needed to get to know the DMP. Unfortunately we haven’t managed yet to find a way to lower the voltage of our JLINK probes, as the nrf has to be flashed with a 1.8 voltage and our probes are configured to give 3.3V. We tried quite a long time (about a day) different tricks to find how to do so, eventually we will have to write a jlink script to reflash our probes (we hoped to find an option to do so in command line, but no success so far).

Today, I remembered that we had a PSSC to fill : having a balloon structure with LEDs, so I ‘improved’ Thomas great structure by putting LEDs on it. So I had to spend a while soldering, but the result is rather nice, as you can see 🙂

Capture d'écran de 2014-04-10 02:42:11 IMG_20140410_003917 IMG_20140410_003929  IMG_20140410_004220 IMG_20140410_004439


EDIT : as Alexis asked, here is a little video


LEDzep – Some work on the BLE

This weekend and the beginning of this week I worked with Benjamin on the nRF51 chip, we mostly worked on having a working UART while still being able to use the BLE (which wasn’t a piece of cake as we cannot do multithreading with Nordic’s software). So we had to use interrupts, we were later really pissed of as we realized we had a working code which didn’t throw any errors even though we didn’t observe any communication with minicom, until Benjamin realized that we forgot to put a pull down resistor on the CTS pin …

Today I did some research on the BLE when I discovered (rather lately to my taste), Nordic’s application notes which were much more clearer than the source code. I managed to understand how to do simple advertising so that I could deal with the altitude issue (with one altimeter advertising its altitude).

And as you have been very nice here is a picture of Benjamin’s and I working station (as you can see we are ready to kick some asses) :


I then debugged the LED strip code and it is now functional with SPI (damn you hardware bug).

LEDzep – Pictures !!!!

Be careful, this post will be full of pictures !

First of all, we send our PCB schematics to PCB Pool yesterday afternoon and we received the first pictures of it yesterday night 😀

ledzepBIE533ae6c20a6d0_02_seite2 BIE533ae6c20a6d0_02_seite1 Dzep2 Dzep1


It’s being made much faster than we even hoped, and that’s awesome !

I also worked a while ago on the barometer in order to get the altitude of the balloons and the results were rather encouraging. Following Sam’s advice I let it run for a night (between 4am and 11am) and here are the results.


As you can there is a little issue about the stability of these measures, hopefully after seeing this graph I did a new measurement and the altitude stayed the same, which means that this bias is due to the pressure and not a problem with the sensor. Using a second barometer kept on the floor will allow us to fix this issue, as both will have the same bias (as it’s due to the pressure and not the sensor), and the difference between the two altitude will give us the real altitude of the balloons. We will connect it to a computer and advertise its measure with a BLE dongle and each balloon will be able to easily determine its altitude.
Furthermore it would allow a fun way to control the altitude if the balloons by simply moving the reference barometer (the one on the floor), lifting this one would have all the balloons fly higher 😀

LEDzep – Board and BLE

Today I took a little rest and only worked the afternoon.

As Thomas routed the new PCB version (a ‘little’ updated by Alexis) I checked the pinout while I created the project board.h. It was longer and more boring than I expected, but we should be able to use this one as soon as we receive out boards. I also tried to configure the peripherals of our future board, but after an hour of doing so I realized that it was rather useless as I wouldn’t be able to use it and would probably have to rewrite it completely…

So I started to work with Benjamin on the BLE, he welcomed my arrival rather warmly as he was working alone on it for a week. After creating a clean repository, he introduced me to sole of the BLE subtleties and we managed to tackle a bug that troubled him this afternoon.

We also established a roadmap of features we will need for our different projects which will help us to work smarter and together 😀

Next step : Trying to implement data streaming from the BLE chip (if it’s possible in connected mode), implement communication between the nrf51 and the stm an then call functions remotely on the stm.


LEDzep – Long live the PCB

These last days I worked on the LEDs (after I was done with the bit banging i had to use SPI with DMA).

We also worked a lot with Thomas and Daniel on the PCB, the schematics were finished yesterday and we drew the PCB this night (for me) and this morning (for the others). Unfortunately my nightly version wasn’t selected (thus the title of the post), fortunately we worked all together this afternoon and were able to pick the best of both versions in order to have the BEST PCB EVER ! (should Alexis say it’s ok).

From now on we will be able to focus more on the software part of the project (at least until we receive the soldered PCBs), which makes me rather happy as I am eager to code 🙂

LEDzep – Working on the BOM

Yesterday i worked a little on the LED stripe, the results were rather great and we were convinced by the LED model (WS2812b) so we will use this one on the balloons. I’ll let you judge :

Today I tried to advance on the choice of the components to use for our PCB, I managed to choose the one we are going to use : the DRV8837

Tomorrow we will choose the IMU, power regulators, battery and mic so that we can start to work on the PCB as soon as possible (tomorrow night or Saturday).