Simple 3D-printed NRF remote - Arduino controlled

If anyone has a complete kit (3d printed parts can be missing, I can always use 3dhubs for that) for sale I would definitely be interested. I wanna start ordering parts but if someone out there already did all the work and can send it all in one comfy package it would make my life much easier hahaha

2 Likes

Where are you from? Iā€™m from Berlin, Germany

I have 1 Display, 2 Arduino, 2 RF Chips, 8 Magnets, 2 Hall Sensors, 3 LiPo Charger, 15+ Microswitches, 10+ USB Micro Ports

So you need 1xBoost DC-DC Converter, 1x LiPo, Wire

Iā€˜m in for 1 or 2 receivers. Just realized that my 3.3V Adafruit feather canā€˜t read the 5V UART of the VESC. Thatā€˜s why I have no readings on my remote :confused:

theres a part made just for that https://www.sparkfun.com/products/12009

Iā€™m located n California, USA :frowning:

Just gonna drop this here because Iā€™ve been editing it all day to get it out before finals week :sleeping:

10 Likes

Thank you very much! Forgot about this possibility.

Let us know if itā€™s alive after receiving 5V on 3.3V inputs

On the UART connection. You have 3.3v and 5v pin.

Please also sell just the populated PCB without the casing!

Also whatā€™s that HUGE cap for

The receiver works great but it does not send back the data of the VESC.

1 Like

Thatā€˜s true but only for the power output. The logic is still 5V

Nice glad you posted the second Part. Both of these segments were easy to follow and explained really well

Wuhu, first time Motor running via the Remote signals :wink: Can anyone post there Vesc settings for the remote? And somehow I dont get Telemetry :frowning:

@everyone if you dont get the reading telemetry. check in the line 174: and remove that IF off for good

Iā€™m not sure what you are talking about :frowning: The latest Dev Build is:

Receiver

172 /* Begin listen for transmission / 173 while (radio.available() && !recievedData) 174 { 175 // Read and store the received package 176 radio.read( &remPackage, sizeof(remPackage) ); 177 DEBUG_PRINT( ā€œNew package: 'ā€ + String(remPackage.type) + ā€œ-ā€ + String(remPackage.throttle) + ā€œ-ā€ + String(remPackage.trigger) + ā€œ'ā€ ); 178 delay(10); 179
180 if( remPackage.type <= 2 ){ 181 timeoutTimer = millis(); 182 recievedData = true; 183 } 184 } 185 /
End listen for transmission */

the only if that i can see is Line 180, so

180 if( remPackage.type <= 2 ){ turns into 180 ( remPackage.type <= 2 ){

right?

OK, I think the problem is caused by my receiver board. Iā€™m using an Adafruit feather m0 board which does not only not work with the second Serial but apparently it also does not have EEPROM so I canā€™t use the new firmware. So right now it still works as a normal receiver with ppm to control the board but it does not work with other features. So before I buy a new board, howā€™s about the boards from @solidgeek ? I would definitely buy one. But if it will take you some time maybe I buy an Arduino board first.

Under Development branch code.

 if ( rxSettings.controlMode != 0 ) {
    getUartData();
    radio.writeAckPayload(1, &returnData, sizeof(returnData));
  }

Toā€¦

getUartData(); radio.writeAckPayload(1, &returnData, sizeof(returnData));

Iā€™m considering building mine with a QI wireless charging receiver inside if it will fit. Something like this perhaps?

Receiver module

Any preconceptions?! :slight_smile:

Think Qi charging is overkill for the remote they donā€™t drain much power by themselves (mine doesnā€™t have an oled but canā€™t imagine that is taking much power and is only on when the controller is powered). I literally hadnā€™t used mine for a couple of months and itā€™s still sitting at like 4V (1S battery) and when I am using it it runs about 20mA continuous current so with a 800mAh battery (or even smaller) you get a ton of on time too. All that said donā€™t see any reason it couldnā€™t work.

1 Like