Backdoor uPWM Hack on Photon for Infrared signals using UART

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.

uPWM Circuit diagram for Photon
uPWM Circuit diagram for Photon using UART

Continue reading Backdoor uPWM Hack on Photon for Infrared signals using UART

AnalysIR Video Tutorial – Reverse Engineering Tool

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.

Continue reading AnalysIR Video Tutorial – Reverse Engineering Tool

AnalysIR Video Tutorial – Checksum Calculator

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:

  • XOR
  • SUM
  • CRC-6
  • CRC-16
  • …for both bytes and nibbles.

Continue reading AnalysIR Video Tutorial – Checksum Calculator

Preview: BeamIR the Infrared Light Barrier

The sixth and last member of our first  MakeIR series of devices & kits is BeamIR the Infrared Light Barrier. This pair of modules is based on an Infrared Light Barrier system with a range of additional applications. In addition to Light Barriers, BeamIR can also be used to deliver solutions involving Security projects, Lap Timers, Laser Tag – invisible trip wire, Photography, Photo Interrupter, Reflective sensors for hand dryers, towel or soap, Dispensers, water faucets, toilet flush, Vending machine fall detection, Virtual ‘fence’, CNC wireless Probes, Security and pet gates, Person or object vicinity activation.  BeamIR is built with only the highest quality IR components available and includes constant current drivers, noise suppression circuitry and visual indicators on signal lock.

BeamIR block diagram
BeamIR block diagram

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: BeamIR the Infrared Light Barrier

Simple Infrared PWM on Arduino, Part 3 – Hex IR Signals

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.

Original NEC 32-bit and Mitsubishi 88-bit Signals displayed using AnalysIR
Original NEC 32-bit and Mitsubishi 88-bit Signals captured using AnalysIR

Continue reading Simple Infrared PWM on Arduino, Part 3 – Hex IR Signals

Preview: A.IR Shield Nano, a high-end Infrared Shield for AnalysIR, IRremote & IRLib

The fifth member of our MakeIR series of devices & kits is the A.IR Shield Nano. 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.

A.IR block diagram
A.IR Shield Nano block diagram

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 Nano, a high-end Infrared Shield for AnalysIR, IRremote & IRLib

Latest release of AnalysIR V1 preview #3 is now available for download

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.

AnalysIR Screenshot
AnalysIR Screenshot

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:

Continue reading Latest release of AnalysIR V1 preview #3 is now available for download

Porting AnalysIR firmware to Particle’s Photon platform

We have just completed porting our (single source) firmware from a range of other ‘Arduino’ type platforms to Particle’s Photon, having received it yesterday & thought it would be useful sharing some of our experiences for other ‘newbies’. The photon is one of a breed of modern IoT devices hitting the market at relatively low cost. It features a STM32F205 120Mhz ARM Cortex M3 processor running at 120MHz with 1MB flash, 128KB RAM and the all important WiFi. We have been wanting to support the previous Spark Core ($39), but couldn’t resist this little device at the low price point. Particle are also offering a similar embedded device in larger quantities of 10+,  for $12, including FCC certification.

Photon from Particle.io along with embedded sibling
Photon from Particle.io along with embedded sibling

Continue reading Porting AnalysIR firmware to Particle’s Photon platform

Simple Infrared PWM on Arduino, Part 2- RAW IR Signals

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.

Original NEC 32-bit and Mitsubishi 88-bit Signals displayed using AnalysIR
Original NEC 32-bit and Mitsubishi 88-bit Signals displayed using AnalysIR

Continue reading Simple Infrared PWM on Arduino, Part 2- RAW IR Signals

Simple Infrared PWM on Arduino

We are often asked on discussion boards, about conflicts between IRremote or IRLib and other Arduino Libraries. In this post, we present a sketch for ‘Simple Infrared PWM on Arduino’. This is the first part in a 3 part series of posts. Part 1 shows how to generate the Simple Infrared PWM on Arduino (AKA carrier frequency), using any available IO pin and without conflicting with other libraries. Part 2 will show how to send a RAW infrared signal using this approach and Part 3 will show how to send a common NEC signal from the binary or HEX value.

Example 56kHz generated Infrared signal @ 50% duty cycle
Example 56 kHz generated Infrared signal @ 50% duty cycle

Continue reading Simple Infrared PWM on Arduino