IRIS – Comms galore

The “IRIS” board, named after a Greek messenger god, is the main communications hub for the 2017-2018 Mars Rover project for the OSU Robotics Club. I designed the board to act as the main communication interface for the computer (in this case a Jetson TX2), allowing it to talk to all of the embedded platforms on the Rover. As one of our core design principles for the year was “decentralization”, this resulted in a lot of nodes for us to talk to. For robustness and extensibility, communication with these nodes was implemented using the RS485 physical layer, implementing (largely) the Modbus protocol. This board supports 10 seperate RS-485 channels, some of which implement bussed networks. Additionally, this board also serves some of the basic functions that the computer required, such as voltage rail monitoring and interpreting of the S.BUS data coming from our RC Controller receiver that we use for close-range manual control. These functions were implemented using a MK20DX256VLH7 microcontroller, using the Teensy 3.2 framework (to enable rapid firmware development).

This easily ranks among the most complicated boards I have designed. It’s 4 layers, with a ton of USB-traces running around the board. For more information on the board, see the resources below. This design is completely open source.

Rover Block Diagram showing Iris’s central role.

System Features:

  • Rail voltage monitoring
  • S.BUS Input
  • 10 individual RS485 channels
  • Auxillary multipurpose TTL UART available

Project Resources

System PCB

System Code

Note: Firmware written by Corwin Perren