How do I program an app which modifies electronic speed control functions?

If I wanted to program an app to modify an electronic speed control’s functions via wi-fi or Bluetooth, how would I access the ESC’s internal functions and change them? What are the hooks into the ESC? I have no idea on how to begin.

‘the ESC’
The first step will be to define which of many possible circuits you are referring to as ‘the’.

In this video, someone is setting parameters for the ESC when using an app: https://www.youtube.com/watch?time_continue=17&v=K3YVSOrBMj8

He sets parameters at 4:20.

What key things do we need to know to program an app to adjust an ESC’s settings wirelessly? I have no idea what hooks are in an ESC and how to access them in programming.

Websites typically do not access hardware directly. Typically hardware such as the keyboard, mouse and monitor have interfaces provided by HTML and such. Any hardware that is not typically used by websites must use something else to access the hardware and the something else varies depending on the browser.

If you want something that works in all the major browsers then a browser extension is the most likely solution. However browser extensions do not have a standard (common) way to access hardware.

One possibility is to use Native Messaging - Google Chrome. Do you know how to write console programs? Native Messaging is supported (perhaps with minor variations) by all common browsers.

I do not know how much and what experience you have so I don’t know how to describe alternatives. If you can write a console (aka command prompt and aka shell) program to do the interface then it can be modified to use Native Messaging. Can you do that? If not then the project might be too advanced for you.

Oh, okay, since this is in the JavaScript category I will say a bit about Native Messaging in the context of JavaScript. I did a quick search and it appears that Native Messaging requires more than JavaScript. For example see GitHub - gnaudio/jabra-browser-integration: JavaScript library to control a Jabra headset from a browser. Apparently it uses JavaScript plus C++.

NO, I don’t know how to write console programs. I do know in some cases bluetooth is required, and in others wi-fi is used, depending on the device. How we change the actual circuitry flow on an external device is simply beyond me.

OK, let’s consider this page closed, since I am not getting practical advice here. Thanks for responding!

Many years ago, back when the Intel 80386 processor was new (as I said, a long time ago) someone asked me to write a printer device driver. The internet did not exist; the only resource I had was the Microsoft manuals. At the time I did not realize it but it should have been two device drivers, one for the printer and another for the hardware required to send the data. I knew nothing about Windows or Windows programming or Windows device drivers but I got it working using just the manuals. Unfortunately as soon as I got it working HP developed their own way of doing what the hardware was doing that my device driver was for.

Begin with the hardware manual(s). Begin by writing a program that somehow does what you need to do, except not using the internet.

Begin by researching what can be used to interface with hardware from browsers. Understand that for security purposes interfacing with hardware from browsers should not be easy to do.

You will get the best answers when you ask specific questions resulting from (for something such as this) hundreds of hours of research, not very general questions such as here without having done much research first. You won’t get help anywhere with a question such as this.

2 Likes

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.