Time and material

LED-driving software

Today, Xavier and I continued to work on the software for the LED-driving processors. We have obtained fairly satisfying results 🙂 

First, we managed to fix the bug explained here for TIM1. 

We had just forgot to set one bit (MOE bit) in the configuration : TIM1 is an “advanced timer” and this bit is mandatory to enable the outputs. As for TIM9, it is actually not available on the dev board we use. But it is a “general purpose timer”, so we won’t hopefully have any trouble with it.

Then, with the help of Vlaya, we use her SPI generation code to test our SPI reception.… Read more

Tuning up

Motor update

Since yesterday, Sibille and I have worked on reducing the voltage threshold for motor acceleration we’ve mentioned here

After a meeting with Alexis yesterday and with the school mechanic this morning, we have two main leads.

Reflashing BLHeli ESC

The first lead is to take a look and the programmable  parameters of the ESC. We previously hadn’t given this much thought, but ESCs usually allow for the tweaking of several parameters in how they control the motor. Usually there’s a way to access these settings by playing with the PWM throttle input and using the feedback bips to identify various menus.… Read more


As explained in this post, Xavier and I worked on a setup to measure the motor speed. We had to laser-print a drilled plastic plate and some fixation for the dev-board with the optical sensor we’ve borrowed from LitSpin (TCUT1600X01). 


The plastic disk is thin enough to slide between the emitter and the receptors of the optical sensor, and has a small aperture on the edge so that once per rotation the receptors see the emitter and their output goes high.

The optical sensor, which we thought we damaged on Friday, actually works very well. We had some bugs when integrating the dshot code to control the motor’s speed, but very quickly we were able to measure the speed, and to determine the correspondence between a dshot command and an actual speed at a given voltage.… Read more

Mechanical issues and motor troubles

The root of the problem

Yesterday Sibille and I brought the Phyllo structure with the faulty motor (see this post) to the school mechanic, Mr Croullebois. We disassembled the structure, and it turns out the motor shaft goes slightly lower than the motor base, so when we screwed it tight it would scrape against the aluminum plate underneath. 

Mr Croullebois bored a depression in the middle of the plate so we wouldn’t have this problem anymore, and then we reassembled everything with the other motor that we used for tests and knew to be working. The motor that was in the structure spins more freely now, and we managed to make it run, but there is a weird creaking sound from time to time.… Read more

False start

Today Xavier and I soldered an ESC to the motor in the Phyllo structure (in truth, after struggling for a long time, we asked Karim Ben Kalaia to show us the way). We just wanted to see the power consumption of the motor while bearing a load, and set up a better configuration for the speed feedback.

Sadly, when we tried to turn on the motor, it didn’t work, creaking and hiccuping for a few moments and then stopping. We noticed that it was really difficult to turn with the hand comparing to the other motors we have. We removed all the load (the PVC plate and the axis) so that the motor can turn freely, but we got the same result.… Read more

Good vibrations

Today Xavier and I prepared the setup for the integration of the speed feedback module and the Dshot sender, and the test of the hall sensor :

There is a circular magnet lended to us by Touch at the end of the screw. It generate a magnetic fields in a radial direction, which will therefore point towards the breadboard. It is pretty powerful so we hope it won’t constantly trigger the hall sensor.

The hall sensor we will be using is the TLE4964-4M. It is a pretty basic hall sensor with three pins (VCC, ground and output), which outputs a low value when the magnetic field exceeds B_OP , and goes back to a high value when the field drops below B_RP .… 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

Motor Update

Today, I tried to reflash the built-in ESC of our new motor, EP4108.It runs BLHeli firmware, and we would like to update it in order talk to the ESC via a relatively new protocol, DShot, instead of the age-old PWM control. Short story long, I didn’t manage to do it.

Still, here’s what I tried.

As mentioned in this post, the motor has a 6-pin “flashing port” – except there is no provided connectors and absolutely no instruction on how to reflash the ESC. In fact, we don’t even know what ESC it is. All we know is that it runs some version of the BLHeli open source firmware.… 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