EX Custom iOS/Android App

brongle

Well-known member
Likes
45
Location
WA
Thank you brongle for awesome work!
I tested it out on iPhone, works really well on iOS. Nice to see the diagnostics information.

I'm wondering would you be willing to share the BT protocol?
I'd like to create simple ESP32 thingy with a small screen.
It would need only the gear and state of charge.
For hard enduro having a small inexpensive screen would be preferred.
Of course! I think I might have posted some of this elsewhere on the forums but I can't remember where right now. Eventually the app will be open source but for now I can share just the relevant Bluetooth interface. This should be enough to grab service & characteristic IDs from plus shows how to parse the actual binary data. I included a bunch of the different characteristics just to make it simple, the things you care about are probably:

- getVehiclePin, still not entirely sure why sometimes the BT interface will just connect seemingly without a pin, but if you end up needing the pin this is how to generate it.
- BikeStatusBitsData and the related functions, this just holds bit-flags for various things but is required to determine the actual bike mode (neutral, off, charging).
- LiveMapData holds the currently selected map number.
- BatterySOCData has an SOC field which is a straightforward percentage.

Add an odometer to the main screen. If it is possible to display information on map settings.
Do you mean on the landscape/dashboard screen? There used to be one on the right side but truthfully I don't know where it went...
 

Erwin P

Well-known member
Likes
290
Location
Netherlands
I just installed the Android upp on my personal phone, an Oneplus 8T, the app connected on the first try and at first glance everything is working properly, even the screen visualization is perfect. Have to try the dashboard view. I have a gen 1 MX by the way, one of the early one. I will try the app also on the Stark phone, but i'll leave it on my personal phone because it'll surely work better
Edit: i don't know if it's a my-phone problem (because i always had bluetooth problems) but it keeps asking me to associate the bluetooth with the bike, and whathever or not i put the pin, it doesn't change anything
Same here on my Ulefone. Keeps asking me to connect while the connection is working and good.
 

TheJ0rma

Member
Likes
19
Location
Finland
Tested it on the Arkenstone and it works well. Turning the bike on brings the stark app to the front but you can back out of it and reopen Svag and it stays open.
 

TheJ0rma

Member
Likes
19
Location
Finland
Not to derail the thread, it is somewhat related to reading the software (but of course also writing in this case), what do you think of this, is this possible?

The guys who made that commented somewhere that they were just changing plastics on the bike and made a joke video.
 

Erwin P

Well-known member
Likes
290
Location
Netherlands
Not to derail the thread, it is somewhat related to reading the software (but of course also writing in this case), what do you think of this, is this possible?

2 questions jump to mind.
- Why?
- Why not?

I am willing to believe it can pull a 100 hp. But with experience from 80 hp we know it will overheat fast and will surge in power as well.
 

brongle

Well-known member
Likes
45
Location
WA
2 questions jump to mind.
- Why?
- Why not?

I am willing to believe it can pull a 100 hp. But with experience from 80 hp we know it will overheat fast and will surge in power as well.
It's impossible to say without a VCU firmware dump but the phone app does reference an absolute maximum of 85HP. I don't know if this is actually enabled in the bikes engineering mode or not, but I also don't think the drive-train would be that heavily underrated.
 

Karinshi

Well-known member
Likes
61
Location
spain
I briefly shared some details on this in a thread about extracting soc data but I've built an alternative app to the stock Stark one. This app runs on both iOS and Android while supporting most of the stock app features except "writing" configuration data like maps, charge rate, and other bike settings (these may come in the future). In addition to the stock information the app also provides access to all of the diagnostics data the VCU provides. This data is normally recorded during rides and uploaded to Stark via the phone, however it's obviously very useful to have this information available for end-users and dealers. Long term I have no clue whether Stark will try and prevent third-party apps from accessing VCU data, however as the app never writes data to the VCU it shouldn't void your warranty in places with strong consumer protection laws (at least in the US I know your fine). I am hopeful they see the value in third-party support and have an overall mentality of right-to-repair, but they could choose to brick this app in the future if not.

Some important notes:
- Only a single device can be connected to the VCUs Bluetooth interface so you can't use both the Stark app and this app at the same time. Because the Stark version is so aggressive with trying to maintain a background connection to the bike, its easiest to move it far away or turn it off when using the alternative app version.
- The app doesn't require your Stark login but instead connects directly to each EX bike. I was actually surprised this was possible as its a very insecure method of communication to a VCU, but in our case it means you don't have to worry about using your login credentials. For dealers or owners of multiple bikes this may also be useful since you don't need to swap around Stark phones.
- Ride's are not tracked or uploaded to Stark when you use this app which may be a benefit or a downside depending on your use case. This means the main hour and odometer counters will be incorrect, however the ODO displayed on the dashboard when the bike is on comes from the VCU and will remain accurate.
- Much of the telemetry and diagnostics data isn't used in the Stark app (some of them are on an internal engineering view) and thus required me to make some informed guesses around what unit, scale and format values are in. I'm still working on accurately computing some values like amps and watts used through the motor/inverter.
- Using a more modern phone that has a much better Bluetooth chip means the connection between the bike and the app is much more reliable. In 2500 miles / 100 hours of using the app I've never had a single connection issue to the bike.

At the moment the iOS version is going through the Apple review process, so I'd like to find a few beta testers (I believe I just need the email address attached to your apple account to send testing invites) that are interested and willing to provide some feedback. Just send me a DM with your information and I'll add you in once the review is approved. The Android testing and release process is actually a bit more annoying/extensive so I'm waiting to do that until I can get the iOS version released. I plan to release both apps for free once the app-store review process completes.

