How to perform firmware upgrade on Pentair* controllers

Download link is in 1st and 154th posts
Thanks jerryt. (Just assumed the link on Pentair's site would work)
It's been a while since I've updated the firmware. I'm on 2.160 now but just added the Screenlogic2 protocol adapter and thought I'd check for any firmware updates. I saw they had 2.180 and while there's nothing that jumps out as necessary, I thought I'd try updating it again.

I don't have the same laptop I used several years ago so I'll need to set up the new laptop with prog12z and the batch files.

The link was for an executable installer. Is it actually installing any programs or registry settings or is it just the putting files in the C:\pemicro folder.
 
Last edited:
Pentair's website now has the Easytouch 2.180 firmware as a download again...
No installer this time

Also no Intellitouch, Suntouch, or iLink files as of 6/8/2021
Looks like they replaced the installer with a batch file to create the PE Micro directories and copy over the files in the zip. More specifically one each for the cfg/s19 files and one with batch files for USBMultilink. Nice to see Windows 10 support added to the batch files.

"DOUBLE CLICK ME" Batch file contents:

copy *.cfg C:\PEMicro\pkg12z\cfg
copy *.s19 C:\PEMicro\pkg12z\s19
mkdir C:\PEMicro\pkg12z\bat\Release\Easytouch_2180\
copy Easytouch_Outdoor_2180.bat C:\PEMicro\pkg12z\bat\release\Easytouch_2180\
copy Easytouch_Indoor_2180.bat C:\PEMicro\pkg12z\bat\release\Easytouch_2180\
copy Easytouch_Wireless_2180.bat C:\PEMicro\pkg12z\bat\release\Easytouch_2180\
copy IT_Outdoor_Trainer_1190.bat C:\PEMicro\pkg12z\bat\release\Easytouch_2180\
copy IT_Indoor_Trainer_1190.bat C:\PEMicro\pkg12z\bat\release\Easytouch_2180\
copy IT_Mobi_II_2190.bat C:\PEMicro\pkg12z\bat\release\Easytouch_2180\

"Easytouch_Outdoor_2180" Batch file contents:

IF EXIST "C:\Program Files\PEMicro\PROG12Z" goto WINXP
IF EXIST "C:\Program Files (x86)\PEMicro\PROG12Z" goto WIN7
IF EXIST "C:\PEMicro\PROG12Z" goto WIN10

:WIN10
path = c:\pemicro\prog12z
cd \pemicro\prog12z
CPROG12Z ? 1 IO_DELAY_CNT 12 C:\pemicro\pkg12z\cfg\WIN10_UOC_ET2180.CFG FREQ 8000000 Interface=USBMultilink PORT=USB1
goto DONE

:WIN7
path = C:\Program Files (x86)\PEMicro\PROG12Z
cd \Program Files (x86)\PEMicro\PROG12Z
CPROG12Z ? 1 IO_DELAY_CNT 12 C:\pemicro\pkg12z\cfg\WIN7_UOC_ET2180.CFG FREQ 8000000 Interface=USBMultilink PORT=USB1
goto DONE

:WINXP
path = C:\Program Files\PEMicro\PROG12Z
cd \Program Files\PEMicro\PROG12Z
CPROG12Z ? 1 IO_DELAY_CNT 12 C:\pemicro\pkg12z\cfg\WINXP_UOC_ET2180.CFG 8000000 Interface=USBMultilink PORT=USB1


: DONE
 
I have some additional info from Christopher at Pentair. I had contacted him about updating my EasyTouch 8 panel & 2 controllers running 2.150 and 2.160. Note that he says 2.180 is not fully backward compatible and that a newer version is in the works. Quotes below are from emails in July 2021.

The easytouch firmware upgrade from 2.160 to 2.180 which is the newest, only updates the system to allow for an eti hybrid heatpump and correct an issue with setpoint temperatures if you have an ultratemp heat and cool heatpump.

You will not want to update your wireless remote or indoor controller to 2.180 because the menu system for the new eti hybrid heater will cause a concern on those controllers within the current heating menu.

If you do not have either of the above heatpumps mentioned I would not recommend a flash of the firmware at this point.

You absolutely can have the indoor controller updated to 2.160. All im saying is 2.150 and 2.160 are fully compatible with each other. The only enhancement with 2.160 was it fixed an issue in the outdoor motherboard after a factory reset was performed. You will have to pay a service team to come and update the controller. They do not provide us information on what service teams have the flash kit available so they can update the systems.

We are in the process of developing a new firmware beyond 2.180 that will be fixing the eti heating menu concern I mentioned. I feel that it would make more sense to wait for the new update so you can update all 3 of your easytouch items at once.
 
I have not tried it. The download contains a folder dated 10/12/2021, so most likely this 2.190 was posted after that date.

No readme, so we do not know what is added or fixed...
 

Enjoying this content?

Support TFP with a donation.

Give Support
I emailed Chris and got a reply today from Matthew.
The most recent updates are regarding compatibility and bug fixes for our ETi Hybrid heater operation on the automation itself. If you do not have this kind of heater installed then these updates would not really benefit. The only other reason I would say to upgrade above 2.160 is if you have an UltraTemp H/C unit installed since we do have a known issue with the cooling set point not saving if you use ScreenLogic.
 
  • Like
Reactions: ogdento
I emailed Chris and got a reply today from Matthew.
Did you happen to get any more info on the 2.190 update regarding the heatpump with heat/cool function or any release notes on what may have been added/fixed? I have an UltraTemp 120 H/C that has been giving me nothing but headaches with the easytouch/screen logic for about 2 years now! I finally got someone to coming to do the firmware update this afternoon.
 
Sure.

USBDM is a very well documented, open source programmer for Freescale micro controllers. Much can be learned here:


The Pentair Easytouch uses a Freelance MC9S12A128 chip after 2008 (before then it was a smaller MC9S12A64).

See this for reference: What's the deal with Easytouch versions 1 and 2?

This microcontroller is part of the "HCS12" family of Freescale microcontrollers.

My particular USBDM from Ali express came with a link to all of the drivers needed to install a base version of Codewarrior (coding IDE) which is installed first, followed by the drivers to install. If you are only interested in flashing a chip, I don't think Codewarrior is needed.

In my setup I am using Windows 7. I'm confident windows 10 or any modern Linux would work equally well.

P&E Micro tools accept addresses in 64kB memory map (16bit) and linear (global) format (24bit).

USBDM tools accepts only addresses in 64kB memory map (16bit) and banked (logical) format (24bit, PPAGE + address in 0x8000~0xBFFF memory window).

As documented here: Re: USBDM vs Pemicro

A simple program developed by NXP will convert the file formats from one to another.

A. Make your programming cable
-This has been well documented in the OP and elsewhere in this thread. The VCC, RST, GND and BKGND pins are all clearly labeled on the PCB of the USBDM device, and correspond to the appropriate pins on the micro JST connector.
View attachment 332942

B: Convert Pentair firmware from linear to banked format

1. The Pentair firmware intallation file (if you can find it on Pentair's website!) puts the .s19 hex files in the following location:


View attachment 332935
2. Install the NXP converter program which can be found here: https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/16-bit/15138/1/SRecCvt_v1.0.31.zip

3. Open the converter program. Choose "Linear" for the input file, and "banked" for the output file. For "Input File 1" choose the firmware for your device from the location in step 1. Choose the correct device. Choose an output file location that is convenient for you to find later. No other options need to be selected. Hit the "Convert" button.

View attachment 332936

C: Programming Pentair Easytouch firmware with USBDM (Verified to work under Windows 7 with MC9S12A128 processor

1) Install Codewarrior software and drivers for USBDM as documented here: USBDM: Software Installation

2) Reset computer, and plug in USBDM device. Once the drivers are recognized, update the firmware on the USBDM. Here is a great video to walk you through installation of the drivers:

3) Open up the HCS12 standalone programmer
View attachment 332933

4) -Select "Load Hex File" and choose the file that was saved in B. 3.
-Click on "Detect Chip." This should show the MC9S12A128 chip. Of note, the wireless unit will have to have the Menu/Power on button held to power the device during detection. Bus Frequency should be around 8000khz.
-Don't change the security options.
-Under "Programming Erase Mode" there are a few options: "EraseMass" will erase the entire memory, including the EEPROM. This is ok if you have another unit that you can pull the settings from (ie: Wireless unit will pull settings from Outdoor Unit) or if you want to start from scratch with your programming. You will also have to readdress the wireless address if you have a wireless unit. Choosing "EraseSelective" will just flash the memory and leave the EEPROM intact. I used "EraseMass" for my wireless unit, and then pulled the settings from the outdoor unit. For the outdoor unit, I will "EraseSelective."
-Click "Program Flash." It will take a few seconds and verify the programming. Of note, the wireless unit will have to have the Menu/Power on button held down during the entire process to power the device during detection.

View attachment 332934

5) Enjoy your updated firmware, using a $12 programmer and free software.

View attachment 332941
Telemachus, does the intellitouch use the same micro controller? how can i tell which micro controller is on this i9+3?
 
Telemachus, does the intellitouch use the same micro controller? how can i tell which micro controller is on this i9+3? i found out that it has a MC912DG128ACPVE. i am assuming i have to power the device externally before programming? the USBDM
 
Telemachus, does the intellitouch use the same micro controller? how can i tell which micro controller is on this i9+3? i found out that it has a MC912DG128ACPVE. i am assuming i have to power the device externally before programming? the USBDM
I'm not sure that the processor is supported
 
