IR Blaster (progress)
-
First board revision just arrived from the fab house in China! Boards look good other than the MySensors IR Blaster v0.5 that I placed in the solder paste layer instead of the silk screen layer because the font is too small. Unfortunately the fab house was quicker than I because I haven't even had a chance to finalize the BOM and order the components. Need to get that in gear so I can assemble the first board early next week.
Top of Board

Bottom of Board

Board with radio set and LED for relative size perspective

-
Any one tried using IR transmitter to send IR signal to AC with mini pro ( 328p ) as mysensor node. I know mini pro have limited ram / rom support.
Note: AC remote send long IR signals which may not be completely captured by IR receivers connected to mini pro. may be one try on rasp pi but that's a last resort.
@Dheeraj said:
Any one tried using IR transmitter to send IR signal to AC with mini pro ( 328p ) as mysensor node. I know mini pro have limited ram / rom support.
Note: AC remote send long IR signals which may not be completely captured by IR receivers connected to mini pro. may be one try on rasp pi but that's a last resort.
Not yet but take a look at http://www.analysir.com/blog/2014/03/19/air-conditioners-problems-recording-long-infrared-remote-control-signals-arduino/ for a good explanation of what you are probably experiencing. From a hardware stand-point, the IR Blaster should be able handle the longer IR codes, it will just be a matter of adding the required support to the firmware.
-
-
@Dheeraj said:
Any one tried using IR transmitter to send IR signal to AC with mini pro ( 328p ) as mysensor node. I know mini pro have limited ram / rom support.
Note: AC remote send long IR signals which may not be completely captured by IR receivers connected to mini pro. may be one try on rasp pi but that's a last resort.
Not yet but take a look at http://www.analysir.com/blog/2014/03/19/air-conditioners-problems-recording-long-infrared-remote-control-signals-arduino/ for a good explanation of what you are probably experiencing. From a hardware stand-point, the IR Blaster should be able handle the longer IR codes, it will just be a matter of adding the required support to the firmware.
@blacey Thanks. I have not seen this in my searches. looks promising. I'll give their sketch a try and see if it records the codes properly (as far as I can say). all other libs failed miserably.
-
Hmm.. If a IR recorder is included in the sketch, how would you handle different carrier frequencies of the remotes?
It could be anything between 35Khz and 40Khz (or 400Khz if it's B&O equipment), and IR receivers are made with narrow filters. This could mean that if you use 38Khz carrier frequency on equipment that originally uses 35Khz, then because of the attenuation in the filters, the range is very low.
Ideally we need something to detect the carrier frequency as well.. But don't know if that is possible to obtain easily with an arduino setup
-
@Dheeraj said:
Any one tried using IR transmitter to send IR signal to AC with mini pro ( 328p ) as mysensor node. I know mini pro have limited ram / rom support.
Note: AC remote send long IR signals which may not be completely captured by IR receivers connected to mini pro. may be one try on rasp pi but that's a last resort.
Not yet but take a look at http://www.analysir.com/blog/2014/03/19/air-conditioners-problems-recording-long-infrared-remote-control-signals-arduino/ for a good explanation of what you are probably experiencing. From a hardware stand-point, the IR Blaster should be able handle the longer IR codes, it will just be a matter of adding the required support to the firmware.
@blacey said:
using IR transmitter
I have gone through this link, and tried it recommendation of increasing the RAWBUF size and also used sample sketch which was not working for me , may be i was doing something wrong. Also, It uses raw IR signal and handling raw signal is not simple compare to IR hex code which are at max 32 bits. I wish IRlib, IRemote etc support handling of long IR signals. Any library which support it?
-
@blacey said:
using IR transmitter
I have gone through this link, and tried it recommendation of increasing the RAWBUF size and also used sample sketch which was not working for me , may be i was doing something wrong. Also, It uses raw IR signal and handling raw signal is not simple compare to IR hex code which are at max 32 bits. I wish IRlib, IRemote etc support handling of long IR signals. Any library which support it?
@Dheeraj Alas, AC codes are not hex codes as far as I know. they have to be used in raw mode. This whole IR thing is very confusing but from what I gather:
there are several standard encodings (they are like bar code) that are compatible with binary encoding in the sense that the gap and length are constant so no signal in the period can be 0 and signal can be 1. However, when you want to put more information more quickly (or when you just want to annoy people) you use non standard encoding that is comprise of several lengths of silence and transmission. naturally this is a much more "dense" encoding and if you know the protocol you can easily convert it to short codes. However, we don't and I know of no library that can encode for all AC. every AC and sometimes even different models have different encoding. most of the work that was done was made in the area of home theater so all those codes are known. AC is still a no mans land.
I do not pretend to really understand this fully, I am just explaining what I think I know so far. -
Hmm.. If a IR recorder is included in the sketch, how would you handle different carrier frequencies of the remotes?
It could be anything between 35Khz and 40Khz (or 400Khz if it's B&O equipment), and IR receivers are made with narrow filters. This could mean that if you use 38Khz carrier frequency on equipment that originally uses 35Khz, then because of the attenuation in the filters, the range is very low.
Ideally we need something to detect the carrier frequency as well.. But don't know if that is possible to obtain easily with an arduino setup
@tbowmo The board is not tied to a specific IR Receiver - we have a socket on board as a convenience so users can temporarily plug an IR Receiver in to learn the codes the don't have to build an IR learning circuit on a breadboard just to learn the codes. This means that users will be able to use whichever IR receiver is appropriate for their equipment/needs. We will probably include the most common IR Receiver with the IR Blaster kit so it is plug-n-play for 90% of the users out of the box. The last 10% is ideally a longer term software challenge but time will tell ;)
-
@tbowmo said:
Ideally we need something to detect the carrier frequency as well.. But don't know if that is possible to obtain easily with an arduino setup
I have tried a lot of things, i ended up with recording the signals and replay them at different frequencies (36,37,38,39 and 40) and rotated the scheme. When someone got a working frequency the signal is stored with the frequency. I ended up with IRremote from http://github.com/shirriff/Arduino-IRremote as it became quite tedious. Maybe it helps.
Cheers,
John.[edit]Sorry, now seeing that the mentioned lib has already passed by[/edit]
-
@tbowmo said:
Ideally we need something to detect the carrier frequency as well.. But don't know if that is possible to obtain easily with an arduino setup
I have tried a lot of things, i ended up with recording the signals and replay them at different frequencies (36,37,38,39 and 40) and rotated the scheme. When someone got a working frequency the signal is stored with the frequency. I ended up with IRremote from http://github.com/shirriff/Arduino-IRremote as it became quite tedious. Maybe it helps.
Cheers,
John.[edit]Sorry, now seeing that the mentioned lib has already passed by[/edit]
-
@John Here is another option - there seems to be a lot of prior art out there that we can leverage. https://github.com/r45635/HVAC-IR-Control
@blacey i tried this one as well but i was wearing wool sweater at the time and it seems like the ir recievers do not take huge zaps well so i have to repeat my experiments when new leds arrive
-
@blacey said:
@John Here is another option - there seems to be a lot of prior art out there that we can leverage. https://github.com/r45635/HVAC-IR-Control
Looks like they merged the library i'm using but with hvac additions. Original one i used is here: https://bitbucket.org/pidome/pidome-hardware/src/ce1d656c909b/Arduino/Uno/PiDome IR Tranceiver/?at=default My code is merely a "proxy"(wired) as it is meant to send and receive. This because codes are stored on the server. Maybe it helps. I haven't followed the whole thread, but it would be very nice if the blaster could be used to proxy. But i know raw ir signals can be too long for the mysensors payload.
-
Status Update - 2015-07-10
Ok, so here is the latest on our progress to build an IR Blaster v0.5 first prototype/dev board. I have assembled two dev boards that pass the initial smoke test of power regulation, MCU and status LEDs. Through this process, I have identified a number of changes and improvements to the board none of which blocks bringing up a fully functioning IR blaster (at least not yet so keep fingers crossed). I did find one KiCad Gerber bug that shorted the MOSFET gate trace to the upper ground plane but with an Exacto knife and a little elbow grease, I was able to eliminate the short - if you look closely around D10 and the Err LED, you sill see my handy work ;)
Photo of the twin v0.5 dev boards.
Left is top-side board #1 and right is bottom-side board #2

Short video excerpt of the smoke test running (luckily, without smoke)
And here is a short video clip of the first board passing initial smoke test proving that the power regulation, MCU and status LEDs are working per design.
IR Blaster v0.5 Smoke Test
Next steps (dev prototype v0.5)
- Verify the off-MCU flash and crypto chip electrical and functional integrity by extending the smoke test sketch to run @tbowmo and @patrick SenseBender Micro built-in tests.
- Verify the NRF24L01+ electrical and functional integrity - solder socket to board and confirm that the radio comes up with MySensors library
- Verify MySensors full-functionality - load the latest SenseBender Micro sketch and confirm reporting of humidity and temperature. With the proper MySensors library, the sensor Tx, Rx, and Err LEDs should provide send and receive status accordingly.
- Verify IR LED circuit by soldering 7 IR LEDs to the board and confirming electrical and functional integrity
Bottom-line, quite a bit of work left to do but no major blockers encountered so far using two initial dev boards.
-
So coool, nice board!
I am making a board (it is another project) and I am like you. just some changes to do. I think we are lucky to pass smoke tests :smile: and just having little changes because human errors are never far away, especially when it is not our field! (not mine, I don't know if you are, but it looks pro)
So I will cross my fingers with you:wink:
and of course I will follow your project with interest as I have the same steps to achieve.
good luck for next steps. -
First Dev Boards Complete 10-JUL-2015 - status update with video
I assembled two dev boards yesterday, brought up all subsystems and they are both working great. Still a bit more work to do before they go to production but here are a couple of photos and a demonstration video.
Assembled dev board w/o radio

Assembled board w/Radio attached

Demonstration Video
https://youtu.be/UXjcwlJOMOII am going to rev the board a bit to pull all components to the top-side to reduce the cost and also subject the boards to the IR Sensor Array testing to tune the IR LED component choice for maximum performance.
-
This thing would be cool to have. In my setup i would really like to test this as a transceiver for my project.
-
Interested in purchasing a few! Would be perfect int he home theater, I think.