Difference between revisions of "Converting a controller to use an ESP Module"

From diychristmas.org wiki
Jump to navigation Jump to search
Line 1: Line 1:
This is generally not a terribly difficult thing to do, although there are some critically important considerations one should make.
+
This is generally not difficult to do although there are some critically important considerations to be made.
  
 
:* Powering the ESP module adequately is vital to success. If you are tapping the controller's power circuitry for power, remember that the ESP by itself can require upwards of 300ma of current just to start up and connect to an access point. Also remember that the ESP module requires 3.3vdc power; it will likely not survive 5vdc for even a moment or two.
 
:* Powering the ESP module adequately is vital to success. If you are tapping the controller's power circuitry for power, remember that the ESP by itself can require upwards of 300ma of current just to start up and connect to an access point. Also remember that the ESP module requires 3.3vdc power; it will likely not survive 5vdc for even a moment or two.

Revision as of 12:11, 10 December 2018

This is generally not difficult to do although there are some critically important considerations to be made.

  • Powering the ESP module adequately is vital to success. If you are tapping the controller's power circuitry for power, remember that the ESP by itself can require upwards of 300ma of current just to start up and connect to an access point. Also remember that the ESP module requires 3.3vdc power; it will likely not survive 5vdc for even a moment or two.
  • The TTL data output from the ESP module is a 3.3vdc signal. This may or may not be adequate to drive the controller's input circuitry to a degree that minimizes communication errors. Therefore, a voltage level shifter may be required for error-free operation if the controller requires a 5vdc input signal. Note that in practice, users have found that most controllers can generally accept the 3.3vdc signal, but YMMV (your mileage may vary...)
  • It is necessary to connect the ESP's ground connection to the controller's ground for any data connection to be successful. Below is the default pinout of the popular ESP-01 module:
Esp01 pinout.png
  • Not all firmware may output data the same way. For example, Shelby Merricks' ESPixelStick uses the GPIO-2 pin while Bill Porter's version of the same firmware uses the TX pin. You should not simultaneously connect more than one pin to your controller's input; choose one or the other or create a method that allows choosing the pin you need.
  • The ESP's data output is 3.3v TTL. You may have the best luck connecting the output directly to the input pin of your controller's CPU. This can be done by analyzing data input circuit of your controller. For example, if it uses an RS-485 chip to decode a serial or DMX signal from the computer, the RS-485 chip probably reassembles the signal into a single output that goes directly to the CPU. Check the pinouts of both the CPU and the data chip your controller uses for assistance, or use a magnifying glass to follow the circuit tracing from the chip to the CPU. You can also use a DVM to find the line of continuity between the two but you should remove both from the controller both before testing lest the DVM's voltage or polarity damage either chip.