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.