I've been working on an Android app for a couple of months now, designed to connect via Bluetooth to the CA and also to a 12-24S Bluetooth cell monitoring device I'm working on. It is not intended to be a replacement for the Cycle Analyst's own display, but more to allow some other live measurements and also provide file logging and GPS integration. Eventually I'll include the data from the cell logger I'm building, so that all my ebike data can be collected together. Here's a screenshot from my Galaxy 7.7 tablet running it paired to my ebike:
I decided to make the initial design full of gauges and eye candy, mainly to help me learn writing vector graphics in Android, and to see what would be possible performance-wise. All the graphics are drawn by the code (no bitmaps) so everything should scale nicely to any size screen. While this design is nice on a tablet or a large phone like my Galaxy Note II, it's probably not very practical on a small screen, so I plan to make some other screen designs soon. I have still tried to keep the numeric values large enough to be readable on the bike. This screen grab was taken while decelerating hence the value on the speedo does not match the needle due to the needle's momentum.
With this layout there isn't room to include the power gauge as well so I will add an option to toggle between the Ammeter and the power meter, or possibly the temp gauge and the power meter. It's currently designed for landscape which makes the best attempt at simulating a dash, but portrait works with an alternate layout albeit with harder-to-read gauges.
A lot of the display is user-customisable. The speedo's range can be set in preferences with max values of 40,60,80 or 100 mph/kph.If you exceed the speedo range the needle stops just past the limit but the true value is still displayed (this is true of all the gauges). The voltmeter is designed to read from just under the user's LVC up to just above the max, so as to give the best visualization of sag when riding. These battery voltage limits are completely user-definable in the settings and the gauge should scale appropriately. The red areas on the gauges are determined by these and the other settings for each gauge. When the value moves into these red ranges the displayed value also turns red as a warning. I plan to add an optional audible warning as well soon. Even if the phone is not mounted on the bike the app can still be used purely as a warning system.
The current meter displays both forward and regen current. When in regen, a 'REGEN' indicator appears and the displayed value goes negative and turns green. This is the same on the power meter. The fuel gauge is based purely on the Ah consumed as the more accurate CA battery fuel gauge data is currently not output through the CA's serial port. The red zone on it is set in preferences as a max discharge percentage.
It's almost ready to go to beta and I would love a few others who have a Bluetooth-TTL adaptor for their CA to test it.
I'm currently working on the GPS logging feature, which hopefully I can make output a kml file as Justin has suggested. I'm interested in everyone's feedback. Some of the planned other features are:
- Ability to zoom any one of the gauges to full screen by touching them
- Calibrating the phone's accelerometers as mounted on the bike and logging its orientation to the log file as a means of getting a very rough track gradient
- A live Wh/km and Wh/mile value that is rapidly updated to show current efficiency under different track conditions
- Integration with the Bluetooth cell logger to collect all the data in one place and allow me to get rid of my on-bike celllogs
- Ability to write settings back to the CA
This is going to be a long-term project. Please send me a PM if you are interested in testing the beta. The app requires at least Android 4.0 (Ice Cream Sandwich) and a suitable Bluetooth-TTL adaptor for the CA.