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
Marco is a volunteer for an organization (NSW Australia) that builds custom aids for people with disability, and has recently been looking at a project to create a ‘very large button’ IR remote control for a cable TV Set Top Box (STB). The custom unit needed basic functions (Channel Up/Down, Volume Up/Down and Power On/Off). Commercially available large button remotes have buttons that are still too small and/or they have too many buttons. Soon he hit a roadblock trying to capture some difficult Foxtel signals and searched all over the web looking for a solution. Needless to say, nothing worked out for him until he came across AnalysIR via Google. Once he started Troubleshooting the Big Button Infrared remote control with AnalysIR the root cause of his problems became obvious.
In recent years we have responded to hundreds of supports requests on the Arduino Forum, GitHub and elsewhere for many recurring issues with IRremote – the library for Infrared remote control. As many of the issues are similar we decided it was time to develop a ‘IRremoteInfo a Helper utility for troubleshooting IRremote’ that will help users resolve their own issues or failing that, provide solid support information to those who are providing free support services. Today we release the first version of IRremoteInfo, which prints the settings for most of the relevant parameters within the IRremote library, in the hope that users seeking support can post or upload this information when seeking assistance on-line.
IRremoteInfo a Helper utility for troubleshooting IRremote
One of our users from Italy, Guido, was tasked with upgrading an old in-house WRC system to allow the team of Sport’s Journalists to access the rack of satellite receivers relaying the various sports events around the building. The challenge is that all of the STB (Set Top Boxes) are located in a dedicated room away from the Journalist’s desks and it is impractical for them to manually change the stations when working to tight deadlines. Previously there was a system in place to remotely switch feeds, but Guido needed to upgrade the system to handle the ever growing number of devices and Infrared protocols. Luckily, he found AnalysIR during his research to implement ‘a hack for Hacks using AnalysIR‘.
In this blog post we follow up on our recent article about generation of infrared PWM from the Photon’s UART where we suggested that it may be possible to achieve something similar with the Arduino. In our previous attempt the Arduino was only able to generate PWM at 40 kHz and 33 kHz using the same approach. After some investigations we discovered a new approach which provides an even better set of results using the Arduino’s USART. Yes, we were able to generate 30, 33, 36, 38, 40 , 56 and surprisingly the illusive 455 kHz which was not possible on the Photon (using this approach). Read on for the details. Readers should also study our original series of articles on ‘softPWM‘ for a better understanding of the source code which can be downloaded below.
Since we received our Photon several months ago it has been difficult to find a working example of Hardware PWM on the Photon. Initially, we ported our softPWM approach to the Photon, which is excellent. However, we figured it must be possible to use at least one of the spare UARTs on the Photon to achieve our goal. So first we started prototyping on the Arduino and quickly got a working example with some limitations – only 40 kHz and 33 kHz carrier frequencies were possible with the UART without delving into the registers a bit more. Then we moved the code over to the Photon, leveraging our previous softPWM examples, upgraded with the Arduino code – EUREKA! The Backdoor uPWM Hack on Photon for Infrared signals.
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.