Display and control of ESC using Nextion?

Hello, new here and semi-clueless so my apologies for what may be a dumb question. I’m designing an electric propulsion system using an ESC like this:

https://docs.powerdrives.net/products/uhv-esc/overview

One problem is controlling the ESC/motor, which uses PWM so I think something as simple a PWM Pulse Signal Generator Speed Regulator would work.

The other is displaying the ESC output data, which uses UART so I think this will work:

Do you think someone with virtually no coding talent can pull this off? Can I use the Nextion device to transmit a PWM signal using the GPIO to my ESC and display telemetry data too?

Thanks!

Hello @AC5ME and welcome to the RobotShop forum!

There are no dumb questions just dumb people that don’t ask questions, so don’t need to worry :wink:

One problem is controlling the ESC/motor, which uses PWM so I think something as simple a PWM Pulse Signal Generator Speed Regulator would work.

Are you looking for something to control it manually or do you want to program it? If you want to do it manually then you can use something like this:

However, as you mentioned you want to display some data I think the best option would be using a microcontroller. Since you mentioned you are a beginner I recommend getting an Arduino because there are lots of libraries and tutorials out there on how to control ESC’s, for example:


The other is displaying the ESC output data, which uses UART so I think this will work:

Even though the ESC you mentioned has UART telemetry output and the screen has a UART interface this doesn’t mean it will be able to simply display the information you’ll get on the datastream. In order to read this information and display it you will need a microcontroller (and you will need to program it to display the info), but don’t panic, there are lots of Arduino tutorials for this and the wiki you linked already has an example code in C so it should be easy to “translate” it to Arduino code. It is worth mentioning that there’s an example python code there as well so you may want to consider a Raspberry Pi instead (again lots of documentation out there) but I think that would be overkill. Once you choose which microcontroller/scb you are going to use you can choose a Display that works for it, you can find lots of options here.

Do you think someone with virtually no coding talent can pull this off?

For sure!

Can I use the Nextion device to transmit a PWM signal using the GPIO to my ESC and display telemetry data too?

Not directly, you will need an Arduino or a Raspberry Pi.

I hope this information can help you out

Good luck with your project!

Thanks for such a quick and thorough answer! It looks like I have a bunch of new stuff to learn if I want to make this happen.

One question about the servo tester: I didn’t see anything in the description that mentioned PWM output (except: Output signal: 1.5ms±0.5ms) or that it would be compatible with a certain ESC, is this a given?

Thanks again,
Jim

Thanks for such a quick and thorough answer! It looks like I have a bunch of new stuff to learn if I want to make this happen.

You’re welcome! And don’t worry, there’s a lot of documentation online for everything you mentioned so you should be able to make it happen!

One question about the servo tester: I didn’t see anything in the description that mentioned PWM output (except: Output signal: 1.5ms±0.5ms) or that it would be compatible with a certain ESC, is this a given?

1.5ms±0.5ms is the pulses width of the PWM signal

When a pulse is sent to a servo that is less than 1.5 ms, the servo rotates to a position and holds its output shaft some number of degrees counterclockwise from the neutral point. When the pulse is wider than 1.5 ms the opposite occurs. The minimal and maximal widths of pulse that will command the servo to turn to a valid position are functions of each servo. Different brands, and even different servos of the same brand, will have different maxima and minima. Generally, the minimal pulse will be about 1 ms wide, and the maximal pulse will be 2 ms wide.
More info here and in the HowToMechatronics tutorial I linked previously

You can see how a servo tester works here:

But again, for your project, I would recommend getting an Arduino, and if you want to control your servo manually you can get a potentiometer or joystick and achieve the same function as the tester.