The Pareto Principle in Action
Sorry for the lack of updates in the past few weeks. The meters are in progress. Two of the big items I’ve been working on are two that had accumulated a lot of technical debt, because they are necessary for release but were not necessary for regulatory compliance or demonstrations.
1. Bootloading and Firmware Protection
Releasing a new product is always a huge risk. No matter how thoroughly one tests, any product above a certain level of complexity is almost guaranteed to have bugs. Most manufacturers avoid that word, preferring the terms “errata” or “known issues”. This is one of the reasons why almost all new consumer products have some mechanism by which to update the firmware.
I can hear some of you thinking “if your multimeter needs a firmware update, you’re doing something wrong”. If this were a normal multimeter I would definitely agree with you. But the Mooshimeter is a connected device that needs to talk to other devices. Even if it were possible to test 100% of all use cases, which it is not, building a connected device in a world of constant updates is hitting a moving target. Apple’s next iOS release could change the permissible Bluetooth Low Energy connection interval to something that messes with the original meter firmware in some unforeseen way, as a contrived example.
For USB devices and computer peripherals, firmware updates are relatively easy: just plug the device in to your computer and flash the device with a file you download from the manufacturer’s website. For a wireless device like the Mooshimeter, a firmware update should not require opening up and taking apart the meter, so firmware updates over the air are a necessity. Exposing an interface to wirelessly update firmware is always dangerous from a security standpoint, because a third party could send malicious firmware which disables the device. But the flexibility and ability to improve the product in the field is worth the risks and extra work.
The electronics all come out of the factory uncalibrated. This means if you hook a meter fresh from the factory to a 5V supply, it will give you a number between 4.95V and 5.05V. Most of the error is constant and intrinsic to the parts, so if you take a few readings of known voltages and currents and store them you can dramatically improve the quality of the readings. To abuse an analogy –
- I have 1000 rulers coming from a factory that should all be 30cm. But in reality they are between 29 and 31cm.
- I have a trusted ruler that I’ve verified with an external authority, and I use it to measure all the rulers coming in from the factory.
- If a nominally 30cm ruler is actually 31cm long, I write that down on the ruler and make a note to multiply all measurements taken by that ruler by 30/31.
Doing this for thousands of meters requires building some hardware to do it automatically. Here’s a picture of that.
3. Doing Anything 1000 Times is Difficult
General rules of thumb I’ve learned about manufacture:
- Doing ~100 of something is easy. It’s exercise.
- Doing ~10,000 of something is easy if you have the money. You can pay a larger operation to tool up and make it happen.
- Doing ~1,000 of something is an uncanny valley where it’s difficult to do yourself and not quite feasible to farm out.
I’ve brought on some extra help to get through some of the tasks.
If you want a slice of life, I used Dropcam’s timelapse feature to cut down 7 hours from an afternoon last week. Woojin is prepping the cases (one of the stretch goals) while I work on the calibration stand and the Golden firmware image.
4. Validating Shipping Addresses
Fulfillment is another big task. It was about 10 months ago that most of our backers pre-ordered a meter, and many people have moved. Expect an email from email@example.com soon to validate your shipping address.
I’m working hard to get your meters out, very sorry for the delays. All the best,
Nice update! Thanks for the video, really gives us an idea what you’re up to!
I just found out that I suddenly have to move, and just today I had a sinking feeling that my mooshimeter would get lost. Happy to hear you’ve thought about that!
Thanks for the update! I love seeing the behind-the-scenes of how stuff gets made & tested. Very cool that we’ll be able to update our Mooshimeters in the future, if needed :)
Thanks for the update. I have a few questions you may or may not have the answer yet but I will give it a try:
Will you have a provision for the customer to calibrate the meter? I am assuming that they have the correct transfer standards and test equipment?
Will the software have math functions like thermistor scaling and different beta inputs, power calculations using shunt scaling and unit selection, basic math for voltage divider circuit, support thermocouples , statistical functions for averaging, min, max, mean, etc..
I know I am asking a lot but thought I would give my input.
The meters will ship with a factory calibration locked in the flash. There will be a provision to easily re-zero the meter, but recalibrating the gain will not be supported, at least in the first version of firmware.
Yes, this was a stretch goal that we hit. It’s purely in the domain of the app. Honestly it might not be in the first release of the app just because I think it’s more important to ship core functionality now and bells and whistles later. But it will be in an update.
Thank You for the sharing and good luck in the finalization :-)
Instead of wireless firmware updates which carry more security risks and challenges as you noted, have you considered using the SD card for firmware updates? Many devices I’ve used look for a special file on their removable media for firmware updates. Since you already have the SD card interface, it seems like a more convenient way of handling the updates (and more secure) compared with developing additional software for a bunch of different host platforms (phones, Windows, Linux, etc.) to program new firmware wirelessly.
Yes, definitely considered this… but I see that as a user experience problem. There is a high likelihood of firmware updates in the first few weeks of meters being in the wild. Since the SD card slot had to be closed during the regulatory process, updating firmware via SD card would require having users
-Visit our website
-Download a file to an SD card
-Unscrew the Mooshimeter enclosure and insert the card
-Reboot the meter
If I have to release multiple firmware updates, I can see the SD card update process getting really annoying.
Like many engineering decisions, it’s a tradeoff and it depends what you’re optimizing for!
I suppose that makes sense from a user friendliness perspective.
Call me paranoid but a device that is always on and broadcasting its existence, that can also be reflashed over the air, sounds like a rather critical situation for security.
I would be very interested to hear what steps were/are taken to address this since it sounded like you were working on the issue.
Hey, did you already sent this email ? Nothing in my mailbox so worring little bit :-)
I did not send this one out in email form. I guess I figured if people were worrying about the meter, they would check. I think the next email-worthy update would be shipping, but I have my bars set pretty high :)