Electric window motors allow your home automation system to open and close your windows as required. This could be useful for opening windows to allow ventilation, or to make sure all windows are automatically closed and locked when you leave home.
I recently got my hands on some AXA electric window motors that include a LIN bus interface so they can be linked to a home automation system, but I’ve never used LIN before so I needed to learn a bit about how it works. I designed my own LIN interface module that allows me to connect my laptop to LIN devices and manually send messages, and the module also allows an Arduino to control the window motors.
Parts used
- The electric window motors are AXA Remote 2.0, which I bought from Digilock Australia.
- I used a Freetronics EtherMega Arduino-compatible board, which combines an Arduino Mega with onboard Ethernet and Power-over-Ethernet. You can use any Arduino you like, provided it has enough hardware UARTs.
- The LIN bus shield that I demonstrated in the video comes from some mysterious supplier in the Netherlands called MrX. I don’t know who designed it, but if you search for “HOME-LINBUS Arduino Shield” you may be able to find it on eBay or other places.
- The LIN Bus Serial Interface Module that I designed for this episode is now available from Freetronics: www.freetronics.com.au/linmod. Also, you can see all the design files at github.com/SuperHouse/LINMOD
- You can use any USB-to-serial converter to link the LIN Bus Serial Interface Module to your computer. I used a Freetronics USB-to-Serial Converter.
- The hardware watchdog is the Freetronics Watchdog Timer Module.
- The sensor is the Freetronics Temperature / Humidity Sensor.
Source code
Simple example that provides a menu and sends commands to a single LIN interface: AXARemoteSerialLinbus
More complex example which includes MQTT, DHCP, reading a MAC address ROM, 4 LIN interfaces, a watchdog timer, and a temperature / humidity sensor: AXAWindowMQTT
Instructions and explanation
More details to follow! I’ll update this after the video is ready.