Since EMF 2016 I’ve had the idea for a project I’ve apparently only mentioned in passing on here, The Luggage. Borne of the frustration of lugging camping gear from carpark to campsite, I joked that ideally I’d have something like the “half suitcase, half homicidal maniac” better known as The Luggage, but with less of the mania…

Ultimately it’s morphed in to a cargo robot that has enough payload capacity to carry 100KG+ that can follow me around. It should also serve double duty as a ridable vehicle to get around the various events I attend.
Through a few false starts, including an attempt to make a Hacky Racer with legs, I ended up with a six wheeled prototype that worked for a while and proved the concept at least. It used six recycled off-road hoverboard wheels, three ODrive motor controllers, and a Raspberry Pi to coordinate them all. As you can see from the GIF above, it could carry me no problem, not a surprise as I already knew four hoverboard motors were plenty to craft an excellent Hacky Racer. As a real world test I managed to move around 750kg of 1000kg’s worth of flooring compound up our garden to the workshop. I stopped for lunch when the bot decided to stop itself and put it on charge while I grabbed lunch.
What I thought was a flat battery turned out to be a dead BMS.

It turns out what I thought was a 90A BMS was only rated for 60A, as each of these motors are rated at 10A with a higher stall current setting off uphill with low battery was enough to push the BMS passed it’s limit. I’m not sure how as this is exactly the sort of thing it was designed to prevent, it should have cut out at 60A, or whatever its peak current is.
Lessons Learned
As well as the obvious issue with the BMS dying there were a few other things I learned along the way I took with me in developing the next version, mostly though it was the control system.
In the prototype I was using ODrive motor controllers, the v3.6 56v models, and I bought genuine models after seeing James Bruton use them with great success in various projects. They even have a guide on using them with hoverboard motors which seemed ideal! It turned out that though they could work with them in theory, they left a lot to be desired in practice. ODrive’s were originally designed to enable precise control of brushless motors for robotics, this included using encoders to accurately measure the movement of the motors to enable that control. Encoders typically give upwards of 4000 ticks of measurement per revolution, the hoverboard had hall effect sensors which gave only 90.
I got them working, as you can see above, but the motors juddered and oscillated a lot which stationary which wasn’t ideal. They also have excellent stall and overcurrent prevention, sadly this constantly triggered and motors would error out and stop working all the time, putting extra load on the others. They were also expensive if you bought the genuine articles, or just generally terrible if you bought the cheap clones. I don’t want you to think I’m bashing on ODrives, they brilliant bits of kit but the wrong tool for this job.
I tried to use hacked hoverboard controllers, based on work by OG Hacky Racer Lucy Rausch, but boards were getting more difficult to come by and lower quality too. There used to be one or two models of these boards, now they’re being pumped out in a number of variations and it’s difficult to know which you’re getting until it arrives. Frustrating, unpredictable, and a waste of time and cash sadly.
Another frustration of my own making was that when The Luggage was powered on, I still needed to log in to the Pi to get everything started. This could have been solved with a startup shell script but with the motors erroring out as often as they did I never got that far.
New Beginnings
Cutting my losses, I started again and rebuilt the base from scratch. I’ve shortened the wheelbase to give better torque when skid steering on the spot, I also added independent suspension to ensure the wheels have a better chance of maintaining traction. The prototype had fixed wheels and a slightly bent frame resulting in an ungainly tripod.

I’ve kept the six hoverboard wheels but made a new battery pack from a scavenged electric car battery module, I’ve gone a little overkill with a 250A BMS but I plan on adding a large inverter for mobile power from this too so it’ll be useful in the long run.
Another requirement I set myself was basic and safe operation immediately when powered up. I wanted to be able to switch on the robot and be able to drive it around, to unload from my car for example or just give a quick demo. To enable this I decided on using microcontrollers to interface between remote and motor controllers to essentially turn it in to a massive RC car. The idea is I’d get basic control immediately, but if I wanted more complex behaviours I could boot up a computer to add autonomy.
I also needed a cheaper and more suitable option for motor control, I did look at VESCs but they’re also pricy and a bit overkill. I’d seen a few people using the RioRand controller for this but I didn’t realise it could be easily used with a microcontroller until I saw this post by Mad EE. Basically, it has an undocumented header that can be used to control the throttle and get speed feedback too.
I’ll go in to more detail on each subsystem in their own posts, this has got a bit long as it is, but I thought I’d share a long overdue update on this project and hopefully regain some momentum.