First test on ESP32

Today was day of the test. It was actually quite different from what I planned, in this post especially.

First of all, I did not manage to make an ESP32 receive its own broadcasted packet. Apparently, it is not natural for a device to receive a packet sent by itself. I still have some leads to follow about it so I will maybe continue to look for a solution. In this test, there was simply an ESP32 which did not received packets. It is also possible to accept that. Indeed, we will have 2 ESP32 on each Phyllo. One on the main_pcb and another on the bottom_pcb.… Read more

Taking our new ESCs for a spin

Today we received the AIKON 45A SEFM ESCs we ordered a while ago. Actually that’s a lie: these ESC were received before today, but no one told us until Alexis recalled seeing them when we told him we were waiting for them and pulled them from the top shelf of the cabinet in the back of the classroom. We’ll let it slide, whoever it was, but just this once.

Upon hearing this, Sibille and I immediately decided to put aside for the time being our previous attempts to reflash our most recent motor’s built-in ESC and instead use these new ESCs (which come flashed with BLHeli_S and support DShot out of the box) to control our other motor, the Turnigy Multistar 4225.… Read more

More tests on coils

First box prototype

Zennedine finds a way to use our coils, so I tried to make a first box to check if it will not collapse. I made this and I checked if the marble flip or not, and it works.

Coils no more available

When we begin our project, we ship some coils, the 74458303 but in a short time, we cannot ship enough coils for the project. So I tried with the same configuration to use the 74458304 coils, and it works, even if there were more edge effect (the nearest coils flip sometimes). With these coils, we need only 0.59A… Read more

First outline of a time reference

Today, I started to implement the code necessary to test the possibility to use WiFi for time reference between Phyllos as explained in this post. Although we mainly use ChibiOS for our applications, the documentation for ESP32 is in FreeRTOS so the code for this test will also be using FreeRTOS.

The plan for the test is to connect as many devkitC as possible to a main board (here it will be an Olimex E407 programmed with ChibiOS). The main board will be the master over one of the devkitC. When it will start the test, the slave will broadcast an UDP packet.… Read more

IR Update

Today Sibille and I made some additional tests with the IR receptors, like we talked about in this recent post.

We used the AGC2 TSOP4856 receptor, as well as a LTE-R38381S-ZF-U emitter, with the same circuit setup for our previous tests described in this post.

The first thing we tested was whether we could overwhelm the receptor’s AGC by exposing it to an IR burst longer than the maximum burst length, which is 1.8ms for our receptor. 

With bursts of 3ms (on) and 100ms gaps (off), the receptor tended to be 10 or 20ms late in reacting to the end of the burst.… Read more

Lots of IRons on the fire

Since Friday, Xavier and I have worked on the placement and routing of the main rotating PCB. We have a lot of constraints to place the components of this PCB, notably for the IR which is used for the detection of other Phyllos and the reception of the common time reference, and the IrDA, used to communicate between the fixed and mobile parts.


The IrDA would be used to send speed commands from the rotating part to the fixed PCB below, which controls the motor. This fixed PCB will handle the feedback control of the motor, so we really only need to send it a target speed with the IRdA.… Read more

A few bits about motors and ESCs


Last Friday we received new motors : the EP4108 320KV with built-in ESC.

We’re particularly interested in those because they have a reflashable integrated BLHeli ESC. It turns out that, starting with BLHeli_S v16.5, which is an open source ESC firmware, a new protocol is supported to replace the old PWM control method : DShot. It’s a serial protocol where speed information is encoded in 16-bit frames, instead of analogically in the duty cycle of a PWM signal.

There are three generations of BLHeli firwmare : BLHeli, BLHeli_S, and BLHeli32 (wich is no longer open source), each with several versions.… Read more

And if you still don’t succeed, try and try again

After trying to reproduce the results we had in this post we noticed some problem of repeatability. It was less frequent than the previous but still at a level we couldn’t ignore and that would cause future problem.

After working each on our own during the morning, I met with Alexis, Henri and Ilan in the E-lab/Fab-lab to further investigate the problem.

It turned out that we spent the afternoon testing dozens and dozens configuration. The parameters we changed were : spacing between marbles, marbles diameter, thickness of the plates we put the marbles on, material of the plates, stacking of the plates, using or not using little round metal plates (non ferromagnetic) to try to canalize magnetic field.… Read more