Simple 3D-printed NRF remote - Arduino controlled

@Howardzinn It looks good to me.

@Pimousse It’s true that the VESC logic is 3.3V, however I remember reading someplace that it is 5V tolerant. Of course, it would be best to use a voltage divider or a level converter to be sure. I would love some more thoughts on this.

@Snowi Its made in Inkscape

3 Likes

@Pimousse It’s the thing i’ve be afraid of. But in this topic “http://www.electric-skateboard.builders/t/focbox-hm-10-bluetooth-do-i-need-resistors/27093” dont use nothing @Snowi yes it’s Inkscape but honestly I was a little lazy and adjusted the scheme from solidgeek @solidgeek thanks a lot for your reply, remote and all the energy you’ve spent <3

1 Like

I’ve read STM datasheet long time ago and as far as I remember, It wasn’t sure that tx/rx pin are 5V tolerant. So I always use voltage divider on all of my Arduino stuff for communicating with VESC (1k and 2,2k). Works great like this. See my latest update here : http://www.electric-skateboard.builders/t/pircac-trampa-holypro-35-2x-overion-130-kv-10s10ah-2x-vesc6/32408/7?u=pimousse

1 Like

Thanks, I will take a look and probably will implement the divider on the board I’m current working, the think is, the divider does nothing when the STM sends the 3,3V to the arduino, for this we would need an level shift ic

3.3v for the Arduino Rx is high enough even at 115200 bauds :wink: No need of extra chip.

2 Likes

Hmm, I can’t seem to get my OLED display to show anything. The one on the parts list doesn’t have the same pinout as on the schematic… Mine has GND VCC SCK and SDA. An I2C scanner I ran detects the display still, but its just not working? Any help?

Make sure it’s connected when the arduino starts up. If you connect it afterwards it might not work.

Everything is already soldered to the board. Im just not getting anything

@SeeTheBridges SCL is a typing error on my side, it should be SCK :stuck_out_tongue: If you have connected it in the same manner as on the schematic, it should work. It’s possible that the display is broken they are quite fragile. Otherwise, I would check the connections. It should be as follows:

GND → GND VCC → 5V SCK → A5 SDA → A4

1 Like

well fuck. I guess I broken mine :sweat:

anyone need limit switches or trigger switches? i got a lot extra because i bought in bulk. if you need any, i only charge a dollar + shipping, compared to being $3

I finally got it working, but now the display is just hanging on Esk8 remote…any advice?

EDIT: My 3V3 was shorting to my D13. Missed a bit of solder on the back. Got a mostly working remote now. I can’t seem to cycle through the settings if I try to go into the remote settings though…

This may solve the problem with RX/TX 5V logic. But need to try and measure (im waiting to the module) :penguin:! any advice or comments?

2 Likes

Just a quick googling, I found out it’s a common problem with arduinos in other applications too. If that’s A solution to the problem I found a cheap and small board just for that. https://www.proto-pic.co.uk/4-channel-i2c-safe-bi-directional-logic-level-converter-bss138.html

@Zyb Yes! It’s what i looked at. https://www.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino/32589088559.html?spm=a2g0s.9042311.0.0.mcoGbR I have no experience with BSS138 so its need to do some measure. but looks legit

People in the comments are explaining exactly the same problem so it’s worth giving a shot.

About VESC PPM, why don’t you use UART comm for driving the VESC ? VescUartControl library has functions for that (VescUartSetCurrent & VescUartSetCurrentBrake).

:wink:

1 Like

Without modifying the library you can only get it to work on one VESC, the slave won’t do the same thing as the one connected to the Arduino. You would need to send a special “transmit this also over can” byte when setting the current which isn’t implemented and I don’t really know how to do it.

@SeeTheBridges Great! Well, it’s probably an issue with your magnets or the placement of your hall-sensor. If the magnets aren’t strong enough, the hall sensor will not return a high or low enough value. You have to tweak the min and max hall sensor values. I am adding a Hall sensor calibration function in the newest software update, which should be ready by Monday :slight_smile:

Otherwise if you can’t wait, you will have to go to the function controlSettingsMenu() and change the value 150 to a higher value (try with 250).

@Howardzinn that’s a good idea!

3 Likes

@Howardzinn hanks for the link i just made an order, they are much cheaper than the ones I found from Uk :slight_smile:

complete arduino noob here. i installed 3 extra libraries and when i verify/compile the transmitter code i get some red colored message i guess its a warning saying:

D:\Documents\Arduino\libraries\VescUartControl-master\VescUart.cpp: In function ‘int PackSendPayload(uint8_t*, int)’:

D:\Documents\Arduino\libraries\VescUartControl-master\VescUart.cpp:139:21: warning: converting to non-pointer type ‘uint8_t {aka unsigned char}’ from NULL [-Wconversion-null]

messageSend[count] = NULL;

does it look like theres problem? thanks for any help i have no idea whats going on :slight_smile:

edit: when i open the transmitter.ino file and verify it for the first time it always gives me that warning but second verify comes out clean… weird. i guess its allright.