TRACE SWCA, an Expensive device to break.

I had one of my two $175 TRACE/XANTREX SWCA Inverter RS232 interfaces quit working on me a few weeks back.  I had opened these units up once to install power through an isolation low voltage drop diode to power a Bluetooth serial adapter.  They are mostly SMT inside with the exception of the MPU which is an Atmel AT89C2051.  The other SMT chips include a 74HC14, 232ACBN, 74HC86, 24LC04B, DG417, and on the back side a PCF8574AT.


The interface uses a standard 4 conductor flat telephone cable.  How the RJ11 terminal is crimped on the wire is important. Here is the pin-out as it ends up at the RJ11 to DB9F (provided with the SWCA): RED = PIN2, BLACK = PIN3, YELLOW = PIN5.  The GREEN in all I have seen is not connected.  I use this to provide 5V on PIN9 of the DB9 to power my Bluetooth to Serial converter which accepts 4-9 volts on PIN9 as POWER.  I found +5V on the PCB off a SMT Capacitor on the power rail.

The SMT part that had failed was the DG417 Analog switch.  From what I can see it is what turns on the DATA OUT line which is the RED wire when the SWCA is selected using its preset address.  The address is set using the antique DOS software that comes with it.  You can actually command up to 8 SW series inverters (SW5548 for instance) which requires you to connect the SWCA as the ONLY device on the serial port to “SET” the ID from 1 to 8 in the flash memory.  If you Parallel SWCA’s with the same ID there is no communication because of data collisions.  When I put my defective SWCA on with my good one the good one quit working so it was simple enough to trace back the data wires from the DB9 to the PCB.  I found the RED wire going directly to PIN-1 of the DG417.  PIN-8 is the data in so I just measured across the pins and got like 84 ohms.  The good SWCA measured infinite ohms so I knew the chip was shorted.  I ordered some from Digi-Key for $2.28 each, they should be here tomorrow.  I’m hoping the suspected ESD didn’t get past the DG417.  I could still send commands to the inverter so I know that part is working fine.  Just no data back at me.  The DG417 is an 8 pin SMT device, not real hard to remove. 

I have installed ESD protection on both the DATA LINES.  I use P6KE27CA Solid State devices in all my RS232 projects for ESD protection.  This is the very same device used in the Radio Shack RS232 inline surge protector from many years past.


24LC4B (4K I2C Serial EEPROM),  PCF8574AT (Remote 8-Bit I/O Expander for I2C BUS),  AT89C2051 (2Kbyte Flash Microcontroller),  DG417 (Precision CMOS Analog Switch),  232ACBN (High Speed +5V Powered RS-232 Transmitter/Receiver,  74HC14 (Hex inverting Schmitt trigger),  74HC86 (Quad EXCLUSIVE-OR Gate).


The part came from Digi-Key right on time.  I soldered in a new DG417 and I’m happy to report SWCA #2 is back in service and fully functional.  The only quirk I have is my two are different versions and the UP/DN arrows on one are reversed which is a pain.

Clay Archer reverse engineered the REMOTE PORT on the SWxxxx TRACE inverters and was kind enough to provide the information on the port.  Here is his letter and the details. 

Here are some of my notes on the SWCA.   I’m in the process of putting together my own interface, initially with a parallel port interface to a PC, and eventually a stand-alone PIC processor with an ethernet interface, when I can find time to work on it.  I don’t intend on making a commercial product with this, but if you develop anything with it I would appreciate some feedback. 


SWCA interface pinout: (DB25)

01) V+  5V

02) NC or Gnd

03) Gnd

04) Gnd

05) Gnd

06) NC

07) DB7 (14)

08] DB4 (11)

09) DB2 (9)

10) DB0 (7)

11) NC

12) NC

13) NC

14) LCD Enable (6)

15) Reset

16) LCD Read/Write (5)

17) LCD RS Data/Instruction (4)

18] Read Switch/Enable

19) Write LEDs enable (latch)

20) DB6  [13]

21) DB5  [12]

22) DB3  [10]

23) DB1  [8]

24) NC

25) NC 


LED and switch bits:

      LED                     Switch

DB0   over current              set+

DB1   float                     set-

DB2   AC2                       menu up

DB3   inverting                 menu down

DB4   error                     menu ->

DB5   line tie                  menu <-

DB6   AC1                       on/off

DB7   bulk                      Gen



LCD is an HD44780 based LCD display (I think) with 2 lines &40 chrs.  Numbers in () are LCD module pins. 


 You can find documentation on the HD44780 based LCD on the internet. The SW inverter interface (DB25) port was initially designed as an external keypad and display, basically a  duplicate of the internal keypad/display.


 The SWCA is a PIC processor designed to emulate the keypad/display and interface to a serial port as a display terminal emulation. To talk to the SW inverter you will need to emulate the HD44780 registers to read data and emulate the pushbutton switches to request data from the SW inverter. You could also just build an external display. Parts used in the internal display are two 74HC573  (8 bit latches to latch the LEDs and pushbuttons) one 74HC14 (to debounce & buffer the enable for the LCD display) and an LCD display with assorted resistors & cap’s etc. I have a rough schematic of the internal display, if you want I can scan it and send you a copy. 


Good luck,

Clay Archer


