Skip to main content

Replies sorted oldest to newest

Hey Patentguy - I have done quite a lot with Arduino and TMCC/Legacy.  I have attached to this post some snippets from a much larger automated control program.  These are the routines I use to transmit TMCC or Legacy commands to the Command Base.  I've also attached a library for circular buffers that the program uses.

You will see that the "send" routines just deposit the command string into the circular buffer. Then the main program checks to see if there is a serial command in the buffer waiting to be sent to the base, and sends it if at least 50 milliseconds have elapsed since the last TMCC transmission.  That may be a complexity you don't need, in which case you could just transmit the command as soon as you have built it.

You should refer to the document MED posted for the TMCC/Legacy protocol, or I can also post some routines showing how to control speed and trigger sound effects using that protocol.

Let me know if you have questions - I have also written routines for parsing TMCC or Legacy commands from either the serial port or the LCS PDI bus.

And what's your patent law connection?  I teach it!

Attachments

Last edited by Professor Chaos

Hey Patentguy - I have done quite a lot with Arduino and TMCC/Legacy.  I have attached to this post some snippets from a much larger automated control program.  These are the routines I use to transmit TMCC or Legacy commands to the Command Base.  I've also attached a library for circular buffers that the program uses.

You will see that the "send" routines just deposit the command string into the circular buffer. Then the main program checks to see if there is a serial command in the buffer waiting to be sent to the base, and sends it if at least 50 milliseconds have elapsed since the last TMCC transmission.  That may be a complexity you don't need, in which case you could just transmit the command as soon as you have built it.

You should refer to the document MED posted for the TMCC/Legacy protocol, or I can also post some routines showing how to control speed and trigger sound effects using that protocol.

Let me know if you have questions - I have also written routines for parsing TMCC or Legacy commands from either the serial port or the LCS PDI bus.

And what's your patent law connection?  I teach it!



Thank you. I will let you know how this works for me.

As to your patent question, I have a bsee degree from Pitt (1960 vintage) and graduated law school in 1966. I worked as a patent attorney for Bell Labs until 1989 and from then until retirement I headed up the Dallas section of Fulbright and Jaworski’s patent section and wrote several microprocessor patents in the 70s but never programmed one. Be well.


Ok, definitely start by reading pp. 3-6 of the document MED posted.  This explains the format of the 3-byte TMCC command strings.

The function I wrote takes these parameters:

sendTMCCCommand (SysTypes deviceType, byte deviceID, byte commandField, byte dataField, byte repeats) 

