iOS App Submitted, Many Bugs Crushed
Dear Reader,
Here’s the executive summary of the last 2 weeks
- A version of the iOS app has been submitted to Apple for their review.
- Found a bad hardware bug, fixed it with firmware (see below)
- Found and fixed a variety of sticky firmware bugs
iOS App
The iOS app has been submitted to Apple for review. In the comments on a previous post, a reader showed that sometimes the reviewers ask for hardware. If they ask I will provide it, but there’s no standard interface for providing it so I linked them to a video demonstration of the app working with a meter. I’ll let you know what I hear back. Here’s a link to the video I submitted, I won’t embed it here because it’s rather long and dry, but in case you’re curious you can check it out.
Bugs and Features
Resistance Measurement Bug
The Mooshimeter has a configurable current source that supplies current to the Ω output for measuring resistance and diode drop. I found (and patched) a nasty edge case that caused measurement of very high resistances to be way off. Here’s a video of that problem:
That video was taken 4 days ago and I’ve since figured out a firmware based solution. The firmware patch just has the meter momentarily switch a pulldown resistor* in on the active input if the resistance reading is above a certain threshold. The momentary pull is all it takes to drop the amplifier out of lockup. The next time there’s a chance for a hardware revision this portion of the circuit is going to get some overhaul.
*This pulldown resistor is a feature that I haven’t talked about before… it opens up some measurement possibilities down the road, but I haven’t had time to fully explore them yet. More on this when there’s time.
Hibernate Mode
As requested by several backers who have been following the blog and providing great feedback (Thanks Beat and John), being able to force the meter in to hibernation through the app is an important feature. Not everybody can carry a tool broadcasting radio packets all the time.
Life on a Single Core
I’ve also found and fixed a variety of insidious bugs causing firmware lockup and data corruption. Most of them stem from the fact that all the analog processing and the radio protocol processing is happening on a single microcontroller (a CC2540 SoC). Having everything go through one microcontroller gives reduced hardware complexity, lower overall power consumption, and reduced hardware cost. But it adds challenge to the firmware, since there are two processes with hard real-time constraints competing for a single resource, and if one runs too long Bad things happen. Some examples of things I’ve fixed in the last 2 weeks:
- Some BLE masters don’t respect connection parameter update requests. A BLE connection has a fundamental interval called the “Connection Interval”, which is how often the two devices on either side of the connection exchange messages. So if the BLE master doesn’t respect the meter’s request for a longer connection interval, the meter may have to wake up and service the radio in the middle of an analog sample, causing corruption. The firmware now detects when this problem has occurred and interpolates for missed samples. It’s not a perfect fix but in practice it’s been fine.
- Computing RMS values (for AC voltage and current) is time intensive when you’re processing 24-bit samples on an 8-bit core. In some circumstances, the calculation could run for too long and cause the radio connection to drop.
- The interaction with some SD cards takes longer than with others, and an interaction that runs too long will fill the time needed by other tasks. I haven’t fully debugged this yet, I am leaning towards punting it to an update so I can focus on getting the apps done and meters in people’s hands, even if the logging doesn’t work yet.
But when will they ship?
Nobody is more anxious to get meters out the door than I am. I definitely underestimated how long the app development part of the process would take. I think it’s a few more weeks of concerted effort. And it feels bad to say because I know I’ve been saying that since October. Christmas is coming up as well, and Mooshim Engineering LLC will be closing for the holidays. There are still unknowns with the Android app, but it’s going much faster than the iOS app because it’s more of a port than a composition from scratch. My estimate right now is that meters will be out the door in mid January. I apologize again for the delay and thank you for your patience in helping to bring this product to market.
Interested in beta testing?
It would be nice to have a group of people with varied devices to release app updates to before releasing to the group at large. For Android I can put a “beta” .apk file on the website and people can self select, but for iOS Apple keeps a tight leash on the ecosystem and beta testers for any app must be registered. So if you have an iOS device and are interested in beta testing, please register here!
Hi James – Have signed up to your beta testing request and am happy to help. For interest I have the iPhone 4s and an iPod 5th gen i.e. both BLE and one with the 4″ display and the other with the 3.5″ version.
Hi James,
I’m not familiar with submitting apps to Apple, but the company Automatic (www.automatic.com) has a beta tester program that I’m a part of. Whenever they release a new beta, they just send a direct link and I can download the new app without using the AppStore…you might wanna contact them and see how they’re getting around the AppStore requirement.
Sounds like great progress, thanks!
Seth
Looking forward to seeing everything working as it should, shame about the difficulties you’re coming up against here. iOS is so difficult to prototype on
I got an error trying to install the test flight profile on my iPhone 6. See this: http://imgur.com/BPgqtku
I got the same thing, Dave. Funny thing is, my account says my phone is linked even after getting that error…
Thanks, again, for an awesome update. The fact that you put all your cards on the table is the reason why I have no problem trusting your production decisions!
Absolutely gutted that I won’t be getting my meter before Christmas, but I understand your bind, and sympathise with you not wanting to release too many meters into the wild before beta testing is over. Please feel free to hold firm and get a firmware that works with both Android and iOS before shipping the units, and finding a missing feature that limits the respective apps in some way.
You’ve mentioned Bluetooth firmware updates before. Are these still going to be possible? And if you want someone of the Android hardware hacking persuasion to help with beta testing, I’m very happy to help
Much appreciated Paddy –
Yes, there will be firmware updates after the product is released. The update process happens over the air and takes about 70 seconds.
Hi James – joined up to help test. Have an iPhone 4s and a iPod 5th generation
Hi, just signed up as a beta tester. I have access to iphone 5, 6, and 6+, ipad 3, and an Apex 7i Android tablet running 4.4
Hi James, I would love to help out with the beta test of the Android app. I have several hardware platforms (phone and tablet), and considerable experience in design of electronic devices (though mostly on the hardware side), so let me know if I can be of any help. Very excited about the impending release! And a Merry Christmas to the whole team there!
Emailed you, thanks
FYI-I signed up for beta testing. I have a 4th gen iPod (ios 6.0), iPhone 5S and iPad 4th gen. I can test AC/DC, bench and automotive and cold environment down to -20 Celsius (I live in Canada…eh). I’d be glad to assist.
Hello team,
How is progress coming along? I start my EE class on Jan. 26th. I’m looking to pair these with Google Glass.
James:
Congratulations on one year in business!
It may be time for another fix of progress news.
(Hope Eric is doing well? He kind of disappeared 4 months ago)
Tom
Thank you Tom! Hard to believe it’s been a year. Am working on a new blog post now.
Yeah, we are so dirst … no news a longo time … news, news, news…
Yessir…
These shipping delays are getting old. When are you going to ship and meet your commitments. This is is a business and not a hobby?
I am as anxious as you are to get these out. It’s not a hobby. There’s not much I can do except apologize and keep working. So, I’m sorry the meters are late! I’m working on it.
Hi James, What’s the last update?
Do you think finish this month?
I think the pre-ordered meters will all be out the door this month. See the latest blog updates
wht is the performance of iphone 7
The app and Mooshimeter work with iPhone 7