Simple 3D-printed NRF remote - Arduino controlled

@Nordle Yes you can use the trigger as reverse mode, however you would have to make a few software changes. There are two ways I can see this implemented, both require the UART connection.

  1. The Nunchuck mod from Vedder, used the top button to switch direction and the lower to cruise. I use this to enable cruise control with the remote, however I never implemented reverse. This could be done by setting the valLowerButton to true I think. This method uses UART only.

  2. Change the settings over UART. The VESC got a configuration called ā€œInvert motor directionā€ if this could be changed by a UART package the motor direction could be changed on the fly. However has to be tested.

I am planning to add this in the future, however I am currently spending my time on a related project :slight_smile:

2 Likes

What project? :smirk: Spoiler

PCB spoiled

Anyone got any Ideas on how to limit the rate the hall effect/potentiometer value can increase? Like an acceleration limiter.

I donā€™t have the code in front of me now, but I recall that in the transmitter.ino thereā€™s a section which takes the hall reading and converts them to a 1-100 scale, or something along those lines (since the hall sensor returns values roughly in the range of 200-1100). It is in this section that you could adjust the math to suit your needs, i.e. to cap how high the number can go. But maybe that would just be easier to do in the VESC Tool when you configure the remote?

I donā€™t need to limit its range, just the speed that it can increase by. So if I hold the thumb wheel down full throttle, the board will gradually accelerate.

Maybe throttle curves are a simpler answer? https://www.electric-skateboard.builders/t/ackmaniacs-fw-lets-talk-throttle-curves/64173

1 Like

I would agree with you. Having played with mine a bit I can tell you with an aggressive throttle curve you can really make the acceleration gradual. Top end still gets pretty crazy thoā€¦

I have two questions:

  1. How can you change the logo and what it says on the opening screen?

  2. how can you change the settings from KM to MPH. I seen you can change it in the display however does it calculate the correct value if changed?

1 Like

You have to first create your bitmap graphic, then convert it to hex so you can place it in the code. Thereā€™s some free PC software that can convert for you. https://www.instructables.com/id/How-to-convert-bitmap-graphics-for-OLED-SSD1306-di/

1 Like

I got it working by adjusting the math slightly in the code (see post #1399), then of course changing the ā€˜KMā€™ text to ā€˜MPHā€™ in the code wherever it was referenced. I think itā€™s accurate:

1 Like

Anyone in the states have an extra nano v3 they wouldnā€™t mind parting with? :pray: Iā€™m pretty sure Iā€™ve botched the receiver nano - Iā€™ve gone through about every troubleshooting exercise I could find, it errors out in spite of my efforts. Ordered a few on aliexpress, but I could be dead by the time those arrive #dramatic

Iā€™d also be happy to trade one back once the shipment comes in. Eh? Eh?

Hi Guys! I build my first remote an I am happy so farā€¦ made some modifications to it like a bigger screen, ball bearings instead of the plastic glides, extra button and a little vibration motorā€¦ At the moment I use just the basic code from the development branch, and PPM works great, BUT I cannot get any data from the VESC. Every value shows just 0. I just wired up to RX/TX to vesc. UART worked before, because there was an HM10 connected. Baudrate is set to 115200. Do I have to do something else??

Did you also set your control scheme to ā€œPPM and UARTā€?

yes I didnā€™t. I used an HM10 before on the same cablesā€¦ worked without any issues.

Do I have to use the ground or +5V from the UART Port from the VESC? One Ground from my Ardunio is connected to - of the VESC (where normally the recover is powered) and the other ground goes to the NRF42.

Is there any chance to debug the connection? I really donā€™t know how to solve this issue. I just get no data from the VESC.

maybe this helps for debug?

Esk8-remote receiver
Settings loaded
Printing receiver details
STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xe8e8f0f0e1
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0xe7e7e7e7e7
RX_PW_P0-6	 = 0x00 0x20 0x00 0x00 0x00 0x00
EN_AA		 = 0x3f
EN_RXADDR	 = 0x02
RF_CH		 = 0x6c
RF_SETUP	 = 0x07
CONFIG		 = 0x0f
DYNPD/FEATURE	 = 0x3f 0x06
Data Rate	 = 1MBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX
Setup complete - begin listening
New package: '0-527-0'
Getting VESC data
New package: '0-546-0'
Getting VESC data
New package: '0-527-0'
Getting VESC data
New package: '0-537-0'
Getting VESC data
New package: '0-563-0'

It could be a simple compability issue you are facing. What firmware version are you running at the VESC? And which software version for the receiver? :slight_smile:

I run 3.40 on my vesc (hw.4.10). On the receiver Iam running #define VERSION 2.0 from the development branch. Not good? :slight_smile:

Are you using the latest commit from the development branch, and downloaded the library I released for UART communication ā€œVescUartā€?

I downloaded this one GITHUB and use this library VescUartā€¦

Battery always show 0 on my remote. Can I check the connection in any other way?