[LEDzep] It’s been a long time, how have you been ?

[that’s the opening of portal 2 trailer]

It’s been about a week since my last post, but trust me it’s because I was extremely busy 😉

Before friday I did my best to finish the lab work, it sure wasn’t easy but thanks to Benjamin’s help I manage to do it.

Then came the bloody friday as Matthieu would say. It was intense. We were left almost alone to face some technical issues we had never seen before (using ChibiOS/RT queues [which are called Mailbox ….], learning how to define and use interruptions, how to enable functionnalities in the microcontroller …). In the end it was extremely tiring (i spent about 15 hours on this) but I learned a lot, so it wasn’t that bad.

Since then i have rested a while, worked on the freeIMU and traveled through Paris in order to get balloons, motors and propellers with Alexis.

The results of the pressure + temperature sensors are rather encouraging : about 2cm of standard deviation when left alone (which is very close to the quantification noise), and 4cm when i walked with it in the lab trying to keep it at the same height.
I also moved it vertically a few times (from my feet to a little over my head) and it gave a rather smooth result with a low-pass filter as you can see here (I still have to fix the zero, but the variations seem correct, since it gives a little less than 2m for about 1.9m of variations):




Later today, we thought again with the group about the structure of the balloon (where to put the motors, how many motors, how will we use them to move), it’s still subject to questioning but Thomas proposed some great idea.

We then worked on a servo and some LEDs with Alexis.


LEDZep – Motors, battery, ESCs …

Today, we decided to finalize our choice of motors, ESC (component used to drive brushless motors) and batteries and that’s what we did with Nicolas !

We managed to chose all the component in a rather short time (~3 hours), but then got stuck on the prop saver (the little piece used to link the propeller to the shaft of the motor), as the motor we chose had a rather uncommon shaft width (1.5mm). Indeed, we looked over most of the suppliers in Europe and we couldn’t find one who had more than 5 of these (we would need a lot more if we chosed to keep this motor), eventually we chose to keep this motor and hope that Alexis and Sam would accept to buy the prop saver in the US (where they aren’t that uncommon). Fortunately the other components (batteries and ESCs) were much more easy to chose !
So we now have ordered all we need to start testing on a real balloon.

I also did a few calculations, which showed that our motors would be powerful enough to stand winds up to 5-7km/h, which is a rather good news since it means that we will be able to expose our balloons in the street if the wind isn’t very strong (for example, today it was about 2km/h in Paris).

Later as I discussed with a former ROSE student (@loikled), he asked me why we didn’t have any buzzer in our plans, and I have to admit that it was a damn good question ! Thanks to his comment we will most likely include one, as they are rather light it wouldn’t cause a lot of trouble and could be a huge plus for interactivity 😀

Eventually we planned how to spend our time for the next few days, Nicolas and I will continue to work on the FreeImu, Daniel on the BLE, and Thomas will improve his design of the support and look into proximity sensors (capacitive one sounds promising).

That’s it for today !

LEDzep – LED there be light !


Today was a test day, i spent a good part of the afternoon trying to solder wires to SMD LEDs, and trust me it wasn’t easy, as the only wire a could get was way larger than the pads I had to solder it on, as you can see



Fortunately, after a lot of tries and errors (and a few burnt connectors and fingers), I managed to get a few tests and they were rather conclusive ! I made a small space to test, with a lot of LEDs, and it looked rather nice 😀


As you can see in the pictures (the red one was this LED , and the green 1 was with one and then 3 of these LEDs)

IMG_20140309_204111IMG_20140309_204019 IMG_20140309_205338

This helped me to get a grasp of what Candela (cd) means on a LED, and how much we will need.

Thomas did also a great work this afternoon and made the plans of the base of our balloons (where we will put the motors, battery and pcb), here is what it looked liked once printed on the robotics club 3D printer



And that’s it for today.


LEDzep – Day 12 (and before)

I mostly worked on the stm32 lab works at the beginning of the week (where i discovered ChibiOS/RT events, its EXTI and ADC drivers), this allowed me get a better understanding of ChibiOS/RT and the technical challenges we will have to face, or at least implement. It also helped me to get more motivated about ROSE, as it was something I was (relatively) good at, and i didn’t know where to go with the project.

Fortunately we recentered the project Thursday and got a far better vision of where we are heading !

We chose to get rid of the localisation part of the project, as it was far to constraining and diverted us from the core of our subject, and chose to focus more on its artistic part. Our main application will thus be having them float and dance on music in indoor or outdoor. I think it is a great idea and hope that we will be able to get close to the  idea of urban prototyping (I discovered this movement in drix hackster page and was rather fond of it).

For my part I started working on the FreeImu module with Nicolas in order to obtain the balloon’s altitude, we are currently having issues on how to communicate with the module (Nevertheless we managed to use ChibiOS/RT’s I²C driver), but I hope that we will be able to get good results at the end of the Week End, but a more realistic estimation would be for Wednesday.

I also had my first PCB class and even though I had a few troubles handling the software at first, it eventually seduced me and made me rather eager to design the project’s PCB (as everyone else in the group).

LEDzep – Monday’s presentation, STM32 and LEDs


This morning we presented our PSSCs, and were rather happy to see that only one of them was over optimistic (the localisation of the balloons), so we will have to pick our brains more on it, because if we choose to keep it it will imply a huge amount of work on this and dire consequences if we fail, so we will have to find if this is really required for our application. Indeed, Alexis presented a solution in which the balloons only stay next to each other (and maybe a mothership), in this case we would simply give orders to the swarm, explaining where it would go.
In any case we will have to dig deeper in our view of the project.

In the afternoon I worked on the ChibiOS/RT lab works, spend some time reading my old notes on the subject and rediscovered ChibiOS/RT’s documentation.

