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. Connecting 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

1043

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

update: 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;
          break;

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?

1 Like

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!

IMG_4638

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

2 Likes

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

2 Likes

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

1 Like

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 SetDebugSerialPort(&Serial); Serial.begin(115200); DEBUG_PRINT("** Esk8-remote receiver **"); printf_begin(); #else #ifndef FIREFLYPCB // Using RX and TX to get VESC data SetSerialPort(&Serial); ----Error here. Serial.begin(115200); #endif #endif

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?