Machinekit • Moves.  Controls.  Things.
  • Casino Apps
  • About
  • Community
  • Documentation
  • Blog
  • GitHub
  • Commercial Support
  • Edit this page

Hardware Abstraction Layer

Using HAL

Introduction

  • HAL Introduction

  • HAL Concepts

  • HAL Components

  • Timing Issues

Hal Basics

  • HAL Commands

  • HAL Data

  • HAL Files

  • HAL Components

  • Logic Components

  • Conversion Components

Hal Tutorial

  • Introduction

  • A Simple Example

  • Halmeter

  • Stepgen Example

  • Halscope

Hal Examples

  • Manual toolchange

  • Compute-Velocity

  • Soft Start

  • Stand Alone HAL

Hal General reference

  • General Naming Conventions

  • Hardware Driver Naming Conventions

Parallel Port

  • parport

  • probe_parport

RT components

  • Stepgen

  • PWMgen

  • Encoder

  • PID

  • Simulated Encoder

  • Debounce

  • Siggen

  • lut5

Creating Userspace Python Components

  • Basic Usage

  • Userspace Components and Delays

  • Create pins and parameters

  • Reading and Writing pins and parameters

  • Exiting

  • Project Ideas

Canonical devices

  • Introduction

  • Digital Input

  • Digital Output

  • Analog Input

  • Analog Output

Tools

  • Halcmd

  • Halmeter

  • Halscope

HalShow

  • Starting Halshow

  • HAL Tree area

  • HAL Show area

  • HAL Watch area

Developing

  • Writing HAL Components

  • Comp Component Generator

  • Instcomp Component Generator

Hardware Drivers

  • AX5214H

  • GS2

  • VFS11

  • hostmot2

  • motenc

  • opto22

  • pico_ppmc

  • pluto_p

  • servo_to_go

  • GM

  • xhc-whb04b-6

  • hy_vfd

For starters

  • How to use this website
  • Getting Started
  • Machinekit Introduction
  • Hardware Abstraction Layer
  • Getting help

Developing

  • Integrator Manual
  • Developer manual
  • Documenting
  • Various developing links
  • QtQuickVcp

Manpages

Project Infrastructure

  • Git Repos & Auto Build

© Copyright 2026