A 'smart' controller for a powered recliner or bed

Automates the powered recliner . Ideal for the motion-challenged.
“Necessity is the mother of invention.”

Public Chat
Similar projects worth following
A powered chair is a must for a person with motion-challenged 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 »


This is the latest KiCad schematic (2.3) This file requiers KiCad be installed

kicad_sch - 242.57 kB - 06/02/2023 at 18:42



This is the latest jpg image of the schematic (2.3)

Adobe Portable Document Format - 171.69 kB - 06/02/2023 at 18:40


  • A note about PICO's pull-up resistors

    Stephen Craver3 days ago 0 comments

    The Pin.PULL_UP settings are now Pin.PULL_DOWN, and not really needed.


    Because by default, the controller (button) contacts are normally-closed to ground, thus eliminating the need of a PULL_DOWN resistor. The normally-open side is +5VDC.

    Yeah but...

     There is always a caveat: The above reigns true IF a controller is plugged in. If not, the inputs will "float" in an incalculable state. That would be bad, am I right? (The answer is yes)

    The bottom line: 

    PICO's internal Pin.PULL_DOWN setting will work just fine for unconnected controllers.

  • Escaping the nasties, bugs, issues, etc. is impossible

    Stephen Craver4 days ago 0 comments

    I came across some hindrances when moving from the "Proof of Concept" to "Prototype" stage.

    Or better said, from the “plastic case” to an “aluminum case” stage.

    Aluminum is a conductor, plastic is not.

    Consequently, well, you get it.

    Enough said.

    Oh, and by the way, the 5-pin DIN connector, when used for a factory powered chair/recliner/bed (and unlike its shared MIDI use), the case is very-much used. If you read any of my previous logs, in hindsight this is precisely why I fried my original Raspberry PI.

    Why didn't I learn?

  • Ahead of schedule

    Stephen Craver5 days ago 0 comments

    I'm almost a month early getting version 2 (the prototype) built. Videos of it in operation will be added within the week.

  • Prototype: Components mounted

    Stephen Craver05/23/2023 at 23:01 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 - Pull-my-hair-out UP/DOWN resistors

    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 - Well now, life after PI

    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 - I wallowed in self-pity

    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!

  • How to cook a Raspberry PI

    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.

  • Using 4 relays? It's too much. Current, space, etc.

    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.

View all 11 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 3 days ago point

UPDATE: I unintentionally lied. I have business that will keep me from posting videos for a couple of weeks. Apologies!!

  Are you sure? yes | no

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 06/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