WiCAN Pro

Information and discussion of EFI hardware and specifications
User avatar
gixxer92
Posts: 21
Joined: Sat Mar 03, 2018 3:08 pm
cars: 1986 Camaro IROC (LS7/Tremec Magnum 6-speed)
1988 Firebird Trans Am
2017 Chevrolet Silverado, 6.6L L8T, 10 Speed
2017 Indian Road Master

WiCAN Pro

Post by gixxer92 »

Got a new toy today. $90 dollars (American)
I completely overwrote its software and put my own firmware on it, so i could upload and download to the ECM/TCM. I'm working on integrating the BCM into this weekend.

10 year old tech (Macchina M2) to now...

WiCAN splits files definitely logs faster than the M2:
WiCAN Pro versus the Macchina M2 I had sitting around (respectively)
  • Bus rate captured ~2,800 frames/s, 0 dropped (M2)~2,600 frames/s
    Size per frame ~165 bytes (one line of JSON text) (M2) 24 bytes (binary M2B)
    One 128 MB file holds ~5 minutes (M2) ~35 minutes
Card Current JSON logs (~1.7 GB per hour) M2B-format logs (~0.24 GB per hour)
  • 8 GB ~4 hours ~28 hours
    32 GB ~18 hours ~130 hours
    128 GB ~75 hours ~500 hours
Both capture essentially everything on the bus. The WiCAN isn't recording more data, it's writing each frame as text that's about 7× larger, so files fill 7× faster. Its firmware starts a new file every 128 MB, which split your 19-minute drive into 4 sealed files.

https://www.crowdsupply.com/meatpi-elec ... o#products
fl0wl0w
Posts: 38
Joined: Thu Jun 21, 2018 4:44 pm
cars: L83/8L90 swapped 2013 W204 Mercedes, 1986 LS3 Swapped BMW E30, 1995 LS swapped GMC Truck, Custom Vehicle

Re: WiCAN Pro

Post by fl0wl0w »

I have the regular WiCAN and it has done everything I needed it to do. WiCAN Pro is neat since it supports more than just CAN. Not sure they needed a dedicated OBD2 chip for that, but it doesn't hurt. SD Card is nice too. Does it let you configure OBD2 PIDs or DIDs to continuously poll, or does it just log broadcast traffic?

I have been using a custom ESP32 board that I designed to translate between 2 CAN busses and some discretes. I created some firmware to flash E92 and E78 using my custom Kernel and am able to get full reads and writes in less than 3 minutes over WiFi. I am doing all of the CAN communication on the ESP32 itself and just request or send the bin over a single http server rather than having to have client software handling all of the CAN communications. I feel like this is the more robust and faster way of flashing especially when flashing over WiFi. When i get some time I will port it over to the WiCAN and actually add a web interface to it instead of just sending with curl commands like I am doing now. The main.cpp file needs a bit of refactoring to get it up to my coding standards, but I am pretty happy with the rest of the codebase. Here is the repo if you want to take a look or have AI point at it for inspiration. https://github.com/FL0WL0W/ESP32-ECU-Flasher
User avatar
gixxer92
Posts: 21
Joined: Sat Mar 03, 2018 3:08 pm
cars: 1986 Camaro IROC (LS7/Tremec Magnum 6-speed)
1988 Firebird Trans Am
2017 Chevrolet Silverado, 6.6L L8T, 10 Speed
2017 Indian Road Master

Re: WiCAN Pro

Post by gixxer92 »

fl0wl0w wrote: Fri Oct 30, 2026 4:28 pm I have the regular WiCAN and it has done everything I needed it to do. WiCAN Pro is neat since it supports more than just CAN. Not sure they needed a dedicated OBD2 chip for that, but it doesn't hurt. SD Card is nice too. Does it let you configure OBD2 PIDs or DIDs to continuously poll, or does it just log broadcast traffic?

I have been using a custom ESP32 board that I designed to translate between 2 CAN busses and some discretes. I created some firmware to flash E92 and E78 using my custom Kernel and am able to get full reads and writes in less than 3 minutes over WiFi. I am doing all of the CAN communication on the ESP32 itself and just request or send the bin over a single http server rather than having to have client software handling all of the CAN communications. I feel like this is the more robust and faster way of flashing especially when flashing over WiFi. When i get some time I will port it over to the WiCAN and actually add a web interface to it instead of just sending with curl commands like I am doing now. The main.cpp file needs a bit of refactoring to get it up to my coding standards, but I am pretty happy with the rest of the codebase. Here is the repo if you want to take a look or have AI point at it for inspiration. https://github.com/FL0WL0W/ESP32-ECU-Flasher
It does both with the custom firmware I’m running. It records broadcast traffic, and I’ve added profile-based PID/DID polling. The profile contains the last eight of the VIN so the vehicle can select its logging profile automatically, then the controller OS is checked before requesting its channels. I’m still validating the live channel sets.
I started by having AI help me put together the SavvyCAN setup for the M2. When I got the WiCAN Pro, I replaced its firmware and added support alongside the M2 in my software and PCM Hammer. Truthfully, I’m leaning pretty heavily toward the WiCAN now, especially with the onboard SD card.
I formatted a 128 GB SDXC card to FAT32 tonight and it sees it just fine. The CAN recordings split into 256 MiB parts, and my software processes the parts together as one session when it analyzes them. I’ve also added standalone key-on/key-off logging so it doesn’t need a laptop riding along.

I’ve adapted PCM Hammer and passed my changes back to Antus. I’ve been working through the E92, E38 and E67 read/write paths. Validation is still specific to the controller, OS and operation, full reads, RAM-kernel uploads, calibration writes and full-image writes are separate checks.

I have E90 BINs, but no E90 hardware here currently. I do have three vehicles available to borrow an ECM from when I get to that testing or go out to a junk yard and pick up a couple of donor ECM/TCM's for $30 per.
T42/T43/T87A are next on my list, and I’m hoping to make progress on those next week. I need to run up to a friend’s business and get a spare T87A connector so I can verify the CAN1 wiring and communication path before moving into the vehicle testing.

Your approach of handling the programming exchanges on the ESP32 interests me. I was concentrating on USB, but now I’m thinking Wi-Fi would make sense for PCM Hammer to send and retrieve BINs. I’d like to stage the complete image on SD, verify it, and then have the WiCAN handle the transfer to the controller locally. The PC could handle the controls, progress and file transfers.

Sounds like we’re heading in a similar direction. Thanks for sharing the repo. AI has been a game changer for me on the reverse-engineering and development side, especially for working through unfamiliar code and tying these pieces together.
fl0wl0w
Posts: 38
Joined: Thu Jun 21, 2018 4:44 pm
cars: L83/8L90 swapped 2013 W204 Mercedes, 1986 LS3 Swapped BMW E30, 1995 LS swapped GMC Truck, Custom Vehicle

Re: WiCAN Pro

Post by fl0wl0w »

Very cool. The way i handle it is streaming the file in from HTTP so I don't have to store the entire thing in ESP32 RAM. One issue i ran into with this is the flash block size of E92 is 256K and i can't store the entire block in the ESP32 RAM to run the hash function for checking if a block requires being written. I can't backup the http stream so that if it needs to write the block i can stream the transfer. The way i was going to get around this was to upload the bin to be transferred into javascript on the browser first, calculate all of the blocks hashes, request hashes from the ECU to send back to javascript, then transfer only the blocks required to be written from javascript to the ESP32 and then to the ECU. That way it doesn't require an SD card. However uploading becomes a little more complicated then just a curl command. I am using the curl command in my build chain for uploading my standalone ECU code for development.

Your method of copying the file to SD card first solves this, but it does wear out the SD card faster. Also i would want some sort of backup in case the SD card fails in the field and i don't want to be stuck with a half flashed ECU. Having a tune repository built into the WiCAN would be really nice tho, revision history would be cool too. and a way to browse all of this over wifi so you can use any laptop, phone, tablet without being tethered to software/app.