RC Light Controller configuration tool

Version: 2018-01-16
Please check out https://github.com/laneboysrc/rc-light-controller for a description of the RC Light Controller this tool belongs to.

Load and Save

Firmware version:
Load firmware image:
Load configuration file:
This tool has the light controller firmware already embedded. Below you can adjust the configuration according to your needs.
After you are done, you can save the firmware image. It will appear in the download folder of your web browser.
You can also save the configuration into a text file, which can be loaded at a later point in time, e.g. to make further tweaks.
It is advisable that you always keep a copy of the saved configuration. While it is possible to retrieve all settings from a firmware image, some data especially in the light programs, like variable names and comments, are lost as they are not placed into the firmware image.

Operating mode

The light controller reads servo signals from the receiver. The steering signal must be connected to input ST/Rx on the light controller, the throttle signal to TH/Tx and the Channel 3 (AUX) signal to the CH3 input.
The light controller does not read servo signals directly, but from a pre-processor. The pre-processor is a microcontroller directly built into the receiver. It reads the servo signals and converts them into a serial data stream so that the light controller can be connected with a single servo extension cable. This simplifies wiring of a RC car, especially when the light controller resides on the body while the receiver is mounted on the chassis.
For more information on the preprocessor please read our blog articles:
The output from the pre-processor must be connected to the ST/Rx input of the light controller.
Some receiver have a CPPM output, which encodes information of all servos in a single electrical signal. The light controller can read this signal, so only a single cable needs to be connected from the receiver to the light controller.
Please consult your the instructions of your RC system to check whether your receiver has a CPPM output.
In case more than 16 LEDs are required, it is possible to daisy-chain two light controllers. One needs to be configured as master and have the slave output activated, the other one must be configured as slave, for a total of 32 LEDs.
The output from the master must be fed into the ST/Rx input on the slave.
The master controls the light functions of both light controllers. Ensure that the baudrate of both master and slave match.
Generates a firmware image suitable for hardware test. As soon as power is applied the LEDs flash in certain patterns.

Basic configuration

ESC type


After going forward, the ESC allows going in reverse when the throttle has been in neutral for a certain amount of time.
Examples: HPI SC-15WP, HobbyKing HK-SENS-60A

After going forward, the first push backwards on the throttle is always engagin the brake function, regardless whether the throttle has been in neutral for a long time. The second push on the throttle engages reverse function. Note: the timeout can be adjusted in the advanced configuration section below.
Examples: Tamiya TEU-104BK, TEU-105BK.

Forward and reverse engage immediately when the throttle is moved to the corresponding position. Many ESC call this behaviour a "crawler mode"

For racing purpose some ESC can be configured to disable reverse.

CH3/AUX function


The CH3/AUX function on the transmitter is either a two-position switch, or a toggle button that moves the servo between two endpoints.
Examples: FlySky GT3 series, HobbyKing HK310

The CH3/AUX function on the transmitter has two positions that are selected with two buttons on the transmitter. Pressing the down button moves to position 1, pressing the up button moves to position 2.
Selecting this option requires to always press the down button first before entering the desired number of clicks
Examples: HobbyKing X3S, Tactic TTX300

The CH3/AUX function on the transmitter is a push button that moves the servo to the opposite endpoint while the button is pushed, but moves the servo back to the original position once the button is released.
Examples: Futaba 4PL

A push button directly connected to the light controller's CH3 input (i.e. a physical button, not a servo signal from the receiver). Useful for 2-channel radios.

Output function on pin OUT/ISP

Servo output function on pin OUT/ISP


No signal on the OUT/ISP pin of the light controller.

The light controller can be connected to a servo, that moves the steering wheel in the cabin of the car. The output follows the steering input, but the endpoints and direction can be configured independently of the steering function of the car.

When enabled, a servo signal is generated that allows control of a two-speed gearbox.

Output function on pin TH/Tx


No signal on the TH/Tx pin of the light controller.

By using a second light controller configured as slave a total of 32 LEDs can be controlled. A single cable must be run between the master OUT/ISPTH/Tx pin and the slave ST/Rx pin.
When this option is selected, a second set of LED configuration becomes visible below.

When enabled, the light controller outputs the steering, throttle and CH3/AUX signals as serial data stream. This function can be useful for connecting custom hardware to the light controller.

Enables control of the LANE Boys RC winch controller

Baudrate


The baudrate for serial input/output functions. This applies to the pre-processor input and output, the slave input and output, and the winch controller.
Ensure that master and slave are using the same baudrate. Note that the winch controller and the pre-processor that is based on the Microchip PIC operate only at 34800 baud.

LED configuration

Click on a field in the table to set the LED brighness value in percent for a particular function.
Click on the icon to configure advanced parameters for simulating incandescent bulbs and weak ground connections. The background of the icon turns orange when advanced features are in use.
Hover the mouse over individual items to see an explaination about their function.
Use the clear button to reset all LED configurations to off. Warning: this can not be undone; save your configuration before clearing!

Master

Always on Light switch position Indicator
LED 0 1 2 3 4 5 6 7 8 Tail Brake Reverse left right

Slave

Always on Light switch position Indicator
LED 0 1 2 3 4 5 6 7 8 Tail Brake Reverse left right

Light programs:

