1. Home
  2. OnLogic Systems
  3. Rugged Line
  4. Karbon Series
  5. Karbon 800 Series Technical Resources

Karbon 800 Series Technical Resources

Documents and Downloads

Spec Sheets & Dimensional Drawings: K801 / K802 / K803 / K804

K800 Series Product Manual

K800 Series BIOS Manual

PuTTy Tool

Drivers

K800 Windows 11 Drivers ( or INF files for server deployment)

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

BIOS Updates

Bios VersionLink
B005Download
Update the BIOS with the downloaded file(s) above. You can follow this how-to guide for assistance on installing the update.

Microcontroller Updates

Microcontroller VersionChangelogLink
v1.3.1.0– CAN bus performance improvements
– Stability improvements for “byte mode” DIO
Download
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 auto power on?

Enter the BIOS and go to Advanced > PCH-IO Configuration > State After G3. Set it to [s0 State]. See below for a step by step guide.

How do I configure RAID?

Follow our RAID setup guide here: https://support.onlogic.com/documentation/k800-raid/

What PoE standards does the optional PoE module support?

802.3at – up to 25.5 watts per port

Which LAN ports support PoE?

The K800 can be configured with optional PoE hardware, adding PoE functionality to existing ports, or adding additional PoE ports. Check your configuration to see if your unit has PoE installed.

PoE can be added to the native Ethernet ports on either ports 1 & 2 (on the x2 LAN models), or ports 2 & 3 (on the x6 LAN models). Additional ports may be added with the Karbon Modbay cards.
K800 series 2-LAN model:

K800 series 6-LAN model:

What versions of Windows are supported?

Windows 10 IoT 2021 and Windows 11 are supported. In most applications it is NOT necessary to disable the e-cores.

What versions of Linux are supported?

The K800 supports Ubuntu 22.04 with Kernel version 5.17 or newer. Older Ubuntu and Kernel versions are not supported on the K800 series.

What chipset do the Ethernet ports uses?

The onboard LAN ports use the I225. The optional 10gig Modbay expansion card uses the X550.

What Baudrate is supported on the K800 COM ports?

The K800 series supports up to 115200 baudrate on the COM ports. Higher baud rates can be achieved by implementing the CAN port. See how to do this through the Embedded Microcontroller MCU.

How do I disable TurboBoost on the CPU?

TurboBoost can be disabled in the BIOS of the system. Navigate to Advanced and set Expert Mode to Enabled. Then, go to:
Power & Performance -> CPU – Power Management Control -> Boot Performance -> Set to Max Non-Turbo Performance

Enabling Auto Power On

The K800 can be configured to turn on automatically when DC power is connected. This is useful for power outage recovery or if the unit is mounted in a hard to reach location. You can enable Auto Power On by following the steps listed below.

  • Note: In future revisions the name of this setting will be changed. “Auto power ON’ under the Power tab will be the new name and location.
  1. Power on the system and press Del a few times to access the “Front Page” menu
  2. Choose “Setup Utility”
  3. Navigate to Advanced > PCH-IO Configuration
  1. Locate “State After G3”
  2. Change it to”s0 State” to enable auto power on.
  1. Press F10 to Save & Exit

Disassembly

K801 Disassembly

Opening the system does not void the manufacturer’s warranty, however, some precautions are necessary to avoid damaging the unit. Damage caused while opening or modifying the system internals may not be covered by the warranty.

  • Perform this disassembly in an area free of static discharge
  • Before beginning, touch a grounded metal surface to discharge your body of static electricity
  1. Turn the unit upside down and remove the 6 screws from the bottom plate.
  2. Pry the bottom plate off
  1. In case the thermal pads become displaced during disassembly, a reference guide is shown below. Note that the blue film will not be present as it is removed during initial assembly.

K802 Disassembly

Opening the system does not void the manufacturer’s warranty, however, some precautions are necessary to avoid damaging the unit. Damage caused while opening or modifying the system internals may not be covered by the warranty.

  • Perform this disassembly in an area free of static discharge
  • Before beginning, touch a grounded metal surface to discharge your body of static electricity
  1. Turn the unit upside down and remove the 6 screws from the bottom plate.
  2. Pry the bottom plate off
  1. Unplug the SATA power and data cables (if equipped)
  1. Grab the metal plate where shown
  2. Lift upwards and pull towards you to remove the plate
  1. In case the thermal pads become displaced during disassembly, a reference guide is shown below. Note that the blue film will not be present as it is removed during initial assembly.

K803 Disassembly

Opening the system does not void the manufacturer’s warranty, however, some precautions are necessary to avoid damaging the unit. Damage caused while opening or modifying the system internals may not be covered by the warranty.

  • Perform this disassembly in an area free of static discharge
  • Before beginning, touch a grounded metal surface to discharge your body of static electricity
  1. Turn the unit upside down and remove the 6 screws from the bottom plate.
  2. Pry the bottom plate off
  1. The internals of the system can now be accessed.
  2. If needed, the metal plate can be lifted upwards slightly. For example to access the RAM slots.

Installing a PCIe Card (K803)

  1. Remove the retaining screw from the outside of the case.
  2. Remove the metal slot cover.
  1. Insert the PCIe card into the slot. Ensure it fully seats.
  2. Loosen the screws on the brace bracket. Move the bracket so it touches the card. This will prevent it from moving.
  3. Tighten the screws back down.
  1. Reinstall the external mounting screw.
  2. Card installation complete.

K804 Disassembly

Opening the system does not void the manufacturer’s warranty, however, some precautions are necessary to avoid damaging the unit. Damage caused while opening or modifying the system internals may not be covered by the warranty.

  • Perform this disassembly in an area free of static discharge
  • Before beginning, touch a grounded metal surface to discharge your body of static electricity
  1. Turn the system upside down and remove the 6 Torx T8 screws from the sides.
  2. Remove the bottom plate.

Installing a PCIe Card (K804)

  1. Remove the two exterior screws from the PCIe retention bracket.
  2. Remove the PCIe blanks.
  3. If you are installing a single slot card, snap them apart and reinstall 1 into the upper slot.

  1. Insert the PCIe card
  2. Ensure it clicks into the slot and the backplate slots into the system.
  3. Connect any required PCIe 6/8 pin power connectors. Cables can be found in your accessory box.
  1. Reinstall the retention clip and hand tighten both screws.
  2. Reinstall the bottom cover and the process is complete.

Installation of Parts

Installing the optional External Fan

The external fan is an optional add-on for the K700 & K800 series, which provides active cooling. This adds a 120mm case fan and moves approximately 110 CFM of airflow.

The K700 and K800 series use the same external fan. It can be installed by removing the branding plate (on the top of the system) and installing the following screws:

  • x2 on the top (under the branding plate)
  • x1 on the side

The external fan uses a magnetic dust filter. The filter should be cleaned regularly. If the filter is misplaced, our replacement part SKU is FANCPD-MESH. This can be ordered by reaching out to our sales team.

Installing M.2 Storage

  1. Slide M.2 storage drive into slot
  2. Gently press drive down flat and secure with M.2 screw
  3. Apply thermal pad

Installing the PoE module

The PoE kit includes the PoE modules itself, plus needed standoffs, screws, and thermal pad for the installation.

  • Install the standoffs. Gently hand tighten – they are fragile.
  • Install PoE module onto connector. Double check that the pins align.
  • Install 2x screws
  • Peel and stick thermal pad

Troubleshooting

Clearing the CMOS

If the K800 fails to power on or is otherwise unresponsive, a CMOS reset may help. Follow the procedure outlined below to clear the CMOS.

  1. Unplug the system completely – remove power and all peripherals
  2. Use a long, thin tool, such as a straighten a paperclip
  3. Locate the unlabeled CMOS reset hole next to the HDD LED
  4. Using the tool/paperclip, depress the button inside for 30 seconds.
  1. Reconnect the system and turn it back on.
  2. Do not touch the system for 2 minutes. It may reboot several times while it reconfigures the CMOS.
  3. If successful, the unit should boot back up and run normally. It is now ready to use again. If the unit is still not responsive, reboot it one more time and then contact OnLogic Tech Support.

Can’t access the BIOS, System loads straight into the OS

The system supports Fast Boot, which is a configurable BIOS setting. With Fast Boot enabled, the unit will disable booting to Network, Optical, and USB/removable drives. Video and USB devices (such as keyboards) will not initialize until the OS loads. This can make it difficult to reinstall an OS, or change any BIOS settings, and make the BIOS harder to access. To enter the BIOS follow the steps below for your specific OS.

Windows

From the Start Menu, hold Shift and click Restart to access the Recovery screen, then go to “Advanced” and select “UEFI Firmware Settings”. The system will reboot and allow access in the the BIOS. You may need to repeatedly press DEL/F2 keys while the system is rebooting.

Linux

From Terminal, run the following command:
systemctl reboot --firmware-setup

This will trigger the system to reboot and allow access into the the BIOS. You may need to repeatedly press DEL/F2 keys while the system is rebooting.

Once you’ve accessed the BIOS, you can find the Fast Boot setting under the Boot tab.

10Gb Ethernet Modbay disappears from OS

K800 series systems outfitted with the 10Gb Modbay (MODBAY-10GLAN01) may experience issues while in use, causing the ports to crash and become unusable. To fix this issue, download this file and follow the Update Instructions.
Note that the system must be booted into a Windows environment for this Update. A temporary Windows installation can be used on the system, or the unit(s) can be returned to OnLogic. Contact OnLogic Tech Support for RMA details.

Orders shipped after 11/20/2023 already have this update applied

10Gb Ethernet Modbay limited speed

If you have a 10 Gb Modbay installed in your system, and it is not operating at full speed, you may need to update the ethernet controller firmware. It should be at least version 3.6 or higher.

There are different update steps depending on if you’re running Windows or Linux. Download the relevant steps and follow the steps in the downloaded file:

WindowsLinux

CAN bus connection instability

If you experience issues with using or accessing the CAN bus on your K800 system, this can be resolved by updating to the latest microcontroller firmware. Download the firmware at the top of this page, and follow this guide:

Accessing the Microcontroller (MCU)

The embedded microcontroller unit (MCU) is used to interface and control various aspects of the system such as CAN, DIO, and ignition sensing. To communicate with the MCU, follow the steps below for your installed OS.

Windows

  1. Download the PuTTy tool from putty.org
  2. Look in Device Manager and find the highest numbered USB serial device, COM5 in this example
  3. Open Putty. Set the connection type to Serial and change COM1 to the COM # you found in the previous step. This example uses COM5.
  4. Click “Open”. This will open a virtual connection to the MCU (no physical cable is required)
  1. To confirm you have the correct port open, type “help” and press enter. The help text should appear. If it does not, try a different COM port.

Linux

  1. Use a program such as PuTTy to interface with the microcontroller (MCU). You can run the following command to install it (you will need an active internet connection for this):
    sudo install putty
  2. The MCU will typically enumerate as ttyACM0. It enumerates as a serial-interfaceable USB device. If you run into issues accessing ttyACM0, you can run the following command to identify the other port(s):
    sudo dmesg | grep tty
  1. In this example, the MCU is on ttyACM0. Open PuTTy, enter the port #, and set the connection type as “Serial”. The other settings can be left on their defaults (i.e. baudrate = 9600).
  1. To confirm you have the correct port open, type “help” and press enter. The help text should appear. If it does not, try a different port #.

Microcontroller Commands

A full list of microcontroller commands be be found here in the User MCU Shell documentation here:

Automotive Timings

Feature Overview

The ignition sense feature can be used to turn the Karbon unit on and off with a battery, or vehicle’s ignition. It can also be used in non-automotive applications using a switch instead.

An example configuration is shown below. The switch connects positive DC power to the IGN pin. The unit will turn on when power is applied to the IGN pin, and turn off when power is removed. These events have configurable delays.

Enabling and controlling ignition sense

Ignition sensing can be enabled and adjusted through a virtual COM connection to the system’s microcontroller (MCU). You can open this communication to the MCU using a program such as PuTTy. Refer to the steps above, Accessing the Microcontroller (MCU), for help accessing the MCU.

Ignition sensing simulates a power button press. In Windows, the default behavior of the power button press is to put the system into Sleep mode. You will want to change that to “Shut Down” instead.

Example ignition settings

The following shows an example configuration for automotive timings. Enter each command one by one.

For further help text, type lpmcu config

CommandEffect
lpmcu config automotive-mode trueEnables automotive mode
Command:
lpmcu config startup-timer [X]

Example:
lpmcu config startup-timer 10
Effect:
turn on X seconds after IGN pin receives power

Example:
turn on 10 seconds after IGN pin receives power
Command:
lpmcu config hard-off-timer [X]

Example:
lpmcu config hard-off-timer 60
Effect:
force shutdown system after X seconds (failsafe to protect battery)

Example:
force shutdown system after 60 seconds (failsafe to protect battery)
Command:
lpmcu config soft-off-timer [X]

Example:
lpmcu config soft-off-timer 20
Effect:
shutdown X seconds after IGN pin loses power

Example:
shutdown 20 seconds after IGN pin loses power

CAN & DIO

The Karbon 800 has an embedded NXP i.MX RT1050-series microcontroller that can communicate with the host processor over USB. Its features include:

  • Configuring the system LEDs
  • Reading/writing the system DIO
  • Using system Digital Outputs in PWM mode
  • Configuring system automotive settings
  • Managing the system CAN interface

To provide access to these features, the MCU supports a composite USB-CDC VCOM connection (VID: 0x353F, PID: 0xA101):

  • Interface 0: A UART terminal supporting commands for a range of features
  • Interface 2: A dedicate USB serial CAN interface
C:\Users>python -m serial.tools.list_ports -v

COM15
    desc: USB Serial Device (COM15)
    hwid: USB VID:PID=353F:A101 SER=500100D20F3861D2 LOCATION=1-11:x.2 <--- CAN Port
COM16
    desc: USB Serial Device (COM16)
    hwid: USB VID:PID=353F:A101 SER=500100D20F3861D2 LOCATION=1-11:x.0 <--- UART Port

The MCU shell is a fully-featured virtual UART shell exposed over the MCU’s first USB CDC-ACM interface. This shell supports both command history and line editing, and can optionally serve as an output target for driver log messages. For a complete command reference see, the shell command reference.

Firmware Updates
In order to support over-the-air firmware updates, the K800 has a two stage bootloader; a ROM bootloader, that can be started with physical access to the system, and a USB bootloader that supports updates from the OS.

Entering the ROM Bootloader (manual):
1. Detach the K800 system from wall power
2. Use a paper clip to depress the settings switch located above the front USB 3.0 ports
3. With the switch held down, re-attach system power
4. The MCU should now boot into the NXP ROM bootloader

Entering the USB Bootloader (manual):
1. Boot the K800 to the operating system
2. Use a paper clip to depress the settings switch located above the front USB 3.0 ports
3. With the switch held down, send the ‘reset’ command to the MCU’s UART port
4. The MCU should now boot into the second stage USB bootloader

DIO/CAN/Power Switch header

The Karbon 800 series 20-Pin header provides the following interfaces: 8-bit (4-in, 4-out) Digital Input Output (DIO) or General Purpose Input Output (GPIO) with optically isolated terminals, one CAN bus connection, and an optional external power switch connection.

The DIO is optically isolated, meaning that the terminal is separated from other motherboard features for protection. The DIO terminal requires external power from a 5~48V DC source through Pin 20 with GND to Pin 19 in order to function.

The Isolated Power Supply (ISO PSU) can be a voltage source from 5~48V to interface with external digital IO. The maximum power draw from the supply should not exceed 0.6A under normal operating conditions. Individual DOut pins will be damaged by loads in excess of 150mA. The ISO PSU must be a DC Limited Power Source (LPS) power supply.

Mating power switch cables should be a twisted-pair wire with floating shield to assure proper
immunity to EMI/RFI. It is recommended to keep wires at less than 3 meters in length. Any remote power switch connected between pins 1 and 2 should be momentary contact type only.

Connection Diagrams

DIO & LEDs

All digital inputs/outputs support reading the current logical state of the pin. Digital outputs additionally support setting the output state of the pin, and digital inputs support reporting the transition count of the pin (both edges). The K800 also support configuring digital outputs as PWMs, and configuring the PWM output’s pulse and duty cycle. For a complete command reference see, the shell command reference.

Examples:

# Turn on LED 0 output
uart:~$ dio set LED0 0 true
# Check the state of Digital Input 0
uart:~$: dio get DIO0 input 0

CAN

The Karbon 800 has an on-board CAN 2.0 A/B interface. The CAN interface supports configurable baudrates from 100k – 1M, and two message parsing modes:

# Change the parser mode to 'slcan'
uart:~$ set can-mode VCAN0 slcan
# Set the can-baudrate to 1M
uart:~$ set can-baudrate VCAN0 1000

When in slcan parsing mode, the K800 CAN interface can be used with linux ‘slcand’ utilities, which support socket can over serial. To get up and running with slcan, start by installing can-utils:

$ sudo apt install can-utils

Then, detect and setup the Karbon can interface. For example:

#! /bin/bash

# ASCII Command vs CAN Bitrate
# s0 --- s1 --- s2 --- s3 --- s4 --- s5 --- s6 --- s7 --- s8
# 10     20     50     100    125    250    500    800    1000  Kbits/s
BAUD=8

# Name of slcan device to attach
DEV=can0


# Detect correct port for device interfaces
TERM_PORT=$(ls -l /dev/serial/by-id/ | grep 3f35_a101 | sed 's/.*\///g' | awk '{if(NR==2) print $0}')
CANB_PORT=$(ls -l /dev/serial/by-id/ | grep 3f35_a101 | sed 's/.*\///g' | awk '{if(NR==1) print $0}')

# Start or stop the service
while getopts ":ks" opt; do
    case $opt in
        k)
            # Stop the SLCAN service and turn off the can device
            echo "Shutting down can interface..."
            sudo ifconfig $DEV down 2> /dev/null
            sudo pkill slcand

            sudo slcand -c /dev/"$CANB_PORT"
            sudo pkill slcand
            ;;
        s)
            # Open the can device, and start the slcan service.
            echo "Terminal interface on: $TERM_PORT"
            echo "CAN Bus  interface on: $CANB_PORT"

            # Set the mode to slcan
            echo -ne "set can-mode slcan" > /dev/$TERM_PORT

            echo "Attaching slcan device..."

            # Attach to the port with slcand
            sudo slcand -s$BAUD -o /dev/"$CANB_PORT" $DEV

            # Give interface time to come up
            sleep .25

            # Enable the inteface
            sudo ifconfig $DEV up
            sudo ifconfig $DEV txqueuelen 1000

            echo "Interface is set up."
            ;;
        \?)
            echo "Invalid option: -$OPTARG" >&2
            exit 1
            ;;
        :)
            echo "Option -$OPTARG requires an argument." >&2
            exit 1
            ;;
    esac
done

M12 LAN Expansion (optional, must be factory installed)

The 3x M12 LAN Expansion (MODBAY-M12LAN01) adds additional M12 X-coded GbE LAN ports to the K802 and K804. This ModBay uses dedicated Intel I210-IT network controllers for each port which support speeds up to 1 Gbps.
Supported cables:
● CABLE-M12-RJ45-5M (5 Meter X-coded M12 to RJ45)
● CABLE-M12-RJ45-10M (10 Meter X-coded M12 to RJ45)
Operating Temperature: -40~70°C

Updated on November 28, 2023

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.
Subscribe