A 'smart' controller for a powered recliner or bed

Automates the chair. Ideal for motion-challenged individuals.

Public Chat
Similar projects worth following
A powered chair is a must for a person with disabilities.

The problem:
Easily exiting the raised chair quickly diminishes because, after you are up, sadly the chair is also. It is difficult to sit back down in it when raised, and the only way to lower it is to reach down, press, and HOLD the “down” button until the chair is in the normal (home) position. Compounding to that, you must lean over even more as the chair lowers!

The Solution:
By placing this device "in line" with the chair's current buttons, it can lower it for you!

This device keeps your recliner's functionality, and enhances it by adding an optional generic 2 or 4 button controller. The new latch-like button abilities mean you no longer must press and hold a button! By incorporating a low-cost ($15) microcontroller, you can turn it into a 'smart' chair.

First off, to address the somewhat sloppy construction and/or appearance of the device: You see, I am disabled, battling MS for over 35 years (ahh, now it’s becoming clear why I even thought of building this thing, right?). I'm basically one-handed causing my fine motor skills, such as soldering or drilling holes in a straight line, well… to really suck. If you can manage to forgive that part, this device really can be beneficial and have an impact. Who knows, maybe a couple of rainbow or unicorn stickers on it might make it pretty??

My background consists of being an FM radio broadcast engineer for nearly 15 years, eventually jumping ship and landing as a professional software (c#) engineer for the past 20+ years.

                                                 CONTRIBUTORS WELCOMED

 I have no schematic or code reviewers, but I really could use another set of eyes on this. Also, although the device has Wi-Fi connectivity, I could really use help accessing PICO's file system remotely (Telnet, SSH). HELP!

The device:

Just like I'm sure others with limited mobility already know, having a powered recliner is essential for getting up and out!  But after you're up, you must lean over, press, and hold the "down" button to get the chair back to its normal position. That inconvenience gets even worse because, as the chair lowers, you’re leaning over with it to hold the button!

This puts an end to that by introducing a level of automation to the chair, bed, or purposes yet to be realized. Allow me to explain:

This device draws its power from the chair's power supply, converting and conditioning it to 5vdc to power the microprocessor and relays. It has provisions for up to two controllers. The first, or "Main Controller", is the one that came with the chair and most likely built into it. Its function stays as it always has. Although now under this device's control, it is 100% operationally transparent. The only caveat is that if the original controller/buttons have a light or USB charging port built-in to it, sadly neither will be operational. They will no longer have the 38-volt supplied to it/them.

The second controller is labeled "Logic Controller" and can be a 2 or 4 button model. If a 4-button model is used, the extra 2 buttons mimic that of the "Main" controller, thus eliminating the need for two controllers. With either model, its operation is where the magic happens, as detailed further below.

It's important to realize that the two controllers are completely independent and interchangeable with each other, allowing you to use one or both as your situation warrants.

There are a few needed explanations before continuing:

  • The term "Controller" is the up/down button array. This can be hand-held or built-in to the chair. Regardless, it should have a plug on the end of its cord.
  • The “Home Position”: This is when the chair is in its “normal”, upright position; Not lifted to exit.
  • The "Duration Time": This is how long the motor is engaged (in seconds). "Down" adds to the time, "Up" subtracts from it. When in the Home position, this value is always 0. As it reclines, the value gets higher. As the chair begins to lift, this value gets lower (and will be a negative value).

Pressing the Up button on the Logic Controller:

If the chair is at its home position and/or the "Duration Time" is 0, the "up and out" process is activated, consisting of:

  •  The chair motor's "up" is engaged for an (adjustable) time (or optional mechanical limit switch, or both).
  • Pauses at the top for 10 seconds (adjustable) allowing time to exit.
  • Automatically activates motor "down" for an (adjustable) time (or optional mechanical home switch is activated*, or both).

If the chair is at its home position and/or the "Duration Time" greater than 0, then it's assumed...

Read more »

svg+xml - 514.44 kB - 04/24/2023 at 22:47


  • Prototype: Components mounted

    Stephen Craver7 days ago 0 comments

    Making progress..,.

    Next: Driling holes in the end-panels (16 of 'em)

  • Hello prototype stage

    Stephen Craver05/15/2023 at 22:57 0 comments

    At this point, I’m moving the project out of my ‘proof of concept’ stage and into the prototype stage. This new stage boasts a modern design with its appearance looking much more professional. 

    For the hardware, the current grey plastic case that looks so horrible is being replaced with a smaller, black anodized aluminum case with chromed LED holders, and an external USB connector. 

    Software improvements include allowing better control, self-learning timing, and much more.

    The new prototype version is currently being developed, and I’ll be posting pictures as milestones are reached. Remember, I’m the sole person doing every aspect of hardware development, software updates, testing, and documentation. So please be patient with me! My goal is to have the prototype completed by 6/30/2023. 

  • 05/01/2023

    Stephen Craver05/01/2023 at 21:55 0 comments

    It turns out the PICO's internal pull-up resistors are somewhat undependable as midnightelf expains at

    I'm adding external resistors, plus a secret surprise!!

  • 03/11/2023

    Stephen Craver04/29/2023 at 20:54 0 comments

    The Raspberry PICO HW works out fine. By adding a 2-channel relay board, which is optically connect and directly controlled, the unit makes sense. Although the switch from Python to microPython had a learning curve, it was small. 

    Oh, the HW... 

    H = pre-soldered header pins

    W = WiFi included

    ...and only $15? Heck yeah

  • 02/15/2023

    Stephen Craver04/29/2023 at 20:39 0 comments

    After kicking myself for blowing up the PI  and wallowing in self-pity, a did a little research, eventually running across the Raspberry PICO. Cheap, small... it's perfect!

  • 02/04/2023

    Stephen Craver04/29/2023 at 20:33 0 comments

    It turns out, if you shove 24vcd down one of Raspberry PI 's GPIO pins, it pretty much trashes it, making it unrecoverable. In short, throw it away.

  • 01/30/2023

    Stephen Craver04/29/2023 at 20:27 0 comments

    Abandoned the 4 channel relay approach. Trying to maintain the main controller's operation by using relays to switch control is impractical. Additional research needs done.

  • 01/08/2023

    Stephen Craver04/29/2023 at 20:23 0 comments

    Iniitial build, Raspberry Pi  with 2 channel relay hat

    Secondary 4 channel relay, 24v source

View all 8 project logs

  • 1

    It's super easy to install:

    1. Unplug the chair's controller and plug it into the "Main Controller" jack.
    2.  Plug the device’s pigtailed 5-pin male DIN plug where you just unplugged the main controller from. This connection supplies the power for this device and motor control access. That's it! If you do not or cannot use this power source, the device can be powered by a standard USB connection.
    3. The “Logic controller” is a secondary controller. They are cheap and easily found online. It’s this controller where the magic happens.
    4. The optional limit switches make the operation seamless. Using them virtually eliminates timing issues. You’ll have to use your mechanical skills to determine where and how to mount them. The logic is simple. Grounding (pin 5) the switch’s pin/wire makes it “active”. There is no need for external pull-up resistors.

    All jacks are 5-pin DIN connections.

    Important: Most MIDI 5-pin DIN cables will NOT work

View all instructions

Enjoy this project?



Stephen Craver wrote 05/15/2023 at 22:59 point

Hi. Sure. I'm putting together a video of the device in action. I'll incluse stills of the chair. 

Expect it by 05/19/2023

  Are you sure? yes | no

hayden wrote 05/14/2023 at 02:56 point

Can you please post photos of the chair.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates