iLogger - Updates / Support / Dev [Serious]

After several days of hard work, and with the huge help of @xatonic testings, I’m happy to announce this major iLogger update that makes the app and iLogger more robust and fixes several lurking BLE issues, especially on Android devices.

I have rewritten most of the app core BLE components fixing bugs along the way.

IMPORTANT: Unpair/Forget iLogger from your iOS/Android Bluetooth list. Update iLogger to version 0.1.3, update iTool app, grant appropriate permissions, then connect/pair again with PIN.

ChangeLog @VodkaMan @Plurf

  • Major update: re-written BLE interface fixing several issues with Android/iOS
  • Updated all supporting libraries of the app
  • New and improved iLogger discovery page.
  • Smoother and faster initial connection/pairing
  • Full support for FlexiBMS/DieBieMS through CAN Bus. Thanks to @xatonic helping debugging it. You can now view live data coming from FlexiBMS showing all cells voltages, op status, pack voltage, current, etc…
  • Tabs are now only shown when connected to iLogger
  • Added proper error messages reflecting BLE status in case there is a problem.
  • Improved “Connect” button and optimized services discovery
  • Fixed live view not scrolling on smaller displays
  • Fixed live data chart sometimes not appearing on iOS
  • Fixed a bug prevent UART from working. Thanks to @xatonic
  • Optimized tasks to run cooler @enzymlefax
  • Optimized Wifi connection, now connects faster to an access point.
  • Important: Unpair from bluetooth lists/ Update iLogger firmware

iLogger FW 0.1.3 : Download Place at root of SD card, hold reset button on iLogger while powering on for 3 seconds, blue led starts flashing very quickly, iLogger reboots into new firmware in less than a minute.

iOS APP : Link Under review
Google Play : Link Live

8 Likes

My phone died yesterday, so I’ll test it as soon as posible :relieved:

2 Likes

I finally found the issue, my SD card was used for RPI in the past and there’s an EFI partition that windows didn’t format. Using SD card formatter to completely format the SD card did it.

2 Likes

Testflight beta broke again. Not able to get the app anymore

Will be up soon, a new mega update is coming up as well.

2 Likes

Hey guys,

It’s been a while since I posted an update, this is because I was working on a full rewrite of the iLogger project and now it is done!

After over a year since I first announced this project, I learned and made countless improvements on the firmware, app and online system.

This upgrade marks the first transition from the old source code into the newly, highly optimized and stable re-write. iTool app design is still mostly the same, with improvements and additions, but the core firmware of the module has been upgraded.

There are many reasons why this full re-write was necessary, and the most important one was to have a solid foundation to easily build upon. Some of the major changes are how logs are stored, folders hierarchy, proper simultaneous multi-vesc logging, new SD Card filesystem management system and full floating point precision on all logged data where applicable.

Things like Wifi, BLE, SD Card, CAN, UART, GPS and Vesc commands processing functionalities are now coded into modular, separate components that work and communicate between each other nicely using event queues, critical regions locking, semaphores and optimized tasks.

This makes it very easy to build new features and expand on it when necessary.

The work done on this new source code is not only beneficial for iLogger, but it is also going to be used as a solid foundation for all the other projects I’m currently working on, as they share many similar software components.

SD Card filesystem overhaul includes DMA speedup, improved buffering and timestamp handling, new byte encoding format that allows multi vesc logging and reduces storage space.

Setup guide page has been updated and has more details about most of the functionalities, check it out and let me know if you have any feedback Setup - WavRX

Important notes:

  1. This upgrade requires manual flashing - all saved settings will be reset, unpair/forget previously paired iLogger and pair again.

  2. Old log files format is absolute, back it up if its important. Online dashboard has also been updated to read and display the new records format.

Upgrading using SD Card:

  1. Download and place update.bin firmware at the root of an SD Card.

  2. Insert SD Card while iLogger is powered Off.

  3. Hold reset button and turn ON ilogger.

  4. Keep holding for 3 seconds then release reset button.

  5. Blue LED will start flashing rapidly indicating firmware is being updated.

  6. Do not interrupt, iLogger will automatically reboot after the update is done.

  7. Get the new updated Android and iOS app. ( Android app is live, iOS under review, ready in a few hours)

  8. Enjoy and post feedback if you encountered any issues.

  9. Android download link (Already live): https://play.google.com/store/apps/details?id=com.wavrx.iTool

  10. iOS TestFlight link (Under review, available in a few hours): TestFlight - Apple

iLogger Fw ver. 1.0.1 Most notable ChangeLog:

  • New” Logging format is now byte encoded, Allowing full precision and reducing storage space. Can also store multiple vescs data + GPS into a single record.

  • New” Folders hierarchy based on Year/Month/Day/Timestamps_.lg

  • New” Life time stats - Saved on SD Card under LT.Dat - Records total odometer distance and overall run time.

  • New” Multiple Export functions added : Formats are:

  • New” Automatic MTU negotiation and dynamic streaming rate of live data / records streaming to use the maximum supported rate over BLE.

  • New” Log All ESCs: <On – Off> Logs all detected Vescs simultaneously or only the master unit. When using CAN, iLogger attempts to detect and Log all Vescs on CAN network. When using UART, both master and slave Vescs are logged.

  • New” Log after time sync only: <On – Off> When toggled on, starts logging only after time has been synchronized automatically through Wifi or GPS lock.

  • New” Logging Type: <Log Manually – Log on Power ON – Log After Elapsed Time>: Three possible logging modes can be selected.

    • Log manually: Doesn’t start logging unless the “Start Logging” button is tapped, and doesn’t stop logging until “Stop Logging” button is tapped.
    • Log After Elapsed Time: Starts logging automatically on Power ON after a specified delay in Seconds.
    • Log on Power ON: Starts logging automatically on Power ON without delay.
  • New” Log Start Delay (s): When Log after delay is selected, logging automatically starts after specified delay in seconds.

  • New” UART Slave Vesc ID: When UART is used, specify slave vesc ID to allow dual VESC logging.

  • New” Updated charts on the app fixing many performance issues.

  • New” Logging status on the real time tab. Shows the current logging status.

  • New” “Start Logging/Stop logging” button on the SD Card tab with elapsed time since logging started.

  • New” Record viewing screen, shoes summary of all logged data (Multiple vescs and GPS data if available)

  • New” Expanded viewing screen, shows a more detailed view of each vesc data.

  • New” Power logs and calculation, shows total consumed power, max watts, regen, efficiency Wh/Mi etc…

  • New” Longer logging sessions are now possible, without limit.

  • New” Firmware version check when connecting to a device, making it easy to be notified when a new update is available

  • New” switching back and forth between vescs on live data views (on Both CAN and UART)

  • New” Timestamped faults

  • Improved” DieBieMS/ FlexiBMS support

Online system was also updated to be compatible with the new records format

Re-designed to focus more on important data, added energy and efficiency calculations, general stats like runtime, distance etc…as well as toggle between Imperial and Metric

You can now switch between all logged vescs from the online viewer.


(View example at WavRX API: Dashboard)

If you got any suggestions or have any feedback please let me know, this was a long post but I hope you guys find it useful :slightly_smiling_face:

7 Likes

Wow! So many new features! I’ve not gotten around to setting mine up yet but now I’m excited to try it out

Any idea if you’ll try to support LLT BMS like DaVega+Metr?

3 Likes

Thanks :smile: Give it a try and let me know how it goes.
LLT support is on my top priority to implement now that I got this upgrade out of the way.

3 Likes

Awesome, I don’t even use the LLT app most of the time, I just look in Metr. However, that’s on a different board, so for this one, it would be great to have that too

Looking forwards to it.

iLogger Patch 1.0.2 released today, fixing live telemetry on single Vesc setups.

Changelog:

  • Fixed live telemetry when using single Vesc setup
  • Improved responsive design of online log viewer on smaller screens.
  • Minor bug fixes and improvements

If updating from 1.0.1, simply use OTA when prompted on the app to update wirelessly.

If you have not yet upgraded to the new firmware, use SD card to manually upgrade.

3 Likes

I’ve been playing around with the iLogger but I’m running into a few bugs.

On a Trampa VESC HW 60 (original) FW 5.2 connected and powered over CAN. 5.2v on multimeter. CAN Status 1, 500k

I was able to update to 1.0.2 over wifi

  • Need to connect to it 4 times before it finally connects
  • Prompted for pin every disconnect/reconnect
  • Gear ratios seem to be whole numbers only, can’t use 2.25 for example
  • Won’t always save changes unless made twice
  • Won’t take a name change
  • Don’t know how to start a manual log?
  • (minor) Shows logging is on if you switch to BMS then back to RT even if the log is not running

Thanks for the report. Can you please send the debug log from the app once you reproduce the same behavior? Especially when you turn on/off Live telemetry and switch between tabs.

Gear ratio not taking decimal is indeed a bug, fix is made and coming on the next update.

Name change and inconsistent BLE connection is caused by some Android versions, please let me know which version you are running to better improve it.

Regarding manual logging, if you have that set, logging will start/stop manually when you press the “start logging” / “stop logging” button, located on the SD Card screen.

1 Like

Thanks for the info! Yeah that was the button I was looking for. Debug log sent. Running Android 11

3 Likes

Update 1.0.3 is here.

  • Fixed a crash when trying to perform OTA update and iLogger is not connected to Wifi.

  • Fixed module name change not taking effect.

  • Improved MTU negotiation on Android, fixing many commands being cut off.

  • Added Wheel and Motor Teeth fields for better ratio calculation.

Update using OTA when prompted by the app. Android app update is live, iOS still pending.
If using iOS, do not update iLogger firmware yet until the app update is live. I need to find a way next time to synchronize app updates between platforms.

2 Likes

@WavRX I’m having some trouble getting the app to log gps location,

I have a gps module connected and it’s displaying it’s location within the app.
But when I view the data from a ride nothing turns on the map on the dashboard and if I download the log if I download the data I can’t see gps coordinates there either.

What are my next steps to check here / trouble shoot this?

Hi @Norf,

Do you have an example log I can look at? If you uploaded it online you can share the link here or PM it to me.

Hi @WavRX,

I’ve PM’ed you with a link to the log.

iLogger update 1.04 is here, bringing new features and fixing bugs.

Main changes are:

  • Added RPM logging, viewable on iTool APP and Online

  • Added Configuration file for easier settings modification - It is created automatically under Config directory on the SDCard on first run, then settings values can be easily modified on the file. It is JSON format.

  • Added FormattedTime and RPM fields to exported log data

  • Added Upload All function - Experimental, use it to automatically uploaded all saved logs, this takes a while depending on how many files you have recorded. All uploaded data can be accessed from your dashboard.

  • Added preliminary support of upcoming iRemote - There will be another update before beta units are shipped out.

  • Added option to disable/enable ESPNOW - Keep it turned off until you are ready to pair a remote. Enabling ESPNOW disables internet access. This might change in the future.

  • Changed Duty Cycle range to 0-100%

  • Fixed a bug in GPS data size

  • Sharable URLs now use hashed IDs

  • Minor bug fixes.

Both app and iLogger firmware has to be updated.
Android is live: https://play.google.com/store/apps/details?id=com.wavrx.iTool
iOS under review: TestFlight - Apple
iLogger v1.0.4: https://api.wavrx.com/firmware/update.bin

4 Likes

Taken me a while to post this but I’ve had major issues with my logger ever since I installed it.

First things first, connection. It’s hard to do anything on this device, tbh, connection between phone and module is inconsistent, drops, and is nearly impossible to pick back up again if you lose it, often resulting in a screen like this which can only be solved by restarting the board:

If you’re curious, the lights on the logger are as follows even during this screen:

