Simple 3D-printed NRF remote - Arduino controlled

I started working on porting everything to nrf52 last night. Its a completely different architecture, so most of the code has to change. Since i don’t have the time nor need for vesc data and fancy menus, it stripped everything down to the bare minimum. Redid the ui with arduino gfx (u8glib doesnt work on nrf52). Now im starting to work on the radio side of things.

2 Likes

i’ll receive my nrf52 next week. at some point i will probably join you on your quest :wink: but first i want to finisha few other htings

If I was to use just ppm, would I need to change code?

On the nrf52 yes

do you know what to change?

pretty m,uch everything ^^ just go with the buylist from solidgeek, his development branch supports “PPM” only mode

@chinzw did you have a chance to play arround with the switch yet (the kill/cruise control one) ? the documentation stated somewhere that the Pins dont support “INPUT_PULLUP” which means you have to add resistors manualy to the switches manualy. not sure if this is correct though

oh ok 10 charc

Yeah, as far as i can tell there’s no pullups, but thats just a resistor to vcc, super simple, or you can reverse the logic too. I havent yet played with the trigger as i dont really use one anyways.

@solidgeek I am almost 100% done with my remote design, already took it out for a test ride and everything worked as it should.

I will upload the STLs to thingiverse and provide a build guide soon (lots of work to do one).

I will also upload the eagle files somewhere for the PCB design.

As for the code I adjusted your original a fair bit to accommodate for my own requirements (second button, deck choices, dead man switch, etc) but I dropped the latest round of changes because I didn’t find them necessary for my use (e.g. pipe address generation, Rx settings, etc)

In this case should I do a fork or a pull on GitHub? Sorry I have never contributed anything on GitHub so I have no idea exactly how it works.

Thanks again for the awesome project…

7 Likes

Silly me… I thought I had to physically turn the OLED 180 deg to make the remote left hand friendly. Turns out all I needed was a change in the code.

Now my remote is effectively ambidextrous!

2 Likes

@solidgeek I am new to github thing so I will do tonight.

I there were alot of changed and not just adding. I will delete and creating the repository again

What did you have to change to make it lefty?

Just swap one line of the code which deals with the OLED setup one of which is for the rotation… Ug82 something R0 vs R2. Sorry forgot the exact code, not at my PC now…

Hi everyone i am in i tight spot. I can not get further. My remote is finished but there is not signal between the receiver and transmitter. I have talked to Emil (Solidgeek) about it. If you have some advice for me to try please say so.

At the moment i have.

  • Checked for short (nothing came up)
  • Changed Dupont wires for silicone wire
  • Reuploaded the arduino code to both TX and RX

The remote shows Display and i can navigate around the display without problem. So both display, power system, and hall sensor works.

Should be able to use the radio library to have it print details about the connections might help for debugging purposed to write out those details to the serial port and copy/paste them here make.

@ervinelin Sounds good! Well I think a fork would be best, since your changes probably won’t be backward compatible :slight_smile: I am looking forward to seeing your complete build, it got some interesting features! I am a little curious to know what you use the top button for!

@Deakbannok Okay no problem mate, this is also my first time using Github for realz. Looking forward to seeing your fork!

@wafflejock Yeah we tried that, shows everything correctly. I am maybe thinking a defective nrf24 module @nikoli280.

@solidgeek remote is completed already, just did a 15km ride last night without much incident. I did have an instance which I couldn’t start the board again after stopping on a slope… Not sure what that was need to check.

As for the top button, it’s meant the mode switch. Meant to swap between displays (instead of the display rotating every 4 secs). Also used to access the menu. The front one acts only as a dead man switch.

@nikoli280 make sure pipe addresses are correct on both ends. Make sure in your code the radio is set to the correct pins (9 & 10 for me, not 7 & 8). Lastly try hitting the reset button on the Rx after it powers up, see if that works.

3 Likes

I Just got the 100th like on thingiverse for this project!

props @solidgeek

EDIT: Whoa…Where did all the balloons and streamers come from?:stuck_out_tongue_winking_eye:

2 Likes

Hey guys,

my remote is finish jet and on a small test ride it was great! :star_struck: THANKS! But I really miss the function to change the driving direction (forward / backwards), like it is possible with the nunchuck remote from BV. Do you @solidgeek think it is possible to add this feature? For example if the motor(s) stands still you hit two times or three times the dead man switch and than the motor(s) spins in the reverse direction when you push the throttle forwards. I know you can choose different modes in the VESC tool ( “current” vs. “current with reverse”). But I don’t like that the motors spins backwards when you just want to break in the “current with reverse” mode.

Hopefully you understand what I’m trying to explain :thinking:

Have a nice ride!:sunglasses:

that should be UART controls which he will be working on sooner or later. at least its on his roadmap :slight_smile: