No matter how complicated your engineering project, applying Failure Mode and Effects Analysis (FMEA) can mean the difference between success and disaster. Stockholm Sweden-based engineer Rajesh Nakarja knows this well. Here he shares the story of a problematic Arduino-based RC design and, of course, what he learned from the experience.
 
Rajesh Nakarja's RC project: take FMEA seriously
Rajesh Nakarja's RC project

Take FMEA Seriously

“As a student, I loved RC modelling. My degree at the time, in embedded control, led me to develop a custom DSP controller for torque vectoring on 1/10 scale RC cars. The vehicle, which featured four independently driven wheels and various sensors, was capable of reaching extreme speeds normally reserved for competitive racing on a track. With all the real-time processing, however, the vehicle was able to maintain stability at full power by being able to detect loss of traction, as well as self-correcting itself with gyros.
 
“The code itself was fully deployed from Simulink coder onto a custom STM32F4 board and featured numerous code safety features. Over/under flows, loss of radio or sensor data, all such things would resolve safely and bring the vehicle to a stop. Lots of testing and simulations showed this to work well, and I was confident that it would be safe to actually drive.
 
“While it was only a couple kilograms, the speed and power of four 40A BLDC motors meant that crashes could still be quite devastating to anyone or anything it may hit. As a result, I was quite careful about using it outside and was always wary about running it around people or traffic.
 
“To control the car, I had hacked together an Xbox controller to an Arduino-ZigBee bridge, which provided real-time steering and throttle control to the car. While the car controller itself was engineered to be reliable and robust, the Arduino controller was more of a hack, and the only safety check added was to shut down the car in case of loss of radio. At the time, that alone seemed like a reasonable enough fallback for a simple controller.
 
“One afternoon, while testing in an open park, the USB controller managed to briefly lose connection with the Arduino/ZigBee unit. This crashed the USB driver and issued full throttle to the radio, which kept on transmitting. The vehicle then propelled itself at full speed straight towards a crowded street and main road.
 
“The ZigBee modules I’d used where long range, which meant that the vehicle would have to be well out of sight until the safety kicked in. As I quickly scrambled to rip the batteries off the Arduino, the vehicle flew past a crowd of people and smashed into a curb at what could have easily been 30-40 mph. Thankfully, no one was injured, and the impact resulted in the lithium battery pack being torn out the chassis, thus killing the power. Rather embarrassed and apologetic, I ran over to collect the smashed pile of carbon fibre and went home with my project in ruin. 
 
Disaster can happen, so take FMEA seriously
Disaster can happen!
 “I learnt that day that the simplest error can still seem perfectly normal to every other safety catch in a system. No matter how much they were engineered, one tiny little hack in between it all was enough to jeopardize the entire thing. Since then, I’ve taken failure mode effects analysis a lot more seriously and by principle apply it to every project I work on from the outset.
 
“Modern tools and workflows, such as model-based design, allow for automated testing and coverage during development. This combined with an evolving release plan means that bugs are avoided early on or caught quickly in the release process. While things may occasionally still go wrong, a good test plan means that the same thing will almost never go wrong more than once.
 
“The images show the custom vehicle and control board. All the electronics where conformally coated to prevent dirt or water damage. This video on YouTube describes the project in more detail.” – Rajesh Nakarja (Stockholm, Sweden)
 

More on RC ModelsArduino, and ZigBee 

Want to more about Arduino, ZigBee, and RC models? Consider these resources:
   

Error Analysis: Share Your Experience

We want to hear about your electronics-relate errors and learnings. Fill out Elektor's "Error Analysis" form and share your experiences. Pro engineers, makers, and students are welcome to contribute!