mobiSQUIRT iPhone app for MegaSquirt and MegaJolt

3Sep/160

WiFi adaptor update

Breadboard prototype of a very cheap WiFi to RS232 adaptor.

Breadboard prototype of a very cheap WiFi to RS232 adaptor.

I now have a functioning WiFi to serial adaptor built from three components that are freely available as ready made modules. All that is required are a few wires to connect them together and to load the software onto the WiFi module using a USB cable and the Arduino IDE. I'll be putting together a complete description and a list of the components once I put the Arduino sketch on github.

The adaptor uses a NodeMCU WiFi development kit to supply the WiFi access point and to run the sketch that provides the connectivity. This is then connected to the MegaSquirt ECU via an UART to RS232 adaptor module. In order for the complete module to run from the 5V supply from the MegaSquirt serial port, it needs to use a 5v to 3.3v dropper module in the TX line from the RS232 module to the NodeMCU.

There are a number of advantages to using this unit over the RN and WiFly devices in addition to the obvious price advantage (a fraction of the price of those modules)...

  • The module (via the firmware) provides a web interface to allow it to be configured for MS1 or MS2 (change baud rates).
  • You can define the WiFi Access point name and also secure it with your own password.
  • You can continue to use the internet via 3G while connected to the access point.
  • The open source firmware will allow those who want to to add their own functionality to the link.
  • Total cost for the complete module is around £12 GBP from Amazon
2Aug/160

v1.2 Update and WiFi status

Things are moving on gradually...

I've fixed all the problems with the architecture of the app and it's now working as fast as a PC connected via a serial cable when it comes to creating log files, in the region of 16 lines per second on an MS1/Extra. I have 2 more screens to update to iOS7+ compatible and I'll be looking, finally, at a release. The new architecture has opened up a number of possibilities as well as removing many of the stumbling blocks that were limiting it's performance.

One of the more recent problems being experienced is a practical one since MicroChip bought out Roving Networks and pulled the rug out from underneath the simplest and cheapest connection option. Obviously one solution to this has been to start looking at BlueTooth interfaces but in tandem to that I've also been looking at a much lower cost WiFi option that uses a couple of "off the shelf" modules hooked together. Initial results have been good and it would bring the cost of a WiFi adaptor down to less than £12 ($15USD) but it will need to be flashed with some simple custom code that I'm going to release as an open source project. The software to compile and upload the software to the module is free and you just need a USB cable to flash the module.

This is actually a much better solution than the RN134 as it offers a secure, password protected, connection and a customisable web interface to configure it and, being so much cheaper, will be a good option.

I may be adding banner advertising to the app in an attempt to help it pay for itself. Although the donation model worked initially it's not covered the costs of developing the app or hosting this web site, let alone the cost of MegaSquirt ECUs to test against. Banner advertising has proved reasonably successful in my other apps as a way of generating a small but steady revenue that might, at least, help offset some of the costs.

6Sep/154

Version 1.2 build 318

Airdrop and Activities screenshotI've completed the architecture changes I've been working on and the first test version of the app is being distributed to testers now. If you haven't already signed up and are using iOS 8 or later, use the contact form to let me know you would like to become a tester. The new Apple TestFlight system allows for up to 1000 testers and the more people testing it the better !

The architecture changes offer far more flexibility and improved speed of logging by recording the data into a database, including logging sessions. As well as the improved speed it opens up new possibilities, such as a graph view of the data in both realtime and logged data environments. Data from the MS ECU is also stored with log sessions, allowing easier transfer of log data between devices in the future. At some point I will also leverage this mechanism to provide iCloud support for your logging sessions.

Updates to the latest iOS SDKs and methods mean an updated layout that should cope better with different device screen sizes and native support for 64 bit devices will improve performance on those devices.

The one feature that has been lost as part of this restructuring is the ability to transfer log files from the device using iTunes. On the plus side though the email facility allowing log files to be emailed has been updated to support the iOS7 and later action facility. This allows log files to be emailed as before but also allows them to be transferred via AirDrop or any other method that your device is configured for (Facebook, Messages etc...) or opened directly in another app on your device that supports the file type. For Mac users this means you can quickly send log files directly to your Mac over WiFi.

With the new data format it is possible for full log files, with all the MS ECU config data, to be sent between iOS devices and imported into other copies of MobiSquirt at some point in the future.

12Oct/120

iPhone 5 Support Update

While the test versions of the app work quite happily on both the iPhone 5 and the iPhone 3G and earlier it seems that the App Store version can't have that luxury unfortunately. At some point soon I'll need to make a final decision on how to handle it but my current thinking is that I may create a new version of MobiSquirt on the App store that will support legacy hardware and iOS versions while at the same time allowing the "main" app to take advantage of the latest and greatest iOS developments. Of the current user base of around 800 active users there are 10 users that have devices that don't support iOS 4.3 and later according to the analytics.

