How to perform firmware upgrade on Pentair* controllers

jerryt

In The Industry
Nov 25, 2011
198
Pentair* Controllers;
EasyTouch versions 1.0XX and 2.1XX, iLink version 1.0XX, Intellitouch version 1.1XX, Mobi version 2.1XX, and Suntouch version 2.0XX
Please verify that your programming port matches the picture in this thread.

Note - Pentair sells a kit P/N 520957 for $559.95 to perform this programming
http://www.sunplay.com/Pentair-Automati ... 520957.htm

Options in this thread are to save some of this cost.

Special thanks to TFP member Tinyavian who posted a parts list and schematic in this thread
pentair-firmware-programmer-t31354.html
Special thanks to Ggilpu for discovering software compatibility issues.
Special thanks to Sizzlechest for discovering earlier Prog12z program only has drivers which work in windows XP.
Special Thanks to Geobrick for discovering software discount and pictures of programming cable.
Special thanks to Ogdento for discovering that parallel port BDM-Multilink, Rev B programer works with Adelaide's v1.62 software (see post 63).
How I programmed two Easytouch outdoor boards

1) Ordered the following parts from Digi-Key;
P/N Qty Description
A26569 1ea 6 pin PCB header
WM1724-ND 1ea Plug Pentair programming port
WM1775CT-ND 6ea Crimp pin
V2025-ND 1ea PC board

Under $15.00 shipped

NOTE
Instead of these;
WM1724-ND 1ea Plug Pentair programming port
WM1775CT-ND 6ea Crimp pin

You can buy "Micro JST 1.25 T-1 6-Pin Connector plug with Wire x 10 sets"
on eBay for $6.99

This saves you the labor and pain of dealing with the extremely small crimp pins.


2) Built the programming cable and adapter board
Here is the schematic
[attachment=1:nypymh6s]Pentair to BDM Programming Adapter.jpg[/attachment:nypymh6s]
This is the completed adapter
[attachment=2:nypymh6s]Pentair BDM Adapter.jpg[/attachment:nypymh6s]
Close up of plug and port
[attachment=0:nypymh6s]Plug and Port.jpg[/attachment:nypymh6s]

To make a straight cable without circuit board, follow these pictures and pinout (Thanks to Geobrick)
I'm not using a board so I'm going to cut the ribbon cable and attach the wires directly from the USB BDM Multilink.


BDM header cable pinout



Micro JST header pinout


Here is the pin to pin for splicing a BDM cable to a Micro JST cable.
BDM header-------------------Micro JST (per the pictures above)
1-----------------------------------5
2-----------------------------------1
3-----------------------------------Not Used
4-----------------------------------4
5-----------------------------------Not Used
6-----------------------------------6

3) Software
You need the firmware from Pentair;
http://www.pentairpool.com/pool-owner/r ... /index.htm
and [the software for the programmer "prog12z_install"
Google "University of Adelaide prog12z_install.exe"
Note this is very early software (V1.62) which appears to only work with Window XP and either the Parallel port BDM-Multilink, Rev B, or the P&E Micro Multilink USB Programmer rev A programers (See post 63 and 38)]

The software for the revision B & C programmer is available from P&E Micro website for $169.00 (or $17.00 see next lline)
SPECIAL THANKS to Geobrick for discovering; That if you have a "Current Student ID" you can get this software for 90% off, or $17.00, this provides 3 licenses.
Go to PEmicro | Experts in Embedded tools for Flash Programming and Development click on "University Programs".

