Remote Tilt Setup Guide

This is a quick guide on how to get up and running with the Remote Tilt feature. This requires the Float Package (VESC FW 6.0+), either a PPM or UART Remote, and a receiver for the remote along with a cable that uses a JST-PH connector with 2mm pitch (only remote I’m aware of that doesn’t include the correct connector is the Hoyt Puck, which requires this cable).

This guide will heavily reference the remote I personally recommend, the BKB Voyager, along with the Little FOCer v3.1, but the same steps apply to any other remote and controller. Just do your due diligence to ensure that the pin-outs of the receiver match those of your controller.

Prepare Reciever & Connector:

First thing to do is to ensure your pin-outs of the receiver cable and your controller match, and re-pin the connector as needed. For UART, use your controller’s 7-pin UART port. For PPM, use your controller’s 3-pin PPM/Servo port. For reference, I will include this process in relation to the BKB Voyager and the Little FOCer v3/3.1.

When referencing the Little FOCer v3/3.1’s I/O (UART port in bottom left) and comparing against the receiver and 7-Pin cable for the BKB Voyager, we find that the RX and TX wires need to be swapped to match the pins on the controller.

To swap these wires, you can use a sharp edge to carefully lift up the release on the JST connector and free the wires, then carefully insert them back into the proper pin locations in the same orientation until they lock into place. This video guide walks through this simple process.

Remote Syncing and Setup:

Once the connector is prepared, plug in your receiver and follow the manufacturer’s guide for syncing and setting up the remote. For example, here is the guide for the BKB Voyager. Ignore any steps for configuring the VESC app configs, as we are not using the remote for the traditional use case of driving the motor. Ensure that it is connected properly. For UART, you can check this on PC by going to the VESC Remote tab under App Settings, and enabling RT App from the right sidebar. There should be a readout for your throttle position at the bottom of the menu.

For PPM remotes (NOT UART), the throttle values must be calibrated through VESC Tool. This can be done through mobile VESC Tool by going to App CFG, tapping the “…” button in the bottom right, and going through PPM Mapping. This also confirms that you have a working connection to your remote.

If everything is looking good, be sure to secure the receiver to your enclosure in some way to prevent any rattling, movement, or potential damage during riding. Once this is done, feel free to close it back up and put your board back together.

Float Package Configuration:

Once your board is rebuilt and solid, all that’s left is to enable Input Tiltback in the Float Package. Navigate to the Float Settings tab, go to the Remote menu, and set your Remote Type to either UART or PPM depending on your remote.

The Max Tilt Angle will scale what throttle positions equate to what tilt angle, with 100% throttle back or forward being max angle of nose up or down tilt respectively. The Tilt Speed determines how quick the setpoint adjusts to the angle that matches your throttle position, with faster tilt speeds feeling more responsive but can be more twitchy and dangerous if not used carefully. The Deadzone determines how far the throttle must be pushed away from center before it starts responding. This can be useful if you find that at a centered throttle position, your Input Tiltback Setpoint (can find in AppUI Tab) isn’t resetting to 0°.

And with that, that should cover most of everything! If you run into any issues or have any questions, please feel free to leave them here. As I mentioned, please be diligent in making sure the pin-outs match between your receiver, cable, and controller. Enjoy your board’s new capabilities!


Great write up @NicoAleman ! And great implementation in the code/float UI!


Thanks @NicoAleman for the writeup. I plan on using the BKB controller, but I’m assuming that this will use up the available UART on the lilFOCer. I’m currently using it for a Flipsky BLE module. Is there any way to have both? Does the Voyager have the option of using either UART or PPM?

1 Like

The Voyager only comes with UART connectors. There’s a chance the receiver has a PPM pin, in which case you could modify the connector, but i dont have a receiver in front of me to confirm

Mine should arrive today. I’ll check and see. Otherwise, I wonder what the receiver uses for connection. Maybe BLE?

So if you look in the “Ports Config” on the Voyager, there is an option for “PPM to ESC A” and “PPM to ESC B”. Awesome. Looks like it will work. I will update if I get it going.

1 Like

Update - The PPM to ESC" setting didn’t work. I couldn’t get any response on the VESC. Maybe the VESC, maybe the receiver, as I never was able to get the buzzer working using the Servo port either. I also tried to switch the VESC App to use to “PPM and UART” in hopes that it just wasn’t switching the port from servo output to PPM input. Still no luck. No matter, having tilt control, and battery/speed display is pretty legit.

1 Like

So the reciever has a dedicated PPM pin (Sometimes labeled “S”)? And it still didnt work?

So my receiver pinout was 5v,GND, ESC-A-RX,ESC-A-TX, ESC-B-RX, ESC-B-TX, LIGHT, HORN, CANSW, and BMS-something. Weird module. I tried all combinations of ESCA and ESCB. I couldn’t find any documentation other than that it is the same as a Spintend. I was tempted to connect an oscilloscope or a hobby servo because it would be pretty apparent if it was sending PPM, but ran out of time. It works amazing in UART mode, so I’ll probably keep it as UART. I love having battery voltage at a glance. :slight_smile:

I also am curious about the CANSW and BMS pins. I wondered about connecting 5v, GND, and connecting CANSW to CANH to see if it would be picked up by CANBUS, but I thought CANBUS needed high and low logic connections.

I cracked up thinking about putting a train horn on my onewheel. :rofl:

Hmm interesting, yeah definitely seems like no PPM pin. Light and Horn are for Spintend only, correct haha. Very curious about the others

1 Like

Installed and running in 30 minutes. Sweet stuff!


I’m having a bit of trouble getting the BKB Voyager remote setup. I have got the RX and TX wires swapped like referenced. I have gone through and done the setup for the remote but when I test if it is properly connected by going to the Vesc remote tab and enabling RT App the throttle postion is always -100%. Any advice to fix this would be appreciated. Thanks.

Have done the “Gear Calibration” in the remote’s settings? You should have a max around 4000, mid around 2000, and min around 0 (give or take 100 or so lol, ballpark range)

Yes, I have done that

The remote shows it connects to the receiver, and I can confirm that by the blue light on the receiver turning solid. I am unsure as to what the problem is as it seems connected, but just won’t actually control anything.

One person had a similar issue that was resolved I believe by resetting to defaults (under Ports Config of remote settings i think) and setting up again. Maybe worth a shot?

Gave it a shot, doesn’t seem to have fixed anything. It almost seems as if it isn’t detecting that anything is actually connected to the vesc, because if I unplug the receiver and restart both the board and vesc tool the readout of the throttle position still shows -100%.

Is the remote correctly reading the board’s voltage when connected? At a certain point, I’d probably reach out to BKB for support if everything looks good on your end

Yep it reads the voltage correctly, So I’ll probably send an email to BKB support here soon.

Note that some early LFOC v3 kits came w/ footpad sensor connectors wired for the UART 7-pin connector. If your UART connector is utilized by the footpad sensor connector, simply free it by rewiring your footpad sensor connector to the 3-pin ADC connector on the LFOC (top left connector). Alternatively, you could also simply share the 7-pin UART connector between the remote BT connector wires and the footpad sensor ones since none of the UART pins utilized by each overlap :).