Going down the legacy app route will have the advantage that, when and if I can no longer update the legacy version at least the legacy version will remain on the App Store should an older device need a factory reset or similar and lose the app.

The next App Store release will not support iPhone 5 natively as I want to get the RPM fix out while I pontificate further and see how other developers handle the iPhone 5/iPhone 3G problem.

29Sep/120

iPhone 5 and Latest Test Version

I've been contacted by a few people concerned about the possibility of dropping iPhone 3G and earlier device support. As a result and after some experimentation I've found I can, for the time being, support all the existing devices that are supported and also support the new iPhone 5 by using an older compiler.

I've been trying to get to the bottom of the problems some people have been experiencing with incorrect RPM readings on MS1Extra. After analysing files supplied by those experiencing the problem and running the configurations up in my test environment I've finally got to the bottom of the problem and the latest test version contains a fix. It turned out to be a problem with the way the app was determining the number of cylinders and this was then leading to rogue calculations.

I'll release this version to the app store after testing is complete.

20Sep/120

MS1-Extra Problem

I've got some test logs and configurations from people experiencing odd displays/logging on MS1-Extra versions. In particular this seems to effect the hi res rpm calculation and I currently think it's related to installations where the spark table isn't being used. I'm going to load one of the supplied configurations on a spare ECU and see if I can reproduce the problem.

The launch of the iPhone 5 with it's new processor and screen size has left me in a bit of a quandry. To fully support the iPhone 5 (which I want to do) I'll need to drop support for the iPhone 3G and iPod Touch gen 2 and earlier and any devices running iOS version prior to iOS 4.3. The stats I have suggest this shouldn't be a problem BUT if it is a problem for you, please let me know.

Obviously I'm looking to support the iPhone 5's new screen size in the next release.

5Aug/1210

Next Steps

I now have a working MegaJolt Lite Jr that has been lent to me for testing and development so I'm beginning work on the connection and logging classes to support it. Not sure yet which versions of MegaJolt it will be compatible with initially but hopefully that will become apparent as development progresses and I work my way through the tech notes.

The outstanding MegaSquirt version support (MS2 B&G code) is also on my list of things to add. I may end up adding them both as part of a single update or add and release each one as a subsequent release. I'm not sure how many users there are of the MS2 firmware but no doubt there will be some.

As always I'm open to any other suggestions and/or bug reports for the current release versions or the test versions. Feedback from users always gives a boost to the development effort, if only because it lets me know I'm not the only one using the app ! Version 1.1 now has over 200 users since it was released so hopefully some of those users are using it for logging and display !

24Jul/120

MobiSquirt v1.1 available now

V1.1 of the MobiSquirt app is now available on the App Store. This version contains a number of improvements, new features and bug fixes.

The most obvious changes from v1.0 are...

  1. This version adds support for logging of MS2-Extra firmware revision ECUs
  2. The app is now a universal app, running on both iPhone/iPod and iPad devices with new view layouts tailored to the iPad.
  3. The design of the main gauges views have, in my opinion, been much improved over the last version. Users who prefer the original look can still use that design via a switch on the settings screen.
  4. An AFR gauge option has been added that uses configurable lookup .ini file that can be customised by the user to suit their lambda sensor. This gauge does not currently work on log playback as the data to reproduce it isn't available in the log files. This may change in a future version.
  5. The architecture used to handle the low level communications with your MegaSquirt ECU has undergone a complete rewrite. This improves initial connection establishment speeds and should result in a more stable connection.

You can view/download the app from the App Store here 

12Jul/122

V1.1 Submitted

I've submitted v1.1 of the MobiSquirt app to the App Store. Hopefully it will get through the review process and become available within the next couple of weeks.

I've run out of devices to test against now. I'm trying to track down a MegaJolt ECU I can test/develop against next and will continue to build up a library of raw data and pages files for my test environment so I can perform regression testing against them.

Anyone using the latest test versions or, when it becomes available, v1.1 or greater on the app store, can contribute raw data and pages file to have their setup included in the regression testing. More details in the user manual troubleshooting page.

11Jul/121

Release Candidate Last Call

As I've not received any substantiated error/bug reports for the current test release I'm anticipating submitting this to the app store at the end of this week.

There seems to be a problem with some MS1-Extra installs but I haven't been able to reproduce it and none of the people reporting the problem have submitted the required files so I'm assuming it's a local problem with their WiFi setup that they have since resolved.

I'll be reviewing access to test versions for subsequent releases as the lack of any kind of feedback from "testers" is starting to make testing more difficult rather than easier. This in turn has started delaying development as I've ended up chasing bugs based on insufficient information.

If anyone does have a problem with the current test release please let me know after following the steps in the troubleshooting guide