This is a basic overview of HAL, some of its components and little tricks that you can use within HAL to create custom controls for your LinuxCNC machine.