DIY Waterproof remote


@rogjalon They just need to be coded with the same channel. No pairing needed.


@Goldy nice idea. Is the thumb piece only held on by a magnet? This could potentially be knocked off when falling.


Hi @g.gregory8, yea at the moment it is just held there by a magnet, It is a really strong magnet though so there isn’t any sign of it coming off but I agree with you that in a fall it could be knocked off. Was thinking maybe a small lanyard to keep the button attached to the case or even a plastic arm with a pivot point on the outside of the case


You can design *side walls" shaped (wedge) to keep that magnet sliding only where it must be, back and forth. I won’t trust that magnet… Even if of the strongest grade


I thought we already had found waterproof potis.


It works just fine! Still, I played with throttle increase delay (you should define variables to make it work) but “Delay” doesn’t seems the right strategy to follow… Tried millis() but that’s made for different purposes. I’m stuck…


Delay make it jerky…


I think the millis() function is the right approach to regulating the smoothing, What code are you using?


I tried to play with the Pacificmeister one. Probably millis need’s a different approach?


Could you post the code source or location of the file?


What are you trying to achieve? If you are trying to slow down the ramp up, Increasing the delay isn’t necessarily the correct approach. If you increase too much you will get less response and update time so will see jerky response like you mentioned. You need to add code to ramp up the throttle value to the target setpoint value from the trigger, similar to the code that is commented out in pacficmeisters example.

I use

if ( throttle_current_us > throttle_sp_us ) {
    // Decreasing throttle faster due to slow response of ESC on decel
    throttle_current_us -= (step_size*5) ;
    throttle_current_us = max(throttle_current_us, throttle_sp_us);
} else if ( throttle_current_us < throttle_sp_us ) {
    // Increasing throttle
    throttle_current_us += step_size ;
    throttle_current_us = min(throttle_current_us, throttle_sp_us);


The loop time through the code can be variable and undetermined, especially when adding other sensor steps, logging functions, etc. The approach I would take would be to define a ramp up (and down) per unit of time and balance the step size as related to the milliseconds passed since the last update.


Yes you are correct, depending how much and what is in the code. But on a simple sketch like the example presented a simple little delay would be fine. I run a scheduler on my micro so this loop gets run at the fixed rate I set. I run it at 20Hz (50ms).


Thank you Gregory! I will play with this, just to see how it works. My goal is to achieve a very soft accelleration ramp, like a continuous and smooth curve, and why not even a smooth deceleration as well.
Pacificmeister code is a good start, Alexander ones should be the good one for my purposes (waterproof remote) but I need to implement this soft start. I’m a newbie in Arduino…


I’ve seen @x-jets “foiling 2.0” project with the sensors, far beyond!! But for now, I think that we might be ok just smoothing the motor response. But it’s good to know that there’s no limit to development!