Certified FOCBOX Suppliers | Focbox Unity 4 Day Sale

Simple 3D-printed NRF remote - Arduino controlled



I dont understand wtf I’m doing wrong, the oleds never work when i turn the remote on. I made new remote with new 5v regulator and new arduino nano, new oleds, work when usb powered , once turn on from battery, the oled wont work anymore, all rated for 5V.
5V to vcc
GND to gnd
SDA to A4
SCL to A5
UPDATE: The oled works again when powering arduino from usb, but not when battery is on


Can you upload pictures of your wiring?


It sounds to me like the issue may exist somewhere in your booster/charger wiring, rather than near your OLED. I would want to see photos of your usb/booster/charger/switch section



You are using a newer version of the TP4056 than I am, so my wiring setup looks slightly different. According to this video (https://www.youtube.com/watch?v=Qw4psECqpwI) your version of the TP4056 has a built in battery protection IC which may not allow your battery to power your OLED if it’s voltage has dropped below 2.9V or so. is your battery fully charged in order to rule this out? I don’t know enough about these things to say for sure, but if your battery already has a low-voltage protection circuit built in then maybe you don’t need this version of the TP4056…or perhaps it’s even what is causing you troubles.


Thanks for trying to help.
I tested and, battery was 3.9V, and oled vcc/gnd showed 5.19V, same as from booster out.
Doesn’t make sense for the oled not to work

Charger module if it matters: https://m.aliexpress.com/item/1852201781.html?


Any chance you have the more standard 4056 module on hand to try? (https://www.ebay.com/itm/Micro-USB-5V-1A-TP4056-Lithium-Li-Battery-Charging-Board-Charger-Module/182108324849?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649)


No I have only one type. As the voltage to booster is fine it should work. I guess I could measure current but oleds shouldn’t need much

I changed the switch and if I reset the nano while powered the oled turns on. I guess there’s some timing issue that the oled powers up too slow to register IC2 address before nano boots


Does anyone know what changes should be made in the sketch to get this remote to show miles per hour (MPH) instead of kilometers per hour (KPH)? I’m guessing I need to adjust the math here:

          switch (displayData){
          case 0:
          value = ratioRpmSpeed * data.rpm;
          suffix = "KMH";
          prefix = "SPEED";
          decimals = 1;

Has anyone already done this and would care to share their work? Would it be as simple as updating the ‘value’ line to read:

value = ratioRpmSpeed * data.rpm / 1.60934;

Or do I need to make the conversation to MPH further upstream in the code?


Finally got to finishing the remote. Looks awesome! Now some waiting for some pieces for the receiver. And than adjusting to thumb instead of trigger. Let’s see how that goes.

Thx for the great remote @solidgeek, will donate you a beer!

No the photo is not mirrored, it’s build for a lefty!!


I was actually in the process of adding it myself. I was ganna do so put adding it as a settings feature and depending on which setting is selected is what’s displayed.


That’s the right way to do it! Let me know what you come up with


Probably won’t touch It until next Saturday due to classes. Also seeing if I can implement a blinking battery icon upon charging, should be easy since the Bluetooth icon does the same.


Relaxe they will sent it soon.
With my order it took also 7-9 days till they shipped


What would cause the display to be frozen at the Firefly start screen?


A lot of things could. It’s most likely a short on your NRF board tho. Double check all your solder joints


Boom. 3v3 on the NRF came out. Fixed and hot glued for the future. Thanks! Now to get telemetry working…


Using the development branch, why do I get this error?
“Set serial port was not declared in this scope”
The error occurs in the setup function.
void setup()

#ifdef DEBUG
DEBUG_PRINT("** Esk8-remote receiver **");
// Using RX and TX to get VESC data
SetSerialPort(&Serial); ----Error here.


You’re not using the VESC6 branch of the vescUART library


Hi there! Is there an easy way to revert the max/min Positions respective reverse the throttle. Because if I’m pressing the thumbwheel up I get lower throttle numbers and if I’m pushing the wheel down I get higher value readings…

So what do I need to change in the code to get this properly running?
And wouldn’t it be good to implement this feature in the Settings menu to be able to switch to inverted throttle?

Thanks in advance?