Ramblings of an Extreme Man

Complexity in design

Leave a comment

“Possibly the most common error of a smart engineer is to optimize a thing that should not exist.” – Elon Musk

Boat life and electronic troubleshooting:

Living on a boat can make you moist.

Literally. Everything gets damp all of the time. Having your living space close to or under the water line results in bulk humidity. Surfaces that are moist tend to get moldy.

To keep the humidity under control about 2 years ago we bought a mini dehumidifier from Kogan. It used some Peltier modules to draw up to 2 litres of water out of the air before needing to be emptied.

Peltier modules are silicon semiconductors that when there’s a voltage applied across them they move heat from one side to the other, effectively making one side hot and one side cold. When you couple this with a few heat sinks the heat sink on the cold side will get cold enough so that moisture from the surrounding air forms condensation on it, and with the addition of a fan to keep air moving past the heat fins and a bucket to catch the drips you have a de-humidifier.

We bought it for $60, which seemed like a bargain and it worked great until a month or so ago. When it stopped working I went to buy another one and found the price had increased to $260!!!! I assume partly due to covid supply chain problems and probably due to a really wet time of year so everyone wanted a de-humidifier.

Obviously $260 for a new dehumidifier is against all my tight arse tendencies, so this weekend I pulled it apart to see what was wrong.

The first thing you should generally check for when you’re troubleshooting an electronic device is bulgy / exploded capacitors. It tends to be the main point of failure and pretty easy to spot. Over the last year or so I’ve changed 2 starting capacitors that have failed, one on the raw water cooling pump for the boat air conditioner and one on the compressor for the air conditioner. I was relatively sure it would be something simple like this and I could just buy another one from Jaycar and solder it in.

When I opened it up and had a good poke around all of the capacitors looked OK.

The next step after you’ve checked for obviously bulgy capacitors is to start checking your voltages at the major components.

  • There was 240, tick
  • There was 24V supplied to the control board, tick
  • There was 24v supplied to the small fan, tick
  • but there was no voltage being supplied to the Peltier modules.

That meant that there was something wrong with some logic or component on the control board. The board had a 24v supply, but power wasn’t being supplied to the Peltier module 12v connections.

To troubleshoot this further is almost impossible without having the schematic for the circuit board. Without knowing what voltages and resistances are supposed to be present at each component it’s hard (for me anyway) to work out what has gone wrong and what to replace.

Which brings me back to the title of this blog post. Complexity in design. What the fuck do all those components on the green side of the board do? There’s voltage regulators, integrated circuits, fancy spring type antenna things to detect fingers, LED’s etc. What the actual fuck.

What’s wrong with complexity and why does it happen?

Someone when they designed this dehumidifier fell for a very common mistake that many engineers fall for, to quote Elon Musk:

“Possibly the most common error of a smart engineer is to optimize a thing that should not exist.” – Elon Musk

This is a dehumidifier. It’s primary objective is to dehumidify. Someone in the design process had chosen to add superfluous functionality, such as:

  • Fancy touch screen type buttons,
  • a timer to turn it off after 8 or 12 hours
  • 2 fan speeds so that it would dehumidify efficiently or dehumidify inefficiently but quietly

This superfluous functionality had introduced massive amounts of complexity to what should be a simple device.

This complexity had introduced many points of failure, and that is what it had done. Failed.

Somewhere in the circuit board that provided the superfluous dot points above something had failed, and I had no way to work out what had failed to replace it.

I understand why engineers / companies do this, one of the reasons is they want to impress their customers. To stand out from all the other de-humidifiers why not add additional functionality that isn’t needed? An extra widget, a clock on a device that doesn’t need a clock? Some extra integration to some other system just in case?

The majority of customers don’t need the additional functionality, but it’s a market, and the dehumidifier company is trying to expand its market share. It’s competing for the customers at the margin that  think they need that extra widget and will choose this dehumidifier over the simpler model. Hence superfluous complexity tends to increase in an arms race for market share. This concept is explained better that I could in a great article by my good friend Nassim Taleb – The Most Intolerant Wins: The Dictatorship of the Small Minority

Another reason why engineers / companies do this comes from a mate of mine Marshall Goldsmith who often quotes another good mate, Pete Drucker;

“Peter Drucker,  said, “Our mission in life should be to make a positive difference, not to prove how smart or right we are.” – Marshall Goldsmith

A lot of us are doing the second part, we’re trying to prove how smart or right we are. Our entire education system and much of our careers are about proving that we’re smart or correct. Our education isn’t about making a positive difference, we do what we’ve practiced and what we’ve been trained to do. We try to show how smart or right we are whenever possible, rather than do something that would instead make the biggest positive difference. The engineer or product manager who designed this dehumidifier was no doubt showing how smart they were, rather than designing a dehumidifier that would have a low chance of failure, be easy to repair and not end up in landfill like so many other household items.

The problem with designing complexity into things that don’t need to be complex is you are increasing cost and introducing points of failure. When they fail, they’re too complex for the majority to be able to fix them, hence they end up in landfill. I’m pretty handy, I can fix most things, and spoiler alert, I did fix this, but your average consumer doesn’t realise they’re purchasing something that is more likely to fail with all of these superfluous features, and when it does indeed fail, they have no idea how to fix it and it ends up in landfill. If they do try have it repaired, instead of a mildly skilled technician being able to fix it, you need an extremely qualified expensive technician and they’re rare. Our planet is choking on this stuff, and in a lot of ways it’s because of bad design.

How did I fix it?

I thought about the primary objective of a dehumidifier, which is to dehumidify. In essence a dehumidifier, before you introduce the superfluous features, is a simple device. It only needs a few things.

  • 240v AC to 24V DC rectifier transformer
  • Peltier modules so that moisture would form from the air that passes over them
  • A fan to move the moist air over the Peltier modules
  • A bucket.

It turns out by removing the superfluous functionality the entire control board was not required, hence I didn’t need to fix it, and the dehumidifier could dehumidify really well by replacing the control board with 3 terminals from a terminal block. Terminal blocks don’t break. Peltier modules don’t have moving parts. Fans are a commodity item. By removing the superfluous functionality the reliability of the system overall had increased dramatically and it has been saved from landfill.

If I want to get fancy in the future I could install a switch, and even a variable resistor so I can adjust the fan speed, these would provide some of the superfluous functionality without the complexity and price of a control board.

Conclusion:

For those of us that design things it pays to keep in mind the quotes from my good mates Elon and Marshall above. If you’re someone who buys things, it pays to think about the complexity of the devices that you are buying. An increase in complexity has an inversely proportional effect on the life of the thing and increases the rate of failure of the thing you are buying. Keep it simple. Think about the whole of life cost. If it’s complex the life will be shorter, it will require more maintenance and the maintenance will only be able to be done by highly skilled and expensive technicians.

If you’d like to read more on this topic I recommend these excellent post of the same name by boat design legend Tony Grainger:

https://www.rakucatamarans.com/complexity-in-design

Leave a comment