
Manuals and Documents
Spec Sheets & Dimensional Drawings: K801 / K802 / K803 / K804
K800 Windows 11 Drivers ( or INF files for server deployment)
K800 Windows 10 IoT Drivers (Follow our guide for Installing via Device Manager)
BIOS Updates
Version | Link |
---|---|
A035 | Download |
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 3 & 4 (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 serieies 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.
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.
- Unplug the system completely – remove power and all peripherals
- Straighten a paperclip
- Locate the unlabeled CMOS reset hole next to the HDD LED
- Using the paperclip, depress the button inside for 30 seconds.

- Reconnect the system and turn it back on.
- Do not touch the system for 2 minutes. It may reboot several times while it reconfigures the CMOS.
- 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.
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.
- Power on the system and press Del a few times to access the “Front Page” menu
- Choose “Setup Utility”
- Navigate to Advanced > PCH-IO Configuration

- Locate “State After G3”
- Change it to”s0 State” to enable auto power on.

- Press F10 to Save & Exit
K801 Disassembly
Opening the system does not void the manufacturer’s warranty, however, some precautions are necessary to avoid damaging the unit.
- Perform this disassembly in an area free of static discharge
- Before beginning, touch a grounded metal surface to discharge your body of static electricity
- Turn the unit upside down and remove the 6 screws from the bottom plate.
- Pry the bottom plate off

- 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.
- Perform this disassembly in an area free of static discharge
- Before beginning, touch a grounded metal surface to discharge your body of static electricity
- Turn the unit upside down and remove the 6 screws from the bottom plate.
- Pry the bottom plate off


- Unplug the SATA power and data cables (if equipped)

- Grab the metal plate where shown
- Lift upwards and pull towards you to remove the plate
- 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.
- Perform this disassembly in an area free of static discharge
- Before beginning, touch a grounded metal surface to discharge your body of static electricity
- Turn the unit upside down and remove the 6 screws from the bottom plate.
- Pry the bottom plate off


- The internals of the system can now be accessed.
- If needed, the metal plate can be lifted upwards slightly. For example to access the RAM slots.
Installing a PCIe Card (K803)

- Remove the retaining screw from the outside of the case.
- Remove the metal slot cover.

- Insert the PCIe card into the slot. Ensure it fully seats.
- Loosen the screws on the brace bracket. Move the bracket so it touches the card. This will prevent it from moving.
- Tighten the screws back down.

- Reinstall the external mounting screw.
- 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.
- Perform this disassembly in an area free of static discharge
- Before beginning, touch a grounded metal surface to discharge your body of static electricity

- Turn the system upside down and remove the 6 Torx T8 screws from the sides.
- Remove the bottom plate.
Installing a PCIe Card (K804)

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

- Insert the PCIe card
- Ensure it clicks into the slot and the backplate slots into the system.
- Connect any required PCIe 6/8 pin power connectors. Cables can be found in your accessory box.

- Reinstall the retention clip and hand tighten both screws.
- Reinstall the bottom cover and the process is complete.
Installing the optional external fan

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
- Slide M.2 storage drive into slot
- Gently press drive down flat and secure with M.2 screw
- Apply thermal pad

Automotive Timings
Feature Overview
The ignition sense feature can be used to turn the Karbon unit on and off with a 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. Below we have outlined the steps to open this virtual COM connection and possible settings for ignition sensing on the K800.
- Download the Putty tool from putty.org (link at the top of this document)
- Look in Device Manager and find the highest numbered USB serial device, COM5 in this example
- Open Putty. Set the connection type to Serial and change COM1 to COM5.
- Click “Open”. This will open a virtual connection to the MCU (no physical cable is required)

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

- The following shows an example configuration for automotive timings. Enter each command one by one.
- For further help text, type lpmcu config
Command | Effect |
---|---|
lpmcu config automotive-mode true | Enables 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 |
Embedded MCU (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):
- Detach the K800 system from wall power
- Use a paper clip to depress the settings switch located above the front USB 3.0 ports
- With the switch held down, re-attach system power
- The MCU should now boot into the NXP ROM bootloader
Entering the USB Bootloader (manual):
- Boot the K800 to the operating system
- Use a paper clip to depress the settings switch located above the front USB 3.0 ports
- With the switch held down, send the ‘reset’ command to the MCU’s UART port
- The MCU should now boot into the second stage USB bootloader
Accessing the MCU
The MCU (microcontroller) can be accessed via a serial interface. In the example below, we will use Putty to access it.
- Download the Putty tool from putty.org
- Look in Device Manager and find the highest numbered USB serial device, COM5 in this example
- Open Putty. Set the connection type to Serial and change COM1 to COM[X] (enter the number identified in the previous step)
- Click “Open”

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

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

Known Issues
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: