Simple 3D-printed NRF remote - Arduino controlled

I second @oyta 's leash suggestion…

1 Like

@NAF Glad you like it :wink: Well at the moment only data from the remote, fx the remotes battery level etc.

@wmj259 Yeah I have made a github repository https://github.com/MrSolidGeek/NRF24-Esk8-Remote

@benwong I think the hardest part is to assemple everything correctly - without shorting anything! The rest should be easy enough :slight_smile:

@oyta I am not sure if the module from Adafruit would be a very good choice, as it has a normal USB plug for charging something external. I like your idea of a hole to connect a leash, I will try to implement it in the next version! Regarding the built in NRF in the VESC 6, unfortunately there are no documetation on how to establish a connection to the it, and I can’t get an solid answer from the VESC team yet… So at the moment you will have to use a receiver with UART or PPM :slight_smile:

@JLabs Glad to hear it :slight_smile: I am almost done with the software to the remote, however I am having some problems with the transmission part… I can’t seem to establish a connection between the receiver and the remote at the moment. I believe the NRF24 module I am using might be defect or I might accidentally shorted it :confused: I will have to try another one tomorrow - hopefully its just the bad chinese quality thats given me a lesson :wink:

16 Likes

Looks awesome, regarding the nrf modules make sure you aren’t feeding more than 3.3V into the VCC and use them in low power mode unless you tack a capacitor on there, I fried at least 3 of them by accidentally feeding 5V into them, they work for a few minutes on 5V but will fry out eventually.


You do have one of the fail safes in there already for the timeout but you might want to check out elapsedMillis it makes keeping track of that a little easier.

On the receiver side would check to see what happens if you remove the MISO pin from the NRF to the arduino, when I did that it was still reading available on the receiver side but the arduino would read the data as 255 which then got sent to the ESC as full throttle (basically I’m pretty sure the pin floated high, it did this while bench testing as well).

2 Likes

Thanks! I just tried changing RF24_PA_HIGH to RF24_PA_LOW and it started working, however only making a connection every second or third try. My older prototype did not have these problems, I will have to dig into this. I think it must be some kind of power issue - even though I already have added a 47uF cap on the NRF24 module.

Thanks for the advice I will try it out :slight_smile:

1 Like

You don’t have to install the USB port. You can use the 5V and GND as the output connections instead.

1 Like

Heads up: they don’t ship the springs to the US.

6 Likes

What software did you use to create your controller?

Also another heads up for the nrf antenna. They seemed to be defective so the seller told me this.

Thanks for heads up, I was just going to order it haha;) maybe that’s why @solidgeek had slight issues with them.

@wmj259 Well if thats the case… I found another seller on Aliexpress - I have replaced the link in the parts list and bought a few myself to test.

@MontPierre Slight issues? My head is gonna explode… I can’t seem to get a stable connection with the current nRF24 modules. It is very sensitive, and the range is no more than 1.5 meters. I am thinking of pulling out the nRF24 module from my old remote, and use it instead, as that module surely did work. However I still have to find a good supplier of nRF24 modules. I am waiting for the ones from Aliexpress.

It seems that nRF24 modules from china mostly are crap :tired_face:

1 Like

Looks like an awesome remote, might try it out myself if my Bad Wolf starts having problems. I’m curious though as to why you used the NRF module over something like an ESP that can also serve as the MCU so you can ditch the Arduino.

1 Like

I’ve asked others about this too but haven’t seen much about doing ad-hoc with the ESP chips since they’re usually used on wifi (at least from what I’ve seen on the youtubes). I do think a single board with the radio and mcu would be ideal I basically made a PCB that just connects the two boards but it’s a fat sandwich compared to baking all the smd components onto a single board. Problem is the cost to get the chips and assembly done is high unless you’re making a bazillion of them (at least a few thousand) so it’s hard to justify doing a total custom board, @Sander did a custom nrf board design but costs are way higher for small batches.


Pretty sure the way the ad-hoc works with the ESP chips is the same as the particle photon boards where one has to be setup to be an access point and the other one connects to it https://community.particle.io/t/multi-device-talking-possible/13373/7 Honestly not sure if this is better or worse than the “burst-packet” technology the nrf modules use for point to point communication but feels sort of like shoehorning it with the ESP chips if you’re making a mobile access point (on the plus side I suppose multiple devices could connect to it but that must have overhead to it).

About the range in a clear line of site you’ll get about 3-4 meters of connection before it loses it completely on low power mode, if you add the capacitor on the gnd and vcc and jack up the power to max with the chips I have can broadcast at least a half a block away.


Definitely one of those components that is notorious for being cloned, honestly didn’t check the stamp with a magnifying lens or anything to see if it was genuine but haven’t really had problems outside of my own errors.

These are the ones I’ve been using:

1 Like

I finally got it working! The problem wasn’t the actual transmission, but instead the auto-acknowledgement. The remote uses the auto-ack feature of the nRF24 to know if the transmission was a succes or not, however I had not taken into consideration that a transmission could be succesfull even though the auto-ack wasn’t recieved probably.

And it seems that the nRF24 modules weren’t to blame, but instead the poor quality of my Arduino Nanos 3.3V output. Apparently the clones that are being sold on Ebay etc. comes with a very poor 3.3V regulator, that causes a lot of electronic noise - some worse than others. The noise/voltage ripples can make signal distorted and therefore not getting to the remote.

I solved this by adding a 220uF cap on the 3.3V rail, and adding a 47uF on the nRF24 modules (soldered it directly to the pins). This however didn’t solve the issue completly, I had to make some software changes on the receiver, and now the remote works perfectly with a distance of +8 meters.

I will update the software on githup tonight and finish the schematics as soon as I can :slight_smile:

@JdogAwesome Thanks :slight_smile: ! I have choosen to use nRF24 module, because they are power efficient, and easy to get and use. The idea of the remote, was that anyone with a little DIY-skills should be able to make one by themself, and therefore I believe that an Arduino and the nRF24 modules are a perfect match :slight_smile:

9 Likes

Why go through this trouble with the NRF when you can use bluetooth module? Isn’t it much simpler?

1 Like

No not really the pairing is also a pita typically and the hc-05 or hc-06 chips are still more than the nrf chips. I used one and controlled from an app on my phone but would recommend against it. With a controller instead of phone as controller it might be better but still don’t see the advantage over the nrf chips.


Also I use Bluetooth for headphones and Android is crappy enough at A2DP or whatever it’s using that I don’t really trust all the extra noise that will make (maybe unjustified fear but there nonetheless)

@Snowi Bluetooth was also my first thought! However I read many places that Bluetooth 2.0 (HC-05 etc) aren’t that reliable to use for critical applications such as Esk8 at high speeds in crowded cities - your life is at stake :cold_sweat:. In addition, Bluetooth doesn’t really have any advantages, except that it is (in my experience) easier to work with. Maybe a newer version of Bluetooth (3.0, 4.0) would be more reliable in the future? For the moment I think nRF24 will do :stuck_out_tongue:

@wafflejock I agree

I just found this PCB, with a built-in charger and boost converter! Seems very nice, and fits perfectly (with extra room) next to the battery in the remote. It does not have a built-in over-discharge protection, however, the battery I am using has - so no problem.

This seems a lot easier than using two different modules, it would make the assembly process much easier at least :slight_smile:

2 Likes

Are you planning any design changes in the near future :slight_smile: ? Just wanted a heads up if you do and before I start printing it.

2 Likes