velxio/test/test_100_days
David Montero Crespo 9cd5061732 refactor: rename wokwi-libs/ → third-party/
The directory grew well beyond Wokwi-only contents: it now hosts
lcgamboa's QEMU fork (qemu-lcgamboa), Espressif's esp32-camera, the
ngspice WASM build, fritzing-parts, picowi, an alternative QEMU
(qemu-esp32), the 100_Days_100_IoT_Projects examples repo, and
Wokwi's own avr8js/rp2040js/wokwi-elements/wokwi-features/wokwi-boards.
"wokwi-libs" was misleading — half the contents have nothing to do
with Wokwi. "third-party/" is the standard convention for vendored
external dependencies.

Mechanical changes:

  Path rename:
    wokwi-libs/ → third-party/
    update-wokwi-libs.bat → update-third-party.bat
    docs/WOKWI_LIBS.md → docs/THIRD_PARTY.md

  Submodule reconfiguration:
    .gitmodules — 4 path= and section names updated
    .git/modules/wokwi-libs/ → .git/modules/third-party/
    each submodule's .git file rewired to ../../.git/modules/third-party/<name>

  Reference updates (~80 files): vite.config.ts aliases, Dockerfile
    COPY paths, GH Actions workflow steps, build_qemu_*.sh, all
    docs/* and test/*/autosearch/* entries that mention the path,
    package-lock.json file: dependencies, .gitignore patterns,
    sitemap.xml + index.html SEO blurbs, scripts/generate-component-*,
    .dockerignore, .idea/vcs.xml. Bulk replaced both `wokwi-libs/`
    (path) and bare `wokwi-libs` (textual mentions in docs/comments).

Verified:
  - npx tsc -b --noEmit produces no new errors related to these paths
  - vite.config.ts aliases now point at ../third-party/avr8js etc.
  - All 4 git submodules (avr8js, rp2040js, wokwi-elements,
    wokwi-features) are linked under third-party/ with their
    worktrees re-populated and config files referencing the new path
  - `grep -r wokwi-libs` returns zero hits outside node_modules,
    .vite, frontend/dist, third-party/ (upstream submodule contents),
    *.pyc caches, and *.dll.pre-camera rollback binaries

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 00:58:57 -03:00
..
AQI_ESP
…
Auto_Night_Light_using_LDR_ESP32_plus_MicroPython
…
Basic_RTC_Clock_Serial_Monitor_Display
…
Battery_Monitor_with_Blynk_IoT
…
Bidirectional_ESP_NOW_Communication_with_Dual_Sensor_Nodes
…
Bluetooth_Based_Wireless_LED_Control_System
…
Blynk_Based_IoT_Relay_Control_MicroPython
…
Blynk_Controlled_DC_Brushless_Fan
…
Clap_Toggle_Switch_using_ESP32_and_Digital_Sound_Sensor_MicroPython
…
ClimaPixel_Mini_Weather_Display
…
DC_Motor_Speed_Control_Web_Slider
…
DHT11_LCD_Display_using_ESP8266_and_MicroPython
…
DHT11_Web_Server_using_ESP32_and_MicroPython
…
Dimmer_LED_using_Potentiometer_MicroPython
…
Dual_IR_Entry_Exit_Detector_with_Telegram_Alerts
…
EEPROM_Simulation_using_MicroPython_on_ESP32_Wokwi
…
ESP32_BLE_LED_Control
…
ESP32_Hotspot_Access_Point_Setup_MicroPython
…
ESP32_IR_Sensor_Telegram_Alert_MicroPython
…
ESP32_OLED_Smart_UI_Eyes_Animation_Time_and_Weather_MicroPython
…
ESP32_Student_Management_System
…
ESP8266_DHT11_Live_Graph_MicroPython_plus_Matplotlib
…
ESP8266_LED_CONTROL_BY_PUSH_BUTTON_ESP_NOW
…
ESP8266_NTP_Digital_Clock_MicroPython
…
ESP8266_TM1637_Button_Press_Counter_MicroPython
…
ESP8266_Touch_Sensor_LED_Control_MicroPython
…
ESP_NOW_HOME_AUTOMATION
…
ESP_NOW_HOME_AUTOMATION_WITH_TEMP_MONITORING_WITH_OLED
…
ESP_NOW_RFID_Display
…
Flask_Server_Based_LED_Control_using_MicroPython
…
Interactive_LED_Control_System
…
IoT_Atmospheric_Monitoring_System_using_ESP32_wowki_and_Blynk
…
IoT_Based_DSM_Smart_Metering
…
IoT_Based_Soil_and_Weather_Monitoring_using_ESP8266_and_ThingSpeak
…
IoT_Button_Counter_using_ESP8266_and_MicroPython
…
IoT_Environment_Monitoring_With_Anomaly_Detection
…
IoT_Relay_Control_Web_Server_Raspberry_Pi_Pico_2W
…
IoT_Smart_Irrigation_System
…
Joystick_Controlled_Servo
…
Joystick_Direction_Display_with_OLED
…
Led_ON_OFF_By_Input_from_one_ESP8266
…
MQ4_Gas_Leak_Detection_System_using_ESP32_and_MicroPython
…
MQ7_CO_Gas_Detection_ESP32
…
MQ_135_Gas_Sensor_with_ESP32_MicroPython
…
MicroPython_Based_8_8_LED_Matrix_Animation_Display_using_ESP8266
…
MicroPython_Watch
…
NTP_Synchronized_Digital_Clock_using_ESP32_and_MAX7219
…
OTA_Update_Pico2W
…
PIR_Motion_Detector_using_Raspberry_Pi_Pico_2W_and_MicroPython
…
Password_Lock_System_using_ESP32
…
Pico_2_W_Dht11_Http_Csv_Logger
…
Pico_W_Async_LED_Control_MicroPython
…
Pico_W_Web_Servo_Controller
…
Potentiometer_Visualizer
…
Pulse_Monitor
…
RFID_Attendance_Logger
…
RFID_Basic_Access_Control_System
…
RFID_Relay_Control_System
…
RGB_Color_Mixer_using_Potentiometers_ESP32_plus_MicroPython
…
Rain_Detection_System_using_ESP8266_Analog_Mode
…
Raspberry_Pi_Pico_2_W_ThingsBoard_IoT
…
Servo_Motor_Control_with_Raspberry_Pi_Pico_2_W_MicroPython
…
Single_Digit_Seven_Segment_Display_with_Raspberry_Pi_Pico_MicroPython
…
Smart_Cooling_System_using_ESP8266_DHT11_and_Relay
…
Smart_Home_Automation_System
…
Smart_IR_Object_Detection_System
…
Smart_Indoor_Security_System
…
Smart_IoT_Gas_Monitoring_System
…
Soil_Moisture_Sensor_DryWet_Detection_ESP8266_MicroPython
…
Stepper_Motor_Control_using_ESP32_and_A4988_MicroPython
…
Temperature_Based_LED_Indicator_MicroPython_ESP32
…
Ultrasonic_LED_Distance_Indicator_ESP32_MicroPython
…
Voice_Activated_LED_Control_System
…
WebSocket_LED_Control_using_Raspberry_Pi_Pico_W
…
Wi_Fi_Controlled_4WD_Robot_Car
…
XIAO_ESP32_4_LED_Control_using_CustomTkinter_and_MicroPython
…
microclawup_AI_Powered_ESP32_GPIO_Controller_MicroPython
…
micropidash_MicroPython_IoT_Dashboard_Library
…
README.md refactor: rename wokwi-libs/ → third-party/ 2026-05-03 00:58:57 -03:00
_emit_examples_data.py refactor: rename wokwi-libs/ → third-party/ 2026-05-03 00:58:57 -03:00
_generate.py refactor: rename wokwi-libs/ → third-party/ 2026-05-03 00:58:57 -03:00
_lib.py
…
conftest.py
…

README.md

test_100_days

Generated tests for the 78 projects in third-party/100_Days_100_IoT_Projects/, mapped against Velxio's current emulation capabilities.

  • ✅ Velxio can run: 49
  • ❌ Cannot run as-is: 29

Each per-project sub-folder contains:

  • source/ — verbatim copy of the project's user code
  • test_project.py — the test (static analysis + optional live backend handshake)
  • NOT_SUPPORTED.md (only when the project cannot be emulated) — explains exactly which Velxio capability is missing and what would be needed to add it

How to run

# Static analysis only (no backend required) — fast, works offline:
python -m pytest test/test_100_days -v

# Include live backend smoke checks:
cd backend && uvicorn app.main:app --port 8001  # in another terminal
VELXIO_BACKEND_URL=http://localhost:8001 \\
  python -m pytest test/test_100_days -v

Re-generate after pulling new projects:

python test/test_100_days/_generate.py

Capability matrix used for classification

Capability Velxio support
Arduino UNO / Nano / Mega (AVR) ✅ avr8js
Raspberry Pi Pico / Pico W ✅ rp2040js
ESP32 / ESP32-S3 / ESP32-C3 ✅ Espressif QEMU
ATtiny85 ✅ avr8js
ESP8266 ❌ no QEMU/firmware
MicroPython on Pico ✅ MicroPythonLoader
MicroPython on ESP32 family ✅ Esp32MicroPythonLoader
WiFi (TCP/UDP through host) ✅ slirp NIC
ESP-NOW (peer-to-peer 802.11) ❌ no virtual 802.11 hub
BLE GATT ⚠️ status events only
Tkinter / Flask / Matplotlib (host-side) ❌ host-only

Project index

# Project Status Board Features
1 AQI_ESP ✅ esp32 wifi, flask, i2c_oled, dht, http_server
2 Auto_Night_Light_using_LDR_(ESP32_+_MicroPython) ✅ esp32 ldr
3 Basic_RTC_Clock_(Serial_Monitor_Display) ❌ esp8266 rtc
4 Battery_Monitor_with_Blynk_IoT ✅ esp32 wifi, blynk, blynk_cloud
5 Bidirectional_ESP_NOW_Communication_with_Dual_Sensor_Nodes ❌ esp8266 wifi, esp_now, i2c_oled, dht, ota
6 Bluetooth_Based_Wireless_LED_Control_System ✅ esp32 ble
7 Blynk_Based_IoT_Relay_Control_(MicroPython) ✅ rp2040 wifi, blynk, blynk_cloud
8 Blynk_Controlled_DC_Brushless_Fan ✅ esp32 wifi, blynk, blynk_cloud
9 Clap_Toggle_Switch_using_ESP32_&Digital_Sound_Sensor(MicroPython) ✅ esp32 —
10 ClimaPixel_Mini_Weather_Display ❌ esp8266 i2c_oled, dht
11 DC_Motor_Speed_Control_(Web_Slider) ✅ esp32 wifi, servo
12 DHT11_LCD_Display_using_ESP8266_&_MicroPython ❌ esp8266 dht, lcd
13 DHT11_Web_Server_using_ESP32_&_MicroPython ✅ esp32 wifi, dht
14 Dimmer_LED_using_Potentiometer_(MicroPython) ✅ esp32 servo
15 Dual_IR_Entry_Exit_Detector_with_Telegram_Alerts ✅ esp32 wifi, telegram
16 EEPROM_Simulation_using_MicroPython_on_ESP32_(Wokwi) ✅ esp32 —
17 ESP32_BLE_LED_Control ✅ esp32 ble
18 ESP32_Hotspot_(Access_Point)_Setup_MicroPython ✅ esp32 wifi
19 ESP32_IR_Sensor_Telegram_Alert_(MicroPython) ✅ esp32 wifi, telegram
20 ESP32_OLED_Smart_UI_Eyes_Animation_Time_&Weather(MicroPython) ✅ esp32 wifi, i2c_oled
21 ESP32_Student_Management_System ❌ esp8266 i2c_oled, ota
22 ESP8266_DHT11_Live_Graph_(MicroPython_+_Matplotlib) ❌ esp8266 matplotlib, dht
23 ESP8266_LED_CONTROL_BY_PUSH_BUTTON_ESP_NOW ❌ esp8266 wifi, esp_now
24 ESP8266_NTP_Digital_Clock_MicroPython ❌ esp8266 wifi, tm1637
25 ESP8266_TM1637_Button_Press_Counter_(MicroPython) ❌ esp8266 tm1637
26 ESP8266_Touch_Sensor_LED_Control_(MicroPython) ❌ esp8266 —
27 ESP_NOW_HOME_AUTOMATION ❌ esp32 wifi, esp_now
28 ESP_NOW_HOME_AUTOMATION_WITH_TEMP_MONITORING_WITH_OLED ❌ esp32 wifi, esp_now, i2c_oled, dht
29 ESP_NOW_RFID_Display ❌ esp8266 wifi, esp_now, i2c_oled, rfid, ota
30 Flask_Server_Based_LED_Control_using_MicroPython ✅ esp32 wifi, flask, http_server
31 Interactive_LED_Control_System ❌ ? pyfirmata, tkinter
32 IoT_Atmospheric_Monitoring_System_using_ESP32,wowki&_Blynk ✅ esp32 wifi, blynk, blynk_cloud
33 IoT_Based_DSM_Smart_Metering ✅ esp32 wifi, blynk, blynk_cloud, ota
34 IoT_Based_Soil_&_Weather_Monitoring_using_ESP8266_and_ThingSpeak ❌ esp8266 wifi, thingspeak, dht
35 IoT_Button_Counter_using_ESP8266_&_MicroPython ❌ esp8266 wifi
36 IoT_Environment_Monitoring_With_Anomaly_Detection ✅ esp32 wifi, thingspeak, dht, ldr
37 IoT_Relay_Control_Web_Server_(Raspberry_Pi_Pico_2W) ✅ pico-w wifi
38 IoT_Smart_Irrigation_System ✅ esp32 wifi, blynk, blynk_cloud
39 Joystick_Controlled_Servo ✅ esp32 servo
40 Joystick_Direction_Display_with_OLED ✅ rp2040 i2c_oled
41 Led_ON_OFF_By_Input_from_one_ESP8266 ❌ esp8266 wifi, esp_now
42 MQ4_Gas_Leak_Detection_System_using_ESP32_and_MicroPython ✅ esp32 —
43 MQ7_CO_Gas_Detection_ESP32 ✅ esp32 —
44 MQ_135_Gas_Sensor_with_ESP32_(MicroPython) ✅ esp32 ota
45 MicroPython_Based_8×8_LED_Matrix_Animation_Display_using_ESP8266 ❌ esp8266 max7219
46 MicroPython_Watch ✅ esp32 wifi, i2c_oled
47 NTP_Synchronized_Digital_Clock_using_ESP32_&_MAX7219 ✅ esp32 wifi, max7219
48 OTA_Update_Pico2W ✅ rp2040 wifi, ota
49 PIR_Motion_Detector_using_Raspberry_Pi_Pico_2W_&_MicroPython ✅ pico-w —
50 Password_Lock_System_using_ESP32 ✅ esp32 lcd
51 Pico_2_W_Dht11_Http_Csv_Logger ✅ rp2040 wifi, flask, dht, http_server
52 Pico_W_Async_LED_Control_(MicroPython) ✅ pico-w wifi
53 Pico_W_Web_Servo_Controller ✅ pico-w wifi, servo, ota
54 Potentiometer_Visualizer ✅ esp32 —
55 Pulse_Monitor ✅ esp32 i2c_oled
56 RFID_Attendance_Logger ❌ esp8266 wifi, rfid, ota
57 RFID_Basic_Access_Control_System ❌ esp8266 rfid, ota
58 RFID_Relay_Control_System ❌ esp8266 rfid, ota
59 RGB_Color_Mixer_using_Potentiometers_(ESP32_+_MicroPython) ✅ esp32 servo
60 Rain_Detection_System_using_ESP8266_(Analog_Mode) ❌ esp8266 —
61 Raspberry_Pi_Pico_2_W_ThingsBoard_IoT ✅ pico-w wifi, mqtt, dht
62 Servo_Motor_Control_with_Raspberry_Pi_Pico_2_W_(MicroPython) ✅ pico-w servo
63 Single_Digit_Seven_Segment_Display_with_Raspberry_Pi-Pico_(MicroPython) ✅ rp2040 —
64 Smart_Cooling_System_using_ESP8266_DHT11_&_Relay ❌ esp8266 dht
65 Smart_Home_Automation_System ✅ esp32 wifi, blynk, blynk_cloud, dht
66 Smart_IR_Object_Detection_System ❌ esp8266 —
67 Smart_Indoor_Security_System ✅ esp32 wifi
68 Smart_IoT_Gas_Monitoring_System ✅ esp32 wifi, flask, matplotlib, dht, http_server
69 Soil_Moisture_Sensor_DryWet_Detection_(ESP8266_MicroPython) ❌ esp8266 —
70 Stepper_Motor_Control_using_ESP32_&A4988(MicroPython) ✅ esp32 stepper
71 Temperature_Based_LED_Indicator_(MicroPython_ESP32) ✅ esp32 wifi, servo
72 Ultrasonic_LED_Distance_Indicator_ESP32_MicroPython ✅ esp32 ultrasonic
73 Voice_Activated_LED_Control_System ❌ ? pyfirmata
74 WebSocket_LED_Control_using_Raspberry_Pi_Pico_W ✅ pico-w wifi, websocket
75 Wi_Fi_Controlled_4WD_Robot_Car ✅ esp32 wifi
76 XIAO_ESP32_4_LED_Control_using_CustomTkinter_&_MicroPython ❌ xiao-esp32 tkinter
77 microclawup_AI_Powered_ESP32_GPIO_Controller_(MicroPython) ❌ esp32 —
78 micropidash_MicroPython_IoT_Dashboard_Library ❌ ? —

Generated by _generate.py — do not edit by hand.