Here is an example of some of the functionality, there is a lot more data provided within this app but it all requires a bit of thinking and knowledge to use, so I'll leave that for people to explore on their own.

View attachment 14259View attachment 14260View attachment 14261View attachment 14262

(kw value is totally wrong in this screenshot)

View attachment 14264

And finally this is a 35 minute cut of a (street-only) ride I did with the app displayed as an overlay the entire time. This is an older version so not everything is perfect but should still give you an idea of how it works in comparison to the stock version.

Just seen this, and its extremely amazing for freaks like me jajaja, if this came out illegal i think stark should do this version of the app, with temperature info etc

And one thing for the EX is that it should have a speed reading depending on the sprocket setting, is just a easy math calculation if you dont change wheel size... because now i ve changed the stock 12t front sprocket for the 14t and the speed is wrong... at 50kmh im really going 60kmh, i tried that with my friend who doesnt change the sprocket yet and has the EX too and we were riding side to side
 

AbnormalWrench

Active member
Likes
35
Location
Seattle, WA, USA
I stole Bernardo's iPhone 3D print and modified it to fit the bigger Pixel9, and it fits great. Unfortunately, the wireless charging for the phone has a very small hitbox. I need to shift everything over roughly 10mm and hopefully that will make the phone charging happy. But regardless of the phone placement, really liking the app. The initial data, the temp readings tend to show 32 degrees F, but once I start moving, they give more realistic numbers. Would it be possible to add a trip meter?
 

Bernardo

Active member
Likes
32
Location
Austria
I stole Bernardo's iPhone 3D print and modified it to fit the bigger Pixel9, and it fits great. Unfortunately, the wireless charging for the phone has a very small hitbox. I need to shift everything over roughly 10mm and hopefully that will make the phone charging happy. But regardless of the phone placement, really liking the app. The initial data, the temp readings tend to show 32 degrees F, but once I start moving, they give more realistic numbers. Would it be possible to add a trip meter?
You did't steal. You modified. That's great and you're right. I've to modify it myself moving the phone to the right edge to catch the QI.

If someone want me to I can offer a "solid" version of the ARKENSTONE where one can place his brand via graphical substraction.

Greez

Bernardo
 

OpaTsupa

Well-known member
Likes
79
Location
Europe's arsehole
Svag app (Android) connected instantly to the EX, and I can see the dashboard and control everything.
However, now I can't get Arkenstone phone to connect to the bike.

Svag app will connect again but not the Varg app.
I've tried disconnecting the first, uninstalling the Varg app (as much as it allows), clearing cache etc. but it will not connect to the bike.
I can see the bike under Bluetooth settings, but that connection doesn't work in any case.

Also, headlight, blinkers and horns stopped working.

P.S.
Svag app crashes when tapping the measurements menu.

Update:
Disregard.
Resetting the bike fixed it. Varg app connected and everything works.
"Hard Shutdown: Perform a hard shutdown of the VARG EX by pressing and holding the + and - buttons until the LED lights up white."
 
Last edited:

brongle

Well-known member
Likes
45
Location
WA
Svag app (Android) connected instantly to the EX, and I can see the dashboard and control everything.
However, now I can't get Arkenstone phone to connect to the bike.

Svag app will connect again but not the Varg app.
I've tried disconnecting the first, uninstalling the Varg app (as much as it allows), clearing cache etc. but it will not connect to the bike.
I can see the bike under Bluetooth settings, but that connection doesn't work in any case.

Also, headlight, blinkers and horns stopped working.

P.S.
Svag app crashes when tapping the measurements menu.

Update:
Disregard.
Resetting the bike fixed it. Varg app connected and everything works.
"Hard Shutdown: Perform a hard shutdown of the VARG EX by pressing and holding the + and - buttons until the LED lights up white."
Ah thats weird, are you sure the Svag app was fully closed out and not running in the background? If it was still running it's possible the Bluetooth connection stayed active which would prevent anything else from connecting. If the headlight/blinkers/etc stopped working though that seems more like the VCU itself locked up though. I've had situations where both apps refuse to connect for a few minutes but its always resolved itself without intervention.

I should have an update out this weekend which fixes a bunch of Android specific issues including hopefully the settings crash you saw.
 

AbnormalWrench

Active member
Likes
35
Location
Seattle, WA, USA
You did't steal. You modified. That's great and you're right. I've to modify it myself moving the phone to the right edge to catch the QI.

If someone want me to I can offer a "solid" version of the ARKENSTONE where one can place his brand via graphical substraction.

Greez

Bernardo
I'm printing a new one now, but in hind site, I probably should have just made a test print that has the groves for the holder as long slots so you can just slide the phone back and forth to find the perfect spot, mark it and then reprint it with the slots in the correct spot. Oh well, at least it doesn't take much filament.
 

OpaTsupa

Well-known member
Likes
79
Location
Europe's arsehole
Ah thats weird, are you sure the Svag app was fully closed out and not running in the background? If it was still running it's possible the Bluetooth connection stayed active which would prevent anything else from connecting. If the headlight/blinkers/etc stopped working though that seems more like the VCU itself locked up though. I've had situations where both apps refuse to connect for a few minutes but its always resolved itself without intervention.

I should have an update out this weekend which fixes a bunch of Android specific issues including hopefully the settings crash you saw.

Pretty sure I disconnected the Svag app. I did it twice, wiped cache and data and ultimately deleted it from the phone and turned off Bluetooth.
I also gave the Stark app about half an hour to think it over, but without result.
Only thing that made a difference was the "hard shutdown" of the bike.

P.S.
Very neat of you to put the torquing values and manual in the app. (y)
 
Top Bottom