HX401 Technical Resources

Drivers and Manuals

Product Manual

BIOS Manual

PuTTY Tool


Windows 10 Download (Follow our guide for Installing via Device Manager)

Windows 11 Download (Follow our guide for Installing via Device Manager)

BIOS Updates

Z01-P006A055 – PerformancePerformance BIOS comes standard on HX401 systems, and is tuned for maximum CPU clock speeds.Download
Z01-E006A055 – EfficiencyEfficiency BIOS is tuned for lower touch-temperature at a lower CPU-junction-temperature configuration, resulting in internal thermal controls reducing power and temperature.Download
Update the BIOS with the file(s) above. You can follow this how-to guide for installation instructions.

Microcontroller Updates

Microcontroller VersionChangelogLink
v1.3.1.2– CANbus fixes: Fully reset CAN peripheral when bus is opened, fixes unresponsive interfacesDownload
Download the .BIN firmware file for your system above. Follow this guide to update the Microcontroller on your system.

Frequently Asked Questions (FAQ)

How do I Enable/Disable auto power on?

Enter the BIOS by pressing Delete while the system is booting, then navigate to Advanced > PCH-IO Configuration > State After G3
Select S0 to enable auto power on
Select S5 to disable auto power on

How much power does the system draw?

The maximum sustained power draw of the HX401 is approximately 60 watts, with short duration TurboBoost draw of up to 120 watts with high CPU load. Stress testing data is available in the Product Manual, and shows the average power draw for different configurations.
These numbers are estimates and the power supply selected should also account for overhead.

How to configure Serial port for RS232/422/485

The BIOS controls the serial port configurations. Go to the following BIOS settings to adjust the power options and communication types. Access the BIOS by repeatedly pressing DEL at boot up.

To select the communication type you want, navigate to:
Setup Utility–> Advanced –> NCT5525D –> UART Port 1 configuration –> Peripheral Type

If you require power on the PWR pin (#9), you can enable or change the voltage here:
Setup Utility–> Advanced –> NCT5525D –> UART Port 1 configuration –> PWR_EN
(Option to have active high naturally at 5V or 12 V).

Make sure to save any changes by pressing F10 to Save and Exit.

Disassembly Instructions

Properly opening OnLogic systems does not void the warranty in most cases, however, some precautions are necessary to avoid damaging the system.

  • Perform this disassembly in an area free of static discharge.
  • Disconnect power, video, and any other connections to the system. It should be fully unplugged.
  • Ideally, wear a grounding strap. If that is not available, regularly touch a grounded metal surface to discharge your body of static electricity.
  1. Remove x4 screws from the bottom of the system.

    Note: Remove any/all mounting hardware.
  1. Remove x2 screws from the back of the system.
  1. You can now remove the bottom plate, and access the internals of the system:


Clearing the CMOS

If the system fails to power on or otherwise function, clearing the CMOS may help restore it to a working state.

  1. Unplug the system completely from power and all peripherals, and follow the Disassembly Instructions above.
  2. Now that you have access to the motherboard, locate the CMOS jumper (labeled “CMOS CLR”) in one corner of the motherboard, between the DisplayPort and RAM slots:
CMOS jumper shown in default position (No Function)
  1. The jumper’s default position closes pins 1 & 2 (pin 1 indicated by the arrow on the motherboard). Move the jumper to the Clear position, closing pins 2 & 3.
  2. Wait at least 30 seconds
  3. Move the jumper back to the default position, and then reassemble the system. Reconnect and retest the system. It is normal for the system to reboot several times, and may take up to 5 minutes for the unit to reinitialize.

If the system continues to malfunction, contact Technical Support here.

Add-In Modules

CAN Add-in Card

An optional CAN add-in card is available. The add-in card has an NXP i.MX1050-series microcontroller that can communicate with the host processor over USB. The card provides an interactive shell for configuration on a virtual COM port, and two CAN interfaces accessible through two additional virtual COM ports.

Configuring the Add-in Card

The add-in card is configured interactively through its shell using a serial terminal emulator program. The shell is accessed differently depending on operating system.

To access the shell on Windows:

  1. Open Device Manager by pressing Win+X M. Open the “Ports (COM & LPT)” menu.
  2. Note the “COM#” numbers on each port listed. The shell is typically the lowest-numbered “USB Serial Device” port. The first and second CAN interfaces typically have higher port numbers.
  3. Download and install PuTTY from the link above.
  4. Open PuTTY. When prompted, enter the COM port number in the “Serial line” text box, then click “Open”.
  5. If the port number was correct, a “uart:~$” prompt should appear. If not, try a different port.

To access the shell on Linux:

  1. Install picocom, e.g. “sudo apt install picocom” on Ubuntu.
  2. Open the shell’s virtual COM port with picocom by running “picocom /dev/serial/by-id/usb-OnLogic_USB-CAN-*-if00”.
  3. Some Linux distributions may not configure udev to produce by-id links. If those links are missing, try /dev/ttyACM0 and similar devices.

Once the shell is open, type “help” for usage information.

Using slcand in Linux

On Linux, the slcand utility can configure the add-in card’s interfaces as a regular SocketCAN network interface. Make sure the interface is configured for slcan usage by entering “set can-mode VCAN1 slcan” (and similar for “VCAN2”) in the shell.

On most Linux distributions, slcand is part of a package called can-utils; on Ubuntu, it can be installed with “sudo apt install can-utils”. Once installed, start the utility by running e.g. “slcand -oc -s6 /dev/serial/by-id/usb-OnLogic_USB-CAN-*-if02 slcan0” to create a SocketCAN interface named slcan0 running at 500k (“-s6”) from the first CAN interface’s virtual COM port.

The slcan Message Format

The slcan message format is widely supported. High-quality libraries are available for most programming languages that handle the details of the protocol. It can also be implemented manually if needed.

The slcan protocol is stateful; each interface needs to be configured and opened before it can be used, and must be closed before it can be reconfigured. Make sure the interface is configured for slcan usage by entering “set can-mode VCAN1 slcan” (and similar for “VCAN2”) in the shell.

Each CAN interface has a corresponding virtual COM port. Commands are sent on that port to configure the interface and send frames. Each command consists of an ASCII letter, optionally followed by other ASCII text, ending with a newline (“\n”) character.

The interface baudrate is set with the “S” command. Nine baudrates are supported:

Baudrate (kbit/s)Command

Once the baudrate is set, the interface should be opened by sending the open command (“O\n”). Once open, frames can be sent to the microcontoller in the format documented in a comment in the Linux kernel source code. As frames arrive, the microcontroller will send messages back on the virtual COM port. To stop it, close the interface with the close (“C\n”) command.

Alternate CAN Format

The legacy “std” message format is supported for backwards compatibility with other devices, but is not recommended for new development. The standard slcan format should be used instead due to the availability of high-quality tools and libraries for working with that message format in most programming languages.


The HX401 uses the ADP120 Isolated DIO Module. Details about the DIO module can be found here:

Updated on June 25, 2024

Was this article helpful?

Related Articles

Keep In Touch.
Subscribe today and we’ll send the latest product and content updates right to your inbox.