The Uhlenbrock MARCo module (art. 68500) combines Railcom (the EU-Centered Train-ID technology) and Loconet (the US / Digitrax multipurpose bus).

This article is a about a product that does not seem to be manufactured/available anymore.

MARCo stands for “Modulare Automatik für RailCom” (Modular Automatism for RailCom). With it, Uhlenbrock promises to harness the power of Railcom (detecting train IDs), in order to help you automate your layout without a PC.

Well I use a PC, but still could put this module to use. I wanted to see if it delivered the basics: detecting trains and their IDs.

Railcom and Loconet: strange mariage

Loconet and RailCom are respectively US and Europe-centered technologies. They were not designed to work together. Small reminder:

  • Railcom is a Lenz Elektronik GmbH technology, now adopted by most EU manufacturers. It allows  trains to “talk back” to the DCC command station through the tracks. In real life, that means programming on the main, exact detection of which train is in which section… To learn more, read this post
    By the way: Uhlenbrock did not support RailCom until last year, because it had a competing train ID detection technology: “LISSY”. LISSY is an old infrared technology, hard to fit in N-scale anyway.
  • Loconet is a bus (network) designed by Digitrax Inc. It is multipurpose: occupation feedback, train control, accessory control… Uhlenbrock is the only big EU/German manufacturer who has supported Loconet for a long time, through its Intellibox command stations range.

As for me, I use Loconet only for occupation feedback (read this post), and nearly all my locomotive decoders are Railcom compatible

2 reminders about Railcom:

  • Aside from Railcom DCC decoders, it requires either a compatible command station (or booster on the related track sections). That’s because the DCC power sent to the trains must provide the “Railcom cutout”, basically a small pause for the locomotives to have time to answer. If you don’t have that, then the MARCo won’t work on your layout
  • Some functions of Railcom are so called “global functions”: with a Railcom command station (and boosters), you can already program decoders on the main for example.
    The MARCo is something that comes on top of that; it’s a “local” Railcom solution, meaning it brings Train ID recognition on certain track sections (2 for the MARCo).

What does it do?

The MARCo has connectors for 2 track sections, and in a nutshell, it allows:

  • Train ID and direction feedback
    Train ID detection will work with any Railcom decoder, or locomotives with both a standard decoder and an extra Railcom emitter.
    However, to detect the train direction you basically need to use the 2 detection sections of the module, and have the trains run past them (it detects in which order the 2 sections are activated).
  • Programming on the main (POM)
    Any DCC+Railcom command station can already do that, so my understanding is that it allows non-Railcom Command stations to be “upgraded”. For example, someone with a non-Railcom Intellibox can now POM a Railcom locomotive when its standing on a MARCo block.
  • Advanced automation
    The MARCo can send different orders (train functions, accessory control…) when it detects a specific Railcom Locomotive. This allows many automation options, in the spirit developed by Uhlenbrock over the years: adding many small intelligent “bricks” along the layout.

My Loconet is only used for train detection, and it is connected to my PC directly (read this post). I prefer having one “central brain” instead of many small ones. So I will limit this review to the train ID and detection possibilities of the MARCo, which is usage 2) in the graphic below:

The 2 main methods to use the MARCo detector

How do Railcom and Loconet go along?

Lenz (for Railcom) and Digitrax (for Loconet) probably never even talked together, so how could Uhlenbrock bridge the 2 technologies? Bear with me…

Loconet has been built with Train ID detection from the start, because Digitrax also has an in-house Train ID technology called “transponding”. I know nothing about transponding (maybe US train fans could enlighten me), but it seems basically an old-Railcom equivalent for Digitrax fans.
It means a simple thing: in the Loconet protocol, there is already a standard instruction – supported by most Loconet devices – that says: “track N is now occupied by train X”.

So in fact, it doesn’t matter that the MARCo is using a EU-based technology (Railcom) to detect the train ID from the decoder, what matters is that it can transmit the result over a standard Loconet, through a universal Loconet message.
What this also means, is that a computer software that fully supports Digitrax/Loconet – and the Train ID messages – will probably work with the MARCo.

Opening the box

The adapter 68500 (or rather “Empfänger” – Receiver) comes with a Loconet cable. You need to download the manual online as instructions are not included.
Connecting the MARCo is easy; I connected it to one of my train station tracks.

Uhlenbrock MARCo box, Loconet cable included

Uhlenbrock MARCo box, Loconet cable included

Note for Railcom beginners:
You could also get the 68100 MARCo-Set, which includes the same adapter, plus 2 little Railcom emitters. A Railcom emitter is basically a decoder-like device that you “add on” to an existing locomotive: it doesn’t replace the decoder, it is connected in paralell to give your locomotive the Railcom bliss.
Also, each Uhlenbrock Loconet sender has a retail price of €14,95. If you live in Europe, for only €10,95, you could get a Tams “FD-R Basic”. Tams is a small – yet active – manufacturer in Germany. The FD-R Basic is also a Railcom sender, but it also includes – for less money – 2 real DCC functions (e.g. for lights). See here for a description at
Given the size of our engines in N, I just advise to buy Railcom compatible decoders upfront, even if you don’t care for it yet. Nearly all recent German/Austrian decoders  are Railcom compatible (ESU, Lenz, Zimo, Tams…), and the next Uhlenbrock generation will likely also be compatible.

Programming the module

Uhlenbrock Loconet modules are programmed using so-called “Loconet-CVs” or LNCVs (I am using a convoluted way to do this without an Intellibox, which is not within the scope of this post).

See the link at the bottom for the full MARCo user guide. The configuration that I needed in my case was:

  • LNCV 0 & 1:
    Changed the Loconet feedback address for track sections 1 & 2.
  • LNCV 2 (set to 1):
    Tell the MARCo to consider the 2 track sections as independent sections. That means it will only detect the train ID, not its direction. If you were to use the setting “0”, the MARCo would also send the train direction to an Intellibox when a train goes through the 2 sections…I don’t need that. Also, and this is just an assumption, I think Loconet doesn’t recognize “train direction” information natively, so only Uhlenbrock command stations would know what to do with this information.
  • LNCV 15 (set to 2):
    The options are:
  • 0 – means the MARCo will not send any info on the Loconet.
    That’s useful for people who only want the local MARCo to “do Loconet things” when detecting a train (tell other Loconet modules to switch points, activate train functions…). The MARCo doesn’t need to send the Train ID on the Loconet, because it is in charge of the action.
  • 1 – send the occupation message using the Uhlenbrock format
    This is useful for Uhlenbrock afficionados, with this method other Loconet modules from the brand can react (eg there is an Uhlenrbock display that could display a train ID), or you can automate the layout with many MARCo boxes talking together.
  • 2 – send the occupation message using the standard Digitrax format
    Sends Occupation status ON/OFF + Train ID if available, over the Loconet. 

This last setting means the MARCo will send a standard message over Loconet, to whom it may concern…in my case, the PC software (Train Controller Gold 8). But read on, because I discovered this was not the ideal setting.

I (literally) lost hours because of one detail. For some reason, you can only program this module easily if the electric ground of the Loconet is connected with the ground of your booster or DCC command station (I found this info on a German forum page). Otherwise, programming should works, but the MARCo will not confirm the new LNCV values (which is why I thought nothing worked for a while…).


I only wanted to test 2 things about the MARCo:

1) Train ID reporting

My first try was disappointing… I kept putting a Railcom equipped train on the MARCo-watched track section, and my Loconet remained desperately silent.
It’s only after going through the manual about 10 times that I found the solution: with LNCV #15 = 2 it only reports the Train ID if the Railcom train is moving or receiving orders. So I put my train there, had it change direction (not even drive) with my DCC command station, and immediately, the MARCo starting speaking out on the Loconet:

Loconet message with Train ID from the Uhlenbrock MARCo.
In my case, train #70 on track section 125.

The message appears as a standard “transponding” message from Digitrax, so most PC software suites will be able to understand the message.

But, can MARCo still report train ID if the train is stopped (which is the case if you put a new locomotive on the tracks) ? Yes, but Uhlenbrock didn’t make things easy:

To have the MARCo report the train ID even for stopped trains, you need to set LNCV #15 to 3 (and not 2). This setting only appears in the English manual (p73), but not in the original German manual (p77) !!  It is called “Send ÜF Digitrax format with loco address and block occupied”.

2) Section occupation (free/busy) reporting

This seemed simple, but really became a 2-fold problem:

  • Occupation message for Railcom trains
    The Loconet message with Train ID shown above (transponding message) is not an occupation message, it’s just a train ID:  some PC software may not consider the block as occupied.
    After reading the manual again, I realized some additional LNCV configuration was necessary. For an additional “free/busy” order to be sent (in parallel with the Train ID/transponder message), you need to add 32 and 64 to the LNCV #15 value (section 7.6 of the manual). So in my case, LNCV #15 should be 3 + 32 + 64 = 99.
    With this value, the MARCo will send 2 Loconet messages for Railcom trains: one that says “train ID X detected”, and another one that says “Section N is busy”:

Transponding AND occupation status messages.
(train #70 on track section 125)

  • Occupation message for Non-Railcom trains or cars
    The MARCo does not send a “free/busy” info on the Loconet in case it can’t read any Train ID form the train on the tracks. I have tried all settings possible, and it seems this simply doesn’t work. If I didn’t miss the setting, this is very disappointing: no matter how Railcom equipped you are, you still will have Non Railcom locomotives or even driving cars. The fact that the MARCo doesn’t even behave as an ON/OFF occupancy detector for Non-Railcom rolling stock is simply not good.

If you are interested to know how MARCo works with a PC software (in my case TrainController Gold), refer to the other post in the links below.


For people without PC software or without advanced command stations, MARCo offers interesting automation options based on Train IDs. It is a pain to program (the manual has 100 pages with unfriendly LNCVs settings), but surely works well. The question I would ask is: if you want to invest money in X MARCo modules, why not invest the same amount into a good PC software, that will be much powerful and easier to program?

As for simple Train ID reporting over the Loconet, MARCo does the job, using Digitrax’s standard transponding messages. But it seems it will not report any busy/free information for any non Railcom engine or car, which is bad.
Let us be clear though: this is not the use Uhlenbrock is advertising for the MARCo. But if you want to use the MARCo as an “enhanced” occupation detector: forget it, it doesn’t handle simple on/off occupation.

But despite its horrible configuration learning curve, this module costs less than €40. If you already have a Loconet network, it may be a good option. Other Railcom solutions (Tams, Lenz…) require many complicated & pricy devices, because they need a separate Railcom bus; whose protocol may not even be supported yet by your PC software.

Are you using or planning on using the MARCo adapter? Are you in North America and using Railcom? Don’t hesitate to comment below !

Related posts:

External links:

I always try to be fair and square when giving grades, see the details about the evaluation criteria here !

Reminder: I am a hobbyist and these articles only represent my personal views. I am not receiving any compensation, in any form, from the brands or stores mentioned here. The product names, marketing names, and brands mentioned here are the property of their respective owners.