ok, BOMmer.

On this new episode of the Mainboard update, nothing too exciting. Alexis did the final touches on the PCB, made the silkscreen and we should be good to go. Only thing left to do was create the Bill Of Material. I had to fill up a spreadsheet with the components, distributor and number of unit in stock to check whether they would be available when needed.
Some errors were found as well as some components that weren’t distributed anymore but nothing major.

We now can focus on the other PCBs and get them ready as well.

The issue that can prove quite difficult is that due to health and safety concerns with the spread of the corona virus, PCB manufacturing has been halted in China and Europpean manufacturers therefore have massive delays.… Read more

There can only be one SD card in town

On the Aries MCV, the MMC pins of the HPS are already used to control the MMC flash. However, we need an SD card. So, we decided to add a µSD card on the SPI1 interface because SD cards can be controlled in SPI. So, I added the µSD card to the SPI1 interface like this:

&spi1 {
	status = "okay";
	clock-frequency = <100000000>;

	mmc-slot@0 {
		reg = <0>;
		compatible = "mmc-spi-slot";
		spi-max-frequency = <50000000>;
		voltage-ranges = <3300 3300>;

Before testing on the MCV, we realize tests on the DE1-SoC. Something to notice, we already built the Linux kernel for the DE1-SoC and it booted correctly without the SD card on the SPI interface.… Read more

Mechanical assembly

With the help of a company we are working with, we made tremendous progress in the choice of our mechanical architecture. Here is what we settled with:

Each “floor” of the structure is being held to its neighbours by three spacers in an equilateral triangle. The spacers and plates are made of metal (most likely aluminium) and carry the ground from the body (it is being pulled from the arm).

The 12V power is carried through the motor axis which is isolated from the bottom plate.

LED band PCBs are simply held by friction and by their connector. Appropriate holes in the hat and the middle plate are made to fit the PCBs properly and hold them in place.… Read more


With Nathan, we work a lot on the creation of the Linux distribution. On my side, I am working on how to add an sd card on an SPI bus and Nathan is working on the driver for the USB WiFi Dongle.

Device tree

An SD card can not be detected and set automatically like a USB device. We have to tell Linux there is a micro SD host on an SPI bus. We have to put a micro SD host on an SPI bus because the eMMC bus is already taken by the Flash. To tell Linux, there is a micro SD host on the SPI bus, the simplest method is to add it in the device tree blob.… Read more

Integrating is not Qt

Today I wanted to integrate Nathan’s file picker to LitControl, should have been quick and easy, but it turned out that merging two Qt projects into one is not that simple. I first tried to merge them by manually adding Nathan’s files into LitControl, but I had some compilation errors that I couldn’t make sense of. I then tried to use qtcreator’s subproject feature which could allow me to keep both .pro files each in its own directory (qtcreator’s project files), but somehow it was worse. So I am now back on merging manually, and I hope that by tomorrow this issue will be resolved.

Heavy Lies the GND

Here’s an update on the work done to the PCBs :


We slightly changed the schematics to accommodate for the sensors. We will need to make a small dedicated PCB but this should be fairly easy and can be done in house. As for routing, some slight changes were made like adding bigger areas where routing is forbidden around mounting holes.

We still need to change the connectors between the mainboard and the highway (on the mainboard side) to get the right board stacking height. this should be done soon as the connectors only differ from the others in their height so routing won’t need to change.… Read more

Alea Yocto est

We need to build the disk image for the MCV SoM. To do this we have two options given by Aries, the SoM manufacturer. We can use Buildroot or Yocto.


We decided to test Yocto first. Tarik Graba advised us to use it and a previous group who works with the same SoM used it too.

This project is a cross-compilation framework based on recipes. Every recipe contains a list of dependencies and a set of instructions (like a real recipe). The interesting point is the sources needed in a recipe can be directly downloaded online. So if some dependencies are missing, they will be automatically downloaded.… Read more

Let’s test all the benches !

Good news today. I completed the testbench connecting the synchronizer and led band controller modules.

This global testbench allowed me to discover and fix new bugs, mainly in the synchonizer module. Everything seems to work as intended now.

The test consists in writing a random frame of data on the led band controller and checking if the simulated driver contains the proper data at the time it should be displayed.

I also tried to change the multiplexing groups, which is an important parameter we will have to set later, and everything still works. I only hope we won’t have too many surprises on the finished product.… Read more

Blender adventures

The last few days I focused on trying different animations on our simulation, I also tried to animate a bouncing ball as suggested by Alexis. However as you will see my blender animation skills are very limited, and the ball has some difficulties respecting the laws of physics. Nevertheless I tried with different animations, and it allowed us to discover some flaws/limitations in our program:

With the cat, the voxelization was quite fast, however i tried voxelizing 500 frames of a moving dragon, and I couldn’t finish it because it was way too long. I then found a feature on blender that allows to automatically reduce the number of triangles without ruining the model, which is very convenient because with our display we can hardly see the difference between a high poly and a low poly model.… Read more

No Main Is Without Fear

Some news about our Mainboard. After some decisions had to be made to finish routing the Mainboard, it is finally ready to be reviewed and prepared for production. Some changes include adding plated mounting holes for mounting the board and passing GND. Some holes were added in order to make balancing the board easier as it will be spinning fast enough that weight distribution will be an issue.

The holes on the mainboard and the Highway PCB need to be aligned which was an issue with connector placement on the latter. Nathan had to get the proper coordinates and angles for the connectors that could fit the mounting holes that we need.… Read more