Remote Control for Lava 'mMotion Swing' Mounting Bracket

by LarsWH in Circuits > Arduino

4461 Views, 4 Favorites, 0 Comments

Remote Control for Lava 'mMotion Swing' Mounting Bracket

DSC_0023.JPG

My television is mounted on an fancy 'mMotion Swing' mounting bracket made by Sweedish 'People of Lava'. The mMotion Swing is motorized and by using it's remote control, I can bring my television into any angle between 0 degrees and 90 degrees (probably even more).

I have however had problems with the remote control being unstable. I have been changing batteries, cleaning the battery terminals, cleaning the PCB, tearing my hair out,.... nothing helped.

A replacement remote control is not terribly expensive (https://buylava.com/collections/other/products/mm...) but would be too easy, right? So I made a replacement remote control.

Build Remote Control

2017-09-10_20h27_16.png
2017-09-10_20h37_36.png

The images above shows a simple proof-of-concept construction. This is what you will need:

  • Arduino (I used a Nano)
  • IR tx LED
  • 220Ohm resistor
  • Push button
  • 3 position switch
  • 9V battery
  • Battery connector
  • Some wires
  • An enclosure (e.g. a used jewel box like on the photo)

Software

2017-09-14_20h52_27.png

The software is very simple, and can be found here: https://github.com/LarsWH/arduinoLavaRc

It does however require a modified library as well, which can be found here: https://github.com/LarsWH/Arduino-IRremote

The software can be build with a standard Arduino IDE, but has been developed using Microsoft VisualStudio with the 'VisualMicro' plugin.

People of Lava have been kind enough to published the IR commands as a PDF here: http://www.peopleoflava.com/info/mMotion/IR%20Code. But unfortunately the instructions only partly workded for me.

These commands are the ones that did work for me:

  • Auto: RC5 code: 0x0C (as per the documentation)
  • In: RC5 extended code: 0x1B 0x5E (unlike the documentation)
  • Out: RC5 extended code: 0x1B 0x5F (unlike the documentation)

More information about the RC5 protocol here:

For the Record...

DSC_0027.JPG

Looking at the project now, it all seems very simple, but in fact it took many many hours of reverse engineering:

  • Building up a general-purpose IR monitor (arduino based) to record signals. In the end I did not really need this - just the oscilloscope
  • Capturing IR signals on oscilloscope, to learn that the Lava documentation must be wrong.
  • Getting the timing right. Especially a silence period of approx. 80ms between repeating signals seems important
  • Trying to do all the above with a semi defect Lava remote control, that only sometimes would output a signal.
  • Develop an extesion to the existing IR library in order to have support for 'RC5 extended'

Build Into Box

DSC_0028.JPG

Since this a very simple construction, there is no need for a PCB. The few wires can be soldered directly onto the Arduino Nano.

Fitting everything into the jewel box is a bit tricky, but doable. The used jewel box is a temporary solution (has been for many months now....), but my daughter thinks of it as her contribution to the project, so it stays like this a little while longer.

Future Improvements

DSC_0024.JPG

When I get around to it, I would like to make these improvements:

  • Range: Increase the IR LED output to get more range of usage. If the IR LED is driven more directly from the battery (controlled by a transistor), a higher current can be provided, and thus more light emitted.
  • Power on: Decrease the power-on time of the Arduino, so commands are sent without any noticeable delay. The current power-on delay is around 3s.
  • Buttons: Replace the current 1 switch + 1 button with 3 dedicated buttons
  • Enclosure: Something nicer than a used jewel box