Velxio
Offline Arduino, RP2040 & ESP32 simulator
Starting local backend…
Velxio
ExamplesEditorGitHubDiscord

Featured Projects

Explore and run example projects — organized by board

316 matches
4-bit Binary Counter

4-bit Binary Counter

Count from 0 to 15 displayed on 4 LEDs. Each LED = one bit.

beginner circuitsArduino Uno
7805 Regulated Power Supply

7805 Regulated Power Supply

9V battery → 7805 → stable 5V for the Arduino. Classic linear regulator.

beginner circuitsArduino Uno
Arduino Uno: SSD1306 OLED (4-pin I2C)

Arduino Uno: SSD1306 OLED (4-pin I2C)

Drive the cheap 4-pin SSD1306 OLED module (GND/VCC/SCL/SDA) over I2C from an Arduino Uno (SDA=A4, SCL=A5). Shows "Hello Velxio!" with a live counter.

intermediate displaysArduino Uno
Arduino Uno: Stepper + A4988

Arduino Uno: Stepper + A4988

Spin a bipolar stepper motor from an Arduino Uno through an A4988 driver. The MCU only pulses STEP and sets DIR; the A4988 drives the coils. The rotor turns continuously.

intermediate motorsArduino Uno
Battery Voltage Monitor

Battery Voltage Monitor

Voltage divider scales 9V battery down to 0-5V range for ADC measurement.

beginner circuitsArduino Uno
Blink LED

Blink LED

Classic Arduino blink example - toggle an LED on and off

beginner basicsArduino Uno
Button Control

Button Control

Control an LED with a pushbutton

beginner basicsArduino Uno
Capacitor Charging Curve

Capacitor Charging Curve

Charge a capacitor through a resistor, read the exponential V(t) via ADC.

intermediate circuitsArduino Uno
Common-Emitter Amplifier

Common-Emitter Amplifier

NPN BJT amplifies a small AC signal. Gain = -Rc/Re.

advanced circuitsArduino Uno
Comparator with LED

Comparator with LED

Op-amp compares pot voltage vs 2.5V reference. LED indicates which is higher.

intermediate circuitsArduino Uno
Darlington Pair (High Current)

Darlington Pair (High Current)

Two NPN BJTs cascaded for beta-squared current gain. Drives heavy loads from MCU.

advanced circuitsArduino Uno
DC Motor Control (L293D)

DC Motor Control (L293D)

L293D H-bridge drives a DC motor forward, reverse, and brake.

intermediate circuitsArduino Uno
Difference Amplifier

Difference Amplifier

Vout = Gain * (V2 - V1). Useful for bridge sensors and differential signals.

advanced circuitsArduino Uno
ePaper 1.54" Hello — Arduino Uno

ePaper 1.54" Hello — Arduino Uno

GxEPD2 paged-mode "Hello, Velxio" on a 200×200 SSD1681 e-Ink panel driven by an Arduino Uno. The smallest panel that fits in Uno's 32 KB flash + 2 KB SRAM at 16-row page height.

intermediate displaysArduino Uno
Fade LED

Fade LED

Smoothly fade an LED using PWM

beginner basicsArduino Uno
Full Adder (1-bit)

Full Adder (1-bit)

Sum = A XOR B XOR Cin, Cout = (A AND B) OR (Cin AND (A XOR B)).

intermediate circuitsArduino Uno
Half-Wave Rectifier

Half-Wave Rectifier

Diode passes only positive half-cycles. Read rectified output on ADC.

intermediate circuitsArduino Uno
I2C EEPROM Read/Write

I2C EEPROM Read/Write

Writes data to a virtual I2C EEPROM (0x50) and reads it back. Tests TWI write+read transactions.

intermediate communicationArduino Uno
I2C RTC Clock (DS1307)

I2C RTC Clock (DS1307)

Reads time from a virtual DS1307 RTC via I2C and prints it to Serial. Tests TWI read transactions.

intermediate communicationArduino Uno
I2C Scanner (TWI)

I2C Scanner (TWI)

Scans the I2C bus and reports all devices found. SSD1306 OLED (0x3C) is wired on canvas; virtual devices at 0x48, 0x50, 0x68 also respond.

intermediate communicationArduino Uno
Intel 8080 Banner Streamer

Intel 8080 Banner Streamer

A clean-room Intel 8080 boots from a 328-byte embedded ROM, prints a banner, then prints "uptime ticks: 0xNN" every ~50 ms. Open the Serial Monitor to watch.

advanced circuitsArduino Uno
Inverting Amplifier (LM358)

Inverting Amplifier (LM358)

Vout = -(Rf/Rin) * Vin. Gain=-10 with Rin=1k, Rf=10k.

intermediate circuitsArduino Uno
KY-040 Rotary Encoder

KY-040 Rotary Encoder

Read a KY-040 rotary encoder with an Arduino Uno. Turn the knob to move a counter (CLK/DT quadrature) and press the shaft (SW) to reset it. Open the Serial Monitor to watch the position.

beginner basicsArduino Uno
LCD 20x4 Display

LCD 20x4 Display

Display text on a 20x4 LCD using the LiquidCrystal library

intermediate displaysArduino Uno
LED Bar Graph

LED Bar Graph

5 LEDs driven from digital pins with individual resistors. Bargraph display.

beginner circuitsArduino Uno
LED with Current-Limiting Resistor

LED with Current-Limiting Resistor

Calculate R to set LED current to 10mA. I = (Vcc-Vf)/R.

beginner circuitsArduino Uno
LM317 Adjustable PSU

LM317 Adjustable PSU

LM317 with R1/R2 divider. Vout = 1.25 * (1 + R2/R1). Set any voltage 1.25-37V.

intermediate circuitsArduino Uno
Logic Probe (HIGH/LOW/FLOATING)

Logic Probe (HIGH/LOW/FLOATING)

Read any digital pin state and show on 3 LEDs: green=HIGH, red=LOW, yellow=floating.

intermediate circuitsArduino Uno
microSD Card (Arduino Uno)

microSD Card (Arduino Uno)

Read and write files on a microSD card over SPI. The card is pre-loaded with this project's own files (free auto-copy); paid users can upload their own files from the component's "SD Card" panel. Lists the root directory, then writes /log.txt and reads it back. Open the Serial Monitor at 9600 baud.

beginner communicationArduino Uno
Mixed: MCU + AND gate + transistor (coexistence test)

Mixed: MCU + AND gate + transistor (coexistence test)

Coexistence of digital and analog in ONE circuit: the Arduino drives two logic levels (one steady HIGH "enable", one blinking), a physical AND gate combines them, and the AND output switches an NPN transistor that drives the "motor" LED. The LED should blink — proving MCU -> logic gate -> transistor -> load works through the digital and analog (ngspice) motors together.

intermediate circuitsArduino Uno
MOSFET PWM LED Dimmer

MOSFET PWM LED Dimmer

2N7000 N-MOSFET as low-side switch. Gate driven by PWM on pin 9 dims the LED.

intermediate circuitsArduino Uno
Motor Speed Control (PWM)

Motor Speed Control (PWM)

Potentiometer controls motor speed via PWM on L293D enable pin.

intermediate circuitsArduino Uno
Multi-Protocol Demo

Multi-Protocol Demo

Uses Serial + I2C + SPI together. Reads RTC via I2C, sends SPI data, and logs everything to Serial.

advanced communicationArduino Uno
NAND SR Latch

NAND SR Latch

Two cross-coupled NAND gates form a Set-Reset latch. Memory without a clock!

intermediate circuitsArduino Uno
NPN Transistor LED Switch

NPN Transistor LED Switch

2N2222 NPN switches a high-current LED from a low-current MCU pin.

intermediate circuitsArduino Uno
NTC Temperature Sensor

NTC Temperature Sensor

NTC breakout module (built-in 10k pull-up). Calculates temperature via beta model.

beginner circuitsArduino Uno
Optocoupler Signal Isolation

Optocoupler Signal Isolation

4N25 optocoupler isolates MCU from a higher-voltage circuit.

intermediate circuitsArduino Uno
Parallel Resistors

Parallel Resistors

Three resistors in parallel: R_total = 1/(1/R1+1/R2+1/R3). Measure with ADC.

beginner circuitsArduino Uno
Photoresistor Light Sensor

Photoresistor Light Sensor

LDR + pull-down resistor. Brighter light = lower LDR resistance = higher voltage.

beginner circuitsArduino Uno
PNP High-Side Switch

PNP High-Side Switch

2N3906 PNP switches a load to Vcc when base is pulled LOW.

intermediate circuitsArduino Uno
Potentiometer ADC Reader

Potentiometer ADC Reader

Turn the potentiometer knob to vary the voltage on A0 from 0 to 5V.

beginner circuitsArduino Uno
RC Low-Pass Filter

RC Low-Pass Filter

PWM output filtered by RC gives smooth analog voltage. Classic DAC trick.

beginner circuitsArduino Uno
Relay-Controlled LED

Relay-Controlled LED

NPN transistor drives a relay. Relay switches an LED connected to a separate supply.

intermediate circuitsArduino Uno
Reverse Polarity Protection

Reverse Polarity Protection

Schottky diode protects circuit from accidental reverse battery connection.

beginner circuitsArduino Uno
RGB LED Colors

RGB LED Colors

Cycle through colors with an RGB LED

intermediate basicsArduino Uno
Schmitt Trigger

Schmitt Trigger

Op-amp with positive feedback creates hysteresis. Cleans up noisy signals.

advanced circuitsArduino Uno
Serial Echo (USART)

Serial Echo (USART)

Tests Serial communication: echoes typed characters back and prints status. Open the Serial Monitor to interact.

beginner communicationArduino Uno
Serial Hello World

Serial Hello World

Send messages through serial communication

beginner communicationArduino Uno
Serial LED Control

Serial LED Control

