Learn MBED-CPP with Real Code Examples
Updated Nov 21, 2025
Code Sample Descriptions
1
Mbed C++ Button Press Counter
#include "mbed.h"
DigitalOut led(LED1);
InterruptIn button(USER_BUTTON);
int buttonCount = 0;
void updateUI() {
printf("Button Count: %d\n", buttonCount);
led = buttonCount % 2;
}
void buttonPressed() {
buttonCount++;
updateUI();
}
int main() {
button.rise(&buttonPressed);
updateUI();
while(1) {}
}
Counts button presses and toggles an LED on each press.
2
Mbed C++ LED Blink
#include "mbed.h"
DigitalOut led(LED1);
int main() {
while(1) {
led = !led;
printf("LED is %s\n", led ? "ON" : "OFF");
ThisThread::sleep_for(500ms);
}
}
Blinks an LED every 500ms using a timer.
3
Mbed C++ Temperature Monitor
#include "mbed.h"
int temperature = 25;
bool alert = false;
void updateUI() {
printf("Temperature: %d\n", temperature);
if (alert) printf("Alert: High Temperature!\n");
}
void readSensor() {
temperature += 2;
alert = temperature > 30;
updateUI();
}
int main() {
updateUI();
readSensor();
readSensor();
}
Simulates reading temperature and printing alerts when high.
4
Mbed C++ PWM LED Brightness
#include "mbed.h"
PwmOut led(LED1);
int brightness = 0;
void updateLED() {
led.write(brightness / 100.0);
printf("LED Brightness: %d\n", brightness);
}
void increaseBrightness() {
brightness += 20;
if(brightness > 100) brightness = 0;
updateLED();
}
int main() {
updateLED();
increaseBrightness();
increaseBrightness();
}
Adjusts LED brightness using PWM output.
5
Mbed C++ Relay Toggle
#include "mbed.h"
DigitalOut relay(D2);
int state = 0;
void updateUI() {
printf("Relay is %s\n", state ? "ON" : "OFF");
relay = state;
}
void toggleRelay() {
state = !state;
updateUI();
}
int main() {
updateUI();
toggleRelay();
toggleRelay();
}
Simulates a relay switch toggled by a button press.
6
Mbed C++ Buzzer Toggle
#include "mbed.h"
DigitalOut buzzer(D3);
bool isOn = false;
void updateUI() {
buzzer = isOn;
printf("Buzzer is %s\n", isOn ? "ON" : "OFF");
}
void toggleBuzzer() {
isOn = !isOn;
updateUI();
}
int main() {
updateUI();
toggleBuzzer();
toggleBuzzer();
}
Turns a buzzer on and off using a digital output.
7
Mbed C++ Fan Speed Control
#include "mbed.h"
PwmOut fan(D4);
int speed = 0;
void updateUI() {
fan.write(speed / 5.0);
printf("Fan Speed: %d\n", speed);
}
void increaseSpeed() {
speed++;
if(speed > 5) speed = 0;
updateUI();
}
int main() {
updateUI();
increaseSpeed();
increaseSpeed();
}
Controls fan speed using PWM steps.
8
Mbed C++ Dual LED Toggle
#include "mbed.h"
DigitalOut led1(LED1);
DigitalOut led2(LED2);
void updateLEDs(bool state1, bool state2) {
led1 = state1;
led2 = state2;
printf("LED1: %s, LED2: %s\n", state1 ? "ON" : "OFF", state2 ? "ON" : "OFF");
}
int main() {
updateLEDs(true, false);
updateLEDs(false, true);
}
Alternates two LEDs on and off.
9
Mbed C++ Humidity Alert
#include "mbed.h"
int humidity = 60;
bool alert = false;
void updateUI() {
printf("Humidity: %d\n", humidity);
if(alert) printf("Alert: High Humidity!\n");
}
void readSensor() {
humidity += 5;
alert = humidity > 70;
updateUI();
}
int main() {
updateUI();
readSensor();
readSensor();
}
Simulates a humidity sensor with alert threshold.
10
Mbed C++ LED Blink Pattern
#include "mbed.h"
DigitalOut led(LED1);
void blinkPattern() {
led = !led;
printf("LED is %s\n", led ? "ON" : "OFF");
}
int main() {
blinkPattern();
blinkPattern();
blinkPattern();
}
Blink an LED in a simple on/off pattern.