4) Programmers
Basically four choices
1) Multilink rev A from Ebay with Adelaide prog12z_install.exe software in windows XP with Pentair's EDITED scripts (.bat)
2) Parallel port BDM-Multilink, Rev B, works with Adelaide prog12z_install.exe software in windows XP with Pentair's EDITED scripts (.bat)
3) Multilink Rev B or C with Prog12Z software from P&E Micro for 169.00 (17.00 with student ID) is able to use pentair's scripts and windows 7 (But not XP, see 3a exception)
3a) USB Multilink (USB-ML-12) Rev A, B, & C are reported working (see posts 74, 75, & 111) in Windows XP with software Prog12z v1.71 ( Dead link in post 71).
4) Cyclone Pro rev C works in windows XP with Adelaide v1.62 prog12z_install.exe, and in Windows 7 (8) & 10 with Prog12z_cyclonepro Software, (Manual programming, or with Edited scripts / bats. See post 39 for manual programming steps. Scripts/Bat's editing, require replacing "Multilink" with "Cyclonepro" in each bat file, some path edits also) Cyclone software is a free download from P&E Micro, and with Prog12Z v5.25 paid version (Automatic programming, uses Bats) from P&E Micro website.


5) The process of programming See post 39 for steps to manually program.
I will walk thru the process of the EasyTouch Outdoor 2.130 upgrade
Connect programmer
load software
On desktop open folder "Pentair Firmware"
Open "Release" folder, open "EasyTouch version 2.130" folder
Double click "Easytouch_Outdoor2130.bat" file
Cmd Prompt window opens, Cprog12z.exe window opens and displays progress or errors.
Wait for programming to finish

A walk thru of the automatic software scripts (.bat) (ONLY NEEDED TO UNDERSTAND AND CORRECT ERRORS)
The first .bat file (Drag .bat file on top of notepad to open) sets the delay, programming device, freq, and calls a configuration file.
The cfg file (Drag .cfg file on top of notepad to open) sets the "Algorithms" file which matches the chip being programmed and also set the firmware file to be used, an .s19 file.

Issues
1) The crimp pins are crazy small, very hard to work with, see NOTE above on buying pre-made "Micro JST 1.25 T-1 6-Pin Connector plug with Wire x 10 sets" from ebay.
2) I bought a P&E Micro Cyclone Pro programmer off of eBay (P&E Micro Computers makes a number of HCS12 programmers which will work with this software), so the first .bat file had to be edited from "USBMultilink" to "Cyclonepro" for Interface (device).
3) The BDM header on the Cyclone Pro programmer is keyed backward by P&E, "Always verify red stripe on cable and pin 1 location"
4) Cfg file had to be edited to change directory of Algorithms folder and name of .12p file for chip. It was scripted to look for .12p file named "9S12DT128_1X16X64K_128K_linear_16K_page.12p" whereas the file which existed was "Freescale_9S12DT128_1X16X64K_128K_linear_16K_page.12p"
5) The board being programmed needs to be powered, programmer will not power the chip.

Warnings
1) 6 pin BDM header cable will fit two ways, ONLY ONE WAY IS CORRECT, mark pin one, verify cables...
2) In general, when upgrading firmware, you should be on an Uninterrupted Power Supply, bad things happen if power goes out during programming.
 
Last edited:

jerryt

In The Industry
Nov 25, 2011
198
This is a picture of the pre-made programming connector with pins from eBay
[attachment=0:dfixzwka]JST_1.25_plug.jpg[/attachment:dfixzwka]
Search term "Micro JST 1.25 T-1 6-Pin Connector plug with Wire"
 

jerryt

In The Industry
Nov 25, 2011
198
SCCS said:
What upgrades are done in the 2.130 version?
Version 2.130 7/15/13

Fixes:
- Supports new (Mobi II) style radio. Firmware IS backward compatible with all EasyTouch II Wireless units.
- Added exception to Indoor code which ignores “Set heat” packets while it is itself in the midst of changing those packets (bug found with screen logic EZT support).
- Changed range value to allow user to set ORP as low as 400
- Changed response times on Fast Keep Alive to sync with radio chipset
- Fixed temp control issues that allowed the Pool to heat till the 'next' degree, rather than stopping at desired temp + 0.4 degrees. Also implemented C scale to act about the same
- Fixed the valve assignment packet. It was getting incorrectly set by ScreenLogic trying to set valves for expansion units 2, 3, and 4 which are for IntelliTouch only
- Added support for new radio in Wireless including driver, handler, timing, issues/differences, etc.
- Fixed issue of not sending out Chlorinator Name.
- Put in solution for 'cooling temperature' getting set to zero by unknown issue. Found hardcoded pointer to nowhere in the Cooling menu system, this may likely explain the resetting to 0.
- Added code to the heat pump cooling. It was switching on an edge, so cycling was occurring
- Fixed issue with an IntelliFlo being used as the master Cleaner pump. It was not being held off if Spa was on.

SCCS said:
Nice write up by the way. :goodjob:
Thank you
 

jerryt

In The Industry
Nov 25, 2011
198
Any way to find out what the changes are on IntelliTouch Firmware 1.170 ?

Thank you with the great detailed process!
Version 1.170 7/15/13

Fixes:

- Changed Spa side IntelliFlo control system. Prior it required that the Spa circuit was on and much like the temperature change it was dynamic and forgotten/reset when the Spa turned off. Since the customer may want control when Spa is not running, now we only require that the assigned pump is on.
- i10+3D Solar bug : If Pool had Solar, but when it was called for it would start then turn off Solar. The unit had Pump #1 assigned to the Spa (IntelliFlo) and #2 assigned to Pool.
- Added code to the heat pump cooling. It was switching on an edge, so cycling was occurring.
- Changed bottom range of ORP to 400 to accommodate changes to IntelliChem.
- (Mobi) Fixed bug found in dimmer screen of version 2.160.
- (Mobi) Improved odd/false errors that show up on the MobileTouch wireless remote.
- Resolved issue caused when someone pressed SYNC (for example) in the colored lights menu when they had no colored lights.
 

driise

New member
Mar 11, 2014
1
United States
Hi. I thought I would ask before I build one of these:

1) is anyone willing to sell their programmer setup because they don't need it anymore?
2) is anyone willing to do a rental? (we can work out payment/escrow details)
3) is anyone near the DFW area, willing to come out and update my system for a fee?

It looks like a fun project, and I find myself in need of an update for my intellitouch controller to get my VS pump working with it. But I can't see a long term need for a programmer so wasn't sure if I wanted to spend the time or not to build it.

Regards,
Justin
 

hatfirs

New member
Dec 15, 2013
1
Utah
I just bought all the parts, pieces and programmer to perform this upgrade. I'm going for it, but worried about the board itself. I've never built a "PC Board" at all, so can someone who done this please describe that process? I can see a picture of the front side of the completed board in this thread, but I would like to also see the backside of a board. Or perhaps just describe how to build the board in details. For example, do I need solder and solder iron? How do I connect the wires, to the 6 pin PCB header?
 

MJones

New member
Sep 15, 2014
1
Rancho Cucamonga/CA
The PE micro USB interface programmer comes with a 6-pin ribbon. I figure I could cut one end off the ribbon and connect a Micro JST 1.25 T-1 6-Pin connector. I would use your picture of the connector and board to get the wires connected properly.6-pin connector.jpg
 

jerryt

In The Industry
Nov 25, 2011
198
I just bought all the parts, pieces and programmer to perform this upgrade. I'm going for it, but worried about the board itself. I've never built a "PC Board" at all, so can someone who done this please describe that process? I can see a picture of the front side of the completed board in this thread, but I would like to also see the backside of a board. Or perhaps just describe how to build the board in details. For example, do I need solder and solder iron? How do I connect the wires, to the 6 pin PCB header?
Back side of the board is just the wires going to the connector/header/socket per the wiring diagram. Yes, you have to solder.

- - - Updated - - -

The PE micro USB interface programmer comes with a 6-pin ribbon. I figure I could cut one end off the ribbon and connect a Micro JST 1.25 T-1 6-Pin connector. I would use your picture of the connector and board to get the wires connected properly.View attachment 33215
That should be fine.
 

jerryt

In The Industry
Nov 25, 2011
198
Hi. I thought I would ask before I build one of these:

1) is anyone willing to sell their programmer setup because they don't need it anymore?
2) is anyone willing to do a rental? (we can work out payment/escrow details)
3) is anyone near the DFW area, willing to come out and update my system for a fee?

It looks like a fun project, and I find myself in need of an update for my intellitouch controller to get my VS pump working with it. But I can't see a long term need for a programmer so wasn't sure if I wanted to spend the time or not to build it.

Regards,
Justin
You can PM me about having me program your board.
 

ggilpu

Member
May 4, 2011
9
Hi Jerrit,

I am trying to update EasyTouch to the just posted 2.140. I got everything as you said but the programmer software that you pointed out to the Uni. of Adelaide, it is out of dat to use it with the Programmer. Is there a way to get it up to date?

Thanks,
 

jerryt

In The Industry
Nov 25, 2011
198
How is it out of date? Which programmer are you using? What is the "Message" you get exactly?

Sometimes the BAT. which calls the program needs to be edit to the programming specifics. Drag the BAT file on top of notepad and read if all the lines are correct?
 

ggilpu

Member
May 4, 2011
9
The last version I could get on the Univ of Adelaide site is from 2004. PE says that it needs to be post 2010. I get a Error 45. I am using USB BDM MULTILINK, Rev C (PART# USB-ML-12).

I appreciate your help.

- - - Updated - - -

One more thing. Could you be a little more specific about to edit the BAT.

Thanks
 

jerryt

In The Industry
Nov 25, 2011
198
PE says that it needs to be post 2010. I get a Error 45.
PE say where? In paperwork, When you run the software, By phone ???

The entire error message is "Error 45" ??

Software operation;
After you download the software and install, you have a folder labeled "Pentair Firmware" on the desktop
Open Pentair Firmware\Release\Easytouch_Version_2.140,
Drag EasyTouch_Outdoor2.140.bat (Show file extensions needs to be turn on in order for you to see the .bat) on top of notepad (Put a copy of notepad on desktop first)

_______________________________________________________________________________________________

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

:OLD
path = c:\pemicro\prog12z
cd \pemicro\prog12z
CPROG12Z ? 1 IO_DELAY_CNT 12 C:\pemicro\pkg12z\cfg\OLD_EZTUOC2.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_EZTUOC2.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_EZTUOC2.CFG 8000000 Interface=USBMultilink PORT=USB1


:DONE
________________________________________________________________________________________________

Now verify that Prog12z.exe is at each of the listed paths;
c:\pemicro\prog12z
C:\Program Files (x86)\PEMicro\PROG12Z
C:\Program Files\PEMicro\PROG12Z
Create the paths if they don't exist.

Verify that windows see your programer as "USBMultilink" (In Device Manager) , if not edit the EasyTouch_Outdoor_2.140.bat with the proper name. Maybe windows see the device as "BDM MULTILINK" or "ML-12" does not matter the name as long as the .bat calls the correct name. (See Issue 2 notes in first post)

Verify usb port 1. (Maybe download USBDeview if you can not find the usb port number in device manager, generally if only one usb device is attached it is on port one, but who knows on your system)

Next go to C:\pemicro\pkg12z\cfg\
and open each of these by dragging on top of notepad;
OLD_EZTUOC2.CFG
WIN7_EZTUOC2.CFG
WINXP_EZTUOC2.CFG
______________________________________________________________________________________________

RE
CM C:\pemicro\prog12z\Algorithms\Freescale_9S12DT128_1x16x64k_128k_Linear_16k_page.12P
EM
BM
SS C:\pemicro\pkg12z\s19\EasyTouch_Outdoor_2140.s19
PM
VM
RE
QU

_____________________________________________________________________________________________

Verify that those two paths exist in each of the three .bat (Each .bat may have different paths, just provide them all) and that those listed files (Verify names) are present in those locations for all three of these .bat (See Issue 4 in first post)
Freescale_9S12DT128_1x16x64k_128k_Linear_16k_page.12P
EasyTouch_Outdoor_2140.s19

More current Algorithms are downloadable from PE website, but it is not needed.

make connects
power the easytouch
Run the .bat
watch it perform...
 

jerryt

In The Industry
Nov 25, 2011
198
PE said so by this (http://www.pemicro.com/forums/forum.cfm?forum_topic_id=4413). The error was 20000021 error 45, I believe.

I will try that. Thanks
It is possible that PE modified their programmer Version C so that it only works with a later version of prog12z, if that is the case you would need to spend the $169.00 for the later version of their software. I Did use a CyclonePro (Most likely a version A) with the early version of prog12z, which is why I wrote this how to. The original how to by another person, did recommended the USB-ML-12, if PE has the revision C programmer locked into a software purchase of $169.00, I will have to delete this thread. Because it misleads people.

Ggilpu, I can offer to program your board if you send it to me.
 

ggilpu

Member
May 4, 2011
9
I will check if that's the case probably this weekend.

I might take you on your offer if it doesn't work. In fact, I got to get a new board because the Valve portion in the current one is not getting power any longer. Where are you at? I sent you a PM last Friday, I will send you another one now.

Thanks