For your example (blowing a horn on a TMCC engine)

  • deviceTYPE = ENGType (B00000000 as I've defined it in the defs.h tab)
  • deviceID = xx (whatever TMCC ID# you've assigned your engine)
  • commandField = 00 (as shown on page 5 of the Lionel document for horn command)
  • dataField = B11100 (also as shown as page 5 for horn command)
  • repeats = 1  (transmit this command 1 time)

so our call is:

sendTMCCCommand(ENGType, xx, B00, B11100, 1);  //blow horn 

Some other examples:

sendTMCCCommand(ENGType, xx, B11, 10, 1); // set engine speed to step 10

sendTMCCCommand(ENGType, xx, B00, B10101, 1); // numeric 5 for slow dialogue

I should add, that I'm assuming you've got the hardware end of things sorted. The TMCC or Legacy bases use RS-232 signaling, so you'd need something like a MAX232 chip to convert voltage level and polarity  between the Arduino's TTL and the Base's RS-232.

I do have the hardware portion sorted out. I will be using a SparkFun shifter PRT-00449.  I do believe I understand the TMCC byte structure but I will review the document again. When I address my engine from the hand controller I put in ENG 2344. But I don't know how to do that with only a 7 digit binary address field. I must be missing something. Thank you for all the help. You can use my email address of davidt@hotray.com to discuss patent related questions. Someone on this link seems concerned that I or someone will try to patent this info. I really hope that person is joking since this is either public domain or at the very least not my work. I doubt if there is anything to patent even if it was new,

I think you're addressing your engine by a road number, which is only stored in the Legacy base/remote. Each engine has an internal TMCC address ranging from 1-99 (referred to as a "Traditional ID #" in the Legacy manual).

You should see that # above the "ENG" box on the Legacy remote if you press the INFO button once or twice.



People have strange ideas about patents sometimes. I was once being interviewed on a radio show about gene patents. A caller asked: if Monsanto were to inject patented DNA into me, would Monsanto then own me?  Ok then....

Last edited by Professor Chaos

This is an interesting discussion, but I'm not clear on what role the Arduino is playing (at the risk of asking a stupid question...) - where does it "sit" in the operator - locomotive communications scheme?  In an 'ordinary' TMCC scheme, the operator has a handheld controller, which communicates 'wirelessly' with the TMCC controller, which then communicates with the loco.  Does the Arduino talk with TMCC controller or does it eliminate the TMCC controller by sitting in the loco/tender and talk directly to the TMCC board in the loco/tender?  In the latter case, then presumably one can talk with the Arduino via bluetooth and a phone app?

In my thoughts on using the Adruino with TMCC or Legacy, the Arduino would logically be in parallel with the Cab1 or Cab2 - meaning I could send any command from the Arduino that I could send from the Cab1 or Cab2. A simple application could have the Arduino sense (via isolated outer rail section) when an engine enters a auto/pedestrian crossing and the Arduino blows the horn.

Once you get the Arduino and associated hardware with its programming capable to send TMCC or Legacy commands, you can just about do anything from the Arduino - you imagination becomes the limit.

My personal interest has to do with the DZ2500 switch machines, and making a central switch control panel. I am running DZ2500s by there serial capability, thus the Arduino could send commands to the switches. I was hoping to use the capability of the DZ2500 via its serial where you send a switch set address command to a switch (the switch set address sent is the address that the switch was set to during layout set up), and the switch will return FFFF for one direction, 0000 for the other direction. For example, one switch on my layout is set to address 20. If I send a switch set address command containing the address 20, the switch 20 will return FFFF for one direction, 0000 for the other direction.

@MED posted:

In my thoughts on using the Adruino with TMCC or Legacy, the Arduino would logically be in parallel with the Cab1 or Cab2 - meaning I could send any command from the Arduino that I could send from the Cab1 or Cab2. A simple application could have the Arduino sense (via isolated outer rail section) when an engine enters a auto/pedestrian crossing and the Arduino blows the horn.

Once you get the Arduino and associated hardware with its programming capable to send TMCC or Legacy commands, you can just about do anything from the Arduino - you imagination becomes the limit.

My personal interest has to do with the DZ2500 switch machines, and making a central switch control panel. I am running DZ2500s by there serial capability, thus the Arduino could send commands to the switches. I was hoping to use the capability of the DZ2500 via its serial where you send a switch set address command to a switch (the switch set address sent is the address that the switch was set to during layout set up), and the switch will return FFFF for one direction, 0000 for the other direction. For example, one switch on my layout is set to address 20. If I send a switch set address command containing the address 20, the switch 20 will return FFFF for one direction, 0000 for the other direction.

Someone recently posted a sketch for controlling TMCC signaling. The sketch included two libraries. 1) TMCC Comm and 2) SoftwareSerial Class. The link that was posted seems to be a dead end for me. I can't find either of these in the Arduino Library. I must be doing something wrong, but can't figure out what it is. Need a bit of help. THANKS

@richs09 posted:

This is an interesting discussion, but I'm not clear on what role the Arduino is playing (at the risk of asking a stupid question...) - where does it "sit" in the operator - locomotive communications scheme?  In an 'ordinary' TMCC scheme, the operator has a handheld controller, which communicates 'wirelessly' with the TMCC controller, which then communicates with the loco.  Does the Arduino talk with TMCC controller or does it eliminate the TMCC controller by sitting in the loco/tender and talk directly to the TMCC board in the loco/tender?  In the latter case, then presumably one can talk with the Arduino via bluetooth and a phone app?

