Simple 3D-printed NRF remote - Arduino controlled

The voltage will be displayed on the battery page, so I am not sure if it is necessary to show the voltage on every page? Currently, there are three pages:

  • Speed
  • Distance
  • Battery

The remote will loop through these pages every 3 seconds or so unless you set the trigger as “Data toggle” then it will shift every time you press the trigger.

I have no idea how @Ackmaniac watt mode works, I have never used it. But it could probably be added at some point :slight_smile:

@solidgeek I think this project would really benefit from the Adafruit M0 Proto (https://www.adafruit.com/product/2772) Its smaller than a nano and comes with integrated lipo charger/booster and usb. I have a few, ill try to modify your remote to fit the m0 and an nRF24L01+

1 Like

Give it a try! He’s throttle curve works amazingly together with watt mode. I don’t think I’ll ever go back to any other firmware. Smooth throttle control!

@Ackmaniac could you tell if your firmware would work well with this remote ?

Well if the firmware works with a standard PWM signal and doesn’t change the tachometerAbs value then it should work just fine :slight_smile:

The Adafruit Feather are awesome, however as far as I understand they operate at 3.3V. The only thing using 3.3V in the remote is the nRF24 module, while the OLED and Hall Effect sensor requires 5V. The OLED could be supplied by a separate 5V boost converter, however, the Hall Effect sensors max output would be too high for a 3.3V logic, so a voltage divider would be necessary. It should, however, be possible to find a Hall Effect sensor working at 3.3V.

The Adafruit Feather could surely be a cool substitute of the Nano, TP4056 and boost circuit. I am looking forward to see your modifications :slight_smile:

1 Like

@solidgeek, the hall effect sensor works fine with a 3.3v source, it’s out of spec but works fine and it’s ratiometric so it’s output is proportional to the input. Adding a tiny 5v step up would be very easy for the screen

1 Like

Well you are probably right, however, I am sure there is a reason why the min voltage is 4.5V. The output might be unstable or unable to detect the same min and max values, and I don’t think that’s an option then driving 40km/h on a skateboard. Using the Hall sensor out of specs only adds another way to face the asphalt :grimacing:

I think a better solution would be to find a Hall Sensor that is working correctly (within it’s specs) at 3.3V, or simply find a way to supply it with 5V :slight_smile:

1 Like

Let’s do this

A couple of thoughts: a sort of lip on the sides would be good to have so that the halves fit together without a wobble even when not screwed together. Also I’d prefer screws with nuts on the opposite side instead of cutting a thread in the plastic - that would make reopening a lot easier.

7 Likes

I ordered a few sensors (TI DRV5053 variants with different sensing ranges) these are 2.5-38v input and 0-2v output so well within spec. Ill try and print a case this weekend and give it a try! I ordered a oled screen as well, 3.3v operating voltage as well :slight_smile:

OLED consumes ~20ma NRF consumes ~15ma And the proto m0 can provide 500ma regulated 3.3v, i think this might work very nicely

3 Likes

Regarding the screws can also just put a retaining nut into the plastic so you don’t need to have screws on one side and nuts on the other, just boolean/extrude/cut out a cube slightly bigger than the nut from the cylinder of plastic the screw goes into. Can also widen out the holes themselves in that case and let the screws freely drop through the holes until they get to the retaining nut did this with my remote and it worked well I only have 1 screw on mine though so it can be swiveled open pretty easily which is good for tweaking things and charging since I didn’t put a charge circuit in the last one I did think you could get away with just 2 screws for closing the case though especially with a lip added.

I have almost the same guts in my controller except minus the OLED and using a 800 mAh battery it lasts incredibly long, have left it on by accident overnight a few times and was still pretty well charged, your numbers are pretty accurate, the nrf chip plus arduino for me was consuming between 18-20mA. Actually speaking of leaving it on overnight not sure if that’s in the code already but might be good to add in some stuff about excessively long times without input to just shut off the radio at least (not sure what you could do in terms of lowering power consumption of the arduino too but it’s pretty negligible itself anyhow).

Well there is an interrupt based sleep on arduinos: https://playground.arduino.cc/Learning/ArduinoSleepCode

not sure if the nano can actually benefit from this.

@solidgeek BTW guys, would you know if there is option for implementing a long press of a button to switch on and off the remote ? Most of today’s devices have this as standard and I think it would be better than the actual switch. I think it would be more hardware based than code based. Any thoughts ?

Have some examples of devices that use long press to turn on and off? Only things I can think of is phones or tablets really but in the case of shutdown it’s a long press to activate the shutdown confirmation screen. On startup they will use a short press to show battery charging or life and long press to turn on but in that case they must be using some power to run a timer and then I imagine they are using a FET to actually open or close power to the main cpu/mcu (I’m speculating here).

Only thing I can find that would do this without keeping the arduino itself powered up to monitor the button press seems pretty big: http://www.ebay.com/bhp/time-delay-switch

Doing the going to sleep part based on a delayed button press from the arduino itself wouldn’t be too hard but actually shutting off and then doing the startup without some clock running won’t really work as far as I can tell.

This can be done, but its not the most efficient way. Of the top of my head, this should work:

The switch turns the transistor, which powers the arduino, the arduino sets A01 high, which overrides the switch and keeps power flowing. For shutdown just need to set A01 low, which can be done by connecting the switch to one of the arduino inputs and reading its value.

My maytech remote has a button for on and off - longpress. And it works amazingly. If maytech can do it, I’m sure @solidgeek can :stuck_out_tongue_winking_eye:.

I googled it and as you mentioned it might be fets.

Don’t turn it on take it APAAAART :slight_smile:



^^ Think this is similar to what @chinzw sketched up above but doesn’t include the arduino part but pretty sure that would just be controlling one of the “switches” using a BJT maybe… really in any case I think this is a fair amount of extra complexity if you aren’t baking all the stuff onto a single PCB. Would be interested to see pictures of the guts of the controller that does this though.

Haha!

Well I found its guts here

https://hiveminer.com/Tags/maytech

One one of the pics you can see in upper left corner on the board the momentary switch- it turns it on and off.

Actually pics of the guts might be slightly different to current model. Mine doesn’t have side switch like on above pic here ( which I think originally was to switch remote on and off). I might take mine apart to see how it looks now.

1 Like

Hmm yeah hard to see what that momentary button is hooked to but I don’t see any NE555 timer ICs on there either so I would guess they’re using something akin to the circuit in the previous post. I haven’t really used surface mount FETs or BJTs only the through hole kinds but they have 3 legs so think some of those small black packages on the board with 3 pins could be one or the other (could also be voltage regulators or other things)… some details on identifying components here:

Can usually zoom in with a phone or better camera and take a picture to be able to actually read the labels, sometimes need to get the angle to get light bouncing off it or wipe off the components to get rid of any grime.

I will undress my remote and get some pics. You’re right, if there is no custom pcb then it will be too complicated. @solidgeek was looking into making one but I think it would be for later Versions if anything :wink: