À cette page en Français, veuillez cliquer ici.

ArLoco 3.1 is released!

  • In 3.1 are some bugs fixed.
  • Now you can assign an individual address to each input outside the range of the ArLoco based on the base address.
  • An input can be ‘inverted’. Until now an input was set to occupied on a low signal. With inversion an input can also be set to occupied on a high signal. This is usefull for optical detection where a train crosses a light beam instead of reflecting it.

NOTE: because the storage of the configuration in EEPROM is changed Arsigdec must be reconfigured after updating from version 2.

What is ArLoco

The ArLoco is a 16(UNO) or 58(MEGA2560) channel feed back encoder with LocoNet®.
It uses a special Arduino shield that includes 16 inputs for channels, a power supply for the Arduino and two RJ12 connectors for LocoNet.
On a MEGA the normal MEGA pins must be used for sensors 17-58.


The ArLoco program has the following features:

  • 16 Channel, low or high active, feedback input
  • Use of a maximum of 256 addresses. So for each ArLoco you have to specify the required address range (1-16, 17-32,…, 241-256).
  • Each input can have its own address.
  • Optimised for both pulse detection (like reedswitch) and continuous detection (like current detection).
  • Simple configuration with your PC. So no complex CV-programming!
  • Powered by LocoNet or external power (12-16 V AC/DC)
  • Supports LocoNet-T and LocoNet-B
  • Each channel can be configured for pulse or continuous detection. (Channel 1 only for pulse)
  • Continuous detection:
    • Prevention of fake detection caused by spikes
    • Prevention of fake detection caused by short current outage
    • Ideal in combination with current detection print OKKIE
  • Pulse detection:
    • Generates a fixed length pulse of 1 second.
    • Eleminates contact bouncing
    • Prevention of a double pulse when driving slowly
    • Ideal for use with reedswitches.

What do you need?

  • An Arduino UNO microcomputer
  • An ArLoco shield (see picture above)
  • A Command station that supports LocoNet  (E.g. Intellibox, Daisy II, DR5000)
    or a LocoNet buffer.
  • A computer with train control software (E.g. iTrain or Traincontroller)
  • Optional: a current dectection print like OKKIE

ArLoco shield

  • Two LocoNet RJ12 connectors
  • Includes power for the Arduino. Powered by LocoNet or external power
  • 16 Screw terminals for 16 sensors
  • 2 Screw terminals for GND (ground)
  • 2 Screw terminals for external power
  • Power led
  • Status led



  • Current detection print for 8 track sections
  • 8 Screw terminals for input from tracksections
  • 8 Screw terminals for output to ArLoco shield
  • GND screw terminal
  • Screw terminal for Common track

You can order the Arloco shield and Okkie (print + components) here

Typical Application



69 thoughts on “ArLoco”

  1. This went together very easily thanks to following the clear instructions. I’m using it along-side some Digitrax BDL16 units. Make sure that the number you assign it doesn’t duplicate a number assigned to a BDL16 as it won’t be recognised. This may seem obvious, but wasn’t to me initially.

  2. Just a question: does the okkie also work/report to a dcc++ arduino or to jmri?

    1. Okkie is just a passive electronic circuit and thefore not related to any software product. The output voltage of an Okkie drops to zero if a current is detected on the input. It must be connected to a device(like an Arduino) that holds the Okkie output at 5 V by a pull up resistor.
      The ArLoco shield and sketch ‘produces a LocoNet signal that can be picked by other LocoNet devices. Therefore there is no relation with DCC+ or JMRI.

    2. Beste Nico,
      Waar kan ik voor de Loco Powershield en de Okkie de bouwinstructie vinden? Ik kan soms via de plaatjes afleiden welke weerstanden erin moeten. Echter is het voor mij soms lastig aflezen. Ik heb liever de werlekijke weerstandswaarden. Dan kan ik ze effe nameten zodat ik niet de verkeerde exemplaren monteer.

      1. Hallo André

        Wat dacht je van de ArLoco/Okkie handleiding op de downloadpagina

  3. Hi,
    I’m new to Arduino, I was trying to load your code using the Arduino IDE but was getting an error. Then after doing some google searching, I was told to use version 1.06 and that worked.

    1. Hi John,

      Why did you use thr IDE? You don’t need it. ArLoco is automatically uploaded when you start ArLoco the first time.
      What went wrong?


    1. Hi John,

      What do you want with 16 outputs? It is a feedback encoder and all such encoders have only inputs. Please explain.


  4. Hi,

    First of all, thanks for a nice piece of work!!

    I have one problem those. The software does not recognize the MEGA2560, it thinks it is the UNO. The introduction message is:

    “ARLOCO, the ARduino LocoNet feedback encoder
    UNO version 2.2”

    and it has 1 to 16 sensor inputs.

    I am missing anything?

  5. Hello,

    How is the OKKIE powered, and what is it’s (idle / max) power consumption (or current draw)?

    Won’t the diode bridge design cause a voltage drop of about 1,5v of the track power, causing trains on a track section monitored by OKKIE to run a little slower than on a track section without OKKIE?

  6. Hi Nico,
    The ArCoMoRa generates a DCC signal to Loconet depending on its inputs. I guess the DCC signal would be replicated in the track signal. Would these DCC signals be able to used by the MarDec to activate accessories attached to the MarDec?
    Thanks, Ted

    1. Hi Ted,
      Arcomora generates nothing. It is just a name for a railway automation concept based on an Arduino.
      Mardec and Arsidec are sketches that generates nothing but uses DCC to control accessories attached to the Arduino.
      ArLoco is a sketch that accepts and generates LocoNet signals for occupancy information. The ArLoco shield can use the DCC signal on pins 1 and 6 of the LocoNet cable for powering the ArLoco shield but does not use the information in it.


      1. Hi Nico,
        Sorry, I got the wrong word. My query should have read:
        “The ArLoco generates a DCC signal to Loconet depending on its inputs. I guess the DCC signal would be replicated in the track signal. Would these DCC signals be able to used by the MarDec to activate accessories attached to the MarDec?”
        Cheers, Ted

        1. Ì repeat:
          ArLoco is a sketch that accepts and generates LocoNet signals for occupancy information. The ArLoco shield can use the DCC signal on pins 1 and 6 of the LocoNet cable for powering the ArLoco shield but does not use the information in it.
          ArLoco does certainly does NOT generate DCC signals.


          1. Yep, I think it’s becoming clearer. Thanks for your response.
            Cheers, Ted

  7. Hello Nico,

    What is the threshold for current detection with the Okkie?

    I’m interested in getting some to use but would like to know if its sensitive enough to detect resistive wheels as well as locos?



    1. Hi Joel,
      Just a few mA. is enough. We test Okkie with a 10k resistor as replacement for a loco.
      So your resistive wheels will probably not be a problem

  8. Hello Nico,
    Is there any plan to increase the number of supported loconet addresses for ArLoco? I’m guessing the limitation is perhaps outside of your control but i don’t think 256 addresses wont be enough for my project.



    1. “i don’t think 256 addresses wont be enough for my project.”…

      i meant to say:

      i don’t think 256 addresses WILL be enough for my project.

  9. Hi Joel,

    Currently I have no intention to increase the number of addresses.
    That must be a very large project.
    May be some time in the future.


  10. Hi The current setup for the Arloco works for Loconet Is there any way that the Arloco would work with say a lenz system that uses xpressnet?

    1. Hi Daniel,

      No. The ArLoco is only for LocoNet. XpressNet is a completely different protocol.


      1. Thanks for prompt response. I tried and program says failed to load the sketch.
        Please help how to load it to Pro Mini.

        1. Use the Arduino IDE to upload ArLoco.ino. Set the board type to ProMini and set the correct port number.
          ArLoco.ino can be found in MyDocuments/Arcomora after installing the software (Windows only)
          But I do not support it!

  11. Hello Nico,
    I am building a small layout and running it with DCC++ on Arduino with motorshield and JMRI on Raspberry Pi as the controller.
    The DCC++ Basestation is connected to the JMRI using USB.
    I was looking into the possibilities of JMRI and satellite systems and wondering if the ARLOCO shield can also be used to act as an interface between Loconet and JMRI ? Same as the (usually expensive) Loconet Hub or Buffer used to interface with a PC which acts as a command station using Rocrail or Koploper or JMRI.

    1. Hi Martin,

      The ArLoco can not act as a LocoNet-master.
      So you need another device that can act as LocoNet-master.


  12. Hi Nico,
    I have a Digikeijs DR5000 and use S88N for occupancy detection through DR4088. I have an Arduino that controls Tomytec moving N-scale buses. I like to interface the Arduino to the DR5000 to get some feedback from the buses visible on my iTrain- screen.
    Three simple questions about the ArLoco:
    1) Can I use the DR5000 Loconet port to interface to an ArLoco- Arduino?
    2) I studied the manual. The ArLoco wiring diagrams are confusing to me as the ArLoco print seems completely stand-alone. How is are external contacts wired to the Arduino and subsequently to the ArLoco (or the other way round)?
    3) in my case the Arduino UNO also has to execute my own code and control stop solenoids for the buses. Is there ample Uno CPU time left over to execute my code?

    1. 1) Yes
      2) The ArLoco print is a real Arduino shield. So it must be placed on top of an Arduino UNO or MEGA.
      3) Yes. But do you want to add your own code to the ArLoco sketch or write another sketch?


  13. Hi,
    I just need a hardware interface between the Arduino and the Loconet to send signals from the Arduino to the Digitrax Controller via the Loconet jack. Would this work for that ? I know I can build one, but I was looking for a lazy shortcut, that’s all.

    1. Hi Vibhas,

      What LocoNet signals do you want to send?
      The ArLoco shield is primarily intended for use with the ArLoco program.
      The ArLoco program is designed for train detection; it reacts on a level change at the sensor input.
      But you can always create your own sketch to fulfill your personal needs.


  14. Loco control signals – start, stop, direction, light control, whistle control etc. Not for accessories or decoders.

    Basically I want to use the Arduino to control train movement. I can use a motor shield, but I am afraid that it wont take enough current for more than a couple of locos. So I am thinking that I will use the Arduino to programmatically send Loconet signals to the Command Station (just as a the hand-held throttle would) and utilize the Command Station and Booster’s capability to handle higher current. For that I would need to interface the Arduino to the Command Station / Loconet and hence I am looking for an adapter.

    1. Hi Vibhas,

      For such application the ArLoco shield is NOT what you need.


  15. The manual state that input 1 is impulse only, does it mean that one ARLOCO Shield on UNO and 2 OKKIE gives me only 15 inputs and not 16?

  16. hello

    how to reload the new version of ARLoco version 3.1 on an old one already installed ?
    With arloco putty ? In this case, the uno normally starts and is not not in load state.
    With IDE

    Thank you

  17. Hi

    Would it be possible to have Arloco to report back Railcom information?
    I looking for trainid and direction.


    1. Hi Stefan,

      No that is not possible. You must turn off Railcom when using ArLoco.


      1. Hello Nico
        I have been using your Arloco and Mardec with great success, I have Railcom detectors (Digikeijs) on the layout and the Arloco/Okie detectors. You have stated above to “turn off “ Railcom when using Arloco ? Please explain why.
        Thank you Martin

        1. Hi Martin.
          If you have no problems with Railcom detectors then don’t worry.
          It works for you.
          The problem is merely related to the z21 or Z21.
          I don’t know in detail what the problem is
          Another user had problems with Railcom turned on and his z/Z21.
          When turning of the problem was solved.


          1. Hello Nico
            I forgot to update this thread, I replaced the Z21 with a Digikeijs Dr5000 and it all works. Many thanks for your great products.
            Just a thought is it possible to make a Loconet turnout controller like your Mardec? I have 13 old Arduino’s Nanos running your Mardec software but I get the feeling things would be better on the LocoNet bus not the DCC ?

  18. Hi Nico

    I would like to read the status of points (turnouts) from a 2-way switch underneath. Is there anything to stop me doing that with this board? I guess I’m asking: is there anything in loconet which is different for a ‘general purpose closing contact’ like checking the status of a point, versus checking for track occupancy by a train?


    1. Hi Ed,

      I think there is no fundamental difference between checking a closed reedswitch in a track or any other closed circuit.
      I don’t know how your 2-way switches works but you can try ArLoco for testing the status of the turnout.


  19. Might it be possible to reconfigure the arLoco to work with an NCE CabBus system?

  20. Hi Nico

    Sometimes the board after power up comes up in “Edit” mode instead of “Normal”
    mode. Even if we restart the board with “Reset” button it comed up in “Edit” mode.
    To fix it we need to connect a computer and manually set it in “normal” mode.

    Have seen this before?


    1. Hi Stefan,
      I have heard that problem with Arsigdec, not with ArLoco.
      I have no explanation for it.
      You say ‘sometimes’. Therefore I guess that a single bit in EEPROM is toggled.


      1. Hi Nico

        We have a teory. I could maybe be the power supply. We have 5 V from a central supply and then distributed to all the card on the same modul (240 x 120 cm).
        I have changed it now and we are now using the 5 volt regulator on the Nano board. So the board gets 12 V frpm tyhe central power supply. It will then have 5 volt and not something between 4-5 volt depending how long the wires are.


  21. Hello,
    I ‘m constructing a small DCC layout but I also have many analogic locomotive. I was wondering if I could use the DC (detaching the DCC central, never DC and DCC together).
    So my question: if I connect the DC to the tracks will I damage the Okkie or the Arloco?
    Thank You.

    1. I guess it will not damage an Okkie and ArLoco. Current detection remains possible. But test it first before applying it to your track.
      But don’t connect DC to an DCCNext. It is useless.


  22. Kan ik de ArLoco gewoon opnemen in mijn bestaande loconet netwerk?
    Als ik hem wil gebruiken als terugmelder (massadetectie) heb ik dan ook een Okkie nodig?

    1. Een ArLoco kan gewoon in je LocoNet netwerk worden opgenomen. Hou wel rekening met de adressering. Voor ArLoco heb je alleen de adressen 1 t/m 256.
      Een Okkie is alleen voor stroomdetectie, niet voor massadetectie.

  23. Nico,

    Ik heb de bestelde Arloco’s inmiddels gebouwd en geïnstalleerd, so far so good.
    Als ik de bezetmelder activeer op mijn baan gaat de desbetreffende melder ook netjes branden. Echter na een aantal seconden gaat hij staan knipperen.
    Ik gebruik massadetectie en hierop staat de Arloco dan ook ingesteld.
    Waar moet ik dit zoeken?

  24. Nico,
    Please correct my thinking if I am wrong- all segmented track is powered via Arloco?

    1. Hi Maciej
      The tracks are always powered by the DCC/Motorola signal generated by the command station.
      An Okkie only detects the presence of a train in a specific section. The ArLoco forwards that to the command station/PC via LocoNet

  25. Hi Nico
    I built a Mega version to use on a push button matrix panel. However when I plug the LNet connector in the unit starts to show random triggering of the inputs? If I just connect the USB and look at the laptop out put everything is fine, a button push gives a message. I have tried using the DR5000 ( shows only a few random inputs) and an ESU LNet adaptor ( goes a bit crazy with 50% of the inputs triggering) any thoughts?

  26. Do I absolutely need iTrain or TrainController, or may I:
    a) run ArLoco with just a DR5000 as the Command Station using the DR5000’s on-screen commands;
    b) run the system with JMRI (with a layout panel) connecting through the DR5000 via loconet to the ArLoco board?

    Thanks, Don

    1. Hi Don,

      With ArLoco you always need a train control program.
      Option A: The DR5000 can show the occupied section but can’t react on it.
      Option B: That will do. JMRI is a train control program and can react on an occupied section.


Leave a Reply

Your email address will not be published. Required fields are marked *