Android/Elm327 Pcm Flash App (LS Droid Read only released)
The last 2 days have been very productive......Was able to do calibration only flash tonight on a 0411 with the 2156 OS. App's got a LONG ways to go in terms of optimization and safety but it managed to pull off a perfect write twice in a row. Currently my best time was 2 minutes and 31 seconds. I think with some improvements and a good bit of restructuring I can get this closer to 2 minutes on the 512K and under 5 minutes on the 1mb
Full OS and Calibration data write - Check
Can recover from failed OS flash - Check
Write Calibration only - Check
Recover failed Calibration write from another tool - Check
Plug pull on a full OS flash and recover - Check*
Key turned off on full OS flash and recover - Check *
Idiot and error proof flashing - Check***
1mb/P59 Vin, Serial, BCC and Seed/key write coming soon........
* there is about a 20 second window that if it's turned off or plug pulled could cause the pcm to brick.
*** While every effort has been made to prevent errors or bricked pcm's I'm sure someone will still find a way...however all foreseeable issues have been addressed including mistakes and I feel we have gone well above and beyond what paid tools do to prevent issues..... meaning we have made it as hard as humanly possible to damage a pcm while it is being read or written but someone will still find a way to do it I'm sure.

Full OS and Calibration data write - Check
Can recover from failed OS flash - Check
Write Calibration only - Check
Recover failed Calibration write from another tool - Check
Plug pull on a full OS flash and recover - Check*
Key turned off on full OS flash and recover - Check *
Idiot and error proof flashing - Check***
1mb/P59 Vin, Serial, BCC and Seed/key write coming soon........
* there is about a 20 second window that if it's turned off or plug pulled could cause the pcm to brick.
*** While every effort has been made to prevent errors or bricked pcm's I'm sure someone will still find a way...however all foreseeable issues have been addressed including mistakes and I feel we have gone well above and beyond what paid tools do to prevent issues..... meaning we have made it as hard as humanly possible to damage a pcm while it is being read or written but someone will still find a way to do it I'm sure.
Did a quick few tests. Quick run down on my car...2002 Trans Am with a 2 bar OS tahoe flex file in it and an fbody vin. The program cant determine the file size when i hook it up so i choose 512. I read it out and it gets to 99.80, says file read complete- clearing codes but never saves. PCM stays alive, no issues. That being said I tried it on a bench pcm with the same file (but a correct tahoe vin) and it did the same thing.
While in the car i did a serial rewrite. Car stopped starting (vats). Relinked vats and reread pcm and it still had the old serial number.
While in the car i did a serial rewrite. Car stopped starting (vats). Relinked vats and reread pcm and it still had the old serial number.
Last edited by TPIZ92; Nov 28, 2018 at 04:10 PM.
Did a quick few tests. Quick run down on my car...2002 Trans Am with a 2 bar OS tahoe flex file in it and an fbody vin. The program cant determine the file size when i hook it up so i choose 512. I read it out and it gets to 99.80, says file read complete- clearing codes but never saves. PCM stays alive, no issues. That being said I tried it on a bench pcm with the same file (but a correct tahoe vin) and it did the same thing.
While in the car i did a serial rewrite. Car stopped starting (vats). Relinked vats and reread pcm and it still had the old serial number.
While in the car i did a serial rewrite. Car stopped starting (vats). Relinked vats and reread pcm and it still had the old serial number.
Do you know the OS number for the file in the pcm that it couldn't get a file size from?
If you go into the main storage folder on your phone....where it would save the bin file to there will be a text file there called "Last_Pcm_Read_Full_Log.txt" please post it here or send it to me by PM. The file will have every bit of data that was read from the PCM by the app even though it did not save the file. A forewarning...... the file will contain your vin and pcm serial number(if you know where to look) so if you'd rather share it privately I totally under stand and is why I am bringing it up.
Ok I gave it a shot on the 2bar OS which is I originally 12216125 and becomes 1252013. I decided to just try writing the 12216125 with hp to a bench pcm and tried reading it. I ran out of time but when I did a pcm ID it couldnt tell what size the file was. I didn't try a full read but I'm about to in a minute or so. I will pm you the txt.
Ok on the BENCH PCM, the vin and serial rewrite worked. On the serial rewrite, sometimes the app does not like to see a key on, key off. It throws up an error and shuts down. But upon a reopen the serial was in fact changed. I did it with the serial change but not the vin change. Maybe add that 15 second counter prompt to the serial change too? I tried a read again and the same issue.
However on the car, i tried it and it bricked the ecu. Well didn't brick it but it needed a hard reset (remove battery cables) after attempting to write the serial. After a scan it looked like it didn't stick either.
However on the car, i tried it and it bricked the ecu. Well didn't brick it but it needed a hard reset (remove battery cables) after attempting to write the serial. After a scan it looked like it didn't stick either.
Last edited by TPIZ92; Nov 28, 2018 at 09:16 PM.
Got to put in some serious time over the weekend on this and make some remarkable improvements.
I now have relatively stable and reliable writes working for...All times listed are are for the P01 and the amount of time actually spent flashing, The app does some pre-flash processing but it's not talking to the vehicle while it's doing the setup.
Calibration Flash: about 1 min and 52 seconds.
Os + Cal data Flash: 9 min and 34 seconds
Clone(100% flashed): 11 min and 21 seconds
Added file size and type checking, the files must be the exact size so there is no flashing partial files by mistake or flashing a file from other tool like hpt or efi live.
Recovery mode is partially working at the app level at this point(it works fine at the PCM level)
App can detect if the PCM "should" boot when the flash is done, if the app determines it's unable to boot it will enter recovery mode on it's own.
I've also gone a bit over board on making sure you know what exactly file you are going to be flashing, what type of flash you will be doing and a whole boat load of warnings and instructions on screen that you can't just skip past. You will have to confirm the type of flash you are doing by typing in the flash type as a final conformation just so there's no opps and you hit a button by mistake......so unless your phone can type CAL_ONLY_FLASH there will be no mistakes as to what your going to be doing.
You can now also make and receive phone calls/text messages while a flash(or a read) is in progress but it should be avoided since these things can vary depending on the brand of the phone and what version of Android it's running.
Things to do still......
Add code to check to the OS number on the PCM and the OS of the bin file to make sure they match when flashing calibration only.
Add a ton more code for recovery options and automate as much of the process as possible in the event a flash fails.
Add voltage checking to make sure the Android device has sufficient power and that the vehicle battery voltage is with in adaptable limits.
The 1mb kernel is ready for testing, need to add code so the app can work with both file sizes and make sure your flashing the right file size into the PCM.
Some other things I'm thinking about adding......
In the event battery voltage in the vehicle is dropping faster then you would expect.....say from a bad battery.....adding in a method that will exit the flash and force the PCM into recovery mode before voltage drops below a safe level to be flashing. While the kernel can deal with a lot of things it can't force the PCM to stay in flash mode if the car's voltage gets too low. If the pcm shuts down from lack of voltage it's still going to brick so forcing recovery mode would be a better option but it does make things a lot more complex to determinine how offten to check voltage and what a "Safe" minimum voltage should be.
I now have relatively stable and reliable writes working for...All times listed are are for the P01 and the amount of time actually spent flashing, The app does some pre-flash processing but it's not talking to the vehicle while it's doing the setup.
Calibration Flash: about 1 min and 52 seconds.
Os + Cal data Flash: 9 min and 34 seconds
Clone(100% flashed): 11 min and 21 seconds
Added file size and type checking, the files must be the exact size so there is no flashing partial files by mistake or flashing a file from other tool like hpt or efi live.
Recovery mode is partially working at the app level at this point(it works fine at the PCM level)
App can detect if the PCM "should" boot when the flash is done, if the app determines it's unable to boot it will enter recovery mode on it's own.
I've also gone a bit over board on making sure you know what exactly file you are going to be flashing, what type of flash you will be doing and a whole boat load of warnings and instructions on screen that you can't just skip past. You will have to confirm the type of flash you are doing by typing in the flash type as a final conformation just so there's no opps and you hit a button by mistake......so unless your phone can type CAL_ONLY_FLASH there will be no mistakes as to what your going to be doing.
You can now also make and receive phone calls/text messages while a flash(or a read) is in progress but it should be avoided since these things can vary depending on the brand of the phone and what version of Android it's running.
Things to do still......
Add code to check to the OS number on the PCM and the OS of the bin file to make sure they match when flashing calibration only.
Add a ton more code for recovery options and automate as much of the process as possible in the event a flash fails.
Add voltage checking to make sure the Android device has sufficient power and that the vehicle battery voltage is with in adaptable limits.
The 1mb kernel is ready for testing, need to add code so the app can work with both file sizes and make sure your flashing the right file size into the PCM.
Some other things I'm thinking about adding......
In the event battery voltage in the vehicle is dropping faster then you would expect.....say from a bad battery.....adding in a method that will exit the flash and force the PCM into recovery mode before voltage drops below a safe level to be flashing. While the kernel can deal with a lot of things it can't force the PCM to stay in flash mode if the car's voltage gets too low. If the pcm shuts down from lack of voltage it's still going to brick so forcing recovery mode would be a better option but it does make things a lot more complex to determinine how offten to check voltage and what a "Safe" minimum voltage should be.
If the PCM will not respond to commands then the only way to recover is by using a BDM.
What about a piece of code that would prohibit writing if battery voltage was read at less then 12.3v or some other predetermined value? Or a prompt warning that proceeding may result in bricking due to low battery. In that aspect, perhaps someone has a bench harness that only is rated a 12.Xv so they could ignore to proceed due to constant v at a known safe level
What about a piece of code that would prohibit writing if battery voltage was read at less then 12.3v or some other predetermined value? Or a prompt warning that proceeding may result in bricking due to low battery. In that aspect, perhaps someone has a bench harness that only is rated a 12.Xv so they could ignore to proceed due to constant v at a known safe level
Being able to cancel the flash and force the PCM into recovery mode is a better option then bricking the PCM....just something I'm considering.
At this point the only form of flash I care about on the P59/1mb PCM is a 100% flash, I don't care about calibration data flashing or even changing the OS. This pcm has given me more grief than anything else I've worked on and tonight it was finally beating into submission.
I present to you my new bitch......
In case you can't tell this has been speed up quite a bit in a few places. Time spent actuating writing data to the PCM was 17 minutes and It took about 2 1/2 minutes to build the file I flashed.
I present to you my new bitch......
In case you can't tell this has been speed up quite a bit in a few places. Time spent actuating writing data to the PCM was 17 minutes and It took about 2 1/2 minutes to build the file I flashed.
Last edited by PeteS160; Dec 14, 2018 at 12:27 AM.
I'm now looking for people that have an Odblink Lx or Mx AND that have a BDM/socketed flash chip capable of recovering a bricked PCM(in the event of an error).
I have 3 modes of write working quite well and appears to be very stable now. So I'm looking for a small group of people will to do some live testing on bench and in car that have the means to recover a PCM in the event something does go wrong. This step of testing is going to be extremely vital to the overall success of this tool and it's not something I can test by my self. . I expect to have the rest of my error handling wrapped up by the end of the week and at that point I will be ready to send out versions of the app to test with to those that can prove they are able to recover the pcm if something goes horribly wrong.
If you would like to be included in this send me a PM with a pic of your BDM(I don't care what brand/type) and make sure your screen name is included in the pic somewhere so I know you didn't just go grab an image off Google to get in on testing this. Also included your email address that you would like to be contacted by when I am ready to send out the first wave of the app.
Depending on how the first wave of testing goes it'll give me an idea how much work might be left before it would be ready for an Alpha release with some strongly worded warnings....since it would be an alpha version and that means there are going to be bugs and some of those bugs could be bad......
I have 3 modes of write working quite well and appears to be very stable now. So I'm looking for a small group of people will to do some live testing on bench and in car that have the means to recover a PCM in the event something does go wrong. This step of testing is going to be extremely vital to the overall success of this tool and it's not something I can test by my self. . I expect to have the rest of my error handling wrapped up by the end of the week and at that point I will be ready to send out versions of the app to test with to those that can prove they are able to recover the pcm if something goes horribly wrong.
If you would like to be included in this send me a PM with a pic of your BDM(I don't care what brand/type) and make sure your screen name is included in the pic somewhere so I know you didn't just go grab an image off Google to get in on testing this. Also included your email address that you would like to be contacted by when I am ready to send out the first wave of the app.
Depending on how the first wave of testing goes it'll give me an idea how much work might be left before it would be ready for an Alpha release with some strongly worded warnings....since it would be an alpha version and that means there are going to be bugs and some of those bugs could be bad......
For the P01 this is hands down the best BDM I have found......
https://www.usbjtag.com/zenshop/index.php?main_page=product_info&products_id=11
Recently I have run into several P59's that the above tool does not play nice with on a couple service numbers so at this time I'd only suggest it for the P01 unless your able to verify your P59 will match the connections
https://www.usbjtag.com/zenshop/index.php?main_page=product_info&products_id=11
Recently I have run into several P59's that the above tool does not play nice with on a couple service numbers so at this time I'd only suggest it for the P01 unless your able to verify your P59 will match the connections










