So you want to build a driving sofa?
(mis)adventures and lessons learned while motorising a sofa
So what do three students working "more than full time" on an electric formula student racing vehicle need?
If you guessed "some awesome time consuming side project" you were right.
This is how project couch was born.
The first iteration
It all started with a black faux leather sofa we got for free on Willhaben in 2019 - the local craigslist alternative.
Or should I rather say with a "Willhaben-heist"? We borrowed our team's big transporter and got many nice looking sofas, as the ones the team had at that time were pretty gross already.
We came back with a big car full of sofas and picked out the one we liked most for our project und used the rest to replace the gross ones in the team's social room (or by then still "social corner" in the main room of the workshop).
I recently also got a whole bunch of hoverboard motors/wheels for very little money and we had some old (absurdly large) LiIon pouch cells lying around.
Combine this with the original motor controllers of the hoverboards, some leftover microcontroller board from the formula student team and a cheap joystick from Aliexpress you get iteration one:
It wasn't great.
It didn't have enough power, had bad traction because of the front wheel drive, the joystick was awful und the small casters in the back made the ride very uncomfortable.
But it was fun!
Iteration 1.5
Small improvements.
First we got a new joystick. It originating from the remote control of a tunnel bore, this was easily the most expensive part of the couch but we got it for free (<3 thank you, generous donor!).
But it was so satisfying to use.
The second upgrade was to switch from the hoverboard controllers to two VESCs.
While being significantly more expensive, they also allowed us to use about four times the power compared to the original controllers (surprisingly enough the motors did not complain at all. They only got slightly warm).
Last but not least the couch got some WS2812 based LED strips for lighting - these did not hold up for long though, as they are surprisingly fragile.
It worked better than before, but still had most of the issues of iteration 1.
More power - but still not comfortable ^^
Iteration 2
Seeing how badly the front mounted motors performed we decided to move the motors to the back and the casters to the front.
while doing so we also designed some mounts for brake discs and calipers but that never really worked all that well - but it also didn't really drive fast enough for it to matter.
We also designed a new Dashboard using CAD - cardboard aided design - and as the prototype was more stable than we thought it remained made from cardboard for a surprising amount of time.
I also got some batery modules from an Audi E-Tron to replace the - by now "spicy pillow" - LiIon pouch packs (thanks again to another generous donor).
To use those safely we designed a slightly modified version of the battery management system I designed for our formula student team so that the slaves fit exactly in place of the original BMS PCB the modules came with.
This also meant that we needed a BMS master, which escalated into us now also having a real accumulator fuse with a high enough interruption rating, an accumulator isolation relay and precharge circuitry. This is very simmilar to how it is done in formula student, but not galvanically isolated and only separating the positive side with a single relay instead of isolating both sides, as we do not have a galvanically isolated system and are well below the "safe to touch" limit of 60V (12 series cells, split over two modules with six series cells each, so about 50.4V maximum).
All in all this made for a way better driving experience. It was still a bit underpowered though and it was still a bumpy ride.
Iteration 2.5
So what to do about the power issue? Get bigger motors of course!
But first we had a big move of the formula student team into a different building so we disassembled the couch and packed everything up neatly (and made sure that the moving company did not drop the box containing the battery).
This is also when we discovered that all the vibration of the previous iterations had destroyed the inner structure of the sofa so we left it at the old building.
Willhaben to the rescue - again. We got a new sofa - this time a brown one made from real leather - and two sets of M365 (the basically legendary electric scooter from Xiaomi) wheels and I also bought some bigger casters with air filled tires for the front.
We used these to replace the Hoverboard motors and the small, hard casters that were on there previously.
This iteration was also the first one to go along with us to the formula student Austria event in 2023.
Charging on the campsite while taking up minimal space works surprisingly well as it currently is pretty easy to detach the couch from the frame and store the couch in the transporter it came in.
While we were there we also got scrutineered and got to collect our inspection stickers.
Or to quote one of the staff members during a brake test "I guess backwards turning wheels while still moving forward counts as blocked wheels?".
But what would be a story without some catastrophic mishap.
While recalibrating the motors we failed to notice that the VESC had two phases of the motor constantly powered which resulted in some really nasty burnt smell and a motor that would not turn very well anymore.
We also managed to not take any spares with us so I had to drive back to our workshop to get a replacement (~2h drive one way). On my way back to the workshop an increasing amount of teammembers asked me to also bring other stuff they forgot so while I only intended to come back with a single motor I came back with an almost full car of random stuff instead.
While I was away, the team's motor expert apparently was bored so now we have a surprisingly accurate simulation model of this motor which also confirmed all the observations (in regards to maximum power, temperature increase and such) we made about it in the past.
The TLDR is: This motor is still too weak for the load.
So it was time for another upgrade!
Iteration 3
It's time to take option one of "Go big or go home".
The friend I'm working on this with (which is also the one visible in most images above btw) got some new motors.
He told me that they were big. But it only really dawned on me how big they were when we mounted them on the (new) frame.
These things pack quite a punch.
While we will not use anywhere near their full power capability (not even the one they are rated for - we want to stay within the limits of the Austrian StVO/KfG to count as an electric bicycle), we tested them up to 7kW peak (each!) and they barely got warm.
We also got a new motor controller also designed by said friend. Based on the VESC we had before but both on one PCB and an actual way to mount a cooler to it as the old VESCs were constantly overheating.
In addition we swapped the BMS slaves to a new revision using the LTC6804 instead of the LTC6811, as we had some weird issues with the 6811 (both on the formula student car and the couch).
With those absolute units we had to cut some holes in the sofa though to fit them without getting the rear axle too far forward.
As these new motors came with brake discs already we also decided to get an actual hydraulic brake system. At 25km/h it is actually quite scary if the battery management system turns off and your electric brake stops working.
During the event the couch lived mostly inside or behind the electrical scrutineering tent - this time we were part of the staff team.
While it was in the way sometimes, it got accepted quite well by the others, if I dare to say so ^^
Iteration 3.5(?)
I'm not sure if this is worthy of an iteration but since then there have been some smaller things we worked on.
While the couch previously was mounted using wood screws, it now has M4 inserts and proper M4 screws - this should hold up a bit longer before breaking.
We also built a small "trunk" for the couch to carry some tools and our personal stuff with us.
In addition to the already-present-in-I3 rear lights, blinkers, warning light and horn we now also have some front lights.
We also did some tuning to get the motor power down to levels that should be mostly legal (the way it should be measured is hard to measure but it should be mostly fine TM).
Future improvements
So what is still missing?
The biggest issue right now are the front wheels. The cheap casters wear out their bearings (if you really want to call them that).
Our current idea is to build some overengineered casters ourself. If that doesn't work we might need to implement a proper steer by wire system?
There are also numerous smaller things like a dashboard or phone mount to display stats like battery charge and speed, state of charge estimation, a separate charging mode where the motor controller stays off, ...
Also there still is a lot of software that needs to be built. Mostly related to vehicle dynamics (doing global speed limit instead of limiting both motors to 25km/h - else you can't really steer at max speed, have some sort of torque-vectoring to smoothe out uneven weight distribution on the couch, ...).
I will try to keep this post updated with any news. As none of the code and hardware is really finished I will not publish the files here yet (it's a mess) - if you need anything specific from this feel free to reach out to me, I'm happy to share design files and code under some open source license.