Version 11 — 16 libraries, 12 boards, full IDE

Write code that
touches hardware

A LISP-based operating system for Arduino and embedded systems. Write programs in a clean, elegant language that runs on real hardware, in a circuit simulator, or headlessly on your machine.

hil-cli simulate morse-sos.hil
hil-cli simulate morse-sos.hil {"type":"ready","msg":"Connected on none"} [LOG] >> Initiating Emergency SOS Beacon... [LOG] -> Transmitting: S O S [LOG] -> Transmitting: S O S [LOG] -> Transmitting: S O S [LOG] >> Beacon transmission complete. ✓ Script completed successfully
15+
Operators
52
Examples
16
Libraries
0
Dependencies

Interactive LISP Terminal

Type an expression, press Enter. Results appear instantly. Multi-line: Shift+Enter.

hil-os — interactive LISP terminaltype HELP for commands
Welcome to HIL-OS LISP v9.5. Type an expression and press Enter.
SET variables, call operators, define functions. Multi-line with Shift+Enter.
Type HELP for commands, CLEAR to reset, or try: (+ 10 5)
 
>
Try:

Everything you need to
program hardware

From blinking an LED to running PID controllers, HIL-OS gives you the full stack.

Clean LISP Syntax

Write elegant code with S-expressions, variables, functions, and recursion. No semicolons, no braces, no boilerplate.

🔌

Real Hardware

Direct access to digital/analog pins, I2C, SPI, servo motors, LCD displays, NeoPixels, and more on Arduino boards.

🧪

CRUMB Simulator

Transpile your code to Arduino C and simulate it in the CRUMB circuit simulator — no hardware required.

🔄

Dual Target

The same LISP code runs on real Arduino hardware AND the CRUMB simulator. Write once, deploy anywhere.

🎯

15+ Operators

Arithmetic, boolean logic, comparisons, math utilities, loop control — everything for embedded programming.

📦

16 Arduino Libraries

I2C, SPI, Servo, LCD, NeoPixel, DHT, SD card, MP3, RTC, BMP280, MAX7219, Motor, TFT, and more via USE-* forms.

💻

12 Boards

Arduino Uno/Nano/Mega, ESP32/S2/S3, ESP8266, RP2040 Pico, Leonardo, Nano Every, Seeed XIAO, and SparkFun.

🎨

HIL IDE

Full-featured desktop IDE with Monaco editor, auto-complete for all LISP forms, syntax highlighting, and one-click transpilation.

📦

Zero Dependencies

Single binary. No Node.js, no Python, no npm. Download and run on Windows, macOS, or Linux.

From LISP to hardware
in three steps

.hil
LISP source
Parser
S-expressions
Transpiler
LISP → C
Arduino C
.ino file
.ino
C source
avr-gcc
Compiler
.hex
Firmware
Arduino
Real hardware
Or: .hex → CRUMB Simulator for visual testing

LISP vs Arduino C

Same functionality, radically simpler syntax.

Blink an LED
HIL-OS LISP

(WRITE D 13 1)
(DELAY 500)
(WRITE D 13 0)
(DELAY 500)
Arduino C

digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
Read sensor + decision
HIL-OS LISP

(SET temp (LM35 0))
(IF (>= temp 30)
  (TONE 11 1000 200))
Arduino C

float temp = analogRead(A0)
  * 5.0 / 1024 * 100;
if (temp >= 30)
  tone(11, 1000, 200);
FOR loop with math
HIL-OS LISP

(SET sum 0)
(FOR i 0 10
  (SET sum (+ sum i)))
; sum = 45
Arduino C

int sum = 0;
for (int i = 0; i < 10; i++) {
  sum += i;
}
// sum = 45

Simple, powerful, expressive

From beginner-friendly blink to advanced state machines — HIL-OS scales with your skills.

Blink an LED
1; Turn LED on pin 13 on and off 2(WHILE 1 3 (DO 4 (WRITE D 13 1) 5 (DELAY 500) 6 (WRITE D 13 0) 7 (DELAY 500)))
Boolean Logic
1(SET temp 25) 2(SET humid 70) 3 4(IF (AND (>= temp 20) (> humid 60)) 5 (LOG "Comfortable") 6 (LOG "Adjust!"))
State Machine with COND
1(SET state 0) 2 3(COND 4 ((== state 0) (LOG "IDLE")) 5 ((== state 1) (LOG "RUNNING")) 6 (1 (LOG "UNKNOWN")))
FOR Loop + Break
1(SET sum 0) 2(FOR i 0 10 3 (DO 4 (IF (== i 5) (BREAK)) 5 (SET sum (+ sum i)))) 6; sum = 0+1+2+3+4 = 10

Built for makers

"Finally, a way to prototype embedded code without wiring up breadboards every time. The simulation mode is a game changer."
— Maker community
"The LISP syntax is so clean. I wrote a PID controller in 10 lines. In C it was 50. The transpiler just works."
— Robotics hobbyist
"I teach embedded systems. HIL-OS lets students focus on logic, not syntax errors. They see results in seconds."
— Engineering educator

Complete language at a glance

Operators

+ - * / %Arithmetic
== != > < <= >=Comparison
AND OR NOTBoolean logic
MIN MAX ABSMath utilities
MAP CONSTRAIN RANDOMRange & random

Control Flow

IF CONDConditionals
WHILE FORLoops
BREAK CONTINUELoop control
DEFUNFunctions
DO SET EXITBlocks & assignment

Start coding in
30 seconds

Download, extract, run. No accounts, no cloud, no setup wizards.

Pick your platform

Pre-built binaries for Windows, macOS, and Linux. Zero dependencies.

🪨
Windows
x64 • .exe
Download
🍎
macOS
Intel + Apple Silicon
Download
🐧
Linux
x64 • binary
Download

Or download the complete package:

Full package (27 MB)

HIL LISP IDE

A native desktop IDE for writing, transpiling, and uploading HIL LISP code. Monaco editor, syntax highlighting, serial monitor, and one-click transpilation.

🪨
Windows
x64 • .exe
Download
🍎
macOS
Intel (x64)
Download
🍎
macOS
Apple Silicon (arm64)
Download
🐧
Linux
x64 • binary
Download