Control an LED via Serial commands: send "1" or "0". Tests USART RX + GPIO output together.

beginner communicationArduino Uno
Simon Says Game

Simon Says Game

Memory game with LEDs and buttons

advanced gamesArduino Uno
SPI Loopback Test

SPI Loopback Test

Tests SPI by sending bytes and reading responses. Demonstrates MOSI/MISO/SCK/SS protocol.

intermediate communicationArduino Uno
TFT ILI9341 Display

TFT ILI9341 Display

Color TFT display demo: fills, text, and a bouncing ball animation using the Adafruit ILI9341 library (240x320)

intermediate displaysArduino Uno
Traffic Light

Traffic Light

Simulate a traffic light with red, yellow, and green LEDs

beginner basicsArduino Uno
Uno: 7-Segment Counter

Uno: 7-Segment Counter

Count 0–9 on a 7-segment display driven directly from pins 2–8 on the Arduino Uno.

beginner displaysArduino Uno
Uno: DHT22 Temperature & Humidity

Uno: DHT22 Temperature & Humidity

Read temperature and humidity using a DHT22 sensor on pin 7.

beginner sensorsArduino Uno
Uno: HC-SR04 Ultrasonic Distance

Uno: HC-SR04 Ultrasonic Distance

Measure distance with an HC-SR04 ultrasonic sensor. TRIG on pin 9, ECHO on pin 10.

beginner sensorsArduino Uno
Uno: NTC Thermistor Temperature

Uno: NTC Thermistor Temperature

Calculate temperature from an NTC 10k thermistor sensor on A1 using the Steinhart–Hart equation.

intermediate sensorsArduino Uno
Uno: Photoresistor Light Sensor

Uno: Photoresistor Light Sensor

Read analog light level from a photoresistor module on A0. An LED on pin 9 dims proportionally to compensate for darkness.

beginner sensorsArduino Uno
Uno: PIR Motion Detector

Uno: PIR Motion Detector

Detect movement with a PIR infrared sensor on pin 4. The built-in LED on pin 13 lights up when motion is detected.

beginner sensorsArduino Uno
Uno: Potentiometer → Serial

Uno: Potentiometer → Serial

Read an analog potentiometer on A0 and print the value to Serial Monitor.

beginner sensorsArduino Uno
Uno: RGB LED Cycle

Uno: RGB LED Cycle

Cycle through 7 colors on an RGB LED connected to pins 9 (R), 10 (G), 11 (B) using PWM.

beginner basicsArduino Uno
Uno: Servo Motor Sweep

Uno: Servo Motor Sweep

Sweep a servo motor smoothly from 0° to 180° and back using pin 9 (PWM). Uses the built-in Servo library.

beginner roboticsArduino Uno
Voltage Divider

Voltage Divider

R1 + R2 divide 5V into a lower voltage read by ADC. Fundamental analog circuit.

beginner circuitsArduino Uno
Voltage Follower (Buffer)

Voltage Follower (Buffer)

Op-amp with 100% feedback. Vout = Vin. High Z input, low Z output.

beginner circuitsArduino Uno
Wheatstone Bridge

Wheatstone Bridge

Four-resistor bridge detects tiny resistance changes. Used in strain gauges and load cells.

intermediate circuitsArduino Uno
XOR Toggle Detector

XOR Toggle Detector

XOR gate detects when two switches are in different positions.

beginner circuitsArduino Uno
Zener Voltage Regulator

Zener Voltage Regulator

5.1V Zener clamps output. Even if input varies, output stays at 5.1V.

intermediate circuitsArduino Uno
Arduino Nano Sensor Station

Arduino Nano Sensor Station

Compact weather station: NTC + photoresistor on Nano. Reads temp and light.

beginner circuitsArduino Nano
Nano: Blink LED

Nano: Blink LED

Blink the built-in LED on pin 13 of the Arduino Nano.

beginner basicsArduino Nano
Nano: Button + LED

Nano: Button + LED

Press a button on pin 2 to light up an LED on pin 13 on the Arduino Nano.

beginner basicsArduino Nano
Nano: PWM Fade

Nano: PWM Fade

Fade an LED in and out using PWM on pin 9 of the Arduino Nano.

beginner basicsArduino Nano
Nano: Serial Hello

Nano: Serial Hello

Print Hello World and uptime every second from Arduino Nano via Serial.

beginner communicationArduino Nano
Arduino Mega 16-LED Bar

Arduino Mega 16-LED Bar

Arduino Mega drives 16 LEDs from pins 22-37. Knight Rider scanner effect.

beginner circuitsArduino Mega
Mega: 8-LED Chase

Mega: 8-LED Chase

Knight-Rider style LED chase across 8 LEDs on pins 2–9. Shows off the Mega's many I/O pins.

beginner basicsArduino Mega
Mega: Blink LED

Mega: Blink LED

Blink the built-in LED on pin 13 of the Arduino Mega 2560.

beginner basicsArduino Mega
Mega: Serial Hello

Mega: Serial Hello

Hello World via Serial on Arduino Mega — tests all 4 UART ports.

beginner communicationArduino Mega
Mega: Serial LED Control

Mega: Serial LED Control

Send '1'–'8' over Serial to toggle individual LEDs on the Arduino Mega.

intermediate communicationArduino Mega
[2× Pico W] Bidirectional Digital Handshake

[2× Pico W] Bidirectional Digital Handshake

Two Picos signal each other over independent digital lines. Pico A drives GP15 (data) and watches GP14 (ack); Pico B reads GP15 and pulses GP14 on every transition to acknowledge. Each board's Serial Monitor logs every event, so you can see the round-trip on both sides.

beginner communicationPico
[2× Pico W] Digital GPIO Mirror

[2× Pico W] Digital GPIO Mirror

Simplest possible cross-board test. Pico A toggles GP15 every 500 ms; Pico B reads GP15 as a digital input and mirrors its state to its built-in LED. Watch each Pico's Serial Monitor to confirm the wire is alive.

beginner basicsPico
[2× Pico W] Serial1 Passthrough (UART0)

[2× Pico W] Serial1 Passthrough (UART0)

Two Raspberry Pi Pico W boards talking over Serial1 (UART0 on GP0/GP1). Pico A sends "PING #N" every second; Pico B replies "PONG #N". Open the Serial Monitor on each board to see the conversation.

intermediate communicationPico
[Pico] ADC Read

[Pico] ADC Read

Read analog values from GPIO26-28 and internal temperature sensor

beginner sensorsPico
[Pico] Blink LED

[Pico] Blink LED

Classic blink example on Raspberry Pi Pico — GPIO25 built-in LED

beginner basicsPico
[Pico] I2C EEPROM R/W

[Pico] I2C EEPROM R/W

Write and read back data to a virtual I2C EEPROM on the Pico

intermediate communicationPico
[Pico] I2C RTC Read

[Pico] I2C RTC Read

Read time from a virtual DS1307 RTC over I2C on Raspberry Pi Pico

intermediate communicationPico
[Pico] I2C Scanner

[Pico] I2C Scanner

Scan the I2C bus on the Pico for connected devices

intermediate communicationPico
[Pico] Multi-Protocol Demo

[Pico] Multi-Protocol Demo

Comprehensive test: Serial + I2C + SPI + ADC on the Raspberry Pi Pico

advanced communicationPico
[Pico] Serial Echo

[Pico] Serial Echo

Echo serial input back with a timestamp — tests UART on RP2040

beginner communicationPico
[Pico] Serial LED Control

[Pico] Serial LED Control

Control the Pico LED via serial commands (1=ON, 0=OFF, ?=status)

beginner communicationPico
[Pico] SPI Loopback

[Pico] SPI Loopback

SPI loopback test on RP2040 — sends and receives bytes via SPI0

intermediate communicationPico
ePaper 2.13" Wall Clock — Raspberry Pi Pico

ePaper 2.13" Wall Clock — Raspberry Pi Pico

Counts seconds and refreshes the framebuffer once per minute on a 2.13" 250×122 SSD1675A panel. Runs on the Pico via the Earle Philhower core; SPI0 default pins.

intermediate displaysPico
ePaper 4.2" Static Image — Raspberry Pi Pico

ePaper 4.2" Static Image — Raspberry Pi Pico

Embeds a fixed 400×300 black-and-white pattern (concentric squares) and pushes it once. Big enough to demonstrate a real layout — title block, divider, data table.

advanced displaysPico
Joystick Direction Display with OLED

Joystick Direction Display with OLED

Joystick Direction Display with OLED on Raspberry Pi Pico (MicroPython) — uses OLED. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysPico
Pico Doom — Raycaster Demo

Pico Doom — Raycaster Demo

Wolfenstein / early-Doom-style first-person 3D corridor on a Pi Pico + ILI9341 TFT. DDA raycasting at 160 rays/frame, no framebuffer (columns drawn straight to the TFT via drawFastVLine). Forward/back move, two more buttons turn the player. 16×16 tile map with 5 wall palettes (slate, blood, brown, toxic green, bronze door). The full id Software Doom needs the WAD assets shoehorned into 2 MB of flash with custom compression that the emulator cannot reproduce — this is the visual demo the Pico hardware actually runs in real life.

advanced gamesPico
Pico: 7-Segment Counter

Pico: 7-Segment Counter

Count 0–9 on a 7-segment display driven from GPIO 2–8 on the Raspberry Pi Pico.

beginner displaysPico
Pico: Analog Joystick

Pico: Analog Joystick

Read X/Y axes and button press from an analog joystick. VERT on A0 (GP26), HORZ on A1 (GP27), SEL button on D4 (GP16).

beginner sensorsPico
Pico: Button + LED

Pico: Button + LED

Press a button on GP2 to light up an LED on GP3 on the Raspberry Pi Pico.

beginner basicsPico
Pico: DHT22 Temperature & Humidity

Pico: DHT22 Temperature & Humidity

Read temperature and humidity from a DHT22 sensor on GP7 using the Raspberry Pi Pico.

beginner sensorsPico
Pico: HC-SR04 Ultrasonic Distance

Pico: HC-SR04 Ultrasonic Distance

Measure distance with an HC-SR04 sensor on the Raspberry Pi Pico. TRIG on D5 (GP17), ECHO on D6 (GP18).

beginner sensorsPico
Pico: NTC Thermistor Temperature

Pico: NTC Thermistor Temperature

Read temperature from an NTC 10k thermistor on the Pico ADC pin A0 (GP26) using the Steinhart–Hart equation.

intermediate sensorsPico
Pico: PIR Motion Detector

Pico: PIR Motion Detector

Detect movement with a PIR sensor on D4 (GP16). The built-in LED (GP25) activates when motion is detected.

beginner sensorsPico
Pico: RGB LED Cycle

Pico: RGB LED Cycle

Cycle through colors on an RGB LED using GPIO 6 (R), 7 (G), 8 (B) on the Raspberry Pi Pico.

beginner basicsPico
Pico: Servo Motor Sweep

Pico: Servo Motor Sweep

Sweep a servo motor from 0° to 180° and back on the Raspberry Pi Pico using D3 / GP15 (PWM).

beginner roboticsPico
Raspberry Pi Pico: SSD1306 OLED (4-pin I2C)

Raspberry Pi Pico: SSD1306 OLED (4-pin I2C)

Drive the cheap 4-pin SSD1306 OLED module (GND/VCC/SCL/SDA) over I2C from a Raspberry Pi Pico (SDA=GP4, SCL=GP5).

intermediate displaysPico
Raspberry Pi Pico: Stepper + A4988

Raspberry Pi Pico: Stepper + A4988

Spin a bipolar stepper motor from a Raspberry Pi Pico through an A4988 driver (STEP = GP3, DIR = GP4).

intermediate motorsPico
Single Digit Seven Segment Display with Raspberry Pi-Pico (MicroPython)

Single Digit Seven Segment Display with Raspberry Pi-Pico (MicroPython)

Single Digit Seven Segment Display with Raspberry Pi-Pico (MicroPython) on Raspberry Pi Pico (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner basicsPico
Blynk Based IoT Relay Control (MicroPython)

Blynk Based IoT Relay Control (MicroPython)

Blynk Based IoT Relay Control (MicroPython) on Raspberry Pi Pico W (MicroPython) — uses Blynk, Blynk Cloud, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationPico W (Wi-Fi)
IoT Relay Control Web Server (Raspberry Pi Pico 2W)

IoT Relay Control Web Server (Raspberry Pi Pico 2W)

IoT Relay Control Web Server (Raspberry Pi Pico 2W) on Raspberry Pi Pico W (MicroPython) — uses Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationPico W (Wi-Fi)
OTA Update Pico2W

OTA Update Pico2W

OTA Update Pico2W on Raspberry Pi Pico W (MicroPython) — uses OTA, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationPico W (Wi-Fi)
Pico 2 W Dht11 Http Csv Logger

Pico 2 W Dht11 Http Csv Logger

Pico 2 W Dht11 Http Csv Logger on Raspberry Pi Pico W (MicroPython) — uses DHT, HTTP server, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationPico W (Wi-Fi)
Pico W Async LED Control (MicroPython)

Pico W Async LED Control (MicroPython)

Pico W Async LED Control (MicroPython) on Raspberry Pi Pico W (MicroPython) — uses Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationPico W (Wi-Fi)
Pico W Web Servo Controller

Pico W Web Servo Controller

Pico W Web Servo Controller on Raspberry Pi Pico W (MicroPython) — uses OTA, Servo, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced roboticsPico W (Wi-Fi)
PIR Motion Detector using Raspberry Pi Pico 2W & MicroPython

PIR Motion Detector using Raspberry Pi Pico 2W & MicroPython

PIR Motion Detector using Raspberry Pi Pico 2W & MicroPython on Raspberry Pi Pico W (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner basicsPico W (Wi-Fi)
Raspberry Pi Pico 2 W ThingsBoard IoT

Raspberry Pi Pico 2 W ThingsBoard IoT

Raspberry Pi Pico 2 W ThingsBoard IoT on Raspberry Pi Pico W (MicroPython) — uses DHT, MQTT, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationPico W (Wi-Fi)
Servo Motor Control with Raspberry Pi Pico 2 W (MicroPython)

Servo Motor Control with Raspberry Pi Pico 2 W (MicroPython)

Servo Motor Control with Raspberry Pi Pico 2 W (MicroPython) on Raspberry Pi Pico W (MicroPython) — uses Servo. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner roboticsPico W (Wi-Fi)
WebSocket LED Control using Raspberry Pi Pico W

WebSocket LED Control using Raspberry Pi Pico W

WebSocket LED Control using Raspberry Pi Pico W on Raspberry Pi Pico W (MicroPython) — uses WebSocket, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationPico W (Wi-Fi)
AQI ESP

AQI ESP

AQI ESP on ESP32 (MicroPython) — uses DHT, HTTP server, OLED, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysESP32 (Xtensa)
Auto Night Light using LDR (ESP32 + MicroPython)

Auto Night Light using LDR (ESP32 + MicroPython)

Auto Night Light using LDR (ESP32 + MicroPython) on ESP32 (MicroPython) — uses LDR. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner sensorsESP32 (Xtensa)
Battery Monitor with Blynk IoT

Battery Monitor with Blynk IoT

Battery Monitor with Blynk IoT on ESP32 (MicroPython) — uses Blynk, Blynk Cloud, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
Bluetooth Based Wireless LED Control System

Bluetooth Based Wireless LED Control System

Bluetooth Based Wireless LED Control System on ESP32 (MicroPython) — uses BLE. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
Blynk Controlled DC Brushless Fan

Blynk Controlled DC Brushless Fan

Blynk Controlled DC Brushless Fan on ESP32 (MicroPython) — uses Blynk, Blynk Cloud, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
Clap Toggle Switch using ESP32 & Digital Sound Sensor (MicroPython)

Clap Toggle Switch using ESP32 & Digital Sound Sensor (MicroPython)

Clap Toggle Switch using ESP32 & Digital Sound Sensor (MicroPython) on ESP32 (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner sensorsESP32 (Xtensa)
DC Motor Speed Control (Web Slider)

DC Motor Speed Control (Web Slider)

DC Motor Speed Control (Web Slider) on ESP32 (MicroPython) — uses Servo, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate roboticsESP32 (Xtensa)
Desktop Robot — Animated Eyes

Desktop Robot — Animated Eyes

Cozmo-style desktop robot on ESP32: OLED face with random blinks/looks/expressions, DHT11 weather mode, PIR-triggered wakeup, LDR sleep when dark, sound-triggered reactions and two eyebrow servos. 34-file C++ project, real Arduino libraries (U8g2lib, DHT, ESP32Servo).

advanced displaysESP32 (Xtensa)
DHT11 Web Server using ESP32 & MicroPython

DHT11 Web Server using ESP32 & MicroPython

DHT11 Web Server using ESP32 & MicroPython on ESP32 (MicroPython) — uses DHT, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
Dimmer LED using Potentiometer (MicroPython)

Dimmer LED using Potentiometer (MicroPython)

Dimmer LED using Potentiometer (MicroPython) on ESP32 (MicroPython) — uses Servo. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner roboticsESP32 (Xtensa)
Dual IR Entry Exit Detector with Telegram Alerts

Dual IR Entry Exit Detector with Telegram Alerts

Dual IR Entry Exit Detector with Telegram Alerts on ESP32 (MicroPython) — uses Telegram, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
EEPROM Simulation using MicroPython on ESP32 (Wokwi)

EEPROM Simulation using MicroPython on ESP32 (Wokwi)

EEPROM Simulation using MicroPython on ESP32 (Wokwi) on ESP32 (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner basicsESP32 (Xtensa)
ePaper 2.9" Tri-Colour Alert — ESP32

ePaper 2.9" Tri-Colour Alert — ESP32

Tri-colour 296×128 B/W/Red panel showing a status badge. Demonstrates the SSD1680 red plane: title in black, "ALERT" pill in red on white. Exercises both 0x24 (BW) and 0x26 (Red) RAM commands.

intermediate displaysESP32 (Xtensa)
ePaper 2.9" Weather — ESP32

ePaper 2.9" Weather — ESP32

Mock weather widget on a 2.9" 296×128 SSD1680 panel. Demonstrates ePaper rendering via the backend Ssd168xEpaperSlave — the QEMU worker decodes SPI traffic and ships the latched frame back to the browser as an `epaper_update` WebSocket event.

intermediate displaysESP32 (Xtensa)
ePaper 5.65" 7-colour Rainbow — ESP32

ePaper 5.65" 7-colour Rainbow — ESP32

Drives the GoodDisplay GDEP0565D90 / Waveshare 5.65" ACeP 7-colour panel (UC8159c controller). Renders horizontal colour bars + a centred title to show every palette entry. Real-hardware refresh is ~12 s; the emulator pulses BUSY for 150 ms.

advanced displaysESP32 (Xtensa)
ePaper 7.5" Dashboard — ESP32

ePaper 7.5" Dashboard — ESP32

Full 800×480 multi-tile dashboard on the largest mono panel. ESP32 only — the framebuffer is too big for AVR/Pico flash with paged GxEPD2.

advanced displaysESP32 (Xtensa)
ESP32 + MicroPython: use an external library

ESP32 + MicroPython: use an external library

How a MicroPython project uses a library in Velxio: there is no requirements.txt and no package manager — the driver is a .py file in the workspace. Every file here is copied onto the board's filesystem before main.py runs, so `import ssd1306` picks up the ssd1306.py next to it and draws on the wired OLED. The toolbar's Library Manager installs ARDUINO libraries and has no effect in MicroPython mode.

beginner displaysESP32 (Xtensa)
ESP32 BLE Advertise

ESP32 BLE Advertise

Initialize BLE and start advertising. Note: BLE initialization is detected but actual BLE communication is not emulated in the current simulator.

intermediate communicationESP32 (Xtensa)
ESP32 BLE LED Control

ESP32 BLE LED Control

ESP32 BLE LED Control on ESP32 (MicroPython) — uses BLE. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
ESP32 Blink LED

ESP32 Blink LED

Blink the built-in LED on GPIO2 and an external red LED on GPIO4. Verifies ESP32 emulation is working.

beginner basicsESP32 (Xtensa)
ESP32 Doom — Raycaster (ILI9341)

ESP32 Doom — Raycaster (ILI9341)

A Wolfenstein / early-Doom style first-person raycaster on an ESP32 + ILI9341 320x240 colour TFT. The whole screen is redrawn every frame over hardware SPI (VSPI) with Adafruit_ILI9341 block writes (one startWrite/endWrite burst per frame), plus distance fog and darker E/W faces for depth. Four buttons move and turn the player; an auto-demo walks the 16x16 map when idle. Built as an emulation-speed benchmark — it overlays the on-device FPS and prints frame/FPS stats over Serial.

advanced gamesESP32 (Xtensa)
ESP32 Dual ADC Reader

ESP32 Dual ADC Reader

ESP32 reads two analog channels (GPIO34, GPIO35) simultaneously at 12-bit resolution.

beginner circuitsESP32 (Xtensa)
ESP32 Hotspot (Access Point) Setup MicroPython

ESP32 Hotspot (Access Point) Setup MicroPython

ESP32 Hotspot (Access Point) Setup MicroPython on ESP32 (MicroPython) — uses Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
ESP32 HTTP Server

ESP32 HTTP Server

Run a simple web server on the ESP32. After connecting to WiFi, the server responds with an HTML page. Access it via the IoT Gateway link.

intermediate communicationESP32 (Xtensa)
ESP32 IR Sensor Telegram Alert (MicroPython)

ESP32 IR Sensor Telegram Alert (MicroPython)

ESP32 IR Sensor Telegram Alert (MicroPython) on ESP32 (MicroPython) — uses Telegram, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
ESP32 LEDC PWM RGB

ESP32 LEDC PWM RGB

ESP32 LEDC peripheral drives RGB LED with independent PWM channels.

intermediate circuitsESP32 (Xtensa)
ESP32 OLED Smart UI Eyes Animation Time & Weather (MicroPython)

ESP32 OLED Smart UI Eyes Animation Time & Weather (MicroPython)

ESP32 OLED Smart UI Eyes Animation Time & Weather (MicroPython) on ESP32 (MicroPython) — uses OLED, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysESP32 (Xtensa)
ESP32 Serial Echo

ESP32 Serial Echo

ESP32 reads from Serial and echoes back. Demonstrates multi-UART and Serial Monitor integration.

beginner communicationESP32 (Xtensa)
ESP32 WiFi + MQTT

ESP32 WiFi + MQTT

Connect an ESP32 to WiFi and a public MQTT broker. The sketch publishes to its own topic and subscribes to it, so every message round-trips through broker.hivemq.com and toggles GPIO2 — a self-contained test of WiFi and MQTT with no external setup. Open the Serial Monitor at 115200 to watch it connect and exchange messages. The emulator advertises an open AP named "Velxio-GUEST".

intermediate communicationESP32 (Xtensa)
ESP32 WiFi Connect

ESP32 WiFi Connect

Connect to the virtual "Velxio-GUEST" WiFi network and print the assigned IP address. Uses channel 6 for faster connection.

beginner communicationESP32 (Xtensa)
ESP32 WiFi Scan

ESP32 WiFi Scan

Scan for available WiFi networks and display them in Serial Monitor. The emulated ESP32 will find the "Velxio-GUEST" access point.

beginner communicationESP32 (Xtensa)
ESP32: 7-Segment Counter

ESP32: 7-Segment Counter

Count 0–9 on a 7-segment display driven from GPIO 12, 13, 14, 25, 26, 27, 32 on the ESP32.

beginner displaysESP32 (Xtensa)
ESP32: Analog Joystick

ESP32: Analog Joystick

Read X/Y axes and button click from an analog joystick on the ESP32. X on D35, Y on D34, button on GPIO15.

beginner sensorsESP32 (Xtensa)
ESP32: BMP280 Weather Station

ESP32: BMP280 Weather Station

Read temperature and pressure from a BMP280 barometric sensor over I2C (SDA=D21, SCL=D22).

intermediate sensorsESP32 (Xtensa)
ESP32: DHT22 Temperature & Humidity

ESP32: DHT22 Temperature & Humidity

Read temperature and humidity from a DHT22 sensor on GPIO4 of the ESP32.

beginner sensorsESP32 (Xtensa)
ESP32: HC-SR04 Ultrasonic Distance

ESP32: HC-SR04 Ultrasonic Distance

Measure distance with an HC-SR04 sensor on ESP32. TRIG on GPIO18, ECHO on GPIO19.

beginner sensorsESP32 (Xtensa)
ESP32: MPU-6050 Accelerometer

ESP32: MPU-6050 Accelerometer

Read 3-axis acceleration and gyroscope data from an MPU-6050 over I2C (SDA=D21, SCL=D22).

intermediate sensorsESP32 (Xtensa)
ESP32: PIR Motion Detector

ESP32: PIR Motion Detector

Detect motion with a PIR sensor on GPIO5 of the ESP32. Logs events to Serial with timestamps.

beginner sensorsESP32 (Xtensa)
ESP32: Pure ESP-IDF Blink

ESP32: Pure ESP-IDF Blink

Blink an LED from a pure ESP-IDF project — app_main(), FreeRTOS delays and the GPIO driver, no Arduino core. Pick "ESP-IDF" in the language selector to write more projects like this.

intermediate basicsESP32 (Xtensa)
ESP32: Servo Motor + Potentiometer

ESP32: Servo Motor + Potentiometer

Control a servo motor angle directly with a potentiometer. The servo follows the pot position in real time.

beginner roboticsESP32 (Xtensa)
ESP32: SSD1306 OLED (4-pin I2C)

ESP32: SSD1306 OLED (4-pin I2C)

Drive the cheap 4-pin SSD1306 OLED module (GND/VCC/SCL/SDA) over I2C from an ESP32 (SDA=21, SCL=22).

intermediate displaysESP32 (Xtensa)
ESP32: SSD1306 OLED Display

ESP32: SSD1306 OLED Display

Display text and graphics on a 128×64 SSD1306 OLED over I2C (SDA=D21, SCL=D22).

intermediate displaysESP32 (Xtensa)
ESP32: Stepper + A4988

ESP32: Stepper + A4988

Spin a bipolar stepper motor from an ESP32 through an A4988 driver (STEP = GPIO26, DIR = GPIO27).

intermediate motorsESP32 (Xtensa)
Flask Server Based LED Control using MicroPython

Flask Server Based LED Control using MicroPython

Flask Server Based LED Control using MicroPython on ESP32 (MicroPython) — uses HTTP server, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
IoT Atmospheric Monitoring System using ESP32, wowki & Blynk

IoT Atmospheric Monitoring System using ESP32, wowki & Blynk

IoT Atmospheric Monitoring System using ESP32, wowki & Blynk on ESP32 (MicroPython) — uses Blynk, Blynk Cloud, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
IoT Based DSM Smart Metering

IoT Based DSM Smart Metering

IoT Based DSM Smart Metering on ESP32 (MicroPython) — uses Blynk, Blynk Cloud, OTA, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
IoT Environment Monitoring With Anomaly Detection

IoT Environment Monitoring With Anomaly Detection

IoT Environment Monitoring With Anomaly Detection on ESP32 (MicroPython) — uses DHT, LDR, ThingSpeak, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
IoT Smart Irrigation System

IoT Smart Irrigation System

IoT Smart Irrigation System on ESP32 (MicroPython) — uses Blynk, Blynk Cloud, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
Joystick Controlled Servo

Joystick Controlled Servo

Joystick Controlled Servo on ESP32 (MicroPython) — uses Servo. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner roboticsESP32 (Xtensa)
MicroPython Watch

MicroPython Watch

MicroPython Watch on ESP32 (MicroPython) — uses OLED, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysESP32 (Xtensa)
microSD Card (ESP32)

microSD Card (ESP32)

Read and write files on a microSD card over SPI on the ESP32 (VSPI). The card is pre-loaded with this project's own files (free auto-copy); paid users can upload their own files from the component's "SD Card" panel. Lists the root directory, then writes /log.txt and reads it back. Open the Serial Monitor at 115200 baud.

intermediate communicationESP32 (Xtensa)
MQ 135 Gas Sensor with ESP32 (MicroPython)

MQ 135 Gas Sensor with ESP32 (MicroPython)

MQ 135 Gas Sensor with ESP32 (MicroPython) on ESP32 (MicroPython) — uses OTA. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced sensorsESP32 (Xtensa)
MQ4 Gas Leak Detection System using ESP32 and MicroPython

MQ4 Gas Leak Detection System using ESP32 and MicroPython

MQ4 Gas Leak Detection System using ESP32 and MicroPython on ESP32 (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner basicsESP32 (Xtensa)
MQ7 CO Gas Detection ESP32

MQ7 CO Gas Detection ESP32

MQ7 CO Gas Detection ESP32 on ESP32 (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner basicsESP32 (Xtensa)
NTP Synchronized Digital Clock using ESP32 & MAX7219

NTP Synchronized Digital Clock using ESP32 & MAX7219

NTP Synchronized Digital Clock using ESP32 & MAX7219 on ESP32 (MicroPython) — uses MAX7219, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysESP32 (Xtensa)
Password Lock System using ESP32

Password Lock System using ESP32

Password Lock System using ESP32 on ESP32 (MicroPython) — uses I²C LCD. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysESP32 (Xtensa)
Potentiometer Visualizer

Potentiometer Visualizer

Potentiometer Visualizer on ESP32 (MicroPython). From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner basicsESP32 (Xtensa)
Pulse Monitor

Pulse Monitor

Pulse Monitor on ESP32 (MicroPython) — uses OLED. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate displaysESP32 (Xtensa)
RGB Color Mixer using Potentiometers (ESP32 + MicroPython)

RGB Color Mixer using Potentiometers (ESP32 + MicroPython)

RGB Color Mixer using Potentiometers (ESP32 + MicroPython) on ESP32 (MicroPython) — uses Servo. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner roboticsESP32 (Xtensa)
Smart Home Automation System

Smart Home Automation System

Smart Home Automation System on ESP32 (MicroPython) — uses Blynk, Blynk Cloud, DHT, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

advanced communicationESP32 (Xtensa)
Smart Indoor Security System

Smart Indoor Security System

Smart Indoor Security System on ESP32 (MicroPython) — uses Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
Smart IoT Gas Monitoring System

Smart IoT Gas Monitoring System

Smart IoT Gas Monitoring System on ESP32 (MicroPython) — uses DHT, HTTP server, Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate communicationESP32 (Xtensa)
Stepper Motor Control using ESP32 & A4988 (MicroPython)

Stepper Motor Control using ESP32 & A4988 (MicroPython)

Stepper Motor Control using ESP32 & A4988 (MicroPython) on ESP32 (MicroPython) — uses Stepper. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate roboticsESP32 (Xtensa)
Temperature Based LED Indicator (MicroPython ESP32)

Temperature Based LED Indicator (MicroPython ESP32)

Temperature Based LED Indicator (MicroPython ESP32) on ESP32 (MicroPython) — uses DHT. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner sensorsESP32 (Xtensa)
Ultrasonic LED Distance Indicator ESP32 MicroPython

Ultrasonic LED Distance Indicator ESP32 MicroPython

Ultrasonic LED Distance Indicator ESP32 MicroPython on ESP32 (MicroPython) — uses HC-SR04. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

beginner sensorsESP32 (Xtensa)
Wi Fi Controlled 4WD Robot Car

Wi Fi Controlled 4WD Robot Car

Wi Fi Controlled 4WD Robot Car on ESP32 (MicroPython) — uses Wi-Fi. From Kritish Mohapatra's 100 Days of IoT series: https://github.com/kritishmohapatra/100_Days_100_IoT_Projects

intermediate roboticsESP32 (Xtensa)
ESP32-CAM + ILI9341 Live Preview

ESP32-CAM + ILI9341 Live Preview

Webcam frames decoded in-place with jpg2rgb565() and rendered to a 320×240 SPI TFT (160×120 centered, 1/2 scale). Status bar shows fps, frame counter, decode-fail counter and a live pulse. Requires Adafruit GFX + Adafruit ILI9341 libraries.

intermediate displaysESP32-CAM
ESP32-CAM: Webcam Demo

ESP32-CAM: Webcam Demo

Init the OV2640 camera, verify chip-id over SCCB, then loop on esp_camera_fb_get() and print frame metadata to Serial. The simplest "is the emulation alive" sketch — click Camera in the canvas header to start streaming your webcam.

beginner sensorsESP32-CAM
ESP32-S3 Blink LED

ESP32-S3 Blink LED

Blink an external red LED on GPIO4 of the ESP32-S3 DevKitC-1. Verifies ESP32-S3 GPIO emulation is working.

beginner basicsESP32-S3 (Xtensa)
ESP32-S3 Serial Echo

ESP32-S3 Serial Echo

ESP32-S3 reads from Serial and echoes back. Demonstrates UART and Serial Monitor integration on the S3.

beginner communicationESP32-S3 (Xtensa)
ESP32-S3: Potentiometer (ADC)

ESP32-S3: Potentiometer (ADC)

Read a potentiometer with the ESP32-S3 12-bit ADC on GPIO1 (ADC1_CH0) and print the raw value and voltage.

beginner sensorsESP32-S3 (Xtensa)
ESP32-S3: SSD1306 OLED Display

ESP32-S3: SSD1306 OLED Display

Display text on a 128×64 SSD1306 OLED over I2C from the ESP32-S3 (default Wire pins SDA=GPIO8, SCL=GPIO9).

intermediate displaysESP32-S3 (Xtensa)
ESP32-C3 BLE Advertise

ESP32-C3 BLE Advertise

Initialize BLE 5.0 and start advertising on the ESP32-C3. Note: The ESP32-C3 only supports BLE (no Classic Bluetooth). BLE initialization is detected but actual communication is not emulated.

intermediate communicationESP32-C3 (RISC-V)
ESP32-C3 HTTP Server

ESP32-C3 HTTP Server

Run a simple web server on the ESP32-C3. After connecting to WiFi, the server responds with an HTML page. Access it via the IoT Gateway link.

intermediate communicationESP32-C3 (RISC-V)
ESP32-C3 WiFi Connect

ESP32-C3 WiFi Connect

Connect the ESP32-C3 to the virtual "Velxio-GUEST" WiFi network and print the assigned IP address. Uses channel 6 for faster connection.

beginner communicationESP32-C3 (RISC-V)
ESP32-C3 WiFi Scan

ESP32-C3 WiFi Scan

Scan for available WiFi networks on the ESP32-C3 (RISC-V). The emulated ESP32-C3 will find the "Velxio-GUEST" access point.

beginner communicationESP32-C3 (RISC-V)
ESP32-C3: Blink LED

ESP32-C3: Blink LED

Blink an LED on GPIO 8 of the ESP32-C3. Runs through the QEMU lcgamboa backend (libqemu-riscv32) at 160 MHz.

beginner basicsESP32-C3 (RISC-V)
ESP32-C3: Button + LED

ESP32-C3: Button + LED

Press a button on GPIO 9 to toggle an LED on GPIO 8. Tests GPIO input on the browser ESP32-C3 emulator.

beginner basicsESP32-C3 (RISC-V)
ESP32-C3: DHT22 Temperature & Humidity

ESP32-C3: DHT22 Temperature & Humidity

Read temperature and humidity with a DHT22 sensor on GPIO3 of the ESP32-C3 RISC-V board.

beginner sensorsESP32-C3 (RISC-V)
ESP32-C3: HC-SR04 Ultrasonic Distance

ESP32-C3: HC-SR04 Ultrasonic Distance

Measure distance with an HC-SR04 sensor on the ESP32-C3. TRIG on GPIO5, ECHO on GPIO6.

beginner sensorsESP32-C3 (RISC-V)
ESP32-C3: ILI9341 TFT Display (SPI)

ESP32-C3: ILI9341 TFT Display (SPI)

Draws a filled screen, a rounded rectangle and text on a 320x240 ILI9341 TFT from an ESP32-C3 over hardware SPI (FSPI: SCK=4, MISO=5, MOSI=6, CS=7).

intermediate displaysESP32-C3 (RISC-V)
ESP32-C3: PIR Motion Detector

ESP32-C3: PIR Motion Detector

Detect motion with a PIR sensor on GPIO7 of the ESP32-C3. Prints detection events and count to Serial.

beginner sensorsESP32-C3 (RISC-V)
ESP32-C3: Potentiometer (ADC)

ESP32-C3: Potentiometer (ADC)

Read a potentiometer with the ESP32-C3 12-bit ADC on GPIO0 (ADC1_CH0) and print the raw value and voltage.

beginner sensorsESP32-C3 (RISC-V)
ESP32-C3: RGB LED

ESP32-C3: RGB LED

Cycle through red, green, and blue on an RGB LED using GPIO 6, 7, 8 on the ESP32-C3.

beginner basicsESP32-C3 (RISC-V)
ESP32-C3: Serial Echo

ESP32-C3: Serial Echo

Type in Serial Monitor and see it echoed back by the ESP32-C3 browser emulator.

beginner communicationESP32-C3 (RISC-V)
ESP32-C3: Serial Hello

ESP32-C3: Serial Hello

Print Hello World and a heartbeat every second from ESP32-C3 via Serial. Runs in the browser.

beginner communicationESP32-C3 (RISC-V)
ESP32-C3: Servo Motor Sweep

ESP32-C3: Servo Motor Sweep

Sweep a servo motor from 0° to 180° and back on the ESP32-C3 using GPIO10 (PWM).

beginner roboticsESP32-C3 (RISC-V)
ESP32-C3: SSD1306 OLED Display

ESP32-C3: SSD1306 OLED Display

Display text on a 128×64 SSD1306 OLED over I2C from the ESP32-C3 (default Wire pins SDA=GPIO8, SCL=GPIO9).

intermediate displaysESP32-C3 (RISC-V)
[STM32 + Arduino] GPIO Mirror

[STM32 + Arduino] GPIO Mirror

Cross-board demo: the STM32 Blue Pill toggles PA1 every 500 ms (wired to Arduino Uno pin 2). The Uno reads pin 2 and mirrors it to its built-in LED (pin 13). Shows heterogeneous multi-board simulation — QEMU STM32 driving an avr8js Arduino.

intermediate communicationSTM32 Blue Pill
[STM32 + Arduino] Serial Link

[STM32 + Arduino] Serial Link

Cross-board UART: the STM32 Blue Pill sends a "PING n" message over USART1 (PA9 TX) into the Arduino Uno RX (pin 0). The Uno reads each line and blinks LED 13 + echoes "[Uno] got: ..." to its own Serial Monitor. Watch both monitors.

intermediate communicationSTM32 Blue Pill
[STM32 + ESP32] GPIO Sync

[STM32 + ESP32] GPIO Sync

Cross-board demo: the STM32 Blue Pill toggles PA1 (wired to ESP32 GPIO4). The ESP32 reads GPIO4 and prints its state + mirrors it onto GPIO2. Two QEMU backends (libqemu-arm + libqemu-xtensa) talking over a wire.

advanced communicationSTM32 Blue Pill
[STM32 + STM32] Blue Pill → Black Pill

[STM32 + STM32] Blue Pill → Black Pill

Two different STM32 boards talking: the Blue Pill (F103) toggles PA1, wired to the Black Pill (F411) PA0. The Black Pill reads PA0 and mirrors it to its onboard PC13 LED. Both run on separate libqemu-arm QEMU instances.

intermediate communicationSTM32 Blue Pill
STM32 Blue Pill Blink

STM32 Blue Pill Blink

Blink the onboard PC13 LED and print to Serial on an STM32F103 Blue Pill (QEMU / libqemu-arm)

beginner basicsSTM32 Blue Pill
STM32 Blue Pill: SSD1306 OLED (4-pin I2C)

STM32 Blue Pill: SSD1306 OLED (4-pin I2C)

Drive the cheap 4-pin SSD1306 OLED module (GND/VCC/SCL/SDA) over I2C1 from an STM32 Blue Pill (SDA=PB7, SCL=PB6).

intermediate displaysSTM32 Blue Pill
STM32 Serial Counter

STM32 Serial Counter

STM32 Blue Pill prints an incrementing counter and uptime to Serial every second. Open the Serial Monitor to watch it. Onboard PC13 LED blinks as a heartbeat.

beginner communicationSTM32 Blue Pill
STM32: 7-Segment Counter

STM32: 7-Segment Counter

Count 0-9 on a 7-segment display driven by seven GPIO pins (PA0-PA6 = segments A-G) on the STM32 Blue Pill. Pure digital output: each digit pattern is written to the segment pins. Common-cathode (COM -> GND).

beginner basicsSTM32 Blue Pill
STM32: BMP280 Weather Sensor (I2C)

STM32: BMP280 Weather Sensor (I2C)

Read temperature and pressure from a BMP280 over I2C1 on an STM32 Blue Pill (SCL=PB6, SDA=PB7). The sensor runs as a QEMU I2C slave; values stream to the Serial Monitor. Demonstrates the STM32 hardware I2C master peripheral end to end.

intermediate sensorsSTM32 Blue Pill
STM32: DS1307 RTC Clock (I2C)

STM32: DS1307 RTC Clock (I2C)

Read the current time and date from a DS1307 real-time clock over I2C1 on the STM32 Blue Pill (SCL=PB6, SDA=PB7). The QEMU DS1307 slave returns the live system clock in BCD, ticking once a second in the Serial Monitor.

intermediate sensorsSTM32 Blue Pill
STM32: MPU6050 IMU (I2C)

STM32: MPU6050 IMU (I2C)

Read the WHO_AM_I id and accelerometer axes from an MPU6050 6-axis IMU over I2C1 on the STM32 Blue Pill (SCL=PB6, SDA=PB7). The sensor runs as a QEMU I2C slave; raw Wire reads stream to the Serial Monitor.

intermediate sensorsSTM32 Blue Pill
STM32: Push Button -> LED

STM32: Push Button -> LED

Read a push button on PA0 (INPUT_PULLUP) and mirror it to the onboard PC13 LED on the STM32 Blue Pill. Pressing the button drives the GPIO input LOW; the firmware lights the LED while pressed. Demonstrates GPIO input injection.

beginner basicsSTM32 Blue Pill
STM32: RGB LED Color Cycle

STM32: RGB LED Color Cycle

Cycle an RGB LED through red, green and blue using three GPIO pins (PA0=R, PA1=G, PA2=B) on the STM32 Blue Pill. Pure digital output; common-cathode (COM -> GND).

beginner basicsSTM32 Blue Pill
STM32: Slide Switch -> LED

STM32: Slide Switch -> LED

Read a slide switch on PA0 and reflect its position on the onboard PC13 LED of the STM32 Blue Pill. Flipping the switch drives the GPIO input HIGH/LOW. Demonstrates GPIO input injection from a latching element.

beginner basicsSTM32 Blue Pill
STM32: SSD1306 OLED Display (I2C)

STM32: SSD1306 OLED Display (I2C)

Drive a 128x64 SSD1306 OLED over I2C1 from an STM32 Blue Pill (SCL=PB6, SDA=PB7). The framebuffer writes are captured by the QEMU I2C slave and rendered on the canvas. Shows "Hello Velxio!" with a live frame counter.

intermediate displaysSTM32 Blue Pill
STM32: Stepper Motor

STM32: Stepper Motor

Rotate a stepper motor with the four-pin full-step sequence driven by GPIO pins (PA0-PA3) on the STM32 Blue Pill. Pure digital output: the firmware energizes coils A+, B+, A-, B- in order to step the rotor.

intermediate motorsSTM32 Blue Pill
STM32: Weather Station (BMP280 + OLED)

STM32: Weather Station (BMP280 + OLED)

A complete I2C dashboard on the STM32 Blue Pill: read temperature and pressure from a BMP280 and render them live on an SSD1306 OLED, both sharing the same I2C1 bus (BMP280 0x76, OLED 0x3C, SCL=PB6/SDA=PB7). Exercises I2C read and write on one bus.

intermediate sensorsSTM32 Blue Pill
STM32 Black Pill Blink

STM32 Black Pill Blink

Blink the onboard PC13 LED and print to Serial on an STM32F411 Black Pill (Cortex-M4, QEMU / libqemu-arm).

beginner basicsSTM32 Black Pill
STM32 Black Pill: SSD1306 OLED (I2C)

STM32 Black Pill: SSD1306 OLED (I2C)

Drive a 128x64 SSD1306 OLED over I2C1 from an STM32 Black Pill (F411, Cortex-M4; SCL=PB6, SDA=PB7). Proves the I2C display path works on the F4 board too. Shows "Black Pill" with a live counter.

intermediate displaysSTM32 Black Pill
ATtiny85: Blink LED

ATtiny85: Blink LED

Blink an external LED on PB1 (Digispark pin 1) through a 220 Ohm current-limit resistor.

beginner basicsATtiny85
ATtiny85: Button + LED

ATtiny85: Button + LED

Press the button on PB0 to light the LED on PB1. Uses internal pull-up resistor — no external resistor needed.

beginner basicsATtiny85
ATtiny85: NTC Temperature Sensor

ATtiny85: NTC Temperature Sensor

Read temperature from an NTC thermistor on PB3 (ADC3). The LED on PB1 blinks faster as temperature rises.

intermediate sensorsATtiny85
ATtiny85: PWM LED Fade

ATtiny85: PWM LED Fade

Smoothly fade an LED in and out using analogWrite() on PB1 (OC0B). Shows Timer0 PWM on the ATtiny85.

intermediate basicsATtiny85
[Pi + Arduino] Serial LED Control

[Pi + Arduino] Serial LED Control

Raspberry Pi 3B controls two LEDs on an Arduino Uno via UART serial. Pi sends commands (LED1_ON, LED2_ON…) from a Python script; Arduino parses them and drives the LEDs.

advanced communicationMulti-Board
[Pi 3] Blink an LED

[Pi 3] Blink an LED

Raspberry Pi 3 blinks a red LED on GPIO17 with gpiozero. Start the Pi, click Upload in the File System panel, then run: python3 /home/pi/script.py

beginner basicsMulti-Board
[Pi 3] Running Lights (5 LEDs)

[Pi 3] Running Lights (5 LEDs)

Raspberry Pi 3 sweeps a Knight-Rider pattern across 5 LEDs on GPIO17/27/22/5/6 with gpiozero. Start the Pi, Upload, then run: python3 /home/pi/script.py

intermediate basicsMulti-Board
[Pi 4] Button Toggles LED

[Pi 4] Button Toggles LED

Raspberry Pi 4 reads a push button on GPIO2 and toggles an LED on GPIO17 with gpiozero. Start the Pi, Upload, run python3 /home/pi/script.py, then click the button.

beginner basicsMulti-Board
[Pi 4] RGB LED Color Cycle

[Pi 4] RGB LED Color Cycle

Raspberry Pi 4 cycles a common-cathode RGB LED through 7 colors using digital on/off on GPIO17/27/22 (gpiozero RGBLED, pwm=False). Start the Pi, Upload, run python3 /home/pi/script.py

intermediate basicsMulti-Board
[Pi 5] PIR Motion Alarm

[Pi 5] PIR Motion Alarm

Raspberry Pi 5 lights an LED on GPIO17 whenever a PIR motion sensor on GPIO4 detects movement (gpiozero MotionSensor). Start the Pi, Upload, run python3 /home/pi/script.py, then trigger the PIR.

intermediate sensorsMulti-Board
[Pi 5] Traffic Light

[Pi 5] Traffic Light

Raspberry Pi 5 runs a red/yellow/green traffic-light state machine on GPIO17/27/22 with gpiozero. Start the Pi, Upload, then run: python3 /home/pi/script.py

intermediate basicsMulti-Board
ILI9341 TFT Hello — ESP32-S3

ILI9341 TFT Hello — ESP32-S3

Draws a filled screen, a rounded rectangle and text on a 320x240 ILI9341 TFT from an ESP32-S3 over hardware SPI (FSPI / GPSPI2).

intermediate displaysMulti-Board
BJT as a Switch

BJT as a Switch

Base driven into saturation through Rb; collector pulled up via a load resistor. DC step input toggles Vce between ~0.2 V and Vcc.

beginner circuitsAnalog
BJT Common-Emitter Amplifier

BJT Common-Emitter Amplifier

Classic voltage amplifier: base biased by a divider, emitter degenerated by Re, collector resistor sets gain.

advanced circuitsAnalog
BJT Differential Pair

BJT Differential Pair

Long-tailed pair: a shared emitter tail resistor steers current between Q1 and Q2 according to the differential input.

advanced circuitsAnalog
BJT Emitter Follower

BJT Emitter Follower

Common-collector buffer: unity voltage gain, high input impedance, low output impedance. Great as a driver stage.

intermediate circuitsAnalog
Darlington Pair

Darlington Pair

Two cascaded NPNs multiply β — β_total ≈ β1·β2. Used when a single transistor can’t supply enough base current for a heavy load.

advanced circuitsAnalog
Diode Clamper (DC Restorer)

Diode Clamper (DC Restorer)

Series cap + parallel diode shifts the signal so its negative peak sits at 0 V. Output swings 0 → 2·Vpeak.

intermediate circuitsAnalog
Diode Clipper

Diode Clipper

Two diodes to VCC/GND via a series resistor limit the output swing to roughly ±0.7 V — symmetric clipping.

intermediate circuitsAnalog
Full-Wave Bridge Rectifier

Full-Wave Bridge Rectifier

Four diodes in a bridge rectify both halves of the AC input. Load R1 sees full-wave pulses at 2× the input frequency.

intermediate circuitsAnalog
Half-Wave Rectifier

Half-Wave Rectifier

Single diode passes only the positive half-cycle of a 50 Hz sine. Load resistor drops the rectified voltage.

beginner circuitsAnalog
MOSFET Common-Source Amplifier

MOSFET Common-Source Amplifier

2N7000 as a small-signal amp: drain resistor sets gain, source resistor stabilises bias. AC-coupled signal input.

advanced circuitsAnalog
MOSFET Low-Side Switch

MOSFET Low-Side Switch

2N7000 NMOS with a pull-down gate resistor. Gate drive above Vth turns the device on and sinks current from the load to GND.

beginner circuitsAnalog
NPN Current Mirror

NPN Current Mirror

Reference current in Q1 is mirrored through Q2’s collector — matched transistors + shared Vbe make the collector currents equal.

advanced circuitsAnalog
Op-Amp Comparator

Op-Amp Comparator

Open-loop op-amp compares V_in against a reference. Output saturates high when IN+ > IN-, low otherwise.

intermediate circuitsAnalog
Op-Amp Integrator

Op-Amp Integrator

Rf replaced by a cap: V_out = −(1/RC) ∫V_in dt. Square-wave in → triangle-wave out. Classic analog-computer building block.

advanced circuitsAnalog
Op-Amp Inverting Amplifier

Op-Amp Inverting Amplifier

Gain = −Rf/Rin. Rf = 10 k, Rin = 1 k → gain = −10. LM358 single-supply model clamps the output to [0, VCC−1.5].

intermediate circuitsAnalog
Op-Amp Non-Inverting Amplifier

Op-Amp Non-Inverting Amplifier

Gain = 1 + Rf/Rg. Rf = 10 k, Rg = 1 k → gain = +11. Output in-phase with input.

intermediate circuitsAnalog
Op-Amp Schmitt Trigger

Op-Amp Schmitt Trigger

Positive feedback (R2 from OUT to IN+) adds hysteresis: two switching thresholds instead of one. Cleans up noisy signals.

advanced circuitsAnalog
Op-Amp Summing Amplifier

Op-Amp Summing Amplifier

Virtual-ground summing junction: V_out = −Rf · (V1/R1 + V2/R2). Two-input mixer with unity gain per channel.

advanced circuitsAnalog
Op-Amp Voltage Follower

Op-Amp Voltage Follower

Unity-gain buffer: output tracks the non-inverting input exactly. Infinite input impedance, near-zero output impedance.

beginner circuitsAnalog
Parallel Resistors

Parallel Resistors

Three resistors in parallel — total resistance is the reciprocal of the reciprocal sum. Ammeter shows total current.

beginner circuitsAnalog
PMOS High-Side Switch

PMOS High-Side Switch

P-channel MOSFET (IRF9540) sources current from VCC when the gate is pulled below VCC−|Vth|. Ideal for load switching.

intermediate circuitsAnalog
RC High-Pass Filter

RC High-Pass Filter

Swap the R and C of a low-pass and you get a high-pass. 1 kHz sine through C — R — GND.

beginner circuitsAnalog
RC Low-Pass Filter

RC Low-Pass Filter

1 kHz sine through R = 1.6 kΩ and C = 100 nF. fc ≈ 1 kHz — output attenuated by −3 dB.

beginner circuitsAnalog
RL Low-Pass Filter

RL Low-Pass Filter

Inductor in series, resistor to ground. High frequencies dropped across L; low frequencies pass through.

intermediate circuitsAnalog
Series Resistors

Series Resistors

Three resistors in series carry the same current — ammeter reads V/(R1+R2+R3).

beginner circuitsAnalog
Series RLC Resonant Circuit

Series RLC Resonant Circuit

L = 1 mH, C = 1 µF gives fr ≈ 5 kHz. Sweep the signal generator — Vc peaks at resonance (Q-dependent).

intermediate circuitsAnalog
Smoothed Half-Wave Rectifier

Smoothed Half-Wave Rectifier

Half-wave rectifier followed by a 100 µF reservoir cap. Output is near-DC with ripple inversely proportional to C.

intermediate circuitsAnalog
Voltage Divider

Voltage Divider

Two resistors divide a 5 V DC source in half. Classic first SPICE demo — expect 2.5 V across R2.

beginner circuitsAnalog
Voltage Doubler (Villard / Greinacher)

Voltage Doubler (Villard / Greinacher)

Two caps + two diodes extract roughly 2·Vpeak DC from an AC input. First stage clamps, second stage peak-detects.

advanced circuitsAnalog
Zener Shunt Regulator

Zener Shunt Regulator

Series resistor + reverse-biased zener clamps the output to Vz (5.1 V for a 1N4733) despite changing input.

intermediate circuitsAnalog
1-Bit ALU Slice (AND / OR / XOR / ADD)

1-Bit ALU Slice (AND / OR / XOR / ADD)

A complete 1-bit ALU cell — AND, OR, XOR and ADD all computed in parallel, with a 4-to-1 MUX selecting which result drives Y. The carry path is wired so the slices cascade into a 32-bit ALU like in MIPS.

advanced circuitsDigital
1-Bit Magnitude Comparator

1-Bit Magnitude Comparator

Three outputs decode the relationship between A and B: A>B, A=B, A<B. Built from two NOTs, two ANDs and one XNOR.

advanced circuitsDigital
2-Bit × 2-Bit Binary Multiplier

2-Bit × 2-Bit Binary Multiplier

Four AND gates compute the partial products; two half adders sum the columns. The four output LEDs show the 4-bit product P3..P0 of two 2-bit numbers A1A0 × B1B0.

advanced circuitsDigital
2-Bit Equality Comparator

2-Bit Equality Comparator

Two XNORs compare individual bits, an AND combines them. The LED lights only when A1A0 = B1B0.

intermediate circuitsDigital
2-to-1 Multiplexer

2-to-1 Multiplexer

Two AND gates feed an OR gate. SEL routes either D0 or D1 to Y. The textbook gate-level MUX.

intermediate circuitsDigital
2-to-4 Line Decoder

2-to-4 Line Decoder

Two select lines pick exactly one of four outputs. Each output is A·B for some combination of A/!A and B/!B. The backbone of address decoding inside every CPU.

advanced circuitsDigital
3-Bit Binary → Gray Converter

3-Bit Binary → Gray Converter

Two XORs convert a 3-bit binary input to its Gray-code form: G2=B2, G1=B2⊕B1, G0=B1⊕B0. Toggle the input switches and watch only one output flip per increment — the defining property of Gray code.

advanced circuitsDigital
3-Bit Gray → Binary Converter

3-Bit Gray → Binary Converter

Inverse of the binary-to-Gray converter — three input switches feed an XOR cascade running from MSB to LSB to recover the binary value.

advanced circuitsDigital
3-Input AND — All Three

3-Input AND — All Three

Three slide switches drive a 3-input AND. The LED stays dark until every switch is HIGH at the same time.

beginner circuitsDigital
3-Input Majority Voter

3-Input Majority Voter

Output is HIGH when at least 2 of 3 inputs are HIGH: Y = AB + AC + BC. Fault-tolerant logic in seven gates.

intermediate circuitsDigital
3-to-8 Line Decoder

3-to-8 Line Decoder

Three select bits drive eight outputs — exactly one LED lights at a time. The lit LED is the binary value of A2A1A0. Eight 3-input ANDs and three inverters.

advanced circuitsDigital
4-Bit Adder / Subtractor

4-Bit Adder / Subtractor

A single mode line selects add (M=0) or subtract (M=1, via two-complement). Each B bit is XOR-ed with M and M also feeds the FA0 carry-in, so the same ripple chain computes A+B or A−B.

advanced circuitsDigital
4-Bit Carry-Lookahead Adder

4-Bit Carry-Lookahead Adder

Replaces the ripple chain with a parallel carry network. Generate / propagate signals + four lookahead expansions compute c1..c4 in constant gate-depth — the same O(log n) speedup pattern that scales to 64-bit CPU adders.

advanced circuitsDigital
4-Bit Magnitude Comparator

4-Bit Magnitude Comparator

Compares two 4-bit numbers A and B. Four XNORs decide bit equality, a priority cascade of ANDs/ORs decides A>B, and a NOR derives A<B. Three LEDs decode the relationship live.

advanced circuitsDigital
4-Bit Parity Generator

4-Bit Parity Generator

Three cascaded XORs compute the even-parity bit of a 4-bit nibble. The LED is HIGH when an odd number of input switches are HIGH.

advanced circuitsDigital
4-Bit Population Count

4-Bit Population Count

Counts how many of four input switches are HIGH and outputs the count as a 3-bit binary number on three LEDs. Built as an adder tree — the same shape SIMD popcount instructions use in silicon.

advanced circuitsDigital
4-Bit Ripple Counter (T flip-flops)

4-Bit Ripple Counter (T flip-flops)

Four T flip-flops chained into a ripple counter — impossible on the SPICE engine (no edge detection at DC). Each time you slide the CLOCK switch from LOW to HIGH the count advances; the four LEDs show it in binary, LSB at the top. The event-driven digital engine evaluates the flip-flops exactly. (Set ?digitalgates=off to see that ngspice cannot run this.)

advanced circuitsDigital
4-Bit Ripple-Carry Adder

4-Bit Ripple-Carry Adder

Four full adders chained — A[3:0] + B[3:0] + Cin → S[3:0] + Cout. Toggle nine input switches to compute any 4-bit sum live. Twenty-six gates of pure combinational logic.

advanced circuitsDigital
4-Input AND Gate

4-Input AND Gate

Four switches feed a single 4-input AND gate. The LED lights only when every input is HIGH at once.

intermediate circuitsDigital
4-to-1 Multiplexer

4-to-1 Multiplexer

Two select lines route one of four data inputs to Y. Built from one 2-to-4 line decoder (the !A·!B...A·B combinations) feeding four ANDs into a 4-input OR.

advanced circuitsDigital
4:2 Compressor (Wallace Cell)

4:2 Compressor (Wallace Cell)

Five same-weight bits in, three out. Two cascaded full adders compress 5 bits into Sum + Carry + Cout in constant time — the building block of Wallace and Dadda tree multipliers.

advanced circuitsDigital
8-to-3 Priority Encoder

8-to-3 Priority Encoder

Eight input switches; three output LEDs encode the highest-numbered switch that is HIGH as a 3-bit binary number. A fourth "valid" LED lights whenever any input is active.

advanced circuitsDigital
AND Gate — Both Switches

AND Gate — Both Switches

Two slide switches feed an AND gate. The LED lights only when both switches are HIGH.

beginner circuitsDigital
AND Gate Alarm

AND Gate Alarm

Two arming switches feed an AND gate — the alarm LED lights ONLY when BOTH are ON (e.g. both doors closed). They are slide switches, so they latch: slide each one ON and it stays, so you can hold both at once. Pure logic, no MCU — runs on the digital gate engine.

beginner circuitsDigital
AOI Gate (AND-OR-Invert)

AOI Gate (AND-OR-Invert)

A composite cell common inside CMOS libraries: two ANDs feed a NOR. Output = !((A·B) + (C·D)). Faster than three discrete gates in real silicon.

intermediate circuitsDigital
BCD → 7-Seg: Segment "a"

BCD → 7-Seg: Segment "a"

Lights segment "a" for digits 0,2,3,5,6,7,8,9 and leaves it dark for 1 and 4. One slice of a 7447-style decoder, gate-built so the K-map minimisation a = B3 + B1 + B2·B0 + !B2·!B0 is visible end-to-end.

advanced circuitsDigital
BCD Validity Detector

BCD Validity Detector

Lights an LED only when the 4-bit input is a valid BCD digit (0–9). The complement (10–15) is detected by B3·B2 + B3·B1 and inverted to drive the "valid" lamp.

advanced circuitsDigital
Buffer From Three Inverters

Buffer From Three Inverters

Three NOT gates in series invert three times → effectively a non-inverting buffer with three gate delays. Used for fan-out or to "regenerate" a weak signal.

intermediate circuitsDigital
Full Adder (Gate Level)

Full Adder (Gate Level)

Three inputs — A, B and Cin — feed two XORs, two ANDs and one OR. The XORs give SUM, the OR of the ANDs gives Cout. Classic cascade-able adder cell.

intermediate circuitsDigital
Galaksija — 1983 Z80 home computer

Galaksija — 1983 Z80 home computer

A real 1983 Yugoslav home computer (Voja Antonić, public-domain ROM) built from discrete chips on the bus: a Z80 CPU runs its BASIC ROM, an inverter decodes the address map, a 64K RAM holds memory and renders the text screen from its own video RAM, and a memory-mapped keyboard feeds keystrokes. Click Resume, then click the canvas and TYPE — it boots to "READY" and you can enter Galaksija BASIC, just like the real machine.

advanced circuitsDigital
Half Adder

Half Adder

XOR gives the SUM, AND gives the CARRY of two 1-bit numbers A and B. Two LEDs decode the result in real time.

intermediate circuitsDigital
Half Adder — NAND Only

Half Adder — NAND Only

A half adder built entirely from six 2-input NAND gates: four for the XOR sum, two for the AND carry. Proof that NAND alone is functionally complete.

advanced circuitsDigital
Half Subtractor

Half Subtractor

Computes A − B for two 1-bit numbers. DIFF = A XOR B, BORROW = !A · B. The complement of the half adder.

advanced circuitsDigital
Hamming (7,4) Encoder

Hamming (7,4) Encoder

Four data bits in, seven coded bits out. Three parity bits computed by XOR triplets implement the classic single-error-correcting code that protects ECC RAM and aerospace memory.

advanced circuitsDigital
Intel 8080 Button Counter

Intel 8080 Button Counter

A self-contained Intel 8080 chip running a 34-byte ROM. Press the INC button to count up in binary on 8 LEDs, press the RST button to clear. The CPU, RAM, and program are all inside the single chip on the canvas.

intermediate circuitsDigital
Kill the Bit (1975)

Kill the Bit (1975)

Dean McDaniel's iconic 1975 Altair 8800 reflex game, running on a programmable Intel 8080 chip with NO Arduino — powered by a regulated bench supply. A single LED walks across 8 LEDs; press the matching button at the right moment to kill it. The ROM is killbits.s (the chip's editable program); click Run.

advanced gamesDigital
NAND Gate — Universal

NAND Gate — Universal

NAND is HIGH unless every input is HIGH. The LED stays on except when both switches are HIGH together.

beginner circuitsDigital
NOR Gate — Idle Lamp

NOR Gate — Idle Lamp

NOR outputs HIGH only when every input is LOW. The LED stays on while both switches sit at LOW.

beginner circuitsDigital
NOT Gate Inverter

NOT Gate Inverter

A slide switch drives a NOT gate. The LED is normally lit and turns off when the switch is HIGH.

beginner circuitsDigital
OR Gate — Any Switch

OR Gate — Any Switch

Two slide switches into an OR gate. The LED lights as soon as either switch is HIGH.

beginner circuitsDigital
XNOR — Equality Lamp

XNOR — Equality Lamp

XNOR outputs HIGH only when both inputs match. A live equality detector — the LED stays lit whenever the two switches share state.

beginner circuitsDigital
XOR — Difference Detector

XOR — Difference Detector

XOR fires only when its inputs differ. Flip just one switch — the LED lights. Flip both back to the same — it goes dark.

beginner circuitsDigital
XOR Built From NAND Only

XOR Built From NAND Only

Four 2-input NAND gates form an XOR. Proof that NAND is functionally complete — you can build every gate with just NANDs.

intermediate circuitsDigital
Z80 Comet Scanner

Z80 Comet Scanner

A faster, TWO-LED "comet" sweeps across 8 LEDs on a programmable Z80 chip — a brighter twist on the single-bit Larson. Written in Z80 assembly (scanner.s), NO Arduino: the chip runs standalone on a regulated supply. Click Run.

intermediate circuitsDigital
Z80 Larson Scanner (no board)

Z80 Larson Scanner (no board)

The programmable Z80 chip drives 8 LEDs with NO Arduino — powered by a regulated bench supply. Velxio runs custom chips as a general-purpose electronics simulator. Click Run: a single LED walks back and forth.

intermediate circuitsDigital
Z80 LED Chaser in C (no board)

Z80 LED Chaser in C (no board)

A programmable Z80 chip walks a single LED back and forth, Larson-style — but the program is written in C (chaser.c) and compiled to the Z80 by SDCC. No Arduino: the chip runs standalone, powered by a regulated supply. Click Run. Requires sdcc on the backend.

advanced circuitsDigital
Netduino 2 Serial Counter

Netduino 2 Serial Counter

Netduino 2 (STM32F205, Cortex-M3) prints an incrementing counter over Serial. GPIO/LED support arrives once the F205 SoC is wired; serial works today under QEMU.

beginner communicationNetduino 2
Netduino Plus 2 Blink

Netduino Plus 2 Blink

Blink the onboard PA10 LED and print to Serial on a Netduino Plus 2 (STM32F405, Cortex-M4) under QEMU.

beginner basicsNetduino Plus 2
Olimex STM32-H405 Blink

Olimex STM32-H405 Blink

Blink the onboard PC12 status LED and print to Serial on an Olimex STM32-H405 (STM32F405RG, Cortex-M4) under QEMU.

beginner basicsOlimex STM32-H405
STM32 Black Pill (F401) Blink

STM32 Black Pill (F401) Blink

Blink the onboard PC13 LED and print to Serial on an STM32F401CE Black Pill (Cortex-M4) under QEMU.

beginner basicsSTM32 Black Pill (F401)
STM32 Blue Pill (F103CB) Blink

STM32 Blue Pill (F103CB) Blink

Blink the onboard PC13 LED and print to Serial on an STM32F103CB Blue Pill (Cortex-M3, 128KB flash) under QEMU.

beginner basicsSTM32 Blue Pill (F103CB)
STM32F4 Discovery LED Blink

STM32F4 Discovery LED Blink

Blink the onboard PD12 green LED and print to Serial on an STM32F4 Discovery (STM32F407VG, Cortex-M4) under QEMU.

beginner basicsSTM32F4 Discovery