K801 / K802 / K803 / K804
1- Product Overview
1.1- Introduction

1.2- Safety
1.3- Box Contents & Accessories
5-pin Power Terminal Block Connector (Dinkle 2ESDVM-05P)
20-pin DIO/CAN/SW Terminal Block Connector (Dinkle 0159-0320)
SATA Power and Data Cables if not installed (OnLogic CBD123)
If you purchased additional items such as mounting brackets, power supplies or antennas, they will be located in the system box or within the outer shipping carton.
For more information on accessories and additional features, visit the Karbon 800 pages at:
US
EU
https://www.onlogic.com/eu-en/k801/
https://www.onlogic.com/eu-en/k802/
https://www.onlogic.com/eu-en/k803/
https://www.onlogic.com/eu-en/k804/
1.4- Product Specifications


2- Technical Specifications
2.1- External Features
Front I/O Definition

Rear I/O Definition

Serial Ports
The serial ports on the Karbon 800 series motherboard support RS-232, RS-422 Full-Duplex, and RS-485 half-Duplex configurations. The serial port communication mode can be selected in the BIOS configuration. In addition, 5V & 12V power can be enabled on pin 9 in the same BIOS menu. Pin 9 is rated to provide 250mA of current. Refer to the BIOS manual for configuration instructions.

Modbay Expansion
The Karbon 800 series K802 and K804 models feature two Modbay expansion slots. Each slot supports PCIe Gen 3 x2, USB 3.1 Gen 2, and USB 2.0. OnLogic offers a variety of ModBay cards including RJ45 LAN or PoE, M12 LAN or PoE, USB 3, and a carrier card with two additional mPCIe slots (1x PCIe x1 + USB 2.0 and 1x USB 2.0 + SMBUS).
DIO, CAN, Ext. Power Switch
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.

DIO Connection Diagram

Status LEDs

Automotive Ignition Power Sensing (IGN)
The Karbon 800 series 5-pin power input terminal offers automotive ignition sensing. The ignition sensing timing for power on and off delays can be modified through OnLogic’s microcontroller (MCU) using serial commands. These commands can be used to enable or disable the ignition sensing feature, to set the timing delay for system startup after ignition is detected, and to set the timing delay for system soft and hard shutdown after ignition is lost.

The system should always be used with the supplied 5-pin terminal block and power input should use all 4 power pins (2~5).
The system is operational from 12V~48V DC and the maximum rated current of the connector is 15A per pin. A minimum wire gauge of 16 AWG is recommended for 24V installations. Higher power or lower voltage configurations may necessitate a heavier gauge power harness to reduce power loss in the cabling. Always use a wire gauge that is rated for the operational current of your configuration.
When connecting to the mating terminal block plug, only multi-strand wire with a crimped ferrule end should be used. The terminal block screws must be torqued to the rated value (0.5 Nm).
Networking
The Karbon 800 series features up to six 2.5 GbE LAN ports. Two of these LAN ports are PoE capable using an optional onboard module. When the PoE module is installed, the two PoE ports will provide up to 32W of combined power. This power output is enough to support a single port up to 25.5W (IEEE 802.3at), two ports up to 15.4W each (IEEE 802.3af), or two ports with a combined draw up to 32W (e.g. 7W and 25W).

The Karbon 800 supports additional LAN expansion using OnLogic ModBay cards. ModBay cards can be used to add up to eight additional RJ45 LAN or PoE ports, or up to six additional M12 X-coded LAN or PoE ports. The ModBay LAN and PoE expansion cards provide 1 GbE LAN ports using dedicated Intel I210-IT network controllers for each port. Maximum ModBay PoE power output depends on the system voltage input, total system power draw, and operating temperature.
USB Ports
There are six USB 3.2 Gen 2 Type A ports on the Karbon 800 series. All six USB ports are capable of delivering 10 Gbps of bandwidth per port and are rated to 5V @ 900mA of power delivery per USB-IF specification. Optional ModBay cards can be used to add up to eight additional USB 3.2 Gen 2 ports. All USB ports also support USB 2.0 connectivity and have 1xM2.5x0.45 threaded hole per 2 USB ports. Refer to Appendix C for PoE power budgets.
DisplayPort
There are two full-size DisplayPorts on the Karbon 800 series. Both ports support DP 1.4 at 4K 60Hz and support MST (Multi Stream Topology). An MST hub can be used to support up to four independent displays. Please refer to Intel documentation for additional Alder Lake-S display output specifications here.
SIM Cards
Two 3FF Micro-SIM card slots are available on the front panel of the Karbon 800 platform allowing native support for 4G LTE and 5G cellular modems. The SIM signals can be directed to either the mPCIe or M.2 3042/3052/2280 B-key internal expansion slots. Both SIM signals can be connected to the M.2 3042/3052/2280 B-key to support modems with SIM failover capability. This selection is controlled in BIOS. The default BIOS setting will connect SIM1 to the mPCIe and SIM2 to the M.2 3042/3052/2280 B-key. Please refer to the BIOS user manual for additional information.
The SIM slot is a Push-Push type slot. To insert or remove the SIM card from the front panel of the Karbon platform, please use a small implement to push the card into the slot until it clicks. To remove the card, push with a small implement until the card clicks, then pull on the free end of the card to remove it.
RTC Reset Button
Karbon 800 Aseries features an RTC reset button that can be accessed using a paperclip or SIM card removal tool. Be sure the system is powered off and unplugged before resetting with the button. The RTC reset button is found next to the power button.
Expansion Port Pinout
M.2 B-key Pinout

M.2 M-key Pinout

M.2 E-key Pinout

mPCIe Pinout

PoE Power Budget
The nominal power budget for all PoE ports on the Karbon 800 series is provided below. These values are provided for room temperature operating conditions. Increased ambient temperature will limit the maximum safe operating power for the Karbon 800 series. Please contact OnLogic for specific derating information for your installation.

2.2- Motherboard Connectors


M.2 2280 M-key 1
This expansion slot is capable of supporting PCIe Gen 4 x4 and is routed directly to the CPU. This slot is designed to support NVMe storage drives. A full pinout table for this expansion slot is provided in Appendix C.
M.2 2280 M-key 2
This expansion slot is capable of supporting PCIe Gen 4 x4 or SATA III and is routed to the chipset. This slot is designed to support NVMe or SATA storage drives. A full pinout table for this expansion slot is provided in Appendix C.
M.2 3042/3052/2280 B-key
This expansion slot is capable of supporting PCIe Gen 3 x2, SATA III, USB 3.2 Gen 2, USB 2.0, and dual SIM card inputs from the external I/O. This slot is designed to support various expansion cards such as SATA storage drives and 4G LTE or 5G cellular cards. A full pinout table for this expansion slot is provided in Appendix C.
The SIM1 and SIM2 3FF Micro-SIM card slots are connected to this slot. The routing can be selected in the BIOS. The default setting routes SIM1 to the mPCIe slot and SIM2 to the M.2 B-key slot, but both SIM cards can be routed to the M.2 B-key slot to support modems with SIM failover capability. Please refer to the BIOS user manual for more information.
M.2 2230 E-key
This expansion slot is capable of supporting PCIe Gen 3 x1 and USB 2.0 signals. This slot is designed to support M.2 2230 Wi-Fi expansion cards. A full pinout table for this expansion slot is provided in Appendix C.
mPCIe
This expansion slot is capable of supporting PCIe Gen 3 x1, USB 2.0, and SIM card input from the external I/O. This slot is designed to support full-length cards. Half-length cards can be installed using an adapter. A full pinout table for this expansion slot is provided in Appendix C.
The SIM1 3FF Micro-SIM card slot is multiplexed to both the mPCIe and M.2 B-key slots. The default setting routes SIM1 to the mPCIe slot and SIM2 to the M.2 B-key slot. Please refer to the BIOS user manual for more information.
TPM Header
The Karbon 800 series supports an optional discrete TPM 2.0 module. OnLogic offers a wide-temp TPM 2.0 module based on the Nuvoton NPCT750 (SKU: TPM01).
Onboard PoE Header
The Karbon 800 series has a PoE header which uses an optional module to enable PoE on two of the onboard 2.5 GbE LAN ports. On the two LAN models, both ports 1 and 2 will have PoE enabled. On the six LAN models, ports 2 and 3 will have PoE enabled which leaves port 1 as the AMT-enabled remote management port. Please refer to section 2.7 Networking for additional PoE output information.
Aux Power Expansion Header
The Karbon 800 series has a power header that can support up to 2A of 5V and 12V power. This header is designed for internal expansion cards that require additional power above what is provided by the expansion slots. This header is a 2.5mm Pitch 4-pin JST XH Connector, with the pinout shown below.

SATA Headers
There are two SATA data and SATA power headers on the Karbon 800 motherboard. The data ports support SATA III 6Gbps storage devices. Each SATA power header delivers 12V and 5V output. The OnLogic CBD123 SATA data and power cable is recommended for use with these ports and 2.5” SSD storage drives.
PCIe Gen 5.0 x16 Connector
The Karbon 800 series features one PCIe x16 connector on the motherboard. This connector is paired with OnLogic risers to support multiple PCIe configurations in the K803 and K804 models.
PCIe x16 Riser (K803)
This riser supports a single-height PCIe Gen 4 x16 expansion card in the K803. There is one fan header on the riser as well to support the fan in the chassis. The K803 will fit PCIe cards up to 4.4” H x 9.5” L x 0.57" W (111.8 x 241.3 x 14.5 mm).
PCIe x16 Riser (K804)
This riser supports a dual-height PCIe Gen 4 x16 expansion card in the K804. Additionally, there are six SATA power headers to support a 6x 2.5” SSD RAID array when paired with a discrete RAID adapter, and fan headers to power the internal fans in the K804 PCIe expansion bay. The K804 will fit PCIe cards up to 4.8” H x 10” L x 1.37" W (121.9 x 254 x 34.8 mm).
Dual PCIe x8 Riser (K804)
This riser supports two single-height PCIe Gen 4 x16 expansion cards in the K804. The slots will mechanically accept PCIe x16 cards, however each slot will only provide PCIe Gen 4 x8 lanes. K804 will automatically detect this riser and enable bifurcation of the native PCIe x16 slot on the motherboard. There are fan headers on the riser to power the internal fans in the K804 PCIe expansion bay.
DDR4 SO-DIMM Slots
The Karbon 800 series supports up to two DDR4 SO-DIMM slots rated up to 3200MHz. The system will support non-ECC memory with all CPU options and ECC memory with a Core i5 (Except i5-12400), i7 and i9 CPUs.
2.3- Power Management
Connecting the power supply
If you need to assemble the system’s power input connector, follow these steps to locate and wire the correct parts.

Unbox the power brick and grab the 5 pin green/black terminal block from the accessory box.
Using a flathead screwdriver, turn the two indicated screws counter-clockwise a few turns.
The metal holes at the bottom will open up.

Insert the power supply wires as shown

Turn the screws clockwise to tighten. Firmly hand tighten.

Connect the green/black terminal block to the K800. It is now ready for use. Note that the labeling on the back of the system matches the wires you just installed.
Protection Circuitry

These DC levels specified are the absolute max values for the pins for function and safety of the system. The protection circuitry allows for brief transient voltages above these levels without the system turning off.
Wake-Up Events
Karbon 800 supports multiple power states. The wake-up events can be configured in the MCU and BIOS. This section describes the power management functions you can perform and gives information on protection circuitry for power adapters.

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
2.4- Add-in Modules
The Karbon 800 series K802 and K804 models feature two Modbay expansion slots. Each slot supports PCIe Gen 3 x2, USB 3.1 Gen 2, and USB 2.0. OnLogic offers a variety of ModBay cards including RJ45 LAN or PoE, M12 LAN or PoE, USB 3, and a carrier card with two additional mPCIe slots.
Modbay 4x LAN Expansion
The 4x LAN Expansion (MODBAY-4LAN01) adds additional RJ45 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.
Operating Temperature: -40~70°C
Modbay 4x PoE Expansion
The 4x PoE Expansion (MODBAY-4POE01) adds additional RJ45 GbE PoE 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. Additionally, each port supports PoE output. The power budget for PoE is dependent on the voltage of the system power input.Refer to Appendix C for PoE power budgets.
Operating Temperature: -40~70°C
Modbay 3x M12 LAN Expansion
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
Modbay 3x M12 PoE Expansion
The 3x M12 PoE Expansion (MODBAY-M12POE01) adds additional M12 X-coded GbE PoE 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. Additionally, each port supports PoE output. The power budget for PoE is dependent on the voltage of the system power input. Refer to Appendix C for PoE power budgets.
Supported cables:
CABLE-M12-RJ45-5M (5 Meter X-Coded RJ45 to M12)
CABLE-M12-RJ45-10M (10 Meter X-Coded RJ45 to M12)
Operating Temperature: -40~70°C
Modbay 2x 10Gb LAN Expansion
The 2x 10Gb LAN Expansion (MODBAY-10GLAN01) adds RJ45 10 GbE LAN ports to the K802 and K804. This ModBay uses a single X550 network controller which supports individual port speeds up to 10 Gbps and a maximum combined speed up to 15 Gbps across both ports.
Operating Temperature: -40~40°C
Modbay 4x USB3 Expansion
The 4x USB3 Expansion (MODBAY-4USB01) adds additional USB 3.2 Gen 2 Type-A ports to the K802 and K804. This ModBay uses two USB controllers which support individual port speeds up to 10 Gbps and a maximum combined speed up to 15 Gbps across all ports. The controllers are the ASM3142 (PCIe Gen 3 x2 to 2x USB 3.2 Gen 2) and the USB7206i (1x USB 3.2 Gen 2 to 2x USB 3.2 Gen 2). Each port is rated to 5V @ 900mA of power delivery per USB-IF specification. These ports can only wake in Modern Standby and are not active in Sleep and Hibernate system states.
Operating Temperature: -40~50°C
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

