Simple 3D-printed NRF remote - Arduino controlled

Decided to tweak my trusty Firefly Controller a bit and added vibration feedback to it.

  • Buzzes during startup to let you know when it’s operational without you having to look at the screen
  • When the connection is lost to the receiver it will let you know by going into a rapid vibration frenzy. (Only when the deadmans switch is held down tho, to avoid pointless buzzing)
  • The harder you brake the harder it will buzz in your hand. (If you are above 1KM/H)

Let’s see how fast this will drain the tiny 500mah battery my Firefly has.

All it took was a 2N7000 Mosfet, a 5v flat 10mm motor and a few lines of code.

Hopefully you can hear the buzzing in the video.

1 Like

The battery in the part list cuts the voltage at 2.7V. This damages the battery. I think we should just use a cheaper battery and add a board that cuts the voltage at 3.2V

I’m thinking of building a few remotes for $115/each. Free shipping for US.

Would anyone be interested in buying?

1 Like

Hey guys i have a bit of trouble with the code. I tried the library from solidgeek but i cant even compile the example sketch. It says that Serial1 is not declared. I am using an arduino nano and i am not sure how to fix this. Anyone an idea ? :frowning:

Serial1 does not work in Nano. The example sketch is made using a Micro Pro which has a seperate UART for serial data. You cannot use a Nano and get debug/telemetry text out in Serial monitor, unless you use SoftwareSerial as the VESC UART port :slight_smile:

1 Like

Hey thanks for the answer :slight_smile: i am a bit confused know because i dont know exacly how the serial port on my nano is named and sadly i am not so good at programming :frowning: i dont want to bother you but do you know what i have to change in the code to make it work ? P.s. thanks for this great remote design <3

You will have to include the SoftwareSerial library and replace the Serial1 with a SoftwareSerial object. The SoftwareSerial works on most pins I quess, but you have to connect the VESC to the pins you define as RX and TX. You should be able to figure this out by looking at the documentation for the SoftwareSerial library :slightly_smiling_face::roll_eyes:

1 Like

Actually if you download the development version it supports software Serial, and there is an example :upside_down_face:

2 Likes

Hi,

I’m having trouble getting this setup to work again. I had setup the receiver and transmitter a long time ago and all was working well (did not install it in my longboard or remote). Now I have updated my vesc (hw version 4.12) to firmware 3.57 because vesctool otherwise did not work. After that the receiver/transmitter setup did not work.

I have updated the transmitter and receiver arduino sketch to the latest version from this url:

I also have removed the old vesc-uart library and changed it out with the following:

(also tried this one:)

If I enable the debug feature on the receiver, I can see the trigger button being pressed and also see the position change of the throttle wheel. But i do not get telemetry data back from the vesc nor am I able to control the vesc via uart.

Maybe I have setup vesctool wrong, my settings for uart are: App settings --> General: App to use: UART App settings --> UART: Baudrate: 19200 bps

Could somebody help me how to get this working?

Kind regards,

Unless you are using the Firefly PCB receiver I made a few of, the baud for telemetry should be 115200.

Thanks. I will look at it later today. I’m using Arduino nano’s for both the receiver and transmitter.

I’m already glad the two arduino’s at least talk to each other.

I am able to control the vesc via the arduino’s. Only telemetry is not working. Is there some setting I have missed?

Edit: With nog working telemetry, I meant I’m not getting vesc battery information to show on the screen.

It sounds like a version issue. Which VESC firmware are you running?

I’m running firmware version 3.57 on hardware version 4.12.

Hi how do i connect the nrf24 module to the vesc?

And which software for the receiver are you using? And which VescUart library?

It is solved. All is working…

In the previous versions of your controller, you had battery voltage displayed on the oled. Now it shows the percentage. I was testing my vesc with a low cell count battery while the in settings it was configured as 8s. I was expecting it to still show voltage, instead it showed 00.0% (I just noticed the % symbol on the screen).

But to answer your question: I’m using the development build of the vescuart library and development build of the receiver and transmitter sketches.

Thanks anyway for the help!!!

Glad you got it working :blush:

Hello, I was wondering if anyone can help with my problem While i am compiling the receiver code, i get the error:

receiver:29:3: error: ‘SERIALIO’ was not declared in this scope

SERIALIO.begin(115200);

Im using a clone arduino Nano with the ch340 Chip, but i had no problems uploading the transmitter code onto the same board.

Any help is appreciated thanks

Please help me pair my Firefly NRF remote.

The receiver ( arduino + nrf24l01 ) is connected to the VESC TX/RX.
The remote is powered on and I can see the throttle value changes on the LCD. I have configured FOC and I can move the motor with the PC keyboard.

  1. I selected “Setup Input” > NRF
  2. Turned off the remote and selected Next.
  3. Turned on the remote and restarted the timer.
  4. Pressed the remote trigger button during the countdown.
  5. Timer finished and nothing appears on the screen

TWO OF THE WIRES WERE SWITCHED :slight_smile:

1 Like