Repository navigation
Understanding the Firmware
Attach the WiFi link. Open the third tab, this displays the identification string for the firmware.
We use a naming convention for the firmware that looks like this:
REMORA-revn-nnn-mmmm
The revn - indicates the revision of the ESCape32 firmware its running. You can tell what revision is the currently released revision by looking at ESCape32 github repo.
There are a couple of reasons why you might want to update the firmware on the Remora1, namely:
- It's out of date with respect to the ESCape32 release.
- You want to try different ANALOG_MIN/MAX settings to say test braking, acceleration etc.
If the current ESCape32 revision is lower than the Remora1 firmware revision, you might want to consider updating the firmware on the Remora1 to the latest revision, to pickup any changes or bug fixes. Please note: the ESCape32 firmware is used not only for slot cars but other applications, and runs on different micro controllers, hence specific updates might not be relevant to the Remora1.
The number nnn - represents the minimum analog (ANALOG_MIN) voltage setting. It's a 3 digit number that indicates a voltage. To find the absolute voltage divide the number by 180 - so for example if the number is 198, then the value is: 198 / 180 = 1.1V.
The number mmmm - represents the maximum analog (ANALOG_MAX) voltage setting. It's usually a 4 digit number that yields a true voltage when divided by 180. So - 2178 / 180 = 12.1V
These values are compiled in to the version of the firmware you are running - they can not be altered without re-flashing the eCom with a different binary build of the code.
To get insight into what these settings can do for you, consider joining the ESCape32 Discord server, channel called slot-cars, and ask questions.
The Remora1 has circuitry to enable it to energize at a (very low) voltage of about 1.2V. When the voltage from your controller reaches about 1.2V the eCom turns on. Similarly when the voltage declines on braking the Remora turns off at about 1.16V. You might happen to receive a Remora1 that can exceed this and start and turn off at an even lower value - if so congratulations :-)
The low voltage setting - or ANALOG_MIN is used by the firmware in 2 ways, namely:
- It is the voltage below which it's possible to set drag brakes.
- It's the voltage from which optional scaling can be applied to the pulse width modulation duty cycle, up to the maximum voltage setting.
Therefore, if the ANALOG_MIN value is set to something above 1.2V say 2V, then when the voltage sensed by the Remora1 drops below 2V it attempts to apply drag brakes in the duty cycle percentage set by the drag_duty parameter. There is a longer discussion about braking in the WiKi.
The ANALOG_MIN value is also the value at which the firmware sets the minimum duty cycle specified in duty_min. The firmware scales the duty cycle from duty_min at the ANALOG_MIN voltage to the duty_max at the ANALOG_MAX value. This profiles the throttle response as a slightly concave upward curve in the eCom, whereas you might prefer to simply set duty_min and duty_max to 100 and let the controller profile the power increase.
All other firmware settings are specific to the Remora1. They do not effect tuning and the values are not reflected in the version string. A couple of the settings such as dead time and full duty can detune the Remora1. Dead time can introduce some delay into the high/low side fet switching when complementary pwm (damp=1) is used. We set this to 0 because the Remora1 switching circuit is specifically designed to not need any delay - the hardware deals with it.
Full duty provide access to true 100% duty cycle. Without this set in the firmware the code "makes some room" for hardware switching to occur by not actually going up to 100% duty cycle when you ask for it.
Copyright © 2025. All rights reserved Adrian Blakey