Learn ZEPHYR-RTOS-DSL with Real Code Examples
Updated Nov 21, 2025
Code Sample Descriptions
1
Zephyr RTOS Button Press Counter
VAR buttonCount = 0;
VAR ledState = FALSE;
TASK updateUI() {
PRINT("Button Count: ", buttonCount);
GPIO_WRITE(LED_PIN, ledState);
}
TASK buttonPress() {
buttonCount = buttonCount + 1;
ledState = NOT ledState;
updateUI();
}
// Simulate actions
updateUI();
buttonPress();
buttonPress();
buttonPress();
Counts button presses and updates an LED indicator.
2
Zephyr RTOS Temperature Monitor
VAR temperature = 25;
VAR alert = FALSE;
TASK updateUI() {
PRINT("Temperature: ", temperature);
IF alert THEN PRINT("Alert: High Temperature!"); END;
}
TASK readSensor() {
temperature = temperature + 1; // Simulated sensor reading
alert = temperature > 30;
updateUI();
}
readSensor();
readSensor();
readSensor();
Reads a temperature sensor and prints alerts if thresholds are crossed.
3
Zephyr RTOS PWM LED Brightness
VAR brightness = 0;
TASK updateLED() {
GPIO_WRITE_PWM(LED_PIN, brightness);
PRINT("LED Brightness: ", brightness);
}
TASK increaseBrightness() {
brightness = brightness + 10;
IF brightness > 100 THEN brightness = 0; END;
updateLED();
}
updateLED();
increaseBrightness();
increaseBrightness();
Controls LED brightness using a PWM simulation.
4
Zephyr RTOS Motor Direction Toggle
VAR motorForward = TRUE;
VAR ledState = FALSE;
TASK updateUI() {
PRINT("Motor Direction: ", IF motorForward THEN "Forward" ELSE "Reverse" END);
GPIO_WRITE(LED_PIN, ledState);
}
TASK toggleMotor() {
motorForward = NOT motorForward;
ledState = NOT ledState;
updateUI();
}
toggleMotor();
toggleMotor();
Toggles motor direction and updates the status LED.
5
Zephyr RTOS Relay Switch
VAR relayOn = FALSE;
TASK updateUI() {
PRINT("Relay is ", IF relayOn THEN "ON" ELSE "OFF" END);
}
TASK toggleRelay() {
relayOn = NOT relayOn;
updateUI();
}
toggleRelay();
toggleRelay();
toggleRelay();
Simulates controlling a relay and logging its state.
6
Zephyr RTOS Humidity Alert
VAR humidity = 50;
VAR alert = FALSE;
TASK updateUI() {
PRINT("Humidity: ", humidity);
IF alert THEN PRINT("Alert: High Humidity!"); END;
}
TASK readSensor() {
humidity = humidity + 5;
alert = humidity > 70;
updateUI();
}
readSensor();
readSensor();
readSensor();
Monitors humidity and triggers alerts if it exceeds a threshold.
7
Zephyr RTOS Buzzer Tone Toggle
VAR buzzerOn = FALSE;
TASK updateUI() {
PRINT("Buzzer is ", IF buzzerOn THEN "ON" ELSE "OFF" END);
GPIO_WRITE(BUZZER_PIN, buzzerOn);
}
TASK toggleBuzzer() {
buzzerOn = NOT buzzerOn;
updateUI();
}
toggleBuzzer();
toggleBuzzer();
Turns a buzzer on and off with each toggle.
8
Zephyr RTOS Fan Speed Control
VAR fanSpeed = 0;
TASK updateUI() {
PRINT("Fan Speed: ", fanSpeed);
GPIO_WRITE_PWM(FAN_PIN, fanSpeed);
}
TASK increaseSpeed() {
fanSpeed = fanSpeed + 1;
IF fanSpeed > 5 THEN fanSpeed = 0; END;
updateUI();
}
increaseSpeed();
increaseSpeed();
Simulates adjusting fan speed using steps.
9
Zephyr RTOS LED Blink Pattern
VAR ledState = FALSE;
TASK updateLED() {
ledState = NOT ledState;
GPIO_WRITE(LED_PIN, ledState);
PRINT("LED is ", IF ledState THEN "ON" ELSE "OFF" END);
}
updateLED();
updateLED();
updateLED();
Creates a simple LED blink pattern.
10
Zephyr RTOS Dual LED Toggle
VAR led1 = FALSE;
VAR led2 = TRUE;
TASK updateLEDs() {
GPIO_WRITE(LED1_PIN, led1);
GPIO_WRITE(LED2_PIN, led2);
PRINT("LED1: ", IF led1 THEN "ON" ELSE "OFF" END);
PRINT("LED2: ", IF led2 THEN "ON" ELSE "OFF" END);
}
TASK toggleLEDs() {
led1 = NOT led1;
led2 = NOT led2;
updateLEDs();
}
toggleLEDs();
toggleLEDs();
Toggles two LEDs alternately.