I have some additional info from Christopher at Pentair. I had contacted him about updating my EasyTouch 8 panel & 2 controllers running 2.150 and 2.160. Note that he says 2.180 is not fully backward compatible and that a newer version is in the works. Quotes below are from emails in July 2021.
I wonder if 2.180 Is causing the current problems I have with my wireless remote. Under the heater menu for the pool, I can only see gas heater, hybrid, heat pump on the handheld unit, which is different than what I see outside (solar, solar preferred, heater).

This problem occurred when I first turned on solar a week ago.
 
Success! After a long winter and many other delays, I have successfully upgraded the firmware of my ET! More than a year later but it's done. I went from 2.10 right to 2.19. I used @Telemachus 's methods and it worked flawlessly!

I figured I would document my exact process for anyone else who stumbles across this.
  1. Ordered this USBDM programmer and these 6-pin Micro JST cables (150MM, 10pcs 6p MALE FEMALE).
  2. Downloaded the 2.190 firmware from Pentair here.
  3. Extracted the Zip file and copied out the outdoor unit .s19 file, specifically "Easytouch_Outdoor_2190.s19" (grab the correct .s19 depending on what type of unit you are flashing).
  4. Downloaded and extracted the NXP Converter program @Telemachus linked, and followed his instructions exactly in #126. Linear input, banked output, Device type set to MC9S12A128, Output filed named and saved to the desktop.
  5. Downloaded Code Warrior 5.2, as well as the USBDM software & drivers. The link posted above is broken so I found the new Sourceforge links.
    1. Download Code Warrior 5.2 (Not sure if its 100% needed but just in case) from NXP on a one-month trial here. Click "Download Eval", you will have to make an NXP account if you do not have one.
    2. Download the latest driver here that is correct for your OS (USBDM_Drivers_4_12_3_Win_x64.msi for me).
    3. Download the latest software here that is correct for your OS, note that new builds are still being released even in 2022, at the time of writing I downloaded "USBDM_4_12_1_295_Win.msi" .
  6. Installed the software packages in the following order. USBDM Drivers -> Code Warrior 5.2 -> USBDM software. Not that Code Warrior MUST be installed before the USBDM software for it to detect and modify the Code Warrior installation.
  7. Followed the first 5 minutes and 10 seconds of this video that was linked in #126. I highly suggest you do the same it was very useful. Walks through the driver & software installation as well as how you go about updating your USBDM firmware.
  8. Based on the video, updated my USBDM firmware and it worked on the first try.
  9. Crimped 2.54mm male Dupont headers onto my JST connector to that it could plug into my USBDM. If you don't have crimpers & pins you can just solder male headers/pins onto the end of the JST connector leads. I used the following pinout:
    • My 6P JST header cable had the same colours as the image below so I used that as my reference
    • 1655313710942.png
    • 20220613_184315.jpg
    • Poped the case off the USBDM programmer and with the help of the printed pinout on the PCB and a multimeter, I determined which pin was which on the end of the programmer cable.
    • Matched the Programer pinout to the JST pins with this legend:
    • On the Micro JST plug;
      1-White = Gnd
      4-Yellow = Reset
      5-Black = BKGD
      6-Red = VCC
    • Threw some electrical tape on to secure the connection but this is what I ended up with:
    • 1655314065482.jpeg
  10. Headed out to the pool panel and noted my current FW version was 2.10.
    • 1655314217697.jpeg
  11. Flipped the breaker off for the control system transformer, removed the top two screws, and folded the board down.
  12. Connected the 6-pin JST header to the board, and the USBDM to my laptop over USB (Make sure your laptop will not die/run of out power during the flashing process!), and turned the breaker back on.
  13. Opened the HCS12 Programmer and again followed @Telemachus instructions exactly. Loaded the hex file I saved to my desktop, detected the chip (verified it was MC9S12A128), chose to do an EraseMass of the EEPROM so I had a fresh start, and clicked "program flash".
  14. Took about 20 seconds, and it gave me a prompt saying it was completed successfully!
  15. Flipped the breaker back off, unplugged the programmer and my laptop from the board, flipped the breaker back on
  16. Checked the FW version reported by the ET and success!!
    • 1655314579831.jpeg
Note that my Software Rev also now reports the system is an EasyTouch 8, this system originally installed was a ET4. About a year ago I did the resistor mod that converts the ET4 to ET8. However, as you can see in the first photo, the system was not reporting itself as an ET8 on FW 2.10. After the upgrade to V 2.190 you can see it reports as "EasyTouch 8". Two resistors cost me about 4 cents. You can read more about the resistor mod on this forum and more specifically here.

Huge thanks to @Telemachus, as well as @jerryt and @ogdento for all their expertise and hard work on this!

If anyone has any questions just let me know and I can explain further.
 
I added the "Lite" mod to the resistor mod thread @Chenzo linked...

 
  • Like
Reactions: Chenzo

Enjoying this content?

Support TFP with a donation.

Give Support