Light programs are small scripts that can perform custom light sequences. See light-programs.md for an details on the programming language.
Press F11 to toggle fullscreen mode within your browser window. The keybindings are similar to the Sublime Text editor.
Use the Check... button below the editor to perform a syntax check on the light programs.
Light programs correct!
      

Advanced configuration

Note: all timing values have a resolution of 20 ms.

Initial light switch position

When the car is turned on, the virtual light switch is set to the given position. This allows to turn the car lights on by default, but still be able to turn them off on demand using CH3.

Automatic brake lights

If enabled, the light controller turns on the brake lights for a random amount of time every time the throttle input goes from forward driving to neutral.
This provides a realistic brake light effect since often the brake function is not engaged in scale driving, but rather we return the throttle to neutral and let the car coast to a stop.
If enabled, the light controller turns on the brake lights for a random amount of time every time the throttle goes to neutral after reversing. This setting only takes effect when the ESC mode is set to Forward/Brake/Reverse or Forward/Reverse.

ESC brake function

This setting deterimes the time how long the throttle has to be in neutral before the ESC allows going into reverse. It only applies if the ESC type is Forward/Brake/Reverse (with timeout).

Reversing light extension

After driving the car in reverse, the light controller keeps the reversing lights on for a random time between the specified min/max after the throttle has returned to neutral. This adds realism as drivers usually take a short time until they disengage reverse gear.
The reversing lights are immediately turned off when the car drives forward.
This function applies only to ESC with a forward/reverse/brake or forward/reverse function.

Indicators

This value sets the frequency of the indicators and hazard lights. For most countries the indicator blink frequency is 1.5 Hz, which means the half-period time should be 333 ms.
In order to prevent the indicators coming on unintentionally during driving, the throttle and steering must be in center for a specified time before the indicators can be engaged by turning the steering.
When the indicators are engaged and steering is returned to neutral, the indicators continue to blink for the specified amount of time.
The indicators can be turned off immediately by turning the steering in the opposite direction.
The steering wheel must be turned for at least the specified percentage of steering lock before the indicators turn on.

Servo input

The light controller features automatic detection of center and endpoint for both steering and throttle.
This value determines how much the initial endpoint left and right is set from the center value after power up.
A servo pulse is usually between 1000 and 2000 ms, with 1500 ms being the centre. Dual-rate and end-point adjustments in the transmitter change the minimum and maximum received pulse duration.
A good value for the initial endpoint is 250 ms, which corresponds to 50% of nominal servo travel. If the light controller sees a signal larger than that, it automatically adjusts its endpoint.
If you set this value too small the lights may flicker after power on until you perform steering and throttle inputs, which adjust the endpoints to your transmitter.
If you set this value too large steering and brake signals may not engage properly.
In order to prevent flickering due to mis-detection of steering and throttle inputs, a threshold is applied before steering and throttle are detected as being engaged.
When the steering/throttle is in the center, it first has to be engaged past the high percent mark before the light controller accepts the input.
When returning to center, the steering/throttle value has to go below the low threshold before it is recognized as being in center.
Good values depend mostly on the throttle and ESC of your car. If the values are set to high the car may be driving already long before the light controller recognizes the car as being moving. If the values are set too low then brake and reverse lights may flicker when driving at very slow speeds.
In order to be able to perform multiple functions on a single CH3/AUX input, a method of multiple clicks -- similar to the concept used on computers -- is employed.
The timeout value determines how quickly the light controller reacts to CH3/AUX. A low value means you must switch CH3/AUX quickly, but also that the reaction of the function engages quickly. a high value means you must wait longer until the light controller accepts the input. 300 ms works well for the LANE Boys.
Servo signals have a nominal pulse width of 1.5 ms when in center, and 1.0 / 2.0 ms when at the end points. In reality servo pulses can go below 0.9 ms and above 2.3 ms when features like end-point adjustment and sub-trim are applied.
The values above define what minimum and maxium pulse width a servo signal is allowed to have in order to consider it valid. This setting only applies to servo inputs and CPPM input configurations.
For the CPPM input the max pulse duration is the minimum idle idle time to identify a start of a CPPM frame.
This value applies to servo inputs and CPPM input configurations. After power on, the light controller waits for the first servo pulse to arrive. The time given in this field determines how long the light controller waits after the first servo pulse until it in itializes neutral points of steering and throtte, and starts its normal operation.
If no servo signal is received within the given time, for example because the transmitter is out of range, then the light controller sets the no-signal flag internally, which can be used in light programs to perform a certain function.
Note that most likely this will not work well on modern digital transmitters, because the failsafe function will output valid servo signals even if the transmitter is out of range.

Winch output

This setting only applies to the LANE Boys RC winch controller
The value determines how often the winch commands are sent to the winch controller.

Gearbox servo output

The value determines how long the gearbox servo is activated (= receives servo pulses) after a gear has changed or the idle time (see below) expires.
The value determines for how long the gearbox servo stays idle (= servo pulses are turned off) when there is no gear change. This prevents the servo from being damaged due to the servo constantly pushing against mechanical stops of the gearbox.
Setting the value to 0 keeps the gearbox servo active at all times.

Gamma correction

The current flowing through an LED determines its light output. However, the human perception is not linear to the amount of light. The light controller therefore offers a gamma correction so that if you set a light value of 50%, it should be roughly perceived has half as bright as the same LED set to 100%.
Useful values are between 1.8 and 2.2.