2.5- Thermal Results
The thermal performance of the Karbon 800 was validated by loading the system to simulate expected workloads while the test system was exposed to high ambient temperatures in a thermal chamber environment. Two different workloads were considered, a 16-core 35W load and a 16-Core 65W load evaluated up to 70°C in a K801 chassis which is the worst case thermal scenario. The results were analyzed by comparing the average clock speed over the duration of the test to the expected base clock speed.
Testing Conditions
Temperature Range: -40 ~ 70°C
Step size: 10°C (except for a jump from 0°C to 30°C during both tests)
CPU, SSD, and RAM loaded
Results Summary
The i9-12900 CPU (65W) was able to maintain above 80% base clock speeds as defined by Intel on both the performance cores and efficiency cores up to 50°C ambient temperature. Significant throttling occurred at higher temperatures under the test workload and the CPU did not have thermal headroom for any additional turbo power.

The i9-12900T CPU (35W) was able to maintain above 100% base clock speeds as defined by Intel on both the performance cores and efficiency cores up to 70°C ambient temperature. This indicates that there was thermal headroom for turbo power over the entire 2 hour run at 70°C.
2.6- Block Diagram

3- Installation & Mechanical
3.1- Dimensions
K801 System Dimensions

K802 System Dimensions

K803 System Dimensions

K804 System Dimensions

3.2- Mounting Instructions
K801 Wall Mount

K801 DIN Mount

K801 Vibration Isolation Mount

K802 Wall Mount

K802 DIN Mount

K802 Vibration Isolation Mount

K803 Wall Mount

K803 DIN Mount

K803 Vibration Isolation Mount

K804 Wall Mount

K804 DIN Mount

K804 Vibration Isolation Mount

3.3- Internal Access
K801 Internal Access
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
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 Internal Access
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
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 Internal Access
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
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.
The riser card (for PCIe installation) can be difficult to install/remove. It is not recommended to remove this part, but if needed, the metal plate can be lifted upwards slightly. For example to access the RAM slots. Any damage caused while removing/installing the mid-plate is not covered by warranty.
K804 Internal Access
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

Turn the system upside down and remove the 6 Torx T8 screws from the sides.
Remove the bottom plate.
3.4 - System Servicing
PCIe cards can be installed to the K803, and K804 expansion bays. The maximum dimensions for a PCIe card depend on the platform, and are as follows:
K803 Max PCIe Dimensions: Single slot height, 111mm H x 241mm L (4.4” H x 9.5″ L in) K804 Max PCIe Dimensions: Single OR Double slot height, 111mm H x 241mm L (4.4” H x 9.5″ L in)
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.
Installing a PCIe Card (K804)

Remove the two exterior screws from the PCIe retention bracket.
Remove any PCIe blanks.
If you are installing a single slot card, snap them apart and reinstall 1 PCIe blank 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. &#xNAN;Note: PCIe power board may be optional, depending on the system’s configuration.

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 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
Slide M.2 storage drive into slot
Gently press drive down flat and secure with M.2 screw
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
3.5- CAD & Drawings
K801 Dimensional Drawings

K802 Dimensional Drawings

K803 Dimensional Drawings

K804 Dimensional Drawings

4- Software & Firmware
Linux requires Kernel 5.16 or higher to operate as expected.
4.1- BIOS
BIOS Updates
Refer here for the full K800 BIOS Manual
4.2- Drivers & Downloads
K800 Windows 11 Drivers ( or INF files for server deployment)
K800 Windows 10 Drivers (Follow our guide for Updating System Drivers)
4.3- Features & Configuration
Setting up RAID and installing Windows 11
Prerequisites
An 8GB or larger flash drive (USB 3.0 model recommended for speed)
A PC running Windows 10 or 11
The Media Creation Tool, downloadable from here.
The RAID driver, downloadable from here.
Creating the flash drive
Download and run the Media Creation Tool, linked above

Accept the license agreement

Click Next

Choose the “USB flash drive” option and click Next

Choose your flash drive from the list and click Next
If the drive does not show, ensure it is formatted as FAT32 or try a different drive.

The Windows 11 installer will now download from the Internet and make the flash drive bootable. This will take several minutes depending on the speed of your flash drive and Internet connection.

When the tool finishes, click Finish to close it.

Download the RAID driver (linked above)
Extract the .zip file and copy the contents to the Windows setup USB flash drive.

Safely eject the flash drive and unplug it from the PC.
Insert the flash drive into the K800

Enabling RAID

Begin by powering on the K800 and immediately press the Del key a few times to access the menu
Using the arrow keys, navigate down to “Setup Utility” and press enter

Navigate to the “Advanced” tab
Set “Expert Mode” To “Enabled”

Open the “System Agent (SA) Configuration” menu

Open the “VMD setup menu” menu

Set “Enable VMD Controller” to “Enabled”

Press F10 to Exit Saving Changes

Tap the Del key again and go back to the “Front Page” menu
Enter the “Device Manager” menu

Enter the “Intel(R) Rapid Storage Technology” Menu

Choose “Create RAID Volume”

Set the “RAID Level” to “RAID1 (Mirror)”
RAID0 is supported but generally not recommended as there is no redundancy.

Press enter on each disk and select the X to select it for RAID.
You must choose at least 2 disks and they should be of the same size/type.

Choose “Create Volume”

Creation is very quick. You will now see the RAID volume listed with status “normal”

Press F10 to save (the system will not give any feedback)
Press escape to go back to the “Front Page”
Select “Continue”
Installing Windows

If you have not done so already, make sure the flash drive you created earlier is connected to the K800 PC.
Boot from the flash drive.
When the flash drive boots, you will be presented with this screen.
Click “Install now”

Enter the product key from the bottom of your OnLogic PC and click Next.
You can skip this step and enter it later if preferred. Click “I don’t have a product key”

If prompted (typically when you don’t enter a product key), select your version of Windows.

Accept the license agreement and click Next

Choose the option for Custom installation

Note that no storage drive will be detected at first
Click on “Load Driver”

Click “Browse”

Expand the USB drive and select the RAID driver folder you copied to the flash drive earlier.
Click OK.

Select the top option only (467F)
Click Next

After a few seconds of loading, you will be returned to the drive screen and the RAID volume will appear.
Click “Next” to format it and proceed with the installation.

The Windows installation will begin.
First Boot & Setup
Refer to our Windows 11 Setup Guide for the next steps.
4.4- MCU Documentation
Overview
The microcontroller on Karbon 800 series controls several systems, including:
Automotive ignition power sensing
CAN bus
DIO
Status LEDs
DisplayPort CEC and persistent EDID
Input voltage monitoring
RTOS Capabilities
A segment is exposed for user control via two serial ports. By reading and writing to these serial ports, the user can send and receive CAN messages, read/set the DIO state, and select from a number of configuration options. One port is dedicated to Karbon 800’s CAN bus, while the other doubles as a serial terminal and the DIO interface. Any configuration settings may be saved to non-volatile memory which means the MCU settings will be retained during a long power-off.
Microcontroller Updates
v1.3.1.2
– CANbus fixes: Fully reset CAN peripheral when bus is opened, fixes unresponsive interfaces
Power Sequence Microcontroller Updates
Microcontroller Version
Changelog
Link
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
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 the COM # you found in the previous step. This example uses 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.

Linux
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
The MCU will typically enumerate as
ttyACM0
. It enumerates as a serial-interfaceable USB device. If you run into issues accessingttyACM0
, you can run the following command to identify the other port(s):sudo dmesg | grep tty

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

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 above section 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
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
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
Examples:
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 additional command reference see, the shell command reference. The DIO can also be changed to Byte Mode as documented below.
# Turn on LED 0 output
uart:~$ dio set LED0 0 true
# Check the state of Digital Input 0
uart:~$: dio get DIO0 input 0
While the microcontroller shell is intended for human interaction, it can be used to programmatically control the MCU. To avoid a number of pitfalls when doing so, observe the following best practices:
On Linux, use the symlinked device nodes inside
/dev/serial/by-id
instead of hardcoding/dev/ttyACMx
device names./dev/ttyACMx
numbering isunstable;
/dev/serial/by-id/usb-OnLogic_<device>-if00
will reliably point to the terminal interface.When writing Linux shell scripts, ensure that the echo flag is disabled on the TTY by running
stty -F /dev/serial/by-id/<device> -echo
beforeinteracting with the shell. Most serial libraries (pyserial, serialport-rs, etc.) will automatically disable this flag.
When sending a command, precede it with a ‘\x03’ byte to clear the terminal’s line buffer and ensure that the command is interpreted correctly. Follow the command with a ‘\r’ or ‘\n’ character to execute the command.
Send less than 64 bytes at a time. To send longer commands, explicitly flush the port’s output buffer in between each block of 64 bytes.
Byte Mode
When using byte mode, DIO commands are sent in the form of command packets, and each command will receive a status (and optional data) as a response.
The command header is eight bytes in length:
0
The message ‘start of frame’ byte.
Must be 0x01, or the message will be rejected. For non request/response frames, it is instead set as 0x02
1
Indicates the kind of command transmitted
Must be one of the Valid Command Kinds
2 – 3
The status of the last command
Should be zero when sending a command, one of Status Codes when receiving
4
The length of the transfered command data
Must be less than 56, and equal to the length of the command body in bytes
5-7
Reserved
Must be 0x00
All command headers must indicate the type of data to follow, by setting the command kind:
DIO
0x00
8 bytes
Commands that get and set the state of MCU controlled digital IO banks
CAN
0x01
6 bytes
Sideband configuration and reporting for CAN devices
Reset
0x02
0 bytes
Causes a cold-reset of the microcontroller
Version
0x03
8 bytes
Reports the firmware version of the running application image
Ignition
0x04
10 bytes
Configures automotive and power features on supported devices
Disable
0x05
0 bytes
Disables byte processing of incoming data, and returns to an interactive shell
Each command sent will recieve a response from the microcontroller. This response may contain data, but can always be examined to determine if the command succeeded.
Success
0x0000
The last command was processed successfully
Invalid Device
0x0001
The device indicated by the command exceeded the number of devices available to the system
Unbound Device
0x0002
The device targetted exists, but the MCU was unable to attach to and communicate with it
DIO – Invalid Pin
0x0003
The target pin exceeded the number of inputs or outputs actually present
DIO – Pin Read Failed
0x0004
Reading the state of the targetted pin failed for an unknown reason
DIO – Pin Write Faield
0x0005
Writing the state of the targetted pin failed for an unknown reason
DIO – Set Mode Unsupported
0x0006
Setting the DIO mode to push-pull or sink-source is not supported
Invalid Command
0x0007
The subcommand requested was outside of the valid range for the message kind
Bad Message Kind
0x0008
The message kind was not one of Valid Command Kinds
Version – Read Failed
0x0009
Reading the application version failed for an unknown reason
The DIO command format is as follows:
0
The DIO action to perform on the device
Must be one of DIO Actions
1
The bank of digital IO to target, or the number of devices
Must be between 0 and the number of DIO banks available on the platform
2
The pin index to get or set
The output pin index starts at 0, the input index starts at 0 + n-outputs
3
The current state of the pin (if read), or the state to set (if written), or the mode to set (mode 0=sourcing, mode 1=sinking)
0 or 1
4 – 7
The edge-count of the pin, or the number of inputs/outputs
0 – MAX_UNSIGNED_INT (u32)
The digital IO command supports the following actions:
Get
0x00
Read the state and count of an input, or just the state of an output
Set
0x01
Set the logical state of a digital output
Set Count
0x02
Set the edge count of a digital input to the passed value
Set Mode
0x03
Switch between sink-source and open-collector drive mode on supported hardware
Num Devices
0x04
Reports the number of DIO banks available on the device
Num Outputs
0x05
Reports the number of outputs available to the indicated device
Num Inputs
0x06
Reports the number of inputs available to the indicated device
CAN
The Karbon 800 has an on-board CAN (Controller Area Network) 2.0 A/B interface. In general, the CAN bus consists of two main signal lines, CAN High and CAN Low. CAN High is biased at a high voltage potential of ~3.5 Volts and CAN Low is biased at a low voltage potential of ~1.5 Volts. The nominal voltage measured between the two signal lines is ~2.5 Volts, serving as a reliable indicator of the K800 CAN bus operational status. Additionally, the CAN bus operates in two states: dominant and recessive. Dominance is represented by logic level 0 and recessive is represented by logic level 1. The K800 CAN interface supports configurable bitrates from 100k – 1M and two message parsing modes: slcan and std.
slcan: an abbreviation for serial line can, is a virtualizing protocol used to transmit CAN messages over serial communication. This bridges the gap between the operating system and the unique differential signaling utilized in the CAN protocol. slcan makes the CAN bus appear as a network interface on the operating system, and can be even be identified as such when looking through the kernel buffer on Ubuntu via
sudo dmesg
Specifically, the K800 supports the following bitrates using slcan interface:
10 20 50 100 125 250 500 800 1000 Kbits/s
std: CAN bus send and receive messages are communicated in their native CAN format. This allows for direct low-level communication between the in-system K800 microcontroller and CAN-compatible devices. The std method of operating the CAN bus can be used without the need for intermediate serialization to communicate with an operating system.
Further details about the CAN bus can be found in the provided resources:
Configuring the K80X as a CAN device
This section describes the physical connection and software configuration needed to set up the K80X platform as a CAN controller in either the Microsoft Windows or Ubuntu Linux based operating systems. Example programs are written in both Python (for both Windows and Linux) and Bash (for Linux).
Materials Required:
Hookup or twisted pair wires
120 Ohm termination resistors (depending on the CAN setup)
CAN member devices compliant with CAN 2.0 A/B. In our example we will use a second K80X to act as the endpoint device.
Example Network Implementation:

Diagram of a simplified CAN bus network. The figure above shows: 1) Two termination resistors at each end of the bus, 2) required endpoints of the bus acting as either transmitters or receivers, 3) High and Low CAN bus lines, and 4) additional (optional) network members connected on the same signal lines.
Operation Instructions:
The use of the K800 CAN bus can be achieved in four steps.
Step 1: Locate CAN High and CAN Low terminals on the 20-Pin header next to the system power button.

Step 2: Connect CAN Low, CAN High, and (commonly used) ground wires to their designated locations using the Dinkle 0159-0320 20 pin connector. Additionally, bridge CAN Low and CAN High terminals with the proper termination resistor (120 Ohm in this example).

Step 3: Configure the second K80X system with the same wiring connecting the CAN High and Can Low signals of each system. Ensure a second 120 Ohm resistor is used as close as possible to the second K80X 20 Pin connector.
Step 4: Activate the software interface to operate the CAN bus.
The GitHub repository here:
https://github.com/onlogic/K800-CAN-supplemental-material
Provides two utilities with instructions on controlling CAN bus parameters and sending/receiving CAN data in the code comments. Both the software utilities use slcan as the interface to communicate with the CAN bus. The installation commands for required dependencies are included in the header comments of each respective code file.
Python3 CAN Utility [Ubuntu and Windows Compatible] : https://github.com/onlogic/K800-CAN-supplemental-material/blob/main/k800_can_utility.py
Usage on Windows:
python k800_can_utility.py [-h] [-m {s,r}] [-b {10,20,50,100,125,250,500,750,1000}] [-l {off,on}]
Usage on Linux:
sudo python3 k800_can_utility.py [-h] [-m {s,r}] [-b {10,20,50,100,125,250,500,750,1000}] [-l {off,on}]
NOTE: Run the Python CAN utility with sudo privileges on Ubuntu.
Output of —help flag for the Python command line argument:
python k800_can_utility.py --help
usage: k800_can_utility.py [-h] [-m {s,r}] [-b {10,20,50,100,125,250,500,750,1000}] [-l {off,on}]
K800 CAN Bus Utility
options:
-h, --help show this help message and exit
-m {s,r}, --mode {s,r
send (s) or receive (r): send generated data or continually receive
-b {10,20,50,100,125,250,500,750,1000}, --bitrate {10,20,50,100,125,250,500,750,1000}
CAN bus baudrate in kbps (ranges allowed by slcan: [10, 20, 50, 100, 125, 250, 500, 750, 1000]
-l {off,on}, --leds {off,on}
Incorporate LED check functionality in program
Examples in:
Windows:
python k800_can_utility.py -m s -b 500 -l on
python k800_can_utility.py -m r
Linux:
sudo python3 k800_can_utility.py -m r -b 1000 -l off
sudo python3 k800_can_utility.py -m s
Bash Script Utility [Ubuntu Compatible Only] :
https://github.com/onlogic/K800-CAN-supplemental-material/blob/main/k800_can_utility.sh
1. First, set permissions to be executable by user who owns the file:
chmod u+x k800_can_utility.sh
2. Then run the executable using:
./k800_can_utility.sh {s|r} <bit_rate> <led>
Examples:
./k800_can_utility.sh s 100 off
./k800_can_utility.sh r 20 on
./k800_can_utility.sh r # Uses default bit_rate and no LED check



Two channels, a blue channel representing CAN High and orange representing CAN Low. Both CAN High and CAN Low will default to a 2.5 nominal voltage in the absence of a signal. This is useful for debugging if there is uncertainty whether the signal is properly broadcasting.

[Optional] If the LED flags are active in either the Python script or the Bash script, the onboard LEDs on the K800 will turn on and off before and after each CAN session, respectively.
Sample Program Outputs:

Initializing output from: sudo python3 k800_can_utility.py -m r -b 100 -l on. This indicates the proper eMCU Port location, Hardware ID, and Device.

Terminal output of ‘receive mode’ using the Python utility through the command: &#xNAN;sudo python3 k800_can_utility.py -m r -b 100 -l on

Terminal output of ‘send mode’ using the Python utility through the command: &#xNAN;sudo python3 k800_can_utility.py -m s -b 100 -l on
5- Support & Compliance
Do not open or modify the device. The device uses components that comply with FCC and CE regulations. Modification of the device may void these certifications.
5.1- Troubleshooting & FAQ
Frequently Asked Questions (FAQ)
Motherboard Reset (Clear 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
Use a long, thin tool, such as a straighten a paperclip
Locate the unlabeled CMOS reset hole next to the HDD LED
Using the tool/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.
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. &#xNAN;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. &#xNAN;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:
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 here, and follow this guide: MCU Firmware Update w/ ZMU
5.2- Regulatory
CE
The computer system was evaluated for medical, IT equipment, automotive, maritime and railway EMC standards as a class A device. The computer complies with the relevant IT equipment directives for the CE mark. Modification of the system may void the certifications. Testing includes: EN 55032, EN 55035, EN 60601-1, EN 62368-1, EN 60950-1, EN 50121-3-2, EN 60945 and UN Regulation No. 10 ISO 17650-2 & ISO 7637-2.
FCC Statement
This device complies with part 15 of the FCC rules as a Class A device. Operation is subject to the following two conditions: (1) this device may not cause harmful interference and (2) this device must accept any interference received, including interference that may cause undesired operation.
ISED
This device complies with Industry Canada license-exempt RSS standard(s). Operation is subject to the following two conditions: (1) this device may not cause interference, and (2) this device must accept any interference, including interference that may cause undesired operation of the device.
Le présent appareil est conforme aux CNR d'Industrie Canada applicables aux appareils radio exempts de licence. L'exploitation est autorisée aux deux conditions suivantes: (1) l'appareil ne doit pas produire de brouillage, et (2) l'utilisateur de l'appareil doit accepter tout brouillage radioélectrique subi, même si le brouillage est susceptible d'en compromettre le fonctionnement.
CAN ICES-003(A) / NMB-003(A)
UKCA
The computer system was evaluated for medical, IT equipment, automotive, maritime and railway EMC standards as a class A device. The computer complies with the relevant IT equipment directives for the UKCA mark.
VCCI
This is a Class A product based on the standard of the Voluntary Control Council for Interference (VCCI). If this equipment is used in a domestic environment, radio interference may occur, in which case the user may be required to take corrective actions.
Downloadable Documents
5.3- Security Advisory
For the latest security advisories concerning OnLogic products, including vulnerability disclosures and necessary updates, please refer to our official Security Advisories page. It is recommended to regularly check this resource for critical security information. Access Security Advisories
5.4- Appendices
Revision History

Last updated