Remote design based on ESP32

This is impressive. Do you have PCB built? I’m not that advanced in EE hence I’m looking for easier option)

I’ve tested built in hall sensor in ESP32 and it works ok. So perhaps that dev board, 3d printed case and couple of magnets is all what’s needed for transmitter.

Thanks, I don’t think a hall sensor is a good idea for this application, you can’t detect the direction the wheel is going in. The resolution will also not be great, you would need really small magnets and/or a really big wheel. Much better to stick with a rotatory encoder, like the ones used in computer mice.

How are your soldering skills? I can send you a couple PCBs for the price that it cost to make + shipping. You would need to solder your own components.

You can then either design your own enclosure or I can get a set printed for you, this will require industrial SLA/SLS printers (I got this done in China), even the SLA printer from Form Labs is not accurate enough and you end up needing to do lots of sanding.

I bought the ESP board, just never got down to putting everything together… If you can do the coding I can try to do up the remote casing… (see my DIY trigger remote thread)

1 Like

Thanks for the offer. Are there many small components? My fingers are too large for SMD components, but I have decent soldering station.

I still hope to create something that can be easily put together and if I can pull this off with this devboard it could be easy to replicate.

From my testing if you use two magnets of opposite polarity you can position them above the chip so it gives positive and negative reading depending on the direction. I hope to do more testing next week.

You have two magnets one normal and another flipped so you have one coming with N another with S that’s how boosted works iirc

Which one you have? I want to design enclosure for this dev board and fit in trigger with two magnets above the chip. Don’t have much time to work on this until next week and I didn’t receive my vesc controllers yet. Though constant failures on my Chinese controller will force me to work harder on this!)

I see, I was thinking more of a digital counter with infinite scrolling. All of them are going to be SMD components mostly 0603 and some 0402. You would probably need twzeers.

I see, I was thinking more of a digital counter with infinite scrolling. The one that I made is an infinite scrolling wheel, much like a mouse.

There is already existing one I think it’s called Firefly remote or etc with 3d printed case it uses hall sensor, and it’s more precise than potentiometer… I wouldn’t much use rotary encoder as you don’t have exact position just movement, if you skip some steps you screwed :smiley:

I don’t think you would need an exact postion.

Mine has a safety button, you can only accelerate or brake when you hold the safety button.

When the safety button in not held, the skateboard goes into coast mode, and the acceleration or braking is reset.

Having a infinte scroll wheel means that you don’t have to keep the throttle at certain position and is immune to sudden acceleration or braking if your fingers are bumped out of position.

In addition you can also have very fine control over the acceleration and braking, as you don’t have to map the throttle/brake to 180 degress.

1 Like

Mine is this…

Never got down to using the esp because my remote works just fine as it is…

1 Like

Yours is cool! I’m just being way too lazy at connecting wires!)

Yup I know the feeling which is why I bought the esp board as well… But I really don’t have the time to learn how to code it…

If arduino is used, it’s not hard at all. I do plan to use your fw as a base. You guys have done a lot already and this shouldn’t be hard to adopt for esp

The ESP32 supports the Arduino core, so most of the code can be ported directly from the Arduino Nano, even communications like I2C work straight out of the box. Display libraries such as the U8glib also work. The only thing you would need you to get working is the Bluetooth or if you are using the NRF modules there would be no issue as SPI also works straight out of the box. WIFI is a power hog and you don’t really need that much bandwidth. I would go for Bluetooth as the NRF modules have no encryption if I remember correctly. I have just managed to get Bluetooth pairing and encryption to work so I can help with that.

I just got my ESP32 dev board in the mail this week and I’m currently experimenting with using off the shelf bluetooth game controllers for my remote with the ESP32 as the receiver. It seemed like an interesting challenge for myself and a way to get away with using cheap, easily replaceable hardware (not to mention I have a lot of time to kill waiting for cash for my other esk8 gear). I’m using the ESP-IDF framework and it’s been interesting playing around with it.

2 Likes

Sounds good… let me go dig out my board and see how I can design a casing around it .

FWIW I’m using the “infinte-scrolling” encoder (if I hadn’t mentioned already) and it’s true that you don’t know what the position is, but as I have it set up as a nunchuk remote, I:

  • increment/decrement a value from 127 to -127 (from memory, or was it 0-255?)
  • have a deadman switch that if I let it go, the throttle immediately goes back to 0 (or idle)
  • if I click the encoder it also goes back to 0
  • brakes still work if deadman switch is released
  • only clicking the encoder button will 0 if brakes are on

The feature/reason why I am using an encoder is that the throttle is very smooth (depending on the granularity of the mapping of pulses to “throttle steps”). I hated how twitchy potentiometers were in the traditional style of controller. Constant cruise-control FTW.

It’s not “ideal”, this won’t be for everyone

I haven’t had any moments yet. I spend a lot of time thinking about how to make it safe. You do have to train yourself to take your finger off the deadman switch if you want to brake quickly.

I have a screen (OLED 128x32px) in my remote that shows me board-battery voltage. Next I’ll implement some way of changing throttle-response settings through the remote. It will just change the throttle curve.

1 Like

Been working on the code for this ESP32 remote coded on the ESP32 Arduino Platform

I’ve now got passcode pairing to work with MITM support see photos below

The only inconvenience right now is the first time a remote is paired with a receiver, you would need to enter the randomly generated passcode on the receiver over a USB connection over serial. This only has to happen once as the pairing keys are stored in the ESP32 flash which will survive a reboot/power down but not a firmware flash

Going to try and get navigation working with magnet and safety button as input

Let me know if there are any specific requests? Is the plan to just have one button?

IMG_20180816_205835 IMG_20180816_205950 Screenshot_20180816_210657

1 Like

I’ll be modifying some code from my current receiver which can communicate with the VESC over serial to operate on a single ESP32 board, see my other thread. https://www.electric-skateboard.builders/t/open-source-electric-skateboard-platform/64535/13