Electronics · 2022–2025
Tesla seat office chair
A used Model S passenger seat on a welded steel adapter, running off a battery pack I built for it — and, three years later, wired into the lights.

My gaming chair broke. It had been bad for a while — the kind of thing sold on looking like a racing seat, which does not survive being sat in every day.
The obvious replacement was one of the car-seat-shaped office chairs. Those cost a premium and, as far as I could tell, are built no better than the one that had just failed. So I bought an actual Tesla Model S seat instead — a first-generation front passenger seat from a 2014–2015 car, in leather and alcantara — for about 600 kr, and made it into an office chair.
Real leather, real alcantara, and every adjustment motor still working, for less than the fake version costs. Finished on 27 July 2022, and I have sat in it every day since.
| Seat | Front passenger, Tesla Model S 2014–2015, first-generation |
| Base | IKEA office chair wheelbase and gas-spring column |
| Adapter | Welded steel plate |
| Battery | 3S1P Samsung INR18650-30Q — ~11 V nominal, 3 Ah, ≈32 Wh |
| Occupancy | Factory seat sensor, read through a voltage divider |
| Controller | ESP32 DevKit V1 over WiFi |
| Hub | Home Assistant on a Raspberry Pi with a Zigbee adapter |
| Seat cost | ~600 kr |
Getting it onto a base
A car seat mounts to rails on a floor pan, not to a chair column. I welded a steel adapter plate to bridge the two: seat rails on top, the wheelbase and gas-spring assembly from an IKEA office chair underneath.
That keeps the seat's own mounting hardware doing what it was designed to do, and puts the wear parts — castors, gas spring — on components that are cheap and trivially replaceable.
The seat still needs power
A Model S seat is not passive furniture. Recline, height, tilt and lumbar are all electric, and in a car they run off the car's 12 V. On a chair in a room, there is no car.
So I built it one: three Samsung 30Q cells in series with a BMS and USB-C charging, in a 3D-printed enclosure I designed to click into the chair and slide out again for charging. In practice I charge it rarely — adjusting a seat draws almost nothing, and around 32 Wh goes a very long way.
Every control works exactly as it does in the car. The one I did not expect to care about is the electrically adjustable lumbar support, which turns out to be the best thing about the chair — being able to change your back support by degrees, without getting up, over a long day at a desk.
2025: the chair knows when you sit in it
Three years later I came back to it. Every car seat has an occupancy sensor in the base — it is how the car decides whether to arm the passenger airbag. It was still in there, still working, and doing nothing.
It reads as a resistance change, so an ESP32 DevKit V1 and a voltage divider are enough to see it. The ESP reports over WiFi to Home Assistant, running on a Raspberry Pi with a Zigbee adapter, and Home Assistant does the rest: Zigbee bulbs through the flat, and an LED strip in my room running WLED on a second ESP over WiFi. Sitting down triggers a focus scene; getting up releases it.
Routing it through the hub rather than talking to the lights directly is what makes it worth doing. The chair publishes one fact — someone is sitting in it — and does not need to know what a Zigbee bulb is, or that the LED strip speaks a different protocol entirely. Anything I add later listens to the same signal.
It is also my favourite part of the build because it cost nothing. The sensor was fitted at a factory for a completely different purpose, and had been sitting unused underneath me for three years.