Skip to content

AVR 8-bit program for controlling Intertechno radio built-in switches used e.g. in window shutters

License

Notifications You must be signed in to change notification settings

fabianjuelich/ITS-150_Emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ITS-150_Emulator

AVR 8-bit program for controlling Intertechno radio built-in switches used e.g. in window shutters

rc_remote

Capturing Signals

The ITS-150 remote control, I emulated, works on the 433MHz Frequency (RC). I sniffed the necessary commands with a logic analyzer and a RF receiver.
single_repitition As you can see, the 3 Byte command will be repeated 6 times in one transaction to determine the timing.
complete_transaction The commands.cpp file containing those commands will not be shared for safety reasons. But take a look at the regarding headerfile if you're interested in the structure.

Chip

Because of the rich amount of pins and the serial port, I decided to use the ATmega328p with the 8MHz bootloader as the heart, which can be easily programmed with the help of a FTDI friend.

RF-Transmitter

The XY-FST is a small, but powerful transmitter, which I amplified with an antenna. The formula for calculating the length of the copper wire is Lambda/4 = (speed of light/frequency)/4 = ~17cm. I connected an LED to the data line to indicate a transaction.

Controls

For enabling later switching to an even smaller chip (with less GPIOs) like ATtiny85 (ISP Programmer or Arduino Development Board needed), I decided to use analog buttons (voltage divider by resistor ladder) for interaction. Nether less I needed a separat digital pin (Pull-Up) to interrupt the CPU, which is less power consuming then polling and makes the sleep mode possible at all. You could also use the internal comparator, but it only works when the ADCs are disabled, so don't forget to turn them on again. This solution is scalable, if you wish to have more keys. For interrupting as rarely as possible, you could debounce the digital pin on the hardware side instead of using a timer.
analog_buttons

Case

Polystyrol half-shell housing

Programming

For simplicity, I used the Arduino CLI (Toolchain for compiling and uploading with avrdude). The RCSwitch library is pretty handy and offers the opportunity to pass in decimal numbers, which will be converted to a bitstream.

Power supply

Because of the low power consumption I wanted to use 1x 2600 mAh Li-Ion battery (18650), which will be charged by a TP4056-chip with USB-C port. If you like to have multiple batteries to increase the voltage, be aware to use one charging module for each, so you can put them in series. Otherwise, they can (dis-)charge one another, which would lead to different loads and ultimately batterie-damage. That’s why I used a 5V step up (boost) converter, which efficiency is still good (~95%). But it’s worth mentioning, that its coil could possibly cause radio interference if not shielded well. Also, do not forget to include a switch to cut off the load when charging the battery.

Power consumption

Measurements (standby)

Standard: 10mAh
Optimized (Deep sleep, ADC off): <0.1 mAh

About

AVR 8-bit program for controlling Intertechno radio built-in switches used e.g. in window shutters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published