I also tried to light a balloon with a ROSEace LED (very bright, but also very directive), this le(a)d me to think that we will face a lot of troubles if we intend to use them by day, I later tried to use less directive LEDs but it was a huge fail as I tried to put a lot of them inside the balloon and was thus unable to inflate it (wires going out of the balloon tended not to be hermetic). I later ordered a few Kingstone LEDs in order to find the proper light intensity that we need (intensity is written in the datasheet, but i have no idea of what mcd really mean in terms of light), and chose to buy a good range (from 17mcd to 700mcd) in order to properly chose the ones we will use.

LEDzep – Finishing the PSSCs and some tests


Today was quite exhausting, as the first sunday of ROSE I expected to manage to get some spare time to work on other projects (French Robotics Cup), unfortunately I eventually ended up working from the moment I woke up until 22h30 on LEDzep.

We worked on the PSSC, which really helped us to plan the rest of the project, if we manage to keep this planning I think we will be able to have an awesome project :D. We also trained for the presentation and were rather happy with our results.

We also tested some LEDs with Thomas in order to see how much they would lighten a regular balloon (like the ones in this video), and it made us rather optimistic (the LEDs weren’t specially bright), as you can see in the video:

Tomorrow’s next steps : amaze the public with our great presentation and working on the STM32 homeworks !


Team reunion and new Companion board


Yesterday, I had my oral presentation of the about 6LoWPAN, Embedded TCP/IP and CoAP, unfortunately it didn’t go as planned as I was extremely tired that morning, hopefully the slides were clear so my fellow students will still be able to get information through them.

After the presentations, i received my very own board, an Olimex STM32 P407 which has quite an impressive amount of peripherals ! The on board LCD used pins from thee JTAG interface, so we had to reconfigure the functions and resistors of a few pins in order to use the JTAG interface. It took me a while, as i forgot that pin numbers started from 0 (and not 1), so when i configured my pin functions, all the pin number were shifted by one, unfortunately it took me a while to realize my mistake.

Today, we met with the team in order to get ready for Monday’s presentation, we managed to define the main use cases and features. We also drafted the PSSC, which are a set of Project Specific Success Criteria. It helped us to have a better understanding of where the project was going.

During the meeting I had an idea of feature that i found interesting (but was unfortunately the only one) which is to leave all the unused pins accessible in order to allow any one to plug in his own captors or effectors and do hacks with our project. Do you think that it is an idea worth spending time on it or an unnecessary feature ?

I also managed to light LEDs on the board, next step : chase effects 😉

LEDzep, 6LoWPAN and a late message


I have been a bit slow to get into the whole logbook thing, but in the bright side i do have a few things to say !

In the beggining of the week we tried to fix a few objective and specs for the project, we managed to agree on

  • Having as much balloons as possible in order to have a “swarm” effect and ha them practice choreographies.
  • Use a mothership (bigger baloon, with most likely a different micro-controller) in order to coordinate the smaller baloons.
  • Keeping it useless.

Now these points have to be justified. My main idea (or vision) is one of a swarm of balloons, dancing in the air, with a lot of different light; its purpose would simply be to beautiful and distracting, other functions could be added (the first one that came to my mind was having them interact with the spectators, making circles around them or following them).

It seems really important to me not to force a more useful function because, let’s be honest, there are no use of a swarm of balloons (except keeping your children and ROSE students busy maybe …). By forcing a use on this project not only would we fail to achieve it properly, but we would also be likely to loose the magic and beauty that we could have had if we had simply kept the idea of a show.

Once we accept the fact that the balloons will be useless, we can now focus on how to make them rock at being beautiful and interactive (maybe). First I thought that being able to create choreography on a computer or android device, and then simply sending this information to the balloons and have the executing this choreography (moves plus light effects) would be amazing. Keeping in my this idea, the more balloons we could have, the more impressive this show would be, thus we had to keep them cheap. That’s where the mothership idea came from, if we could limit the amount of captors on our regular balloons, we could drastically lower their prices, and thus increasing the visual effect of the show/performance (plus, cheaper is always better), so having a central balloon sending the other balloons where to go (relatively to him) would allow us to limit ourselves to simply know the positions of the balloons relatively to the central balloon (=> almost no captors on them).

This chain of reasoning lead to our current technical issue : knowing the position of the balloons relatively to the “mothership”.
We choose not to be too picky on the precision of this position. As the balloons have to be at least 60cm/24′ large in order to float without external help (filled with Helium, it lifts about 100g/3.5oz) an error of about 10cm seems more than acceptable (about 10m/11yd of range for BLE, which will be the protocol used in message exchange), plus it should allow us to use cheaper captors (money, money, money).
At first I thought about using an infrared camera on the mothership and having an infrared in each balloon, the mains advantage is its low cost and ability to scale (IR LED would cost 5$ max), plus the STM32F4 [p.330] (which we are likely to use) already supports video, we yet have to find out if it is able to do all the calculation fast enough. But on the bright side, finding big balloons (which should be the only visible sources of infrared of this side) shouldn’t be that hard.

Meanwhile I also had to work on a presentation with Olivier on 6LoWPAN, Embedded TCP/IP and CoAP, we chose to split first and share our discovery afterwards, I worked on 6LoWPAN he worked on CoAP.
These researches allowed me to discover an amazing fact, some Wikipedia articles are longer than the RFC they are talking about, obviously i discovered this only after having read this article … As I had already used XBee modules on other project I was somewhat used to IEEE-802.15.4, so I found rather interesting to discover another implementation of this protocol than Zigbee.
I won’t go into the details of the research, nor the results, as you will be able to see them in tomorrow’s (or today’s depending on the timezone) presentations slides, and as you may already be bored of this rather long post.