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!
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.
The final member of our first MakeIR series of devices & kits is the A.IR Shield Photon. This shield works out of the box with AnalysIR and is essentially plug & play, with additional prototyping options. The shield plugs into a (Particle) Photon with headers or pin-compatible clone. Although designed specifically for AnalysIR, users can also upload any sketches that run on the Photon for Infrared remote control projects by customising the included firmware. A.IR Shield Photon is built with only the highest quality IR components available and boasts dual Infrared emitters with configurable IR Power. The supplied firmware supports hardware PWM for sending IR signals.
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 Photon shield.
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.
Dublin, Ireland – 17th April 2015. We are happy to announce the latest release of AnalysIR V1 preview #2 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 LearnIR (IR Learner). LearnIR delivers the best performance available for receiving and sending Infrared signals with excellent accuracy.
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 last months.
Some Highlights in this latest release include:
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.
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.
We have decided to offer a small number of Infrared Component Kits to help users of AnalysIR get started quickly. As a minimum you will require 1 IR receiver to use AnalysIR, plus we highly recommend the ‘IR Learner’ below if you also want to measure modulation frequency.
(Note: This is an updated copy of the original document from the crowd-funding campaign. The original document can be found here.)
IR receivers/emitter in Infrared Component Kits:
|TSSP4038||38kHz||1 x IR receiver||Fixed Gain||Barrier + AnalysIR|
|TSMP58000||20 -> 60kHz||1 x IR receiver||–||Learner + AnalysIR|
|TSOP4436||36kHz||1 x IR receiver||AGC 4||RC5/6|
|TSOP34438||38kHz||1 x IR receiver||AGC 4||NEC|
|TSOP4840||40kHz||1 x IR receiver||AGC 2||SONY|
|TSOP2256||56kHz||1 x IR receiver||AGC 2||RCA|
|TSAL6100||All||1 x IR emitter||–||IR LED transmitter|
AGC 2: Standard Applications
AGC 4: Very Noisy Environment
Kits do not include AnalysIR
Select one or more kits from the following:
|Item||Kit A||Kit B||Kit C||Kit D||Kit E||Kit F|
|Bonus Gift||see 11|
Y = Included
- Select the kit you want based on the items included
- For example, Kit A contains 1 x TSSP4038, 1 x TSMP58000, plus shipping (see 9 below) and a small tip/gratuity for the student.
- Then purchase the kit or kits you want by contributing the relevant cost (or sum for multiple kits)
- To purchase Kit A just make an $8 payment via the PayPal button on this page. To purchase multiple kits just make one contribution to the same perk for the total amount.
- If you select Kit B or Kit C then include a message on PayPal to clarify which perk you want.
- These component Kits do not include AnalysIR.
- Cost increased (Sep 2014) due to increase in postage.
- TSOP4438 replaced with more modern TSOP34438.
- Shipping: is included in price above, provided you are also buying AnalysIR or have bought AnalysIR previously. Otherwise, add $5 to the prices above (once only) for worldwide shipping.
- Delivery, usually takes from 5->10 working days. There may be some exceptions to this – depending on location.
- Bonus gift: We also include a selection of useful components, with all kits, to help with your IR projects. (2 x NPN + 8 x resistors … enough to complete a good Infrared emitter circuit for longer range)
- Please feel free to order these parts directly your-self. We won’t be offended in any way. We are not offering these to make any $$$ at all. In fact it is much less work for us if backers have or supply their own components.
- Kit A, B or C is more than adequate for most users.
- Standard shipping worldwide for owners of AnalysIR is included, Otherwise add an extra $5, as per Instruction 9 above. Postage is not tracked or insured. Unfortunately, we cannot provide any replacements for items mislaid in the post or delivery failures. Due to the low value, we do not expect that there would be customs charges etc. and if there are any you will have to cover this cost.
- We have included a small tip/gratuity for the student who has agreed to pack & post these perks.
- This perk is intended as a quick start aid for backers.
- These perks will be posted from Dublin, Ireland and typically take 5-10 working days depending on worldwide destination.
- You can select multiple kits.
- All kit IR components are from Vishay, who are a leading supplier of high quality components. We use them all the time for IR components.
- We have allowed for the Sales Tax, IGG, PayPal, Currency & inward shipping charges which will be levied on us for these components.
- We reserve the right, at our sole discretion, to alter or replace any component if it is not available when we order them. However, we will do our best to match functionality as much as is reasonable. Hopefully this won’t be an issue.
- We have not included any Arduinos as they are freely available online. Many of these kit components are not easily available in quantities of 1, without excessive mark-ups, high minimum orders or postage.
- Shipping will be to PayPal registered address. (Let us know, immediately, if you want it sent to an alternative address)
- Use the Contact Form to contact us, directly.