User Tools

Site Tools


CAN-GC2 Universal 16 port I/O node for CANBUS


Copyright Peter Giling

The CAN-GC2 is an alternative to the MGV50 with the same capabilities running on the CANBUS open source CAN standard.
the CAN-GC2 can be mixed with MGV50 units on the same cable, but of course need different computer interfaces.
The also available CAN-GC3 will bring a complete solution for DCC Model Railroading in DIY.
The CAN-GC1 connects the computer with the CAN bus. All the well known MGV*/GCA* satellite boards are compatible with the CAN-GC2.
CANBUS runs on 125 KBd.

The pcboard

A jumper makes it possible to set terminator on the last board in the CANBUS chain.
This jumper connects a 120 Ohm resistor to the CANBUS.
White connectors at the back are compatible with all GCA(MGV)xx interfaces.
These interfaces are all electrical isolated from CANBUS by optocouplers.
Power, as available in CANBUS-cable, is only used for supply of CANBUS board itself.
As a standard recommandation for all CAN systems, connection and disconnection of cables is not possible while system is running.
Using this cheap and rigid d-type connector with locking screws will avoid that connectors drop off accidently.

The hardware

Actual version (green pc-board)

N.B. Only complete ordered kits will be supported!

Previous version (blue pc-board)


  • For connection with interfaces, see instructions in propriate interface.
  • Attention: Port 1..8 are located on J4 and Port 9..16 are located on J3

Led functions

L1* L2 L3*
Can bus activity Programming activated Unit running

* leds are blinking

PB1 functions

PB1 Function
After power on Switch to learn mode for setting a node number. A second push will leave this mode.

Port connectors

Connector J4 10pin header

LocoIO port Pin #
+5V 1
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 10

Connector J3 10pin header

LocoIO port Pin #
+5V 1
9 3
10 4
11 5
12 6
13 7
14 8
15 9
16 10

Direct connection of leds to outputs

Reed switches and hall sensors

Read switches and hall sensors can be used as feed-back sensors.
However, since the contact information inside the CAN-GC2 is arranged so that the unit is
low sensitive for distorsions, the minimum Pulse lenght to be accepted by CAN-GC2 is 20 miliSeconds (0.02 second).
In addition to that, reed-contacts usually give more than 1 pulse when activated, known as 'contact dender'.
For this way of sensoring, a special pulse-extender is available. See Hall sensor and reed switch unit

Hardware for CAN-GC2

Boards, programmed processors and complete kits are available from
With a proper tool, it is possible to do the programming of the chip yourself.
The programmer , used for these chips is called PICKIT3 from Microchip.
The on-board ICSP connector is useable for this programmer.



Hold down the button at power on to reset/initialize the EEPROM with following settings:

  • port 1-8 switch with address 1-8
  • port 9-16 block with address 9-16

The same can be achieved by sending a Clear command.


Set the first found change. This button must be pushed multiple if more then one port or setting is changed.
The sequence of change check is:

  1. Ports
  2. Node configuration
  3. SoD

Set all

Set all ports and options.

Save output state

Write the output state in EEPROM after detecting a power off command on the CANBUS.
The outputs will be restored after the CAN-GC2 is powered on.

Short events

Ignore the event node number and compare the event number only.

Long events

For long events the BUS variable on the interface tab of sensors, switches and other objects is used to address the module its node number.
The address variable is equal to the one used with short events.


"Start of Day"
The CAN-GC2 will report the status of every input after receiving an accessory command with this address. (Short event)
The SoD address should be the same as set for the Controller and can be tested with the SoD button.


If 'All' is not set, only high inputs will be reported at SoD.

Node Nr.

For outputs with long events only.
Inputs will use the CAN-GC2 node number for events.

Port types

Type Description Recommendation
IN Input Normal input port. Push buttons, feedback of servos/points and hall sensors.
BK Block Input with a 2 seconds delayed off. (±50ms) Occupancy detectors.
SW Switch Continuous output. Single coil switch drivers like servos.
PU Pulse Output with x ms activation time. (±50ms) Note: A software timed off is not possible with CANBUS; It is realized in the hardware.

Pulse time

Activation time for pulse type outputs.


Inverts the port.


Every port has a test button in which also the current state is displayed as a "1" or "0".
The state is only updated after pushing a test button.


Shows the Rocrail object ID which is linked to this port.


The information of the LEDs is explained on the firmware page: LEDs

Node Variables

NV# Purpose
1 General configuration
2…17 Port configuration
can-gca2-en.txt · Last modified: 2021/07/24 10:35 by rjversluis