This post is the second in a two-part series about Reverse Engineering AC Infrared protocols. This time we look at the Mitsubishi Air Conditioner IR Protocol. The project was undertaken by two of our users in France (Vincent & Mathieu), with the help of AnalysIR, who collaborated to reverse engineer this Mitsubishi and previously the Panasonic AC Infrared protocol, both examples of the more challenging AC Infrared protocols. Not only did they identify the individual field codes & checksum but also provided some impressive documentation. Detailed information is available via GitHub which is linked below. This 288 data bit Mitsubishi AC Infrared protocol is composed of two consecutive frames. Both frames are always identical for each signal sent. In common with most AC units the complete settings are sent with every IR signal (temperature, fan, swing etc…). AnalysIR was used to record and turn the signal into HEX/Binary format from which the reverse engineering of the individual fields was tackled.
Recently, two of our users in France (Vincent & Mathieu) collaborated to reverse engineer the Panasonic AC Infrared protocol, one of the more challenging AC Infrared protocols using AnalysIR. Not only did they identify the codes & checksum but also provided some impressive documentation and full source code to help others. Detailed information is available via GitHub which is linked below. This 216 data bit Panasonic AC Infrared protocol is composed of two consecutive frames. The first frame remains constant for every command sent to the AC unit. In common with most AC units the complete configuration is sent with every IR signal (temperature, fan, swing etc…). AnalysIR was used to record and turn the signal into HEX/Binary format from which the reverse engineering of the individual fields was tackled.
AnalysIR now provides support for the PSOC 4 Prototyping kit from Cypress. Effective immediately users of AnalysIR can use the kit to act as an Infrared source for AnalysIR. The PSOC 4 Prototyping kits are available from Cypress and via their global distributors for just US$4 plus shipping. To use the kit with AnalysIR you will also need an IR Receiver and an optional IR Learner, which can also be purchased with AnalysIR. Initially, the PSOC Firmware is available on request and will be included as part of the installation package in a future release.
A common question asked on forums is one about – Driving an Infrared Led directly from an Arduino pin. Although the answer may be obvious to anyone with at least a basic knowledge of Ohm’s Law, many are confused about how to choose a resistor value for optimum performance. Often, there is a debate about whether a resistor is required at all, given that the AVR pins are rated to deliver an absolute maximum of 40mA on a pin. (Note: All of the quoted specs in the data sheet are for test conditions of up to 20mA on a pin). Of course there are better ways to drive an IR LED with a transistor circuit or even a constant current circuit. However, in this post we consider only the direct drive circuit using a current limiting resistor, as illustrated in the diagram down below.
Make sure to read the caveats at the end of this post.
A new user of AnalysIR from the Netherlands, wanted to get the AnalysIR firmware working on Teensy 3.x . Although this has not been officially supported, we were happy to support his efforts knowing that it would most likely be a relatively easy exercise, based on past experiences. Needless to say, he was successful in decoding Infrared signals with AnalysIR within a short space of time. Prompted by his interest, we ordered our own Teensy 3.1 to add to our growing collection of 40+ MCUs and although
Teensy support is in beta for now, it will be oficially supported for AnalysIR from our next release. In the meantime, users of AnalysIR can just contact us for a copy of the Teensy sketch (firmware).
Teensy 3.x now joins a long list of devices supported for use with AnalysIR, including: Continue reading Teensy now supported for AnalysIR
Anyone who has tried controlling an Air Conditioner unit using an Arduino, USB IR Toy, RPi or any MCU will know how difficult it can be to record the longer infrared signals they use. Typical TV systems use IR signals circa 32 bits long, while this Chigo AC unit uses a signal with 197 marks & spaces (or 97 data bits). One of our users, Sertunc – from Istanbul in Turkey, reported his success using AnalysIR to easily record the signal timings for his AC unit and sent us the details along with some nice photos. After testing the validity of the recorded signals using an Arduino, he then set about loading the signals onto his Samsung smart phone (models S4, s4 mini, S5 and more supported). This was helped by installing the free ‘Samsung IR – Universal Remote‘ app onto his phone via Google Play.
Our recent post about the silver bullet IR receiver proved very popular and we promised that we would follow-up with another variant of the poor maker’s Infrared receiver. This time we are using an IR Led (emitter), 2 resistors and any standard Arduino. You will also need to download the Arduino code provided below, compile and upload it. One of the most common problems encountered when trying to decode IR signals is that makers don’t always have the appropriate IR receiver for the job in hand or have to wait for one to be delivered by mail. Here we present an affordable method to allow you to use any IR emitter (LED) as a receiver and as a bonus we are publishing the Arduino code to make it all work.
Many electronics enthusiasts will be familiar with how Infrared receivers demodulate IR signals. In this post we show a visualisation of the time lag and distortion of the signals as they pass through the IR receiver for demodulation and noise filtering. Most DIY projects use the raw timings from the IR receiver to decode individual signals. However, not many will be aware that IR receivers can distort the signal timings by significant amounts. Fortunately, common IR decoders take this into account and compensate for timing distortions introduced by infrared demodulators / receivers.
hRecently we have been helping several members on the Arduino forum to record and playback their remote control signals from their Air Conditioners. These signals are typically much longer than those of TVs or common media devices. The 2 most popular libraries for Arduino, IRremote & IRlib are excellent, but have some limitations which we have covered in a previous post. In this post we address one particular issue that is proving challenging to users.
Over the last few months we have been regular contributors to the Arduino and other forums, answering questions about Infrared remote control projects. It became apparent that beginners typically trip up on many common ‘pitfalls’. So we decided to list off our ‘Top 10’.