The straightforward role is to have a single Arduino talk to the Command Base via the serial port, and let the Command Base communicate with locomotives, switches, accessories, etc. I have used that approach to create a complex signaling and automated train control system that you can find here.

One could theoretically install small Arduinos into locomotives, but if you're starting with command control locomotives I'm not sure what the advantage would be over having your Arduino use the existing TMCC communication infrastructure.

I did create an Arduino-based board to install in operating cars (sort of a replacement for the ERR Mini Commander), but used a master Arduino node connected to the Command Base to read TMCC commands and transmit them over a radio link to nodes installed in the operating cars (documented here).

Hi David - replying to your post on this thread, but continuing here to keep everything in one place.

Let's take this one step at a time.  First let's see if we can successfully compile the two zip files I posted above. (Apologies if this seems elementary, but I'm not sure where the hangups are).

When you expand each zip file you should get a folder. The TMCC_Snippets folder should go on your computer at Documents/Arduino/ (hopefully you already have this folder).  The ByteBuffer2 folder is a library, so it should go in Documents/Arduino/libraries.

Now go to the TMCC_Snippets folder and open the TMCC_snippets.ino file.  Hopefully that should launch the Arduino IDE, and you should get a sketch with three tabs.  Can you compile that sketch?



Second, let's make sure you have a working serial connection to the Command Base. Here is a simple echo program.  It assumes you have your Arduino serial monitor connected to Serial, and your RS232 converter from the Command Base connected to the Mega Serial1 TX and RX pins (you can use Serial2 or Serial3 as well).

#define TMCCPort Serial1

void setup() {
Serial.begin(115200);
Serial.println("Echo starting");
TMCCPort.begin(9600);
}

void loop() {
if (TMCCPort.available()) {
Serial.print(TMCCPort.read(), HEX);
Serial.print(" ");
}
}

Run this program and use your Legacy CAB remote to send some TMCC commands (doesn't matter what they are).  Do you see commands being echoed to your computer screen?  If they are TMCC commands they should be in the form of three bytes,  FE XX XX.

Hi David - replying to your post on this thread, but continuing here to keep everything in one place.

Let's take this one step at a time.  First let's see if we can successfully compile the two zip files I posted above. (Apologies if this seems elementary, but I'm not sure where the hangups are).

When you expand each zip file you should get a folder. The TMCC_Snippets folder should go on your computer at Documents/Arduino/ (hopefully you already have this folder).  The ByteBuffer2 folder is a library, so it should go in Documents/Arduino/libraries.

Now go to the TMCC_Snippets folder and open the TMCC_snippets.ino file.  Hopefully that should launch the Arduino IDE, and you should get a sketch with three tabs.  Can you compile that sketch?



Second, let's make sure you have a working serial connection to the Command Base. Here is a simple echo program.  It assumes you have your Arduino serial monitor connected to Serial, and your RS232 converter from the Command Base connected to the Mega Serial1 TX and RX pins (you can use Serial2 or Serial3 as well).

#define TMCCPort Serial1

void setup() {
Serial.begin(115200);
Serial.println("Echo starting");
TMCCPort.begin(9600);
}

void loop() {
if (TMCCPort.available()) {
Serial.print(TMCCPort.read(), HEX);
Serial.print(" ");
}
}

Run this program and use your Legacy CAB remote to send some TMCC commands (doesn't matter what they are).  Do you see commands being echoed to your computer screen?  If they are TMCC commands they should be in the form of three bytes,  FE XX XX.

THANK YOU!

I have now compiled the code. I won't be able to connect to the TMCC until at least tomorrow and it might be Friday. The TMCC is in the "Train Room" and I need to finish making the connections which should take less than an hour. But unfortunately for me I am on and off busy until about 3PM (EDT) tomorrow.

Will let you know.  Again thank you.

Glad it worked!

If the TMCC receive test is successful, you can try transmitting a very simple 3-byte TMCC command - the emergency stop command (FE FF FF).  Get something running on your layout, then run this program (again assuming the serial adapter is connected to Serial1:

#define TMCCPort Serial1

void setup() {
Serial.begin(115200);
Serial.println("E-stop test starting");
TMCCPort.begin(9600);

TMCCPort.write(0xFE);
TMCCPort.write(0xFF);
TMCCPort.write(0xFF);

}

void loop() {

}


If successful everything TMCC on the layout should shut down.

Glad it worked!

If the TMCC receive test is successful, you can try transmitting a very simple 3-byte TMCC command - the emergency stop command (FE FF FF).  Get something running on your layout, then run this program (again assuming the serial adapter is connected to Serial1:

#define TMCCPort Serial1

void setup() {
Serial.begin(115200);
Serial.println("E-stop test starting");
TMCCPort.begin(9600);

TMCCPort.write(0xFE);
TMCCPort.write(0xFF);
TMCCPort.write(0xFF);

}

void loop() {

}


If successful everything TMCC on the layout should shut down.

Professor, I am not getting a response from the TMCC when I run the sketch shown on the attachment.  I am using a Mego 2560 with Rx1(pin 19), Tx1(pin 18). Any suggestions? I have one end of the cable (both ends female) plugged into the TMCC base and the other end plugged into a SparkFun adapter. 5 volts and ground from the Mego is on the Vcc and End pins of the adapter and the Tx-o and Rx-i from the adapter connected to pins 19 and 18, respectively. I'm assuming TX-o means this is the Tx from the TMCC so I connected it to the Rx of the Arduino. I have tried reversing the Tx and Rx connections to no avail. I am hoping I made a sketch error because I believe the connections are okay.

Again, Thank you

Attachments

Hi David - when you say you got no response from the TMCC, does that mean you saw nothing at all on your serial monitor window (other than "Echo starting") when you fiddled with the CAB remote?

I'd definitely try the simple echo sketch first, without trying to merge it with the TMCC_snippets sketch. That said, it appears the merged sketch should echo commands from the base, and your connections appear correct.

First possibility:  do you have Legacy, or TMCC?  The Sparkfun adapter appears to use some ghetto transistor circuit rather than a true MAX232, and since it lacks charge pumps it may need to steal power from the RS232 transmit line.

In particular, I think the TMCC command base does not provide real RS232 voltages (+/- 12V) at the serial port, using 5v and 0v instead. It's possible you need a real MAX232-based adapter rather than the Sparkfun transistor-based device. I've talked to both Legacy and TMCC command bases with the Arduino, but I've only used MAX232-based converter circuits.

Second possibility: RS232 patch cables are notorious for switching the RX and TX lines when you don't think they're doing it.  See, e.g., here.  

Hi David - when you say you got no response from the TMCC, does that mean you saw nothing at all on your serial monitor window (other than "Echo starting") when you fiddled with the CAB remote?

I'd definitely try the simple echo sketch first, without trying to merge it with the TMCC_snippets sketch. That said, it appears the merged sketch should echo commands from the base, and your connections appear correct.

First possibility:  do you have Legacy, or TMCC?  The Sparkfun adapter appears to use some ghetto transistor circuit rather than a true MAX232, and since it lacks charge pumps it may need to steal power from the RS232 transmit line.

In particular, I think the TMCC command base does not provide real RS232 voltages (+/- 12V) at the serial port, using 5v and 0v instead. It's possible you need a real MAX232-based adapter rather than the Sparkfun transistor-based device. I've talked to both Legacy and TMCC command bases with the Arduino, but I've only used MAX232-based converter circuits.

Second possibility: RS232 patch cables are notorious for switching the RX and TX lines when you don't think they're doing it.  See, e.g., here.  

Hi Professor:

I finally received the new Max RS232 converter and using the original sketch you sent the screen still doesn't show any response when I blow the whistle or ring the bell using the hand-held controller. I have used both 3.5Volts as well as 5volts. I have reversed the wires on serial Rx1 and Tx1, nothing. I have been trying to compile your "second" sketch and have failed. I have attached a copy of the sketch code as well as the error message from the output. Nothing I do fixes the error message.

You asked if I had Legacy or TMCC. I thought it was TMCC, but the blue controller box has LEGACY printed on top.

Attachments

Hi David I am confused about what you are doing at this point. I am not sure what you are referring to when you say you don't see any response on the screen from the  "original sketch."  Do you mean the simple serial echo I posted above?  If so, exactly what do you see on the serial monitor screen?

The sketch you attached to your last post appears to be part of the serial echo sketch pasted into the TMCC snippets sketch.  It's hard for me to know what's going on if you're mixing them together like that....

It also appears your Arduino software is fairly old (looks like 1.8.3).  It can't hurt to update to the latest release (1.8.15).

Hi David I am confused about what you are doing at this point. I am not sure what you are referring to when you say you don't see any response on the screen from the  "original sketch."  Do you mean the simple serial echo I posted above?  If so, exactly what do you see on the serial monitor screen?

The sketch you attached to your last post appears to be part of the serial echo sketch pasted into the TMCC snippets sketch.  It's hard for me to know what's going on if you're mixing them together like that....

It also appears your Arduino software is fairly old (looks like 1.8.3).  It can't hurt to update to the latest release (1.8.15).

Professor

I thought I copied the sketch (the one in my previous response) directly from what you sent a few days back. Yes I am trying to run the simple serial echo test where I send a command (any command) from the hand-held controller and hopefully something appears on my computer screen. I posted what my screen looks like and when I push a command button on the hand-held nothing changes on the computer screen. I have downloaded the latest Arduino software. Could you please resend me the entire sketch that I need at this point to see if I can establish communications between the Arduino and the Legacy controller?

Thank You

Hi David - the sketch for sending TMCC commands to Base is the "TMCC Snippets" sketch (and the ByteBuffer library) attached as files to this post upthread.

The sketch for reading commands from the Base (serial echo) is just what I've pasted into this post upthread.  You can just copy that text, start a new blank sketch from the Arduino IDE, and paste the text into the new blank sketch.

I think I've missed where you posted the output from the echo sketch.  When you run the echo sketch, do you see the "echo starting" message, but then absolutely nothing else when you fiddle with the remote?

If so, it's time to start low-level hardware tests. I am still wondering about the cable between the Base and your RS232-TTL converter.  In any case, let's start probing voltages.  Can you post some close-up pictures of your converter, and its connection to the Mega?

Hi David - replying to your post on this thread, but continuing here to keep everything in one place.

Let's take this one step at a time.  First let's see if we can successfully compile the two zip files I posted above. (Apologies if this seems elementary, but I'm not sure where the hangups are).

When you expand each zip file you should get a folder. The TMCC_Snippets folder should go on your computer at Documents/Arduino/ (hopefully you already have this folder).  The ByteBuffer2 folder is a library, so it should go in Documents/Arduino/libraries.

Now go to the TMCC_Snippets folder and open the TMCC_snippets.ino file.  Hopefully that should launch the Arduino IDE, and you should get a sketch with three tabs.  Can you compile that sketch?



Second, let's make sure you have a working serial connection to the Command Base. Here is a simple echo program.  It assumes you have your Arduino serial monitor connected to Serial, and your RS232 converter from the Command Base connected to the Mega Serial1 TX and RX pins (you can use Serial2 or Serial3 as well).

#define TMCCPort Serial1

void setup() {
Serial.begin(115200);
Serial.println("Echo starting");
TMCCPort.begin(9600);
}

void loop() {
if (TMCCPort.available()) {
Serial.print(TMCCPort.read(), HEX);
Serial.print(" ");
}
}

Run this program and use your Legacy CAB remote to send some TMCC commands (doesn't matter what they are).  Do you see commands being echoed to your computer screen?  If they are TMCC commands they should be in the form of three bytes,  FE XX XX.

I have attached a few pictures. I finally got my serial port to at least acknowledge the connection to the Mega. I don't know where the 0's came from. They appear when I press the Mega reset. Nothing happens when I make the train horn sound by using the hand-held controller. I have tried reversing the Tx1 and Rx1 at the Mega and I tried using the Tx0, Rx0 (without changing the sketch). I get nothing further on the screen. I disconnected the Rx and Tx leads from the Mega and measured voltage to ground. On the Tx lead from the MAX reading is 0.5v and the Rx reading is 3.3v. I have the MAX connected to the 3.5 volt pin. When I connect the Tx and Rx to the Mega the readings are: Tx = 5v, Rx =3.3v. When I reverse the Tx and Rx leads the readings become Tx = 0.5v and Rx= 5.  I am wondering if there is something I need do to make the RS232 at the CAB-1 work, but I didn't see anything in the manual about the RS232 physical operation. I hope you can find what I am doing wrong.

Attachments

Images (4)
  • COMPUTER SCREEN
  • MAX Connections
  • MAX 232
  • MEGA

Thanks for the pictures.  

Really simple stuff first. The picture of the RS-232 - TTL converter shows a yellow and an orange wire emerging from GND and VCC.  Are those connected to the Mega?  The picture of the Mega shows a black and red wire connected to GND and VCC.

The voltages I'm curious about are those coming out of the command base.  I think they can be probed on the underside of your converter. With the converter connected to the command base, can you measure the voltage between pin 5 and pin 2, and between pin 5 and pin 3?  From what I can see on the internets pin 5 on your converter should be distinguished by a square solder pad.

And of course if everything is connected correctly, you should have continuity between pin 5 and your Mega GND.

Yellow is connected the black and orange is connected to red. Thanks for checking. Assuming Pin 5 is the square solder pad, then the voltage between Pin 5 and Pin 2 and between Pin 5 and Pin 3 are both in the range of 2.0 MV DC and 0.3 Volts AC. They don't appear to change when I blow the train horn. I made the measurements with the MAX connected to both the Legacy Cab-1 RS232 and to the powered-on Mega.

@Professor Chaos -

I have include a modified pic from the Legacy User manual that shows how I think the attachment between Arduino, Legacy Base, and a Lionel SER2 is accomplished. Would like to know if this is correct.

Second, I believe in this interconnection, the Tx of the Arduino and SER2 are connected together, then to the Rx of the Base. So if this correct, does the Base "echo" a serial command from Arduino to SER2? i.e.. does the Base receive the serial command from Arduino, then retransmit out so the SER2 would see the command. Example, I have DZ2500 switch machines connected to the SER2. I want to send a switch command from Arduino to DZ2500 via SER2. This would require Base to receive then retransmit switch command.

Arduino to Legacy Base

Attachments

Images (1)
  • Arduino to Legacy Base

Thanks for the pictures.  

Really simple stuff first. The picture of the RS-232 - TTL converter shows a yellow and an orange wire emerging from GND and VCC.  Are those connected to the Mega?  The picture of the Mega shows a black and red wire connected to GND and VCC.

The voltages I'm curious about are those coming out of the command base.  I think they can be probed on the underside of your converter. With the converter connected to the command base, can you measure the voltage between pin 5 and pin 2, and between pin 5 and pin 3?  From what I can see on the internets pin 5 on your converter should be distinguished by a square solder pad.

And of course if everything is connected correctly, you should have continuity between pin 5 and your Mega GND.

In addition to the voltages I sent a day or so ago that I took with the MAX converter in place, I disconnected the RS232 from the MAX and took measurements directly from the female end of the RS232 connector. The only significant voltage I found was +5V between pins 5 and 9. I then checked the DC voltage between Pin 5 and 3. When I pressed the 'Horn" button on the controller the reading went from 0.0 to 70mv while the horn was depressed.

@Patentguy posted:

In addition to the voltages I sent a day or so ago that I took with the MAX converter in place, I disconnected the RS232 from the MAX and took measurements directly from the female end of the RS232 connector. The only significant voltage I found was +5V between pins 5 and 9. I then checked the DC voltage between Pin 5 and 3. When I pressed the 'Horn" button on the controller the reading went from 0.0 to 70mv while the horn was depressed.

Hi David -

If you have a Legacy base, the voltage between pins 5 and 3 should be about -7.5 VDC (I just checked on mine).  (True RS232 signaling holds the TX line at a negative voltage when idle.)

I am not sure where to go from here... there could be an issue with the cable you are using to connect to the Legacy base, as I mentioned above.

Do you have the Legacy Y-cable that came with your command base, or a SER2 module?  You could try the serial connector on one of those, but you ought to be able to read commands at least direct from the base,

Last edited by Professor Chaos
@MED posted:

@Professor Chaos -

I have include a modified pic from the Legacy User manual that shows how I think the attachment between Arduino, Legacy Base, and a Lionel SER2 is accomplished. Would like to know if this is correct.

Second, I believe in this interconnection, the Tx of the Arduino and SER2 are connected together, then to the Rx of the Base. So if this correct, does the Base "echo" a serial command from Arduino to SER2? i.e.. does the Base receive the serial command from Arduino, then retransmit out so the SER2 would see the command. Example, I have DZ2500 switch machines connected to the SER2. I want to send a switch command from Arduino to DZ2500 via SER2. This would require Base to receive then retransmit switch command.

Arduino to Legacy Base

Hi MED -

The illustration you posted depicts the use of the Legacy Y-cable, which allows the TMCC command base to send serial commands into the Legacy base.  I take it you're proposing to connect an Arduino instead of the TMCC Command Base to the Y-cable.

If you have a SER2 on the Legacy PDI bus, then yes I think the Legacy Command Base should echo serial commands received from the "Command Base" end of the Y-cable on the PDI bus. So if you have a DZ-2001 plugged into the SER2, your DZ-2500 switches should get the Arduino commands.  You would need the Y-cable along with the Legacy DB9 cable connected as shown on p. 9 of the SER2 manual.

I think the Y-cable is receive only from the "Command Base" end, so you would not be able to receive serial commands from the Legacy base with the Arduino in that configuration.

However, if you already have a SER2 connected, you might be able connect the Arduino to the screw terminals on your SER2 if they are free. Because the DZ-2001 only uses the serial output and not the serial input it might work, even though the manual says you can't use the INP screw terminal if something is connected to the SER2 DB9 port.

My configuration is like this:

Legacy Base

    |

SER2 --- DZ-2001 --- MTH TIU

    |

SER2 --- Arduino (via screw terminals)

The switches receive commands from the Arduino because the SER2 passes the commands down the Legacy PDI bus.

This was an old thread, however Professor Chaos, PatentGuy, Med, what happened? Did PatentGuy get the arduino to talk/command the base and blow a whistle? What was the issue? How was it resolved? Enquiring minds want to know...  Thanks and Thanks for such good technical information. I did get side tracked with Professor Chaos Moterino project. That will get me in trouble, as now I have to explore this road also! And I haven't gotten the layout wiring finalized where both MTH and Lionel are happy together, at least I have gotten some great info to work with.

Last edited by Aegis21

Add Reply

Post
×
×
×
×
Link copied to your clipboard.
×
×