17 Responses to “TRACE SWCA, an Expensive device to break.”

  1. Dan Watkins Says:

    Hello Clay, I was happy to find the info you posted about the xantrex swca. I’ve been trying to locate a couple of these and no one has them. So I’m going down the path of making my own. I’m looking at using a TI EZ430-RF2500 MSP430 Wireless Development Tool and putting one at the invertor and one at my pc. I won’t have to worry about opto-isolators that way.

    Anyhow, I was writing to see if I could get that schematic of the internal display/control and any other info you may be willing to share. I’m assuming the read/write/enable lines are not extensions of the processor bus on the inverter but lines from I/O ports that they use to bit-bang data to and from the display/control board. Is this what you have found?

    Any help would be appreciated. I’ve been doing embedded s/w for a long time now and know a good definition of interfaces to the hardware is a must. It could be done by learning the interface as I go but would like to avoid some of the pain if possible.
    Thanks, Dan Watkins

  2. Robin Kinney Says:

    Based upon Clay Archer’s information above I looked at the signals from the DB25 and I see significant differences from those of Clay. For example, I see pulses on pin 2 and other pins indicated to be NC or gnd. Also, if I press, for example, menu >> (DB4), I’d expect to see a state change coincidental with Read Switch/Enable (pin 18) Any idea why the disconnect?

  3. Robin Kinney Says:

    Oops! My mistake. In a “senior moment” I forgor how to count.

    Additional information would still be helpful.

  4. Oscar González Says:

    Hello Jim, Clay and Dan,

    As we are in the needing of to programming (or regulate) a TRACE/XANTREX inverter and we don’t have the money to buy a new one (265$+shipping are asking for the new SWCA-II!), we must be embarrased in to the building of one of theses devices. So, here we go, looking for some info about theses oldies SWRC or SWCA…

    I have some HD44780 based LCD’s (BTW, they seems to be 2×16, not 2×20), and I will be very pleased to take a look to theses schematics. And, of course, if some one have some code to share, it would be also very appreciated.

    Checking the ‘notify me of follow-up…’, and plein of hopeful in to have some answer, I take leave of you.

    Saludos, OSCAR.

  5. Cliff Grimes Says:


    Wow – great info. I’ve been trying to find data on this interface for awhile. If you can, please send me a schematic and any other relevant info.


  6. William L. Benson Says:

    Has any one come up with schematic for the Trace SWCA, If you can, please send me a schematic and any other relevant info.

    Thank for your help.


  7. I would like to see more information that you got on the SWCA interface.

    Thank you for your the information on your BLOG and if you have any more information please pass it on.


  8. I have a Trace SWCA, but no documentation. I can connect with a serial program, but have no command reference. I find that “L”and “R”traverses the mainmenu, “U” and “D” traverses the sub-menus, but rather than trial and error – could someone provide a complete command reference?

  9. Miguel Rojo Says:

    hi where I can buy a SWCA, I need one. very urgent

  10. After putting this on the “back burner” for a while I was recently contacted by someone who saw my post on this site. They had an SWCA that was zapped by lightning and wanted me to take a look at it. Long story short, I not only repaired his SWCA, I completely reverse-engineered it, including the firmware in the AT89C4051 processor. I’m drawing up a schematic and I’ll post a link in a couple days. If you have one to repair I would be glad to take a look at it for you.

    • I have posted my schematic and a bin file of the firmware at There is enough information to construct your own SWCA interface if you know how to lay out a circuit board and solder the components. I am in the process of laying out circuit boards, both with surface mount parts like the original, and a DIP package layout which will make construction much easier. If you have any questions please post them here as I don’t have a blog configured on my site.

  11. Dan Watkins Says:

    Clay, your latest schematic and the assembly code dump (with comments) has proven very useful. I have managed to cobble togather a simple circuit using the gpio of a Beaglebone and some code to capture display data, cursor position (for the multiple choice menus), led data, and activate switches. I’m not going down the route of making it mimic the serial interface of the swca, but instead have a simple program to input switch presses and to dump the display data, cursor, and leds. Another program is using some code parts from PowerGuru ( Rob Savoye ) to locate specific menus and extract data. My plan is to make a program that will collect measurements and error occurances, save and program settings, and allow modification of some of the gridtie parameters based on my solar output at the time.

    If you are interested, I’ll be glad to send you what I have so far. Your information helped me alot. Thanks, Dan

    • Good work Dan! I had hoped someone would pick up this project and carry it forward. The SW series inverters are a good solid design, but lack a good computer interface for monitoring. The SWCA has limited use and was designed more as a remote panel for the inverter. I was thinking of doing something with the Arduino or some other low cost development board to replace the SWCA. I would be very interested in what you have developed.

    • I have constructed a prototype unit. I found a couple corrections but it seems to work properly now. I have added more notes on my website at . I still want to construct a more useful interface like Dan is working on but the design is good for anyone that needs a SWCA replacement. I haven’t added up the total cost yet but I would guess it’s about $20 in parts. If you want to build one you will need to program the 89C4051, if you don’t have a programmer you can pick one up for about $30. It took me about 3 or 4 hours to construct it, but still better than $200 or more if you can find one.

    • Hey Dan,
      How is your interface progressing? I would like to see what you have come up with. If you replied to my previous note, I didn’t receive anything. Perhaps lost in a spam filter somewhere? Please post here and let me know how it’s going!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: