The Hardware

DNode
DNode

The 2.85" x 2.10" PC board is populated with:

  • a Microchip PIC18F46K80 MCU with:
    • 64 Kbytes Program Memory
    • 1,024 Kbytes Data EEPROM
    • 3.6 Kbytes RAM
    • CAN bus controller
    • i/o presented 35 I/O pins (12 A/D Channels and more)
  • MCP2551 CAN bus driver
  • CAN ports
  • Serial/JMRI/Programming Port
  • I2C Port – I/O expansion
  • DCC Opto-Isolated signal input for DCC accessory decoding (needs software)
  • 2kByte I2C EEPROM
  • Blue & Gold buttons & LEDs
  • DCC on CAN bus connector for boosters & Stationary decoder ability
  • 3.3v regulator
  • Arduino compatible "Shield" connectors
  • 5 Servos, 2 can be used for extra Serial Port
  • Dnode alone draws 28mA

The Printed circuit Boards were designed with AutoDesk Eagle program. I had them made by OSHPark. Download PCBoard and schematic files.

The Software

There are two parts (MPLab projects) the node program and the library, DNode_Test and LCBNodeLib. DNode_Test is a beginning point, to be built up or paired down. As the name suggests it also test that the hardware works. It's written to run 2 servos, 4 BODs, 4 BOD test outputs and 3 signals (1 dual head and 2 single head). It uses the OS/CP I/O board for the signals and BOD inputs.

Software parts that need to be worked on
DCC decoder
Grade crossing

Need to do a little updating to the signals as I just saw that JMRI added signal support for oLCB Download DNode_Test and LCBNodeLib files.

JMRI OpenLCB Connection

These are the JMRI connection settings.

System manufacturer: OpenLCB
System connection: CAN via LCC Buffer-USB
Com Port Settings: Baud 57,600
Connection Protocol: OpenLCB

These were my test results for the 'System connection' setting:

  • CAN via TCH ---------------------- doubles characters (no longer supported by JMRI)
  • CAN via GridConnect adapter --- OK!
  • CAN via LCC Buffer-USB ------- OK!!
  • CAN via GridConnect Network - IP TCP/UDP
  • CAN via Lawicell CANUSB ---- NO GO, zip, no data
  • CAN sim --------------------------- No port
  • CAN via MERG CAN-RS ------- some bytes wrong

See Tips for the cable.