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

OkkieNext4x4 is available!

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 detection print like OKKIE or OKKIENext

ArLoco shield (DIY kit)

  • 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 (€5,50)
and Okkie (€5,95)  here.
Contains print and components.


OkkieNext4x4 (new!)


The OkkieNext4x4 is a current detection module with 16 inputs for 16 track sections and 16 outputs for connection with a detection encoder like the Arcomora ArLoco module.
The inputs and outputs are electrically separated by optocouplers.

The OkkieNext4x4 has 4 groups with each 4 inputs and a common input.
In that way you have 4 independent groups for current detection.
By placing jumpers the groups can be combined to form groups of 4, 8, 12 or 16 inputs.


  • Current detection print for 4 x 4 track sections
  • 16 Screw terminals for input from track sections
  • 16 Screw terminals for output to ArLoco shield
    OR 16 Dupont pins
  • GND screw terminal
  • 4 Screw terminals for Common track. Each for 4 sections
  • By using jumper you can create groups of 4, 8, 12 or 16 inputs.
  • Delivered as SMD-print; you only need to solder the IC’s, resistor array’s and the terminals.
  • Designed for use in a box. Box can be ordered separately.

Price: €13,50


Typical Application



88 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.


  27. Hi, I am looking to get some Okkies and I am interested about what is different in the new version. Is it just the number of channels? Do both have the same voltage drop (due to the bridge diodes)? Can both of them be used at the same time?

    Thanks for the clarifications!

    1. The OkkieNext is the same as 2 single Okkies on a single pcb. They are used in exactly in the same way as an Okkie. So you can use them together

  28. Hi Nico,
    My project is a N scale layout DCC powered by an ECOS.
    I’m interested in your detection system, wonderful job from you …
    Some part of the layout will be switched between DCC and conventional DC for analog locomotives to run. I’ve read above that your OKKIE should work also with DC, I will try.
    Some questions:
    1/ It’s sayed that a train controller software is necessary. Given that my ECOS will be able to indicate the occupied sectors through a converter (Loconet to ESU ECOS), is it correct I don’t need a train controller software with ArLoCo and OKKIE ?
    2/ Will the converter fromESU able to translate the occupancy messages from ArLoCo?
    2/ Wy did you put a 4k7 resistor on your OKKIE schematic ? I saw numerous times the same schematic without that one. Is any specific role ?
    Thank’s for your support

    1. 1/ Can you program an ECOS to react on an occupy detection? I don’t think so. The ECOS will forward the occupation to the computer. The computer can react by e.g. stopping a train to prevent collision.
      2/ YES
      3/ The most Schemas I found on Internet do have the 4k7 resistor.

  29. Many thanks for the prompt delivery of my OkkieNext devices, as always, the build was simple and straight forward.

    My plan is to move away from Loconet and use DCC-EX (controlled by itrain). My idea was to use the Okkienext devices for block detection but cannot find a wiring diagram for this setup (ie not using an ARLoco device). Is this use a possibility? or am I barking up the wrong tree? (might have been worth me asking this question before buying the devices but that’s my bad not yours!)

    1. It’s amazing what goes through your mind in the dead of night! having reviewed all documentation I could find I have worked out the wiring. I know you have probably said this many times, but it dawned on me the Okkienext is just a passive device that monitors current. Therefore connect one output from the DCC++ Arduino to the “common track”, connect the other output to the “common” on the Okkienext and then connect the other track to the sensor port.

      So simple once you “get it”.

      I then configured DCC-EX to read the sensor as a Pullup and pow! works a treat! my problem with the Digitrax Loconet route was that there was such a lag on reading block sensors it was causing issues with automation. The responsiveness when using the Okkienext is lightning fast.

      It also means that I can position multiple Okkienext devices around the layout and thus simplify the wiring. Onwards to the next unforeseen issue (I am sure it will be just around the corner!)

      Have a great Christmas Nico and thanks for another excellent product.

      1. And here is the unexpected problem. I have connected my second OkkieNext onto the layout. it worked for the first 10 minutes and then today, when I turn everything on the device is ‘dead’.

        To make sure it wasn’t wiring, I disconnected everything from the device except the power feed and the ground. When testing the circuit between the common and the “negative” track I see as 10.7 V a/c/ (as expected). However when I check between ground and one of the sensor outputs I see no voltage (as the track is disconnected everything should be registering unoccupied). on the working unit I see a voltage if the block is unoccupied (4.78v) and almost no voltage for an unoccupied block (0.07v).

        Do I conclude the new unit has suffered a failure? always find new devices (from all manufacturers) either fail fast or work forever! If so, are there any other tests I can perform or do I just need a new device?

        1. Hi Nico,
          Once again, thanks for your quick response to my query. The great news is that the OkkieNext is operating just fine and it was my interpretation of how to connect the second device that was wrong (and my perception it ever worked is questionable!).

          To give some context, the idea was to extend my current configuration (where an OkkieNext is delivering high speed block detection when connected directly to an Arduino Mega running Dcc-EX) to an area of the layout some 2.5 metres from the first OkkieNext. This would avoid having long wires running all over the place and keep things neat and easy to manage.

          My idea was to use an I2C hub from DFRobot to do this. ie connect the OkkieNext sensor outputs to the I2C hub and just have an I2C bus running back to the DCC-EX Arduino. What I hadn’t appreciated was the importance of the onboard pull-up sensors the Arduino provides (despite your clear instructions). There may have been a way around this but it was beyond my limited skills.

          I have now installed a second Arduino mega connected to the second OkkieNext, on the other side of the layout running EX-IOExpander and then connected the two Arduino’s using the I2C bus. This works perfectly.

          The combination of DCC-EX and your Okkienext devices perform significantly better than my old Digitrax solution at a fraction of the cost. I will be back for more soon!

  30. Bonjour, peut on mélanger Arloco avec d’autres systèmes de rétrosignalisation ? (ex: Digikeijs DR 4088 LN-CS)

  31. Nico, for the Arloco shield external power supply, is it ok to provide voltage above 12vDC? I the manual page 10 diagram shows 7-12vDC. Page 12, testing 12-18v AC/DC. I like to provide 12.5vDC as external power for regular operations?
    Thank you

  32. Bonjour, je souhaite pouvoir utiliser 58 capteurs de rétrosignalisation. Il faut combien okkiesnext reliées à une carte Mega2560 ? Merci.

  33. Hi Nico,
    What’s the model number of the original RJ11 connector (like the one in the picture above)? I need to purchase few as they better suit my installation.
    Thank you

    1. It is a RJ12 (6p6c) connector.
      I do have them in stock. Use the order form if you want some.


  34. How to debug LOCONET?

    I have hooked up my ArLoco to my DR5000 and while II can see the detection messages in the putty output. Nothing shows up on the digikeijs unit over Loconet. I have tested before with DR4088LN-CS to verify the loconet bus works on the DR5000.

    I have the ArLoco shield on a Medga256 so I have a large numer of ports. And I did setup the unit to start counting ports from 201 onwards but nothing shows up on the DR5000.

    Is there a way to determine if the loconet bus is setup correctly on the ArLoco shield?

    Any other suggestions to troubleshoot this?

Leave a Reply

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