Simple 3D-printed NRF remote - Arduino controlled

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?

Interchange the N and S poles of the magnet

Yeah, I thought that would be the easiest way… Done that…

But another serious issue. I built this remote like many months ago, and didn’t get freezes of the arduino whatsoever. Today I flashed the code from the developement branch and it worked first flawelessly, arduino boots up properly and it worked out of the box. Then I wen to the settings changed the ranges and exited the Settings, still no problems. Turned it of, and on again to get into the settings, then wanted to generate an adress, and then it froze up.

Now the remote freezes up at the firefly logo or after a while on the info screen, or sometimes after pushing the throttle.

I tried to reflash the arduino with the firmware, it flashes but the problem remains with the random freezes of the Arduino. I also resoldered all pins on the arduino and the display and the NRF24 module.

I didn’t set up the receiver so maybe the unavailable receiver is messing up the Arduino after a while?!

Is it a common problem? I tried to search the thread for “freeze” but didn’t get any usable result.

And is there a way to reset/erase the EEPROM? Maybe it’s due to the settings in the EEPROM?!

Thanks in advance. Ron

If you haven’t connected a nrf module it could crash - I haven’t tested it. I cant think of anything else. You can try to erase the settings by adding the function setDefaultEEPROMSettings() in the setup. However it should not be the issue :slight_smile: