D U T Control Harness - D U T C Hess

About the project

With the pandemic forcing us to work in new ways, it is now more important than ever to work smart. Using the RT1020 EVK we can create a DUT Control Harness which can be used to control the power supply of a DUT in a lab, and connect via serial and Ethernet to enable remote access from home.

Project info

Difficulty: Moderate

Platforms: AtmelNXPLinuxArm

Estimated time: 2 weeks

License: MIT license (MIT)

Items used in this project

Hardware components

10A-250VAC, 10A-30VDC, Power Relay Gadgeteer module 10A-250VAC, 10A-30VDC, Power Relay Gadgeteer module x 1
UART (serial) to RS232 Gadgeteer module UART (serial) to RS232 Gadgeteer module x 1
SD/MicroSD 4GB SDHC Card SD/MicroSD 4GB SDHC Card x 1

Software apps and online services

Zephyr OS Zephyr OS

Hand tools and fabrication machines

Soldering Iron Soldering Iron x 1



In the course of developing embedded software for telecoms equipment manufacturers, we are required to interact with a diverse array of prototype routers, switches, and other network hardware.  This equipment currently resides in a lab at our Belfast site which, under normal circumstances, we could easily access.  With the shift to working from home because of the pandemic, our ability to control, configure, and test this hardware has been greatly diminished.

With the advent of this hackathon we have been spurred to design a harness for the Devices Under Test (DUT) to allow use of the lab without having to leave home.  For basic interaction with a typical DUT it requires power (-48V DC/12V DC/110 AC~230 V AC), serial (RS232) (Cisco-style RJ45/DE-9), and a debug Ethernet connection.  DUTs also have several other ports/interfaces (Ethernet, DSL, etc.), I2C/SPI for peripherals and Reset Configuration Word (RCW) programming, and LEDs for indication; some boards also have WiFi and clock connections.

For more complex interaction with the DUT, it is useful to look at power consumption and quality, temperature monitoring and cooling, and LED outputs.


The system is based on Zephyr OS.  We have extended the Zephyr codebase with SD card support for the MIMXRT1020 EVK and we have an out-of-tree driver for the PCT2075 temperature sensor which we plan to add to Zephyr in the future.

As we only had access to one development board, we used QEMU on x86 to allow for multiple developers to work on the project without needing the hardware.

Management Interface

With DUTCHess you can connect and control the DUT using the web GUI, or the CLI accessible over telnet and directly over USB serial. 

Management Functions

  • DUT power can be toggled using any of the management interfaces

  • Temperature monitoring can be viewed on the CLI.

  • Terminal server is accessible via telnet only.  Various telnet ports are provided for different baud rates (extensible in software).

    • Port 21500 - 115200 8N1

    • Port 25700 - 57600 8N1

  • TFTP server - Extensible software architecture for adding new storage devices.  Currently supported:

    • TFTP to SD card - This is used for DUTs to boot from the network.

    • TFTP to I2C EEPROM - Enables flashing of the on-board EEPROM on the DUT with firmware images.

  • Configuration is accessible via any of the management interfaces; the following are supported:

    • IP Address

    • Netmask

    • Gateway

Future Work

Future additions to support more complex scenarios could include:

- SPI breakout

- Store serial configuration in a file on SD card

- GPIO breakout

- Ethernet traffic testing (low rate traffic)

- Active cooling (fan control)

- Power monitoring (current draw, power quality to DUT)

- NTP server

- WiFi (for DUTs with WiFi)

- USB serial host

- DUT LED sensing

- IEEE 1588 grandmaster

- OAM testing (IEEE 802.1ag)

Block Diagram


For more information please see the README on GitHub.


DUT Control Harness (DUTCHess)

The GitHub for the DUTCHess software.


Leave your feedback...