ESP8266 NodeMCU Backdoor uPWM hack for IR signals


The AnalysIR crew has published an article showing how to achieve accurate PWM for Infrared carrier signals on the ESP8266 NodeMCU:

Quite simple really – just set the baud rate to 10 times the desired Infrared carrier frequency and send a ‘magic’ 8 bit character to achieve the desired duty cycle. Of course we need to take the 1-start bit and 1-stop bit into account plus the 8 bits in each character. Remember that the UART sends the data inverted, so this needs to be taken into account with the characters sent and also in the IR LED driver circuit above, which required 2 transistors instead of the usual one.

More details at AnalysIR blog.

Join the Conversation


  1. That thing will draw current at both logic levels.
    Not really suitable for battery-powered ops.
    More of a test circuit really…

  2. Good spot…

    The circuit was really provided to highlight that the output is inverted vs normal IR output and as you say to test the concept. The main thing is generating accurate PWM for IR signals on this device.

    For low power/battery operation supplying the 3V3 to R2 from a GPIO pin and deactivating the UART on D4 – so that the circuit is only active when needed should work fine (although there may be some IR noise generated during activation, which would necessitate a short delay before emitting the signal). All in all, a relatively easy adjustment for low power usage.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.