Ok, what is a protocol converter, and why do I need one? Well, a CANaerospace frame is defined as an 8-byte message with the first four (4) bytes comprising the header and the remaining four (4) bytes as Message Data which is type-specific (see diagrams). The codes for the header fields are listed in a book by NASA  AGATE data bus / Michael Stock Slight Systems, Interface Specifications for Airborne CAN Applications or a good overview in a slide show presentation.

Since the two services share the 7 layer ISO model moving data from and to the CANaerospace bus from Ethernet should be a straightforward task. There will be 4 parts to the program on an Arduino Mega 256,  Ethernet client/server, and the CANaerospace client/server. For testing, I have loaded a web server program on the Arduino and see if I can get that to work. First using caned values, and then using values from the debug console, and finally getting info off the CANaerospace Bus itself.  The Protocol Converter is built into my Type 3 ATR boxes and they have been sprayed Black on the front surface. My ATR boxes are color-coded. There are a few pictures of my ATR Protocol Converter.

The top is held in place with two 6-32 x 3/8 screws, and I have not yet wired the CAN bus module or the RJ-45 jack for the CAN interface. Please notice the mount for the Arduino is 3D printed but can be picked up on eBay for about $5.00. The trade-off is A: do you have a 3D printer or have access to one, and how much filament will it use vs just buying one from eBay.  And I still have to modify them by removing the front lip. There is also a DIN-5 jack on the back wall for power.




  1. 5 Vdc
  2. Unassigned
  3. Ground
  4. 12 Vdc
  5. 24 Vdc