In our previous post we showed how to generate stable IR carrier signals using the ESP8266 NodeMCU module. A feature of the original approach was that the output IR signal was inverted and required some additional circuitry to invert it again before transmission. Since the original post we have figured out a method to output a non-inverted or standard IR signal thus removing the need for the additional circuitry. This is achieved by using what turned out to be a very simple setting hidden deep in the ESP8266 UART registers which is covered below. Like all simple solutions it also threw up some other quirks of the ESP8266 NodeMCU, which were eventually overcome with the addition of a simple resistor. The Updated ESP8266 NodeMCU Backdoor uPWM Hack for IR signals is detailed below – including updated source firmware, new circuit diagram and explanation of the ‘quirk’. Read on….
We received our ESP8266 NodeMCU several months ago it has been difficult to find a working example of Hardware PWM to generate crisp Infrared carrier signals. Most posts we have read suggest that there is no PWM readily available on any of the supported platforms. As we have already shown with Arduinos and the Particle Photon we figured it would be possible to use a spare UART pin on the ESP8266 NodeMCU to achieve our goal. After some initial success we encountered some watchdog timeouts/resets and it seemed like the uPWM hack would not be possible on the ESP8266 Node MCU platform. For a few weeks we ‘parked’ the effort and today we decided to try again with all of the latest and updated firmware available from the ESP8266 community via the Arduino IDE. This time we were successful and the ESP8266 NodeMCU Backdoor uPWM Hack for IR signals using works!
One of the most popular projects involving Infrared remote control, is to use an Arduino to control an Air conditioner (AC) system. However, AC signals are usually very long and take up a lot of SRAM on a standard Arduino. Experienced users will go about reverse engineering the AC protocol to make the sketch fit within the 2K Bytes of SRAM. Many hobbyists will struggle, even with the help of tools like AnalysIR to guide them. In this post we cover sending long AC Signals from Flash with IRremote. IRremote (along with IRLib) is a popular open-source library for sending and receiving IR remote control signals with Arduino. The demo code covered in this sketch extends our previous sendRAW example by demonstrating how to store many long AC signals in Flash with little or no SRAM overhead.
A few months ago a new user to AnalysIR, from Canada, asked us to assist in adding ESP8266 NodeMCU Infrared decoding over WiFi into AnalysIR. We set about making some upgrades to AnalysIR for this and in double quick time he had AnalysIR accepting IR signals from the ESP8266 over WiFi. He stressed the ease of use of the support within the Arduino IDE for ESP8266 devices and he wasn’t kidding. This motivated us to go and order an ESP8266 for US$3.60 including shipping from Aliexpress. Just the other day the NodeMCU arrived, presumably delayed somewhat by the extended XMAS holidays & celebrations, in this part of the world. So we set about porting our existing firmware for Arduino & Photon over to the new device.
ESP8266 NodeMCU now joins a growing list of devices supported for use with AnalysIR, including: Continue reading ESP8266 NodeMCU Infrared decoding added to AnalysIR
We have just launched a short 11 minute AnalysIR video tutorial introducing the use of the Reverse Engineering Tool feature in AnalysIR, which is available via YouTube. The tutorial covers the important points in reverse engineering in infrared signal of a Toshiba Air Conditioner. We focus in on the temperature field and show the process to identify the bits within the signal related to the temperature. Users of AnalysIR can follow this process to reverse engineer their own signals using this powerful tool.
We have just launched a short 6 minute video tutorial for AnalysIR introducing the use of the Checksum Calculator feature in AnalysIR, which is available via YouTube. The tutorial covers the steps to verify the position and type of checksums that are typically found in Air Conditioner infrared signals. The types of checksums covered include:
- …for both bytes and nibbles.
In Part 1 of this series, we demonstrated how to send signals using soft or Simple Infrared PWM on Arduino. In our Part 2 post we looked at sending RAW IR signals – specifically a RAW NEC signal and a longer RAW Mitsubishi Air Conditioner signal using soft PWM. We have since improved the PWM method shown in Part 1 Part 2 to provide better performance and improve portability. In this Part 3, we will take the signals from Part 2 and show how to send them using their binary (or Hex) representation, which can save lots of SRAM in many projects, particularly when dealing with longer AC signals.
The fifth member of our MakeIR series of devices & kits is the A.IR Shield. This shield works out of the box with AnalysIR and is essentially plug & play , with additional prototyping options. The shield comes attached to an Arduino nano compatible device (clone). Although designed specifically for AnalysIR, users can also upload IRremote, IRLib or any Arduino sketches that run on the Nano. A.IR shield is built with only the highest quality IR components available and boasts dual Infrared emitters with configurable IR Power.
We have provided a link below to the preliminary product data sheet and would welcome feedback on additional, nice to have or missing features, if any. Please read the data sheet for a more detailed description of the A.IR shield. Continue reading Preview: A.IR Shield, a high-end Infrared Shield for AnalysIR, IRremote & IRLib
Dublin, Ireland – 27th August 2015. We are happy to announce the latest release of AnalysIR V1 preview #3 is now available for download by our backers & supporters. Existing users of AnalysIR will receive an email with instructions on how to download this version. New users will receive the details as part of the registration process.
A major highlight of this release is full AnalysIR support for our soon to be released A.IR shield. A.IR was designed to function as a high-end input/otput IR device for AnalysIR and will also work with IRremote, IRLib and any other Arduino sketch. More details will be published soon.
View the AnalysIR Product Sheet(PDF)
We would like to extend a big thanks to the many users around the world who have helped with feature requests, new protocols and testing over the past 2 years.
Some Highlights in this latest release include:
In Part 1 of this series, we demonstrated how to send signals using simple Infrared PWM on Arduino. In this Part 2 post we look at sending RAW IR signals – specifically a RAW NEC signal and a longer RAW Mitsubishi Air Conditioner signal. We have also improved the method shown in Part 1 due to some issues we identified when sending ‘real’ signals versus the ‘test’ signal we used before. (More on that later). In Part 3, we will take the signals from this post and show how to send them using their binary (or Hex) representation, which saves lots of SRAM.