[StabiloRose] Placing the LEDs

After many tries, with “real” strips or with paper strips, we have a solution \o/

Near to the equator, the strips will be placed according to the parallels. Near to the poles, where this placement is no longer possible, we will place them in parallel to a meridian (see picture below). To connect these different sections of strips, we will make holes to solder wires, which will be connected together inside the ball.

Near to the poles the LEDs will be in staggered rows. The white strips come from an older project. Ours have an higher density, as you can see on the corner in the second picture. Therefore, you have to imagine that there is another LED on each connector.

StabiloRose paperStabiloRose leds

[StabiloRose] Assembly

Just a photo of the assembly. It really looks like a mine bomb.

StabiloRose Assembly

[StabiloRose] Assembly and IMU

A bit of mechanics today. We continued the assembly of the ball. The printed part and the case are fitting together. The next step is about placing the LEDs, which is not going to be easy. We haven’t decided the pattern we will use yet. It will strongly influence the future development of our project.

I also worked on the IMU and on the visualization of the data. I noticed a strange behavior related to the axes. The datasheet of the BNO055 gives the default axes for the measurements (see figure below). However, the default axes for the fusion algorithm are never mentioned. As the heading angle can be retrieved from the register EUL_DATA_X, we can logically think that the heading angular defines a rotation around the X axis. But no ! The heading angle defines a rotation around the Z axis, which is by the way the most used convention. This was not a big deal. A few rotation and parameters to modify and it is now all right. These hours of openGL were usefull.


[StabiloRose] IMU data visualization

Today, I’m working on a simple openGL-based program to visualize the data provided by the IMU. Just to remind you, our IMU is a BNO055 from Bosch. This little chip integrates a 9-axis IMU, a microcontroller running AHRS algorithms. The program displays a simple shape, which should rotating according to our board position. It retrieves Euler angles from the IMU. The communication will be allowed by the USB-CDC and a shell command.

Ideally, this program is going to provide a model of our system (sphere and LEDs). It will help us to determine the format of our images and frames sent to the ball.


[StabiloRose] TGIF

Today, we visited Sigma Design. The talks were interesting. I learnt a lot about SoCs, their design and production. In my opinion, the most interesting part was the one about ROM programming. It seems very challenging : almost no debug, a small memory, no bug fixes after production…

This afternoon was demo time. No crashes for us. However it was very short. Because of the VBUS issue of yesterday, we couldn’t progress much on other peripherals.

Sorry, I’m not inspired today. So, happy easter weekend 🙂

[StabiloRose] VBUS

Today, we started to code for our board. The switching power supplies are working well and controlled by the STM32. Interrupts are generated if they are not stable. Everything went fine… Until we tried to implement the serial over USB module, and the shell. We were stuck for a loooooong moment. Impossible to obtain anything. It was like the STM32 was not connected to the laptop. We confirmed that it was not an hardware issue by communicating with the preinstalled USB bootloader of the STM32.

After checking the schematic, we (Thanks for all Dryvenn) pointed out the problem. The PA9 is the default pin for VBUS. Ours is connected to the buzzer, with a pull-down resistor. As the STM32 couldn’t detect if any cable was plug-in, it have never engaged the communication.

The problem is solved by defining the symbol BOARD_OTG_NOVBUSSENS in board.h. Now we have to manage the cable detection “manually” with interrupts.


[StabiloRose] Printing

The major part of the day have been spent on researches about spherical images and geodes. In parallel, a few element of sphere have been printed. As Julien explained to me, the printer is not precise enough to make pieces that fit perfectly into one another. I’ll add more slack between the different pieces of the assembly. We will file the one we already have.

Here is a simple timelapse of a printing. The real time is 55 minutes. The angle might have been better. I’ll try with another one next time. Watching a 3D printer is hypnotic. This is the first time I’m using one personally. The feeling of achievement is really intense. I remember my SolidWorks classes when I was in high school. That was great. But now, one hour after modelling your piece, you can hold it in your hand ! It is just magic.

[StabiloRose] Found a Full-View Spherical Image Format

Shigang Li and Ying Hai are genius. This post is an answer an issue raised by Sam this afternoon. The question was “Is there a format to represent spherical images ?” At least it is not standard, but that’s is not the subject. I found a paper which deals with this. The authors take advantage of the tessellation of the sphere and the flatten representation of a geode to store the pixels in a simple 2D array. With good properties, this latter forms a clever datastructure in which you can retrieve the neighbors from a pixel for example.

It is only an idea but I think it is a good way to explore. Even all the assets of this representation, it is not perfect. It limits the number of LEDs to 252 because of the regularities and the subdivisions of a geode. Moreover, it leads us to place the LEDs precisely. But I like the idea of representing a spherical image by a 2D array. We may be able to adapt it. I hope so.

This concept is the first step of a long process. After the implementation, we have to automatize the transformation of images. Simply because they can not be found under this format currently.


tesselatedSpheretessellatedSphere flat

[StabiloRose] First element printed !

It took only 55 minutes to print out first element. The result is great. The surface and the parts to fit the different elements together are clean. We are currently printing another one to check that the fitting is correct.

Results announcement in 50 minutes…

3d printerelementSphere


[StabiloRose] Design is ready

As expected, the design is over. Nothing really new compared to yesterday. We started to print an element of sphere. It will take about an hour.  Thus, there may be a few modification to fit the 3D printer constraints. Like yesterday, here are the 3D models.

Element of sphere

PCB and its support

Exploded view

I agree, it looks a bit like a mine.