-
Notifications
You must be signed in to change notification settings - Fork 1
VERIFICATION HowTo Setup PlatformIO
miswired edited this page Feb 7, 2026
·
1 revision
Status: Complete Verified: 32/32 claims Last Updated: 2026-02-02 Source Document: HowTo-Setup-PlatformIO.md
This verification file validates technical claims in HowTo-Setup-PlatformIO.md against authoritative sources including the actual project source code, PlatformIO documentation, and KiCad schematics.
Document Purpose: Guide users through setting up PlatformIO (VS Code extension or CLI) to build and upload Glitchy firmware.
Verification Scope:
- Project configuration and platformio.ini accuracy
- PlatformIO tool commands and shortcuts
- Library dependencies
- Hardware/network defaults (WiFi SSID, IP, USB drivers)
- Troubleshooting procedures
Known Issues: 3 issues found (see Issues Found section)
-
Source:
platformio.iniexists atCode/Glitchy/platformio.ini - Confidence: HIGH (verified in repository)
- Status: ✓ Verified
- Notes: Confirmed — platformio.ini is at this location.
- Source: Code/Glitchy/platformio.ini:10
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match with actual file.
- Source: Code/Glitchy/platformio.ini:13
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match.
- Source: Code/Glitchy/platformio.ini:14
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match.
- Source: Code/Glitchy/platformio.ini:15
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match.
-
Source: Code/Glitchy/platformio.ini:20; also main.cpp:148
Serial.begin(115200) - Confidence: HIGH
- Status: ✓ Verified
- Notes: Consistent between platformio.ini and firmware Serial.begin().
- Source: Code/Glitchy/platformio.ini:17
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match.
- Source: Code/Glitchy/platformio.ini:18
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match.
- Source: Code/Glitchy/platformio.ini:19
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Exact match.
- Source: Code/Glitchy/platformio.ini (full file comparison)
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Document's ini block is an exact reproduction of the actual file content.
- Source: CLAUDE.md and openspec/project.md reference PlatformIO; project.md also lists "Arduino IDE (legacy, V1)"
- Confidence: MEDIUM (project convention, not a technical fact)
- Status: ✓ Verified
- Notes: Project documentation consistently positions PlatformIO as the current recommended tool.
- Source: VS Code official keyboard shortcuts documentation
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard VS Code keybinding.
- Source: PlatformIO documentation — projects with platformio.ini are auto-detected
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard PlatformIO behavior when opening a folder with platformio.ini.
- Source: PlatformIO documentation for automatic dependency resolution
- Confidence: HIGH
- Status: ✓ Verified
- Notes: PlatformIO resolves platform, toolchain, and lib_deps on first build/open.
Claim: Build via checkmark icon (✓) in PlatformIO toolbar, Ctrl+Alt+B, or Command Palette "PlatformIO: Build"
- Source: PlatformIO IDE for VS Code documentation
- Confidence: HIGH
- Status: ✓ Verified
- Notes: All three methods are standard PlatformIO IDE for VS Code features.
- Source: PlatformIO build output format
- Confidence: HIGH
- Status: ✓ Verified
-
Notes: PlatformIO outputs
[SUCCESS]on successful builds (via SCons build system).
Claim: Upload via arrow icon (→) in PlatformIO toolbar, Ctrl+Alt+U, or Command Palette "PlatformIO: Upload"
- Source: PlatformIO IDE for VS Code documentation
- Confidence: HIGH
- Status: ✓ Verified
- Notes: All three methods are standard PlatformIO IDE features.
- Source: PlatformIO Core installation docs: https://docs.platformio.org/en/latest/core/installation/index.html
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Official installation method. Also available via installer script.
- Source: PlatformIO CLI docs
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard PlatformIO build command.
- Source: PlatformIO CLI docs
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard PlatformIO upload command.
- Source: PlatformIO CLI docs
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard PlatformIO serial monitor command.
-
Source: PlatformIO CLI docs —
pio libcommands are deprecated in PlatformIO 6.x+ - Confidence: HIGH
- Status: ❌ Incorrect
-
Notes: ISSUE #1 —
pio lib installis deprecated. The current command ispio pkg install. See Issues Found section.
-
Source: PlatformIO CLI docs —
pio platformcommands superseded bypio pkgin PlatformIO 6.x+ - Confidence: HIGH
- Status: ❌ Incorrect
-
Notes: ISSUE #2 —
pio platform updateis deprecated. The current command ispio pkg update -p espressif32. See Issues Found section.
-
Source: platformio.ini:15
framework = arduino; PlatformIO Arduino compatibility docs - Confidence: HIGH
- Status: ✓ Verified
- Notes: PlatformIO uses the Arduino framework directly. Code compatibility is expected.
- Source: PlatformIO project structure documentation
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard PlatformIO project structure.
-
Source: KiCad schematic
PCB/Miswired-Glitchy.kicad_sch— MICROXNJ USB connector to CP2102N - Confidence: HIGH
- Status: ✓ Verified
- Notes: Board uses USB via CP2102N USB-to-UART bridge.
- Source: ESP32-S3 Datasheet, Section "Strapping Pins" — GPIO0 controls boot mode
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard ESP32-S3 manual boot mode entry procedure.
-
Source: KiCad schematic — component U4/U2:
CP2102N-A02-GQFN28R(LCSC: C964632) - Confidence: HIGH
- Status: ❌ Incorrect
- Notes: ISSUE #3 — Glitchy exclusively uses CP2102N (Silicon Labs). CH340 is not present on this board. The phrase "depending on your board" is misleading since there is only one Glitchy PCB design. See Issues Found section.
- Source: Standard Linux serial port permissions; ESP32/PlatformIO documentation
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Standard procedure for Linux serial port access.
- Source: Standard Linux serial port permissions
- Confidence: HIGH
- Status: ✓ Verified
- Notes: Valid workaround. The dialout group method is preferred (persistent). Device path depends on whether the CP2102N enumerates as ttyUSB or ttyACM.
-
Source: Code/Glitchy/src/main.cpp:96-127 —
initWiFi()prints "AP IP address: " followed by IP - Confidence: HIGH
- Status: ✓ Verified
-
Notes:
Serial.println("Seting up Wifi")at line 96,Serial.println(IP)at line 127.
-
Source: Code/Glitchy/src/main.cpp:39 —
const char* ap_ssid = "Glitchy"; - Confidence: HIGH
- Status: ✓ Verified
-
Notes: Hardcoded in source. Active when
HOST_ACCESS_POINTis defined (which it is by default at line 33).
-
Source: Code/Glitchy/src/main.cpp:124 —
IPAddress IP = WiFi.softAPIP();uses ESP32 default - Confidence: MEDIUM
- Status: ✓ Verified
- Notes: The IP is not explicitly set in code — it relies on the ESP32 Arduino library default of 192.168.4.1 for softAP mode. This is the documented ESP-IDF/Arduino default. Functionally correct but implicit.
- Document Location: Troubleshooting > Build Errors > "Library not found"
-
Problem: Recommends
pio lib installwhich is deprecated in PlatformIO 6.x+ -
Correct Information: Use
pio pkg installto install/refresh library dependencies -
Source: PlatformIO documentation —
pio pkgis the unified package management CLI - Severity: Minor (deprecated command may still work but will show warnings)
-
Proposed Fix: Change
pio lib installtopio pkg install
- Document Location: Troubleshooting > Build Errors > "Board not found"
-
Problem: Recommends
pio platform update espressif32which is deprecated -
Correct Information: Use
pio pkg update -p espressif32 -
Source: PlatformIO documentation — platform management consolidated under
pio pkg - Severity: Minor (deprecated command may still work but will show warnings)
-
Proposed Fix: Change
pio platform update espressif32topio pkg update -p espressif32
- Document Location: Troubleshooting > Upload Errors > "No serial port found"
- Problem: States "CP210x or CH340 depending on your board" — CH340 is not used on Glitchy
- Correct Information: Glitchy uses CP2102N-A02-GQFN28R (Silicon Labs). Only CP210x drivers are needed.
-
Source: KiCad schematic
PCB/Miswired-Glitchy.kicad_sch, component U4/U2, LCSC C964632 - Severity: Minor (may cause confusion; users might install unnecessary drivers)
- Proposed Fix: Change to "Install CP210x USB drivers (Silicon Labs) if needed" and remove CH340 reference
The following claims require testing on physical Glitchy hardware:
- Default WiFi SSID broadcasts as "Glitchy" on power-up
- Web interface accessible at 192.168.4.1 after connecting to AP
- Serial monitor shows WiFi AP information at 115200 baud after RST
- BOOT + RST button sequence enters download mode for upload recovery
- CP2102N enumerates correctly (check if ttyUSB0 or ttyACM0 on Linux)
Test Procedures:
- WiFi SSID: Power on Glitchy, scan for WiFi networks, confirm "Glitchy" appears
- Web interface IP: Connect to "Glitchy" WiFi, open browser to 192.168.4.1, confirm page loads
- Serial output: Open serial monitor at 115200, press RST, observe startup messages
- Boot mode: With upload failing, hold BOOT, press RST, release BOOT, retry upload
-
USB enumeration: Connect Glitchy via USB, run
ls /dev/tty*to check device path
- All technical claims identified and extracted
- Claims organized by category
- Each claim has source citation
- Each claim has confidence level
- Each claim has status icon
- Hardware-dependent claims marked for testing
- Issues documented with corrections
- Summary section completed
- Index README.md updated
- OpenSpec task marked complete
- The platformio.ini block shown in the document is an exact match of the actual file — well maintained.
- Three deprecated PlatformIO CLI commands and one incorrect hardware reference were found.
- All three issues are Minor severity — the deprecated commands still function but show warnings.
- The implicit 192.168.4.1 default IP (not set in code) is worth noting but functionally correct.
- A typo exists in main.cpp:96 ("Seting" instead of "Setting") but this is a code issue, not a documentation issue.
Verification completed by: Claude (AI agent) Review date: 2026-02-02 Approved by: Pending user review