After you actually get connected to the device, it’s really annoying to use because one, it doesn’t auto connect, often requiring between 2 and 3 taps on the connect button, and two, because you never know what action you might take that will make it disconnect. Here’s my hardware info:

Samsung Galaxy S21U, Android 12
infinitytool version 4.03
iLogger FW 1.0.6
Vesc: MakerX DV6 Pro, firmware 5.2, connected via UART

Anyways, so lets make our way to the logging screen. First thing here, it’s super confusing which vesc you’re actually selecting, bad UI design decision. The blue one is the one you AREN’t looking at, I think.

Hard to say. Either way, if you’re going to do it as non-descript as this, I would highly expect the blue one to be the one that’s selected, not the other way around.

Next, let’s tap into the SD card. Oh wait, it disconnected for some reason. (only kind of joking, this has happened many times)

First, before accessing the SD card, you need to tap the play button in the top right to turn on realtime data, which is fine, but then you tap on SD card, and half the time the logger has disconnected and you can’t see anything, to which, the only solution seems to be, restarting the board.

How can it be logging and you can’t see the other logs? Idk, but pressing the refresh button in the top right does nothing at all.

Next up, we finally get into the sd card, see the log we want to look at, tap on it, and OOOhooooh wait. You have to wait now to view it.

This process takes an excruciatingly long amount of time, no idea why. I assume it’s using Bluetooth to send data, but I really wish you could just ad-hoc to the ilogger so it can have more speed. This file you see here in the screenshot took over 10 minutes to go from tapping view, to actually being able to see anything.


After it finally finishes, you are able to view the logs, but it’s not really the greatest interface IMO


This is what you see after the log loads, and then you can tap in to see each esc. However, usually I don’t care what each individual side is doing, so I’d really rather just see the numbers laid out next to each other instead of split in two

Anyways, so you find the log, tap on it, and then hit back… Oh no, I accidentally hit back twice!! CRAP, now I have to wait for the entire log to download to the phone again. Extremely inconvenient, and makes it a huge pain to use this interface.

Finally we get to the reason why I’m even here right now. All of this pain could be slightly less if you were able to actually upload your logs to the online dashboard, but guess what, that doesn’t work for me either lol


Before you ask, of course, I checked the connection on the main page and it was connected to the network, according to the app, and the indicator on the module. However, to no avail.

Fun fact, I put two screenshots because of the glitch that happens here. If you click upload on a single log, and it errors, you get one error message. If you click upload all, you get MANY error messages stacked up, which is why you see that black screen. If you hit back enough times you can get back to the app though, fortunately.

So anyways. I hope you have enjoyed my extremely long rant / problem report, and we will end it with this. You have the ability to send logs, but the send button doesn’t do anything. So I don’t really know where to go from here, but I desperately want to be able to upload to the online interface so I can see if that is better to use than the app version.

I would like to add that I do want this project to succeed, there are just a lot of bugs seemingly to work through. Also, it doesn’t give me a lot of hope for integration with the remote, but who knows, we will see what happens.

@WavRX Hopefully you can shed some light on the issues I’ve been having.

7 Likes

@ShutterShock Thanks for the detailed report! I will try to go through all your points, let me know if I miss something.

Can you please double check if the version is 1.3.4? Thats the latest app ver.

I agree here, I remember to have switched that on the latest app versions, I will double check.

This shouldn’t be the case, you can access the SD card without hitting the play button.

Thats correct, unfortunately this is a limitation of BLE bandwidth. When a log file is large (in this case 59min) It will take a considerable time to stream all that data to the app.

Fortunately you can upload it using Wifi, and view it instantly as many times as you like once online. That should have saved you the pain of slow BLE streaming, BUT I see you also had trouble uploading that log :laughing:.
This can happen if the connection times out, I will check the logs to see why it failed and fix it.

You don’t have to worry here, remote integration does not use the iTool APP and has noting to do with logging, they are separate processes, and remote integration is seamless thanks to ESPNOW, there is no BLE or APP involved here. It just works and works really well.

I know the app still needs more work, that’s why I keep fixing and updating it as much as I can.

5 Likes