Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Access step-by-step guides for configuring, updating, and maintaining your system.
Applies to motherboard models starting with “IMB-…”, “NUC-…” and others. If unsure, please contact OnLogic Tech Support.
Warning: Never interrupt a BIOS update. If the update is interrupted, the system may become irreparable. Damage caused as a result of BIOS updates may not be covered by the system’s warranty.
Applies to: Karbon, Helix, Tacton, and ML350 & CL200 series systems.
Updating a system BIOS to the latest version from the EFI takes just a few steps: ● Format an empty USB flash drive ● Copy the update files to the drive ● Reboot into the UEFI menu and boot the drive ● Complete the BIOS update
To update your system BIOS from an EFI shell, you will first need to create a bootable USB drive. Below are the steps to do this using either Windows or Linux as your operating system:
Attach the USB drive that you are able to erase to the system. You should see it appear in File Explorer:
Configure the options to format the drive as FAT32. When ready, click ‘start’. (WARNING: This will destroy all data on the drive)
Once the operation completes, copy the EFI folder (and any other files) from this update package to your drive.
Format a USB flash drive as FAT32 using the Disks utility, using the gparted application, or from the command line:
Determine the correct drive
$ lsblk
Unmount the device (suppose the device is sdx1)
$ sudo umount /dev/sdx1
Format the drive as FAT32 (suppose the device is sdx1)
$ sudo mkfs.vfat -F 32 /dev/sdx1
Then copy the files from this update folder to the formatted partition using any method.
In order to access the system’s UEFI/BIOS menu, you will need to reboot your system. While it is restarting, press the UEFI hotkey (usually ESC, F2, or DEL), until the UEFI menu appears.
Once the menu is open, select and boot from the newly created USB drive. Refer to the system manual or system bios manual for specific instructions about this step for your system. On some systems, you may need to enable “USB Booting” before you can load the EFI Shell from the drive.
***Please note that having Secure Boot Enabled will prevent the BIOS update from proceeding. Please disable Secure Boot before attempting to boot from the USB drive or the security policy will block the boot device***
After the EFI Shell on the drive has booted, wait five seconds for the system to auto detect the update script. When it completes, you will be prompted to review the update and press any key to continue or ‘q’ to quit.
Confirm the update, and wait for the BIOS update to complete. When it finishes, your system should reboot automatically. If it does not, reboot the system now; the BIOS upgrade is now complete.
Guide to creating an MS-DOS bootable flash drive using Rufus for tasks like BIOS updates, and how to boot from it.
Booting MS-DOS from a USB drive can be useful for applying BIOS updates and other tasks.
USB flash drive (32GB or smaller)
A Windows 7/10 PC
Download the Rufus tool from
Launch Rufus
Under “Device” select your USB drive
Under “Boot selection” choose “FreeDOS”
Click START at the bottom of the window
Double check you have selected the correct drive and press OK to proceed
When the status bar says READY, the process is complete
Copy any files you will need in DOS to the flash drive. If you are applying a BIOS update, copy those files now.
Eject and unplug the flash drive
Connect the flash drive to the target PC and power it on. Go into the BIOS (Typically F2/Del/Esc) and set it as the primary boot device.
On newer systems, it is necessary to enable CSM / legacy boot mode as shown.
If successful, you will be greeted with the familiar old DOS prompt.
Use the dir command to confirm what files are on your USB drive.
Update .bat files can be executed by typing the filename.
Applicable to: K300 / K700 series systems
OnLogic offers a simple utility for updating the microcontroller firmware on your Karbon 300 or Karbon 700 series computer. You can find versions for both Windows and Linux systems below.
Note: You can also update your system firmware using the ‘s ‘update’ subcommand.
Guide to installing touchscreen drivers on Ubuntu Linux for specific touchscreens requiring additional drivers, including download and installation steps.
Some touchscreens require additional drivers to work on Ubuntu and similar OS distributions. This page will guide you through the installation.
Download the driver files from the following link and save to the downloads folder.
Use the tar command to extract the archive. Tip: Type “tar -zxvf eGT” and press tab. The rest of the filename will be autofilled.
CD into the newly created folder.
Guide to updating power sequence microcontroller (MCU) firmware using the Cobalt Power Sequence Updater utility on Windows and Linux.
You can use this process to install updated power sequence microcontroller firmware on your model system. You will need the updated power sequence microcontroller firmware, which is available on the specific system’s page. Make sure to download the power sequence microcontroller firmware before proceeding.
Downloads
Download the power sequence update utility for deploying the updated power sequence microcontroller firmware.
Updating Firmware on Windows
Guide to updating USB PD firmware using the TI TPS6559x utility, including download and installation steps.
1. Download and run the firmware update utility from the link above.
2. Download the firmware binary from the link above and click the Browse button to select it to install. The example image is for version 0.3.7, but your version may be different.
3. Select the firmware file and click the Update button.
Guide to updating microcontroller (MCU) firmware using the ZMU utility on Windows and Linux systems.
You can use this process to install updated microcontroller (MCU) firmware on your model system. You will need the updated Microcontroller firmware, which is available on the specific system’s page. Make sure to download the Microcontroller firmware before proceeding.
Download the ZMU utility for deploying the updated microcontroller firmware
Download the ZMU utility with the link above and copy zmu-windows-x86_64.exe from it to the desktop.
Copy the firmware to be installed to the desktop.
Check the COM port number in Device Manager which Hardware Ids value is "VID is 0x353F & PID is 0xA101".
Open a command prompt (press Win+X then I, or open the Start Menu and type “cmd”), then run the following commands (replace “<firmware.bin>” with the name of the firmware to be installed, "COMx" with the COM port number shown in Device Manager):
cd %HOME%\Desktop
cobalt_pwrseq_updater-windows-x86_64.exe COMx <firmware.bin>
Once the update is completed, fully shutdown the computer (not just a Restart). Turn the system back on, and the update is now completed.
Updating Firmware on Linux
Download the power sequence update utility with the link above.
Open a command and run the following commands (replace “<firmware.bin>” with the name of the firmware to be installed and [X] with the tty port tied to your system's MCU - typically ttyACM0):
unzip ~/Downloads/pwrseq-updater.zip
chmod +x cobalt_pwrseq_updater-linux-x86_64
cobalt_pwrseq_updater-linux-x86_64 /dev/tty[X] <firmware.bin>
Once the update is completed, fully shutdown the computer (not just a Restart). Turn the system back on, and the update is now completed.













Open a command prompt (press Win+X then I, or open the Start Menu and type “cmd”), then run the following commands (replace “<firmware.bin>” with the name of the firmware to be installed):
cd %HOME%\Desktop
zmu-windows-x86_64.exe image upload <firmware.bin>
Once the update is complete, fully shutdown the computer (not just a Restart). Turn the system back on, and the update is now complete.
(x86-64, ARM, AArch64)
Download the ZMU utility with the link above.
Open a terminal and run the following commands (replace “<firmware.bin>” with the name of the firmware to be installed):
zmu=zmu-linux-`uname -m`
unzip ~/Downloads/zmu-1.0.0.zip $zmu
chmod +x $zmu
sudo ./$zmu image upload <firmware.bin>
Once the update is complete, fully shutdown the computer (not just a Restart). Turn the system back on, and the update is now complete.
Fixes an issue that prevents the MCU from being used in Windows.
Karbon_v3.2.1.2.bin
Fixes an issue which caused the microcontroller to stop responding if it was receiving CAN traffic while the system was shut down.
Karbon_v3.2.1.0.bin
—
Download karbon_update.exe
Download the latest Binary Version from above
Open a command prompt, navigate to your downloads, and run:
Download karbon_update
Download the latest Binary Version from above
Open a command prompt, navigate to your downloads, and run:
You can also do all of the above in one line:
Karbon_v3.2.1.3.bin
karbon_update.exe Karbon_v3.2.1.3.binchmod +x karbon_update && sudo ./karbon_update "some_update_binary.bin"wget http://static.onlogic.com/resources/firmware/utilities/karbon_update https://static.onlogic.com/resources/firmware/binaries/karbon/Karbon_v3.2.1.3.bin && chmod +x karbon_update && sudo ./karbon_update Karbon_v3.2.1.3.binPress Y and Enter to accept the license agreement.
When prompted, type 2 and Enter to select USB (The display uses a USB connection internally)
Press enter on any additional prompts. The driver installer will exit and prompt you to reboot the system. Restart, and the driver will be in use.


4. Restart to finish the update process.



Manually update drivers via Device Manager, especially for those without installers.
Some drivers do not come with an installer and need to be installed manually. This can be done via Device Manager. This guide will show you how.
Copy the driver files to a USB flash drive.
If the drivers are contained inside a .zip file, extract them first.
In this example, we use the same flash drive we installed Windows 10 from
Eject the flash drive and connect it to the OnLogic PC. Type “Device Manager” into the start menu and launch Device Manager.
Expand the Display adapters menu. If you see “Microsoft Basic Display Adapter”, that means you are missing the driver. Right click and choose “Update driver”.
Select the “Browse my computer for drivers” option
Click on “Browse…”
Locate the folder on your flash drive with the drivers inside it. Click on the folder and click OK.
Now that the location shows where your driver folder is, click Next
Windows will now search that folder for the correct drivers and install them automatically.
Success! If you get a failure message, go back and make sure you copied all of the drivers to the flash drive and that they are not still inside a zip file. You need to extract them.
Repeat this process for all other devices marked with the yellow exclamation point. Typically, they will all be found under the “Other devices” heading.
When you no longer have any marked devices the process is complete. A reboot of the system is recommended.
Copy the driver package to a flash drive and plug it into the Windows machine
Open Command Prompt and navigate to the flash drive (e.g. >D:)
Run the command “pnputil /add-driver *.inf /subdirs /install“
You can also create a batch file and place it at the root of the .zip file that contains the line:
pnputil /add-driver *.inf /subdirs /install
Applies to: DI-Series, DS-Series, DX-Series, P2000-Series
Copy the BIOS files to a FAT32 formatted flash drive
Insert the flash drive into the Cincoze unit














Power on the unit, and press the Del key a few times until the blue BIOS menu appears
BIOS Navigation: Use the arrow keys to move around, press enter to select/open, press Esc to go back.
Under the Advanced tab, open the CSM Configuration menu
Change the Boot option filter to UEFI only
Go back to the main menu
Save Changes and Exit
Press Del again to get back into the BIOS
Your flash drive should now be listed under the boot tab. Make sure Boot Option #1 is set to the flash drive.
Note: The next 3 steps are only relevant for larger Cincoze units. Smaller units such as the DA-1000 and DC-1100 may not have the PCH-FW Configuration menu. If the menu is missing, skip ahead to the Save & Exit step.
Now head back over to the Advanced tab and open the PCH-FW Configuration menu
Select the only option
Enable Me FW Image Re-Flash
Save Changes and Exit
The unit will now reboot and boot to the flash drive. If it reboots more than once, you will need to go back and enable Me FW Image Re-flash again. It only remains active for 1 reboot. This is a security feature.
Press enter at the prompt to begin the flashing process
Do not unplug the unit during the process
If this error message is displayed, the firmware re-flash setting was not enabled correctly. Allow the process to complete. Go back to that step and try again.
The BIOS has now been updated. Press control-alt-del to restart. The unit may restart several times to configure the new BIOS.


Typically this is performed by the Operating System’s update manager (Windows updates, or the respective update manager in a Linux distribution), meaning that systems deployed in the field that receive regular OS updates most likely already have the new certificates enrolled. Alternatively for systems that may not have an internet connection, the new certificates can be enrolled manually
Microsoft has provided some info on how to audit your Secure Boot status in windows. The recommended update path for Windows users is to leverage Windows Updates to handle the new certificate enrollment.
Windows seems to not proactively check the Secure Boot policy unless Secure Boot is enabled. Customers that have Secure Boot enabled most likely have already received the new certificates in a previous Windows Update.
Update managers differ between linux distributions but ultimately rely on the fwupd tool to manage system firmware updates. If the fwupd command is not present in a linux OS, then the OS’s package manager can be used to install fwupd.
In Ubuntu, fwupd can be installed via:
sudo snap install fwupdNote: make sure fwupd is version 2.1.0 or later. Once installed the fwupdmgr can be used to query and initiate the certificate update:
hx500@hx500-CometLake:~$ fwupdmgr get-updates
Updating lvfs
Downloading… [***]
Successfully downloaded new metadata:
<..>
├─UEFI CA:
│ │ Device ID: 5bc922b7bd1adb5b6f99592611404036bd9f42d0
│ │ Current version: 2011
│ │ Vendor: Microsoft (UEFI:Microsoft)
│ │ GUIDs: 26f42cba-9bf6-5365-802b-e250eb757e96 ← UEFI\VENDOR_Microsoft&NAME_Microsoft-UEFI-CA
│ │ c34a7e6a-bd86-5244-8bd0-7db66fd3c073 ← UEFI\CRT_E30CF09DABEAB32A6E3B07A7135245DE05FFB658
│ │ Device Flags: • Internal device
│ │ • Updatable
│ │ • Supported on remote server
│ │ • Needs a reboot after installation
│ │ • Signed Payload
│ │ • Can tag for emulation
│ │
│ └─Secure Boot Signature Database Configuration Update:
│ New version: 2023
│ Remote ID: lvfs
│ Release ID: 116503
│ Summary: UEFI Secure Boot Signature Database
│ License: Proprietary
<..>
│ Description:
│ This updates the 3rd Party UEFI Signature Database (the "db") to the latest release from Microsoft.It also adds the latest OptionROM UEFI Signature Database update.
Microsoft has made the new certificates . Once downloaded customers will need to convert the x509 certificate (.crt file) into a DER encoded format (.cer file). This can be done with the openssl tool in Windows or Linux
The syntax for conversion is:
openssl x509 -outform DER -in <input_filename>.crt -out <output_filename>.cer
Example using one of the downloaded certificates:
Once converted, the .cer file can be placed on a USB flash drive and manually loaded in to the UEFI by going to the “Administer Secure Boot” menu, choosing the respective certificate repository (KEK, and db) and choosing “enroll”
After choosing the enroll option, navigate to the USB stick that has the DER formatted certificates and select it. You may be prompted for an owner UUID which is provided for each certificate on the .
Once enrolled the new certificate will show in the repository
How to send the system event logs to OnLogic for analysis
The Windows Event Logs contain a variety of information that can help diagnose crashes and other issues. In some instances, it is helpful to send us a copy of the logs so that we can examine them. This article covers how to do so.
Type “event” into the start menu
Open the Event Viewer
Expand the “Windows Logs” section
Right click on “System” and choose “Save all Events As…”
Enter a file name and save the file somewhere you can find it, such as the downloads folder.
Important – Be sure to select display information and check the English box. Without this, much of the log will be missing data.
Click OK. The export will take 5-30 seconds.
Attach the log files to an email and send them to us for analysis. Be sure to note the ticket number if we provided one, or your serial number if this is a newly reported issue.
This guide outlines the steps for returning your OnLogic system for warranty repair.
Contact our Technical Support team via phone or email, providing your system's serial number (starts with U or E, followed by 6 digits) and details of the issue. We may offer remote troubleshooting or ask for more information.
United States:
(802) 861 – 2300
How to locate your system's serial number via physical labels or software commands
The OnLogic serial number can be found on a label applied to the bottom of the system, or the rear of the display for Panel PCs. Our serial numbers will begin with U or E, followed by 6 digits.
Since 2018, OnLogic has written the serial number of the system into the SMBIOS data on all products except for Raspberry Pi systems (i.e the Factor Series). This means that the serial number can be retrieved without physically looking at the unit. This can be useful if the system is deployed in the field or mounted in an enclosure.
*Note that the Factor Series systems (FR201 and FR202) do not have a BIOS or SMBIOS, and do not support the below software commands. The systems’ serial number need to be identified via the physical label on the bottom of the case.
Open CMD from the start menu and run the following commands. One of them should return the correct serial.
Run the following commands in terminal.
How to use the barrel jack retention ziptie
Prepare Knockout: Use a screwdriver to push out the designated knockout (typically marked with a padlock symbol). Ensure the piece is removed from the system.
Insert Zip Tie: Push the retaining zip tie (from accessory kit) into the hole, ribbed side facing upward.





















openssl x509 -outform DER -in "microsoft corporation kek 2k ca 2023.crt" -out "microsoft corporation kek 2k ca 2023.cer"WMIC BIOS get serialnumberWMIC baseboard get serialnumberdmidecode -s system-serial-numbercat /sys/devices/virtual/dmi/id/product_serialsupport@onlogic.com
The Netherlands:
+31 88 5200 702
support@onlogic.eu
If a return is necessary, we will issue an RMA number and shipping details. An RMA number is required for all returns. Customers are responsible for shipping costs and bear the risk of loss for returned items.
Packaging: Original packaging is ideal (required for refunds). Otherwise, use your own packaging, ensuring at least 2 inches of padding on all sides. Avoid airbags and packing peanuts. Place bare components (e.g., motherboards, RAM) in static-safe bags.
Upon arrival at OnLogic, repairs are typically completed within 5 business days.
We will:
Attempt to reproduce the reported issue.
Use diagnostic tools to identify the root cause.
Replace faulty hardware (if applicable) and re-test.
Note: The HDD/SSD may be erased during troubleshooting.
Perform the same thorough production test run on new units to ensure full functionality.
A repair summary detailing our findings and the repairs made will be sent to you and enclosed with the returned system.
Failed components are tracked internally for quality improvement and supplier follow-up.

Attach Clip: Attach the clip to the power supply's cable.
Secure Cable: Thread the zip tie through the clip's hole and snug it into place.



First-time login and reinstallation procedure
Ubuntu Linux is supported on most OnLogic PCs, though specific versions might be required. For example, Ubuntu for Intel IoT is required on most systems running 11th Gen Intel CPUs and newer. Technical support for and Ubuntu OS related issues should be directed to ubuntuforums.org
Customer’s who purchase Ubuntu pre-installed on their system will need to setup a user account and password. With Ubuntu Desktop versions, this is done via the Graphical User Interface (GUI). For Ubuntu Server version, you will be prompted to set this up via the Command Line Interface (CLI).
*Note: Ubuntu 22.04 Server will prompt you to change the default password on first boot up. The default password is:
Username: onlogic
Password: onlogic
For a full installation guide, please visit the Ubuntu website here:
A 4GB or larger flash drive (USB 3.0 model recommended for speed)
A PC running Windows 10
Download the Rufus tool from
Download the correct Ubuntu ISO image for your system (based on the CPU). Most newer systems such as the K400 series, K800 series, and platforms with 11th Gen CPUs or newer with require .
Other platforms can use the latest standard LTS version, such as 22.04 in this example.
Older versions can be downloaded from . download the file ending in -desktop-amd64.iso
Download the ISO file and Rufus tool, linked above
Insert your flash drive and run Rufus
Click Select and choose the ISO file you just downloaded.
Most systems will use the Partition Scheme set to GPT. For older Systems (2018 or older): Set the Partition Scheme to MBR For context,
Connect your newly created flash drive to the OnLogic PC and boot to it.
Press F2 or Delete to access the BIOS. Under the Boot tab, make it the first boot device.
Exact boot instructions vary by model. If you need assistance, contact support@onlogic.com.
Select your language and click continue
Check the box to allow 3rd party software and click continue. This may provide better hardware support.
Resolving display issues by enabling proprietary Nvidia GPU drivers on Ubuntu, using recovery mode.
The free drivers built in to Ubuntu can sometimes crash with newer graphics cards. The common symptom is that the display will go black at boot or have a corrupted output as shown below.
To fix this, you will need to boot into recovery mode and enable the proprietary drivers. In this example, we use an OnLogic K700 and Ubuntu 20.04. The procedure is the same in 18.04.
Power up your PC and wait for the BIOS screen to come up.
Press the Esc once or twice to access the GRUB bootloader menu.
On the K700, wait until the text below the splash screen disappears and then press your Esc key. This helps avoid conflicts with BIOS features that may be triggered by the ESC key.
If successful, you will be greeted with the following screen.
Select “Advanced options for Ubuntu” using the down arrow and enter keys.
Select the line ending with (recovery mode)
When in recovery mode, select “Resume normal boot”
Select “OK” on the this should boot the machine into the desktop environment
Open the application launcher in the bottom left of the screen
Open “Software and Updates”
Click the “Additional Drivers” tab
Select the latest NVIDIA proprietary driver. It will typically be the top option
Click “Apply Changes”
Reboot your system and let it start up normally. The driver issue should be resolved.
How to format secondary storage drives
OnLogic currently does not initialize storage drives unless an operating system was installed on them. This means that additional storage drives will not show up out of the box. They need to be initialized and formatted in disk management first. This guide will show you how.
Open the start menu and type in “management”
Open Computer Management
Click on Disk Management
In most cases, this popup will appear automatically.
Choose GPT and click OK
If the popup above does not appear, scroll down and locate the “Not Initialized” disk. Right click on the disk number and Initialize it. The popup will now appear.
Now that the disk has been initialized, you can create a volume and format it.
Right click anywhere in the black “unallocated” space.
Choose “New Simple Volume…”
Click Next on the window that appears.
Leave the number at the default and click next.
This will create one partition that fills the entire disk – the most common configuration.
Select a drive letter from the dropdown if desired. The default is fine.
Click Next
Format the drive
File System: NTFS
Enter a volume label if desired
quick format
Click Finish. The drive will start formatting and will show up under “This PC” within a few seconds.
The drive is now ready for use.
A guide for creating a product quote from the OnLogic website.
At OnLogic, we aim to provide the tools you need to move your projects forward efficiently. Whether you are an existing customer looking to expedite procurement or a new visitor to the OnLogic website who needs a formal document for budget approval, you can generate a professional quote directly through our website.
Navigate to the product page of the system that meets your requirements. Scroll to the Configure & Buy section to select your specific components, including processor, memory, storage, and operating system.
Once your configuration is complete, click the Add to Cart button in the summary box.
After adding the items to your cart, you will be redirected to the Shopping Cart page. Take a moment to review your selected components and adjust system quantity if desired. To generate a quote document instead of checking out, locate the Order Summary box on the right and click the orange outlined Get Quote button.
You may sign in to your OnLogic account to use saved addresses, or select Continue as Guest to proceed without logging in.
To ensure your quote is accurate and reaches the right person, complete the following sections:
Email Confirmation: Enter the address where you would like to receive the PDF quote.
Shipping Information: Provide the delivery address. This allows our system to calculate regional taxes and shipping rates.
Shipping Method: Select your preferred shipping speed.
Review your information and click Generate Quote. A confirmation screen will appear with your unique quote reference number.
Your formal PDF quote will be delivered to your inbox, typically within 10 minutes.
When you are ready to proceed with your order, simply open your quote email and click the View Cart button. This will automatically reload your exact configuration onto our website, allowing you to complete your purchase.
If you prefer you may also contact your dedicated account manager or our technical sales team to finalize your order. Please note: orders placed through our sales team do not qualify for free shipping.
Pricing and Availability: Because market prices for components like RAM and storage can be volatile, online quotes do not lock in pricing or stock. We recommend completing your order promptly to ensure the best pricing and availability.
Free Shipping: While many online orders qualify for free shipping, this option is only available during checkout. If your final online purchase meets the criteria for free shipping, it will be applied during the final checkout process.
Volume Discounts: This tool provides our standard retail pricing. If your project requires volume-specific discounts, please use the Request Volume Quote link on the product page or contact our technical sales team directly to discuss your requirements.
















Click Next











Click START
Click OK. This will erase your flash drive and turn it into an Ubuntu installer.
Wait for Rufus to complete.
Safely eject the flash drive and unplug it from the PC.





Set up, test, and establish serial communication between devices on Windows and Linux, including loopback testing and pinout verification.
Begin Basic setup by determining the pinout of the devices that will be connected.
In this example we will connect a K300 running Ubuntu to another K300 running Windows 10.
Using the K300 Manual, we can determine that the Transmit (Tx) pin is 2, the Receive (Rx) pin is 3 and the Ground (GND) pin is 5.
Before connecting the two devices we can run a loopback test to determine the address of the physical port we are using.
This can be done using a COM loop back device, or by using jumper cables to connect the Tx pin to Rx pin and the GND pin to a ground source. Please note it is best practice to use another COM port’s GND pin to ground the port running the loop back test. In a pinch, the COM port’s shield can be used, but it is not guaranteed to be a viable ground point and may result in communication issues.
Once the loop back is made, PuTTY can be used to send simple communication over the port to determine how the physical port enumerates in the OS.
Using Putty open up a COM port and type in the terminal window.
Your keystrokes should print out in the terminal window. If they do not, use PuTTY to open up another COM port number
This tells us that the COM port our loop back is plugged in to is “COM1” in the Operating System.
In Linux download and install PuTTY. You may need to run PuTTY with elevated privileges. Open up a /dev/ttyS0 port and begin typing in the terminal window.
sudo apt install putty sudo putty
Your keystrokes should type out in the window. If they do not, run putty with a different /dev/ttyS address. Try 1 or 2
This determines the port we have our loopback plugged in to is at /dev/ttyS_
When connecting to a device it’s important to verify pinout between devices against the pinout of the cable in use.
Using the pinout of the two devices, verify that the cable is connecting Tx to Rx and also connecting ground.
This example is using jumper cables to show the pinout connection between devices
Once the cable pinout is verified and the cable is connected to both devices, PuTTY can be used to send information over the port.
It’s important that the following settings between both devices match. If the settings differ between devices, the data sent will have errors on the receiving device.
Baud Rate
Data Bits
Stop Bits
Parity and Flow control are optional settings.
In Ubuntu we can use PuTTY to open up the /dev/ttyS0 device path we ran the loopback test on.
also take note of the serial configuration of this PuTTY serial session.
Opening PuTTY the com port we ran the loop back test on can be opened and the settings can be checked to make sure they match the configuration of the Ubuntu system’s COM settings.
Once the PuTTY terminal is open on both systems, data can now be sent between devices.
On the Windows PuTTY terminal, keystrokes will appear in the Linux PuTTY terminal.
On the Linux PuTTY Terminal, keystrokes will appear in the Windows PuTTY terminal
Although this example used 2 K300 systems, the overall principals apply for setup and troubleshooting any serial communication line.
Determining software port to use for specific physical port
Ensuring port works with loop back
Determining pinout of port
Ensuring cable’s pinout matches device’s pinout and Tx pins are going to Rx pins between devices
Applicable to: K300 / K700 series systems
This article provides specific examples for the K300 and K700 systems. Other models may not be compatible with the exact software packages used. Check out the available documentation directly on your system’s Support page. Checkout the newer generation of the K300 and K700 systems here:
DIO, or Digital Input/Output, is a simple form of interface used in a wide range of systems to effectively relay digital signals from sensors, transducers and mechanical equipment to other electrical circuits and devices.
Sometimes referred to as General Purpose Input/Output (GPIO), DIO utilizes a logic signal to transfer information. Unlike an analog signal which might be comprised of varying voltages, the digital signals used by DIO have two possible values and are generally represented as either OFF or ON. Think of analog signals as those you might use a knob or dial to set, while digital signals would most often be controlled by a switch. This makes it ideal for sensing switch contacts, reacting to motion sensors, limit switches, operator buttons or machinery status indicators. It can also be used to control indicator lights, small relays or PLCs within equipment.
Read more about DIO basics on our blog.
Install and the .
This tutorial will outline a quick and simple test for the Karbon K300 and K700 series’ Digital I/O. We’ll wire the DIO port and run a simple python script to control an LED during a button press event on an input pin
The Karbon Digital I/O port is not powered and will need to have power supplied to the port. The DIO port is able to handle 5-36VDC on the K300 and 5-48VDC on the K700.
For this tutorial we’ll borrow the USB port’s 5V and GND pins and splice a spare USB cable for use in the DIO port.
Once the power is supplied to the DIO port we’ll need to wire up our input. Since the Input of the DIO are pulled high when floating, we’ll wire an input to ground so that pressing the button will pull the input low.
We’ll wire up an LED to output 3 and to the supplied 5V. NOTE: most LEDs will need to have a resistor in line from the power rail to limit the current supplied to the LED. check the details of the current limits of the LED you are using.
To validate the input is working, the can be run to monitor the behavior of the inputs and outputs.
Running the karbon tool with the `op dio-state’ will print out what the input and output states are. The output bit order is I0 I1 I2 I3 O0 O1 O2 O3 Since we have the button wired to Input 3 we should expect 11110000 and then 11100000 when the command is ran while the button is pressed.
Now that that input can be read from the MCU, the output portion can be configured.
We can run a python script that will react to Input 3 being pulled low with the button press and set output 3 to high and turn the LED on.
Save the following script as dio.py and run it with the command python3 dio.py
Running the script will show configuration info and then print out information when the button is pressed and depressed.
The button press will set input 3 to high, triggering the python script to set output 3 high and turn on the LED.
HMI touchscreen optimization for industrial applications.
For industrial applications, touchscreen HMIs (Human Machine Interfaces) are very popular, allowing operators to interact with computerized systems without the need for a keyboard and mouse. This reduces space needs and allows systems to be directly mounted to electrical enclosures & kiosks. However, application development, design, and integration for HMI touchscreens differs from desktop and mobile use-cases. This application note will explain how to develop, design, and optimize the user experience with touchscreen HMIs across Windows and Linux distributions.
If you’d like to know more about selecting the right type touchscreen for your application, look at reading our blog post, . This application note assumes you are already familiar with the differences between capacitive and resistive screens.
Modern operating systems are equipped to handle touch inputs out of the box. For comparison, Windows 11 Pro, Ubuntu 22.04, and Ubuntu 24.04 operating systems were tested for functionality consistency with OnLogic’s Tacton Panel PC platform. Basic functionality consists of:
Deploying AI Vision Application Containers at the edge using Ansible Automation Platform on OnLogic HX401 and AC101 systems
In the rapidly evolving landscape of edge computing, efficient device management and orchestration are paramount. This application note explores the use of the Ansible Automation Platform to streamline the deployment of edge AI applications. By leveraging Ansible’s capabilities, we demonstrate a robust and repeatable method for deploying and managing complex edge infrastructures. This approach addresses the challenges of scalability, heterogeneity, and rapid deployment inherent in edge environments. Through detailed instructions and practical examples, this guide empowers technical professionals to effectively harness automation, optimize resource utilization, and accelerate the delivery of cutting-edge AI solutions at the edge.
For this example note, we’ll be showcasing an AI demo application that can detect “OnLogic” logos. This demo application is written in Python and uses a USB camera with a YOLO object detection model that has been trained on a custom dataset to detect the OnLogic logo in its various forms. The processed image frames are then sent to an RTSP server in order to view the live camera feed. Both the server and client of our application are packaged into Podman containers, and hosted via private registry.
For the edge device deployment, the industrial computer was selected for its small form factor and performance. The Intel® 12th Generation Alder Lake-P SoC makes it an excellent choice for Edge AI applications.
Ensuring communication settings between devices match.


















import pykarbon.terminal as pkt
def callback_fn(arg):
if arg[3] == '0': #check if 3rd item from popdata() is 0
print("DI 3 --> LOW ", arg)
return True #return True to dev.set_do. sets output high
else: #if 3rd item from popdat() is anything other than 0
print("DI 3 --> HIGH", arg)
return False #return Flase to set_do. sets output low
i = 0
with pkt.Session() as dev:
dev.update_info(print_info=True) # Update and print configuration info
dev.set_do(0, False) # Set digital output zero low
while True: #create loop that runs forever
line = dev.popdata() #popdata will print out data in the queue
if line:
dev.set_do(0, callback_fn(line)) #returns data from queue as argument for use by callback_fnHolding down a finger to the screen will act as the right mouse button click.
Multi-touch gestures depend on the operating system and will only be consistent with capacitive screens.
As touchscreens have been around for a long time, some users need functionality consistent for their legacy applications to work properly, particularly those based on Windows Vista that utilize a resistive stylus. Some of these applications operated based on a “click” actuation once a pen was removed from the screen. In order to replicate this functionality with a modern touchscreen we will need to use an utility to emulate it. EETI’s eGalaxTouch Windows utility has been tested by OnLogic for use with Tacton’s resistive for those users that need to emulate legacy applications.
While holding down a touch will pull up the right click menu, this does not work on files on the GNOME desktop environment. In all other cases such as taskbar and in application it will work correctly. This can sometimes be addressed by enabling Click Assist in the Accessibility settings to simulate a secondary click, however this did not work consistently across all distributions and screen types. However, as we will discuss further on, it is best to not utilize right click when possible for ease of use.
When inputs are needed from users that would otherwise use a keyboard, an OSK can be used to create a virtual keyboard that users can interface with using the touchscreen. When enabled the keyboard will show up when clicking into a text or numerical entry box. Both Windows and Linux distros offer a default OSK, but may require some setup depending on the application.
Somewhat confusingly, Windows offers both a standard OSK and a touch keyboard. Both options pop out as a window when needed, but the touch keyboard (shown above) offers much more flexibility and responsiveness in terms of customizing size and position. It is best to use the touch keyboard option when possible. Additionally, with Windows 11, an icon can be added to the taskbar to allow for the keyboard to be turned on and off manually if desired. To use properly, ensure the standard OSK is turned off in the keyboard section of the Accessibility Menu & touch keyboard is turned on (Time & Language > Typing) and added to the taskbar (Personalization > Taskbar).
The OSK can be enabled in the accessibility system menu under the typing section. It will pop-up from the bottom of the screen occupying about ⅓ of the screen space and can be manually brought up by swiping from the bottom of the screen (PCAP Only). This can present challenges as input boxes can become blocked by the OSK window.
GNOME Default On-Screen Keyboard
Customization can be tricky, depending on the particular distribution. Most modern distributions (18.04+) use Wayland as a replacement for X11 window system protocol. This means that older tools that utilize x11 will not work with modern distributions when trying to deploy system-wide. It’s important to consider how inputs will be made if the default OSK can’t be used.
Direct Application Integration
Consider implementing the OSK directly into our application using compatible components or tools. For example, with Inductive Automation’s Perspective SCADA visualization tool, there are already pre-built keyboard and numpad components available for integration natively into projects. If developing an application from the ground-up, consider what your UI toolkit offers, such as QT6’s virtual keyboard.
GNOME Extensions
If we want to integrate outside of individual applications, there are other tools available through GNOME Extensions such as TouchX which adds a dedicated OSK button to the top taskbar, or GSJOSK, which offers a pop-out OSK however your mileage may vary as GSJOSK and other non-standard OSKs. In our testing, it did not work in full screen for browser sessions. OSK dependencies can vary greatly, so direct application integration is preferable.
When a system is panel mounted be sure to consider how to wake the system from standby/suspend state. While Windows 11 supports “Touch on Wake” natively, the same option is not present for the default Ubuntu 22.04/24.04 environment or within Windows 10. One obvious solution is to disable sleep/suspend in the power settings of your operating systems, however the Tacton platform offers some alternative hardware features that can help, regardless of the Windows or Linux environment.
Infrared Proximity Wake – allows the embedded IR sensor to wake the system from sleep based on user proximity. The distance is enabled and customized via the LPMCU CLI tool.
Remote Power Switch – A physical power button can be cabled out from the integrated DIO (Pin 1-2). A simple momentary switch will allow you to wake the computer.
Based on the touch interactions we reviewed above, applications for touchscreens need to be built in a manner that allows users to easily interact with on-screen resources. This means that not all functions that worked on a desktop as a physical button are best used for touchscreen HMIs. We should follow similar best practices to mobile application design in terms of simplicity, ease of use, and consistency. This guide is not designed to be a complete overview of HMI design best practices, but please consider the following concepts specific to touch interactions.
Stick to single touch (i.e. left click) for use where possible. This will provide the most consistent experience. Since our fleet of devices may be heterogeneous, building applications that work well for all types of screens is ideal.
Minimize components that require movement such as swiping, sliders, etc.
Do not use a touchscreen for momentary i.e. “jog” buttons for communicating with a PLC. These are not consistent and cause a value to get “stuck” in a state. Consider using timers, automating actions, or keeping these as physical buttons next to the panel.
Space buttons and size appropriately to make them easy to interact with.
Using an OSK with a resistive screen is time consuming and should be avoided when possible.
Typing repeatedly on a touchscreen is time consuming. Barcodes, ID scanners, RF devices, and other input devices will automate data collection.
Gestures can be helpful, but should not be relied upon. Build straightforward navigation with buttons that allow easy navigation. The exception being applications that need to zoom, such as integration with Google Maps or OpenStreetMaps can benefit greatly from gesture support.
Utilizing “Kiosk Mode” or auto-launch applications in full-screen during boot. This will minimize operator confusion and limit access to unapproved applications. IT best practices for locking down workstations should also be implemented.
Intel Core i9-13900E
64GB (2x 32GB) ECC DDR5 4800 MHz Memory
960GB Micron NVMe SSD
Nvidia RTX A4000
Red Hat Enterprise Linux 9.2 with Podman installed
Intel Core i7-1240PE
32GB (2x16GB) DDR5 4800 MHz Memory
128GB Transcend NVMe SSD
Red Hat Enterprise Linux 8.8 with Podman installed
1GbE Port 1: DHCP, Connected to Internet (for Ansible Automation Connectivity)
1GbE Port 2: Static IP (10.10.15.1, Connected to HX401)
Red Hat provides a deployment planning guide along with installation instructions to set up an ansible automation platform server with (you guessed it) an Ansible Playbook. Ansible Automation Platform can be deployed either in the cloud, or on premises depending on your organization’s infrastructure. In this case, Ansible Automation Platform was deployed on premises on another AC101 we had in the office.
To start off, the first thing required is to import an automation project within the Ansible Automation Platform. The procedure noted below will step through this process.
1. Login to the Ansible Automation Platform web console.
2. Navigate to the “Projects” page.
3. Create a new project, providing a name and optional description.
4. In the project configuration, select the Git repository option and input the Git repository URL, specifying the branch and path if needed.
5. In the example shown, a GitLab HTTPS deploy token is appended to the front of the URL for authentication to an internal GitLab server.
6. Save the project configuration and initiate the sync process to pull in the content from the Git repository. Verify the successful import of playbooks and roles within the Ansible Automation Platform interface.
Ansible Automation Platform provides a centralized and secure way to manage credentials, such as usernames and passwords, necessary for accessing target systems. In this case, Linux PAM credentials, required for SSH and sudo access to the devices, are the relevant credentials that need to be added to the interface.
1. Navigate to the “Inventories” section.
2. Click “Add” and click on the “Inventories” tab in the main navigation menu. This will take you to the inventories management page.
Within the inventory, you’ll need to define hosts (individual machines or servers) and groups (collections of hosts).
1. Add hosts by specifying their IP addresses or hostnames. For this case, two inventories are being created, one for the HX401, and one for the AC101.
Variables can be assigned at several different levels (host, group, inventory, etc.). In this application, variables are being assigned at the inventory level, as there are two discrete inventories for the edge device and RTSP server.
Review the created inventory to ensure all hosts and groups are accurately defined. There are built-in tools to test the connectivity and configuration of the hosts within the inventory.
Job templates serve as blueprints for job execution, encapsulating the details of playbooks, inventories, and job options.
1. Navigate to the “Templates” section, and select “Add Job Template” under the “Add” dropdown.
2. Fill in the required information, including a name and description. Specify the playbook that the template will execute, and designate the target hosts by choosing an inventory source. Customize the job template further by configuring options such as credentials, project settings, and runtime parameters, then click save. The completed job template should now encapsulate all the necessary details for executing the automation task in a repeatable manner.
After running the jobs, the application should now be exposing an RTSP stream at the location specified in the job template:
From our AC101 platform, we can ensure that the AI vision application container was deployed to the HX401 by attempting to open the RTSP video stream. To do so, we can use the popular VLC media player application to open the video stream as follows:
1. Open VLC media player and navigate to Media, the select Open Network Stream
2. Input your RTSP URL into the open field, e.g rtsp://<hostname-or-ip-here>:8554
3. Next, press the Play button, and the RTSP stream should open.
Confirming our application is loaded on the HX401, here is a view of the stream from VLC, demonstrating that both the RTSP container and the vision application have deployed successfully!
Interested in exploring how the Ansible Automation Platform can transform your edge AI deployments? Contact the OnLogic team today or visit www.onlogic.com/ai.

Deploying the OnLogic Axial Edge Server with Intel 13th Gen Core i Processors and Intel Arc dGPU for video streaming to AWS Kinesis Video Streams
The OnLogic Axial Edge Server for KVS is designed to simplify the challenges of video streaming for edge to cloud inference applications. By using OnLogic’s 1U Axial Edge Server powered by Intel 13th Gen Core i Processors and Intel Arc discrete GPU, you can leverage edge processing to supercharge your vision applications. The OnLogic Axial Edge Server for KVS is tested for compatibility with KVS to easily integrate into existing KVS workflows.
A full range of resources are available for your OnLogic Axial Edge Server for KVS within the AC101 Product Documentation Page.
Each OnLogic AC101 includes the computer itself, depending on chosen accessories the following may be included. Accessories may be purchased separately on onlogic.com where stated.
Mounting hardware for rack deployments or wall mounting hardware.
C13 to AC Outlet Power Cables (Selection available for US/EU/UK)
While the configuration is selectable by the user, the reference platform tested contained the following specifications. System requirements will depend on # of streams, local storage requirements, stream specifications (frame rate/resolution/etc.)
CPU: i7-13700E | GPU: Intel Arc Pro A60 | RAM: 16GB | Storage 128GB | Ubuntu 22.04 LTS
OnLogic Axial Edge Server for KVS is designed to integrate with existing and new video streaming applications and are only a part of the solution. The following items are required to take advantage of the solution:
IP Capable Video Cameras (RTSP)
Edge networking equipment capable of providing video streams to the AC101. The AC101 is equipped with 10GbE and 1GbE LAN. For multi-stream deployments a network switch is recommended.
Users may opt to use integrated storage on AC101 if chosen for Offline video storage, however users may also want to consider on-site NAS if consuming large amounts of data. Full specifications on in-server storage options can be found on the AC101 product page.
The following uses files available from OnLogic Support team. Please use the available download link, this also includes sample video files (.mp4) for ease of use. The solution can run either on CPU or GPU. Files are included for both.
On CPU host, install Docker: https://docs.docker.com/engine/install/ubuntu/ .
Perform post-install steps so you do not need to run Docker with `sudo `
Copy *Dockerfile*, *build.sh*, *run.sh*, *C0012_1080p25.mp4* to CPU host
For in-depth support on the OnLogic AC101, you can visit the .
Your system will come equipped with either a single or redundant power supply along with AC power cables. You will need to plug either a single or both (redundant only) AC power cables into the system in order to power on the system.
In order to set up the system you’ll need a keyboard, mouse, and display in order to perform the first time setup. Start the system by pressing the power button (if you selected auto-power on your system will start when plugged in).
Install Ubuntu 22.04 LTS or your operating system of choice (If you have chose not to have OnLogic pre-install it)
Ensure you are using a PC that is rated for your environment: operating temperature, input voltage, shock, vibration
Ensure to adhere to any certification requirements for IT equipment: Class 1 Division 2, UL Requirements, etc.
Ensure systems are installed properly following instruction materials when installing into racks or secured using wall mount.
Users that have appropriate expertise should expect device setup to take less than 30 minutes for your device to be ready to connect to your AWS KVS instance depending on network availability.
As the solution does not include any production environments in AWS cloud as such the user is responsible for setup, deployment, and maintenance of their AWS applications and following AWS best practices to ensure operational excellence and security. OnLogic Axial Edge Server for KVS can be used in any AWS Region or Availability Zone that supports KVS. Please ensure to adhere to any importation requirements if deploying outside the United States or European Union as there may be additional regulatory requirements for IT equipment.
To learn more about AWS Kinesis Video Streams, see and .
OnLogic does not offer technical support for software issues related to AWS services. Contact your technology integration resources or partner to help resolve software issues. For answers to common questions and preliminary troubleshooting, please browse our comprehensive support site.
For Hardware support you can contact the OnLogic support team at or 802-214-7565 ext. 2 (8:30 AM to 5:00 PM EST). For responses via email and voicemail we strive to respond the same business day. If received after normal business hours we will respond in the order that they were received. Once an RMA is received normal turnaround when parts are available is 5 business days
All OnLogic systems come with a standard 2 year warranty (unless otherwise stated). For additional information the following resources are available:
Different methods of recovering a Windows IoT Enterprise operating system
Our systems with Windows 11 and 10 IoT include a recovery option that restores the device to its original factory state using the. This includes drivers vital to the functionality of the system.
This recovery option works well when windows can still start up or reach recovery mode, and needs system files repaired.
This recovery option won't work for cases when the OS is completely missing, since the process depends on the Windows Component Store files which are stored on the OS.
Using the media creation tool
Windows 10 Pro and Home can be reinstalled using a USB flash drive and a tool from Microsoft. This guide will walk you through creating the flash drive and performing the installation.
An 8GB or larger flash drive (USB 3.0 model recommended for speed)
A PC running Windows 10
USB drive creation, booting into Clonezilla, and the restoration process.
A 4GB or larger flash drive (USB 3.0 model recommended for speed)
A PC running Windows 10
Download the Clonezilla alternative stable version from











User provided edge AI inference application. The user should be able to optimize using the Intel OpenVINO toolkit to take full advantage of hardware.
Edge to Cloud networking to AWS Cloud. The reference architecture for the solution recommends a 5G Modem, but hardwired connectivity is also sufficient.
User maintained AWS EC2 instances for KVS and storage platform of their choice such as S3 Buckets.
When Docker build is complete, open up the “run.sh”, enter AWS credentials values for environmental variables `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_DEFAULT_REGION` fields.
Update the `-w` to your desired working directory. This will be the directory the Docker container will be in when launched
Enter the Docker container by executing `run.sh`
CPU ONLY: Launch the demo with the command `/opt/demo/kvsWebrtcClientMasterGstSample Intel-DLStreamer-Ch` where `kvsWebrtcClientMasterGstSample` is the AWS KVS WebRTC C SDK demo application and `Intel-DLStreamer-Ch` is the WebRTC Signaling channel name.
Launch a web brower on the local host or remote platform and enter the following address: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-js/examples/index.html. Make sure the enter the correct AWS region, Access key and Secret key. The channel name will be `Intel-DLStreamer-Ch`.
Follow the instructions outlined in section 3 (Deployment Setup).
Prototype before field installation of larger deployments
1.0
11.18.24
Initial Release

Follow official Microsoft documentation for accessing the Windows Recovery menu.
While inside the OS, press and hold the Shift key while you select Power > Restart.
In a Windows terminal window, type `shutdown /r /o /t 00` or `reagentc /boottore` .
If you are unable to access your OS, turn the system on and then force a shutdown by holding the power button as soon as you see the Windows logo or spinning dots. Repeating this process 2-3 times triggers the Automatic Repair feature and will boot into the Advanced Startup menu.
Follow these steps once inside the Windows Recovery Environment.
Choose the troubleshoot option.
Select "Reset this PC".
Select "Local reinstall". This is the option that uses the Windows Component Store files to restore the system.
Select either option based on your preference:
Keep my files: This option reinstalls the Windows operating system and all of the original drivers and software that were configured in our facility. It removes applications you have installed (like Microsoft Office, web browsers, etc.) and resets most settings, but it preserves your personal files, such as those on your Desktop and in your Documents, Downloads, and Pictures folders.
Remove everything: This option performs a complete factory reset. It erases all of your personal files, applications, and settings before reinstalling a fresh copy of the original system.
Select "Reset".
Windows 10 IoT can be reinstalled using a USB flash drive. This guide will walk you through creating the flash drive and performing the installation. Please note that while Windows 11 IoT can be reinstalled through this method, it will erase the embedded activation key and so using the Recovery partition is the recommended way to restore Windows 11 IoT to a default installation.
An 16GB or larger flash drive (USB 3.0 model recommended for speed)
A PC running Windows 10
A copy of the OnLogic ISO file (contact tech support to obtain, only available to existing customers)
Rufus,
An active internet connection to the system getting Windows 10 IoT reinstalled (needed for OS activation)
Download the ISO file and Rufus tool, linked above.
Install Rufus to your local computer
Insert your flash drive and run Rufus
Click Select and choose the ISO file you just downloaded.
Most systems will use the “GPT” Partition Scheme. Some older units will need “MBR” for older (Legacy bootable) systems.
Click START
Click OK. This will erase your flash drive and turn it into an IoT installer.
Wait for Rufus to complete.
Safely eject the flash drive and unplug it from the PC.
Connect your newly created flash drive to the OnLogic PC and boot to it.
Press F2 or Delete to access the BIOS. Under the Boot tab, make it the first boot device.
Exact boot instructions vary by model. If you need assistance, contact support@onlogic.com.
When the flash drive boots, you will be presented with this screen. Select Next.
Click Install now
Accept the license agreement and click Next
Choose the option for Custom installation
*** If installing Windows 11 IoT instead of Windows 10, this window will appear. Select “Windows 11 IoT Enterprise LTSC” to proceed***
Delete all partitions from the drive you will be installing Windows 10, typically Drive 0.\
Note: If you have multiple drives in your system, you only need to delete the partitions on the primary SSD (i.e. the one Windows is installed to). Typically this is Drive 0.
Double check that you are deleting the correct partitions and click OK.
With all partitions deleted, the Window should look like this. Click Next. New partitions will be created automatically.
Take a break while the installation proceeds
Depending on the boot settings, the system may boot to the flash drive again. If that happens, click the X to reboot and immediately remove the flash drive.
Select “I don’t have a product key”. Windows will activate automatically using the embedded key, after the OS installation is complete.
You may log in with your Microsoft account if desired.
In many business use cases, that is not desired. You can create a normal account with the “Domain join instead” button.
Enter a username and click next. Set a password if desired.
Unless you signed in with a Microsoft account, click NO on this screen.
The options on the next screen primarily affect apps from the Microsoft Store. Disabling all options will minimize intrusions if those apps are not used. This can be changed later.
This loading screen will appear for a few minutes while the user settings are applied.
When completed, you will go straight to the Windows 10 desktop.
Your installation is complete!
If you are missing any drivers, start by running Windows Update. It tends to find most of them. Otherwise, use the search box at the top of this page to find the “Technical Resources” page for your model. It will have a link to the drivers.
Windows will automatically activate when connected to the Internet. This normally happens after a few minutes in the background, but to force immediate activation, open CMD and type “slmgr /ato“
Download and run the Media Creation Tool, linked above
Accept the license agreement
Choose the 2nd option and click Next
Specify the architecture. In almost all cases, the default of 64bit is correct.
Select USB flash drive 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 10 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.
Safely eject the flash drive and unplug it from the PC.
Connect your newly created flash drive to the OnLogic PC and boot to it.
Press F2 or Delete to access the BIOS. Under the Boot tab, make it the first boot device.
Exact boot instructions vary by model. If you need assistance, contact support@onlogic.com.
When the flash drive boots, you will be presented with this screen. Select Next.
Click Install now
Enter the product key from the bottom of your OnLogic PC and click Next.
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
Delete all partitions from the drive you will be installing Windows 10, typically Drive 0.
Double check that you are deleting the correct partitions and click OK.
With all partitions deleted, the Window should look like this. Click Next. New partitions will be created automatically.
Take a break while the installation proceeds
Depending on the boot settings, the system may boot to the flash drive again. If that happens, click the X to reboot and immediately remove the flash drive.
When booting to your new Windows installation for the first time, you will be presented with this screen
Choose :set up for an organization
You may log in with your Microsoft account if desired.
In many business use cases, that is not desired. You can create a normal account with the “Domain join instead” button.
Enter a username and click next. Set a password if desired.
The options on the next screen primarily affect apps from the Microsoft Store. Disabling all options will minimize intrusions if those apps are not used. This can be changed later.
Unless you signed in with a Microsoft account, click NO on this screen.
Cortana is a web search assistant on the desktop. Generally this should be disabled.
This loading screen will appear for a few minutes while the user settings are applied.
When completed, you will go straight to the Windows 10 desktop.
Your installation is complete!
If you’re missing any drivers, start by running Windows update. It tends to find most of them. Otherwise, use the search box at the top of this page to find the “Technical Resources” page for your model. It will have a link to the drivers.
Open any file explorer window. Right click on “This PC” and choose “Properties”
The activation status is shown at the bottom.
Click the “Activate Windows” button
Click “Change product key”\
Note: Some systems will display an error indicating that a “hardware change” has occurred. This can be ignored, and will go away once the OS is activated.
Enter the product key from the bottom of your OnLogic PC.
The key may be obscured by a square patch of silver security foil.
Very gently, scratch the foil off with your fingernail as you would a lottery ticket. The key is underneath.
Enter the product key in this window, press Next, and Windows will activate online automatically.
Download the ISO file and Rufus tool, linked above
Insert your flash drive and run Rufus
Click Select and choose the ISO file you just downloaded.
Click START
Click OK. This will erase your flash drive and turn it into an Ubuntu installer.
Wait for Rufus to complete.
Create a new folder on the flash drive to contain your images. It must not contain any spaces. In this example, we name it TERA-MK100-40-R1
Copy the folder containing your image into the images folder
Final Result:
Safely eject the flash drive and unplug it from the PC.
Connect your newly created flash drive to the OnLogic PC and power it on.
If no operating system is installed, the system will likely boot right into Clonezilla.
If it does not, Press F2 or Delete to access the BIOS. Under the Boot tab, make it the first boot device.
Exact boot instructions vary by model. If you need assistance, contact support@onlogic.com.
Select the 2nd option at the Clonezilla boot menu (ending with “& To RAM”)
Some unimportant text will fly by as Clonezilla boots up
Press enter to select Language.
English is recommended to match this guide
Press enter to select keyboard layout.
Press enter to start Clonezilla
Choose the device-image option (default)
Choose the local_dev option (default)
A list of the disk drives will be printed. This can be helpful for reference but can usually be ignored. Press control-C to close it.
Select your USB flash drive as the source defice
no-fsck is fine
Select your images folder and press enter
Do not go any further into the folders.
Press tab twice and enter to select Done
Beginner mode is best for our purposes
Choose the restoredisk option
You will be prompted to select an image from your images folder.
Now you will be prompted to choose which disk the image is applied to. In this example, the Transcend drive is our boot drive so we select it.
Yes, check the image before restoring
Press enter twice to continue.
The image restore process will now begin!
Additional Yes/No prompts may appear as Clonezilla processes your image. Type Y and press enter on each one.
Success! The image has been applied. Press enter to continue as the prompt on the screen says.
Select the reboot option and immediately unplug your flash drive.
The system will restart and should boot right up into your restored image.
Using the media creation tool
Windows 11 Pro can be reinstalled using a USB flash drive and a tool from Microsoft. This guide will walk you through creating the flash drive and performing the installation. *If you are installing Windows 11 onto a RAID array on the K800, you will want to follow the specific steps available here:
An 8GB or larger flash drive (USB 3.0 model recommended for speed)
A PC running Windows 10 or 11
The Media Creation Tool,
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.
Safely eject the flash drive and unplug it from the PC.
Connect your newly created flash drive to the OnLogic PC and boot to it.
Press F2 or Delete to access the BIOS. Under the Boot tab, make it the first boot device.
Exact boot instructions vary by model. If you need assistance, contact support@onlogic.com.
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.
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
Delete all partitions from the drive you will be installing Windows 11 to, typically Drive 0.
With all partitions deleted, the Window should look like this. Click Next. New partitions will be created automatically.
Take a break while the installation proceeds
After a few minutes, the installation will complete and the PC will reboot.
Depending on the boot settings, the system may boot to the flash drive again. If that happens, click the X to reboot and immediately remove the flash drive.
When booting to your new Windows installation for the first time, you will be presented with this screen
Confirm your region and click “Yes”
Confirm your keyboard layout and click “Yes”
Click “Skip”
The PC may restart once more at this stage.
Provide a computer name or choose “skip for now” to automatically assign one. This mostly matters for networking.
Choose “Set up for work or school”. This will allow you to avoid needing a Microsoft account.
You may log in with your Microsoft account if desired.
In many business use cases, that is not desired. You can create a normal account with the “Sign-in options” button.
Choose “Domain join instead”
Enter a username and click next.
DO NOT set a password yet. Click Next.
This will help avoid additional nag screens.
Disable all of the options at the next screen. This helps enhance system security, especially if “modern” apps from the Microsoft Store will not be used. They can be enabled later if needed.
This loading screen will appear for a few minutes while the user settings are applied.
When completed, you will go straight to the Windows 11 desktop.
Your installation is complete!
If you are missing any drivers, start by running Windows update. It tends to find most of them. Otherwise, use the search box at the top of this page to find the “Technical Resources” page for your model. It will have a link to the drivers.
Open the start menu and search for “Activation“
The activation settings option will come up. Click on it.
The activation state is shown
Click the “Change” button
Enter the product key from the bottom of your OnLogic PC.
The key may be obscured by a square patch of silver security foil.
Very gently, scratch the foil off with your fingernail as you would a lottery ticket. The key is underneath.
Enter the product key in this window, press Next, and Windows will activate online automatically.
Windows 11 moved the taskbar icons to the middle, which is not ideal for experienced Windows users. Fortunately, this is easy to change back.
Right click on the taskbar and choose “Taskbar Settings.
Scroll down and click on “Taskbar Behaviors”
Change “Taskbar Alignment” to “Left”
The Windows 11 Pro start menu includes a few suggested apps from the Microsoft store. These recommendations are geared towards consumers and may not be wanted on a business machine. Right click on each undesired app and choose “uninstall”.
Applicable to: Karbon 700 & Helix Series
Note that only SATA drives (M.2 or 2.5″) can be used in RAID on these platforms. This is due to Intel chipset limitations.
RAID (Redundant Array of Independent Disks) is a technology used to stitch multiple storage drives together into a single volume for a variety of purposes. The Intel chipsets on OnLogic’s Helix and Karbon 700 platforms feature Intel Rapid Storage Technology (RST), an integrated firmware-level RAID utility for SATA disks.
Note: Intel RST on the Helix platform is only supported in Windows; Linux users will need to use a dedicated hardware RAID solution or a software-level RAID utility such as mdadm.
Because the RAID volumes are maintained at the firmware level, the disks in an array do not need to match perfectly. However, the timing parameters of all disks in a certain array, such as write speed, will be slowed down by the chipset to the lowest value among those disks. For example, an M.2 SATA III SSD may have slightly faster read and write speeds than a similar 2.5” SATA III SSD. If these two disks are stitched together in an array, the M.2 SSD’s timing parameters will be slowed to match the 2.5” SSD.
On the Karbon 700 platform, the two cabled SATA connections can be configured in RAID arrays. Karbon 700 supports RAID 0, 1, and Recovery arrays.
On the Helix platform, the M.2 B-Key, M.2 M-Key, and both cabled SATA connections can be configured in RAID arrays. Helix supports RAID 0, 1, 5, 10, and Recovery arrays.
Different types of RAID arrays are referred to as “levels”. Each level has unique characteristics that provide benefits in one form or another. Different RAID levels have different applications, so be sure to pick the correct one for your use case.
RAID 0 (Striped): In a RAID 0 array, data written to the volume is split between two or more disks. Each disk’s storage space is divided into blocks, the size of which can be set by the user. When writing data to the volume, the SATA controller will rotate block-by-block between the disks. This methodology can provide noticeable improvements to read and write speeds; however, if one disk in a RAID 0 array fails, the data on the entire volume will be lost.
RAID 1 (Mirrored): In a RAID 1 array, the SATA controller mirrors all data between two or more disks. The primary benefit of this methodology is that if a drive in the array is disconnected or fails altogether, the volume will continue to function as normal. If an OS is installed on the volume, it will not be interrupted by a failing drive. A drive can then be reconnected or replaced, at which time the SATA controller will rebuild the volume (note that the rebuild process can take several hours or even days for larger volumes). This RAID configuration has no noticeable effect on write speeds but typically improves read speeds, as the system can read from multiple disks simultaneously.
RAID 5 (Striped with Parity): A RAID 5 array functions similarly to a RAID 0 array in that it stripes data across multiple disks; however, for each set of blocks, it also writes a block of parity data that can be used to recover a block on another disk if it loses that data. Thus, you can achieve some of the performance gains of a RAID 0 array while being able to withstand a single disk failure. This methodology requires at least three disks.
RAID 10 (Striped and Mirrored): A RAID 10 array combines two RAID 1 arrays in a RAID 0 array. This allows you to achieve the performance gains of a RAID 0 array while still maintaining the fault tolerance of a RAID 1 array. Data is striped between the two RAID 1 volumes, which are able to withstand and rebuild after a failed disk. This methodology requires at least four disks. This RAID level is also sometimes referred to as RAID 1+0.
Recovery: Intel Rapid Recovery Technology creates a special RAID 1 array where instead of two equivalent disks, one disk is designated the “primary” and the other the “secondary”. Data is written to the primary drive, then copied to the secondary drive as a backup. This allows you to decide if you would like the mirroring to occur continuously or only on request; in addition, the time it takes to rebuild the array after a disk failure is decreased. However, the read speed improvements of a typical RAID 1 array are not seen here, as the SATA controller will typically only read from the primary drive. Note: Creating a new RAID array will erase all filesystems and data on all the disks used.
Begin by powering on the system 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
From the “Advanced” tab, open the PCH-IO” Configuration” menu
Open the “SATA And RST Configuration” submenu
Change the SATA Mode Selection to “Intel RST”
Press F10 to save changes & exit.
Press Del at boot again to access the main menu.
From the main menu, select “Device Management”. You will be greeted with the Device Manager options pictured below. Select “Intel(R) Rapid Storage Technology” to continue.
The following menu will give you the option to specify the name of your RAID volume, the RAID level of the configuration, and which disks will become part of the array. Begin by specifying the name of the volume if desired and selecting a RAID Level.
Then, select which SATA disks will be used to create the array. Note that any disks being used in a different RAID array will not be selectable. If you are creating an array with the RAID level “Recovery”, you will need to select which drive is the master (M) and which is the slave (R).
For RAID 0, 5, and 10 configurations, you can specify the strip size if desired. The strip size options vary depending on the RAID level of the configuration. In addition, you can set the capacity of the volume if you would like it smaller than the maximum available. If you are creating a “Recovery” array, you can also select if the slave drive is synchronized with the master continuously or only on request.
Select “Create Volume” to return to the Device Manager menu. You should now see your new volume listed in the menu; hit F10 to save your new settings and Escape to return to the main BIOS menu.
Your RAID array is now created and ready for use.
In addition to using the Device Management menu in the BIOS, you can also configure and monitor RAID arrays from Windows using the Intel Rapid Storage Technology desktop application. The installer for the application can be found on the Helix Product Documentation Pages ( or ) The application allows you to create, monitor, and delete RAID arrays from the OS level.
These instructions will guide you through enabling the legacy RAID menu for operating systems that may not work with the UEFI version. The RST instructions above should be used whenever possible.
Begin by powering on the Karbon 700 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
From the “Advanced” tab, open the PCH-IO” Configuration” menu
Open the “SATA And RST Configuration” submenu
Change the SATA Mode Selection to “Intel RST”
Press ESC 3 times to go back to the main menu
Next, navigate over to the Boot tab and change the Boot Type to Legacy
Exit Saving Changes
The K700 will now reboot. As soon as it does, hold the Control key and tap “I” until you see the Intel Rapid Storage Technology menu
Select option 1 from the menu
Use the tab key to navigate and the up/down arrows to change options.
A RAID1 configuration is shown
Tab down to “Create Volume” and press enter
You will be taken back to the main screen and your new RAID volume will be visible.
Select option 6 to Exit, and then press Control-Alt-Del to restart
You will now toggle the boot mode back to UEFI
Press Del at reboot to access the menu
Open the Setup Utility
Change the boot mode back to UEFI
Finally, Exit Saving Changes
Your RAID volume is now ready to use.
























































































































































Ubuntu Desktop 20.04 and 22.04 for Intel IoT platforms are versions of Ubuntu that are validated to run a 5.13-intel and 5.15-intel kernel version. This version of Ubuntu is available from Canonical at https://ubuntu.com/download/iot/intel-iotg, and can be installed like any other Ubuntu release.
Scroll down to the "Select Processor" section, and select the "Intel® Atom® X6000E Series Elkhart Lake" option.The PSE driver is also supported on current Ubuntu LTS releases up to Ubuntu 26.04. The following versions have been validated:
Ubuntu release
Kernel
20.04 / 22.04 (Intel IoT)
5.13-intel / 5.15-intel
Several system hardware interfaces, including CAN, DIO, Serial/COM and ignition sensing are managed through the system’s Programmable Services Engine (PSE).
The Elkhart Lake PSE can be managed over ISHTP/HECI from the host processor: This driver creates and manages a pse character device, which allows userspace applications to read and write data over the underlying ISHTP bus driver.
The driver can be obtained here:
Then unzip and navigate to the directory with:
Or clone from the command line with:
To build and install the pse kernel module automatically, simply run:
This will check if the pre-compiled kernel modules are compatible with your system, and either install them or compile new ones in-place. If all goes well, you can move on to .
It is also possible to manually build and install the PSE kernel module, which may be required if you intend to run a signed kernel.
Install the prerequisites for building kernel modules:
Download the kernel headers for the current kernel:
Build
You should now be able to build with:
This will generate the kernel modules files, which can be loaded and checked with:
Permanently installing the PSE driver can be done by copying it to your modules directory:
After this, the PSE module should be loaded and ready for use on each boot. You can confirm this with:
The programmable services engine consumes commands in the form of packed header and body data structures. The complexity of these structures can be completely ignored by using the pre-compiled command-line application. See the within the system product documentation.
However, for tight application integration, it is possible to interface with the PSE directly from your software stack by reading and writing to the PSE character file (/dev/pse). A complete example that establishes a connection to the PSE and reads the firmware version information is included in the examples directory, and can be compiled with:
All source code referenced in the instructions below is included in full context in the examples directory. Additional example code is provided for using the CAN and DIO peripherals, as well as sample code for configuring the system’s automotive features. You can build all targets with:
Before communication with the PSE can begin, the host client must establish a connection with the firmware client. This is performed by sending the ‘client connection’ IOCTL to the device file:
Once the connection has been established and returned, it is possible to send commands to the PSE.
Commands sent to the programmable services engine can either be header-only ‘short’ commands, or complete header + body ‘long’ commands.
The header portion of the command is as 48-bit wide structure that is transmitted as raw data to the PSE:
The command header can be easily described as a packed struct in C:
The possible valid system commands are enumerated by the heci_command_id_t, and include:
The argument packing depends on this command, and is described by the *_command_t structures.
UART, I2C, PWM, and QEP all use a generic ‘operation + device’ scheme, while DIO and CAN have separate formats:
The ‘body’ portion of each command is described by another structure:
The actual data format depends on the command sent; the can_send example function in examples/can.c shows one method for populating message data.
Once a message’s header and optional body portions are prepared, sending the command is as simple as writing to the open PSE device:
Any message sent to the PSE will receive a response from the embedded controller. The response message format is identical to the transmit format, and will always include the status of the last command received.
Some commands (like reading a CAN message), will result in additional data being returned, as indicated by the has_next flag. Application code may check this flag to determine if it should continue reading data:
In the provided sample code, the files examples/pse.c and examples/pse.h provide some helpful abstraction to simplify this process. For instance, reading the PSE firmware version can be performed with the following code:
Several system hardware interfaces, including CAN, DIO, Serial/COM and ignition sensing are managed through the system’s Programmable Services Engine (PSE).
The Elkhart Lake PSE can be managed over ISHTP/HECI from the host processor: This driver creates and manages a pse character device, which allows userspace applications to read and write data over the underlying ISHTP bus driver.
You can download the driver files and installation bundle here: .
Or download and extract them from the command line:
UART
0x03
Send data over an attached UART. Allows control of automotive features
CAN Bus
0x04
Send and receive CAN messages
PWM
0x05
Manage the Pulse Width Modulation of a DIO configured as PWM
I2C
0x06
Send/receive I2C data (not recommended for end-user configuration)
QEP
0x07
Configure a group of DIOs set as a Quadrature Encoder Peripheral
24.04
6.x-generic
26.04
7.x-generic
System Info
0x01
Report the system firmware version number
Digital IO
0x02
Set and read the system’s digital IO and LEDs
The driver automatically selects the correct configuration for your running kernel. Ubuntu 26.04 is currently the newest validated release.
Note: The K400 PSE functionality is supported on Ubuntu 20.04 through 26.04.





IMPORTANT In some releases of Ubuntu, the 'pinctrl_elkhartlake' driver will timeout
during startup and crash during shutdown. You can utilize the method below to
address the issue, by disabling this driver module.
One method is to add "modprobe.blacklist=pinctrl_elkhartlake" to the kernel command
line.unzip ubuntu-elkhart-lake-pse-driver-main.zip -d ubuntu-elkhart-lake-pse-driver-main && cd ubuntu-elkhart-lake-pse-driver-maingit clone https://github.com/onlogic/ubuntu-elkhart-lake-pse-driver.git pse_heci
cd pse_heci$ sudo chmod +x install.sh && sudo ./install.sh$ sudo apt-get install build-essential flex bison libssl-dev libelf-dev$ sudo apt-get install linux-headers-$(uname -r)$ make$ sudo insmod pse.ko && dmesg
$ cd examples
$ make version
$ sudo ./versionVersion: 1.5.0.0
$ sudo rmmod pse$ sudo cp pse.ko /lib/modules/
$(uname -r)/kernel/drivers/hid/intel-ish-hid/