UPDATE: Users in the US and other 120V countries have reported this issue as well. If you’re experiencing intermittent disconnection of the Mooshimeter from your iOS device with firmware before 1447470000, this is probably the cause.
Some users have reported a bug that I just pushed a firmware update to fix. If you’ve experienced the following:
- Mooshimeter connected to iOS device
- Measuring AC 240V or higher (typical in Europe)
- The voltage is correctly displayed for several seconds, then the connection drops
- The meter does not reboot and the user is easily able to reconnect
You can solve the issue by updating firmware from your iOS device. To do so, you just need to reboot the meter and connect to it in the first 5 seconds after it boots, as demonstrated in this video. Note that the linked video is for the Android app, but the process is the same. After update, the new version code displayed for the firmware will be 1447470000.
The Mooshimeter has a single 8-bit processor on board. The samples from the ADC are 24 bits large. To accomplish the 24-bit math needed for RMS calculations, the Mooshimeter needs to stitch together multiple 8-bit operations. A side effect of stitching together math this way is that small values take less time to multiply than large values. So calculating RMS voltage for a 240V line takes slightly longer than calculating for a 110V line, just because the numbers are bigger.
Bluetooth Low Energy (BLE) connects the Mooshimeter to the phone. BLE works by both sides of the connection agreeing to turn on their radios and check-in with each other every “X” milliseconds. “X” is called the connection interval, and typically it’s on the order of 30ms (technically it can be anywhere from 7.5ms to 4s).
- iOS devices typically use a shorter connection interval than Android devices
- The Mooshimeter is taking too long to calculate AC voltages
- Since there’s only a single processor doing the math and operating the radio, this causes the meter to miss BLE connection events
- The iOS device thinks the meter has broken its connection because it misses several connection events in a row
I’m not 100% sure why this came up now and why it doesn’t affect all users, but I just pushed a firmware release for the iOS app only that addresses this bug. It’s also worth noting that this bug is basically an extension of one I addressed in November, detailed here. Hopefully as more reports come in I can get a clearer picture.
The main thrust right now is porting the new features of the Android beta over to iOS, so I’m going back to work on that.
Thanks for reading.