Urgent.News

What's breaking now, across thousands of outlets.

Tech

Design notes for a touch UI that controls a motor next to TIG high-frequency start

I built a welding positioner (a motorized rotator for pipe and round work) and wrote its controller: an ESP32-P4 touchscreen board, LVGL 9.6, a NEMA 23 stepper and a PUL/DIR driver. A TIG welder with high-frequency (HF) start throws a lot of RF noise. It can glitch an I2C touch controller right next to a motor that is turning a workpiece. These are six decisions in the firmware that came from…

1. The welding positioner controller incorporates an ESP32-P4 touchscreen board, LVGL 9.6 library, NEMA 23 stepper motor, and PUL/DIR driver.

2. High-frequency (HF) welding noise from the TIG welder introduces RF interference, potentially disrupting touch input on the motorized rotor.

3. The firmware incorporates six design decisions to mitigate the impact of HF noise on touch input control.

4. Stop commands act on touch-down instead of click to prevent release events from being lost due to HF noise interference.

5. Touch read errors caused by HF noise are handled by keeping a press active for a short duration (150 ms) before canceling it, ensuring accurate button press detection.

6. Fault reset functionality is implemented with a safety check to prevent unintended rotation when a fault is latched.

7. Heartbeat monitoring and clock synchronization are utilized to detect and handle task stalls or failures, ensuring proper machine behavior during operation.

8. Flash writes to storage only occur when the system is idle or in E-STOP mode to prevent delays in the E-STOP interrupt.

9. The same UI runs on a PC using a Windows SDL program, allowing for review, self-testing, and screenshot generation before flashing the firmware to the actual machine.

10. The firmware includes extensive testing, with 480 native tests and CI running simulator self-tests and layout audits.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Automating Bluesky JSON Payload Generation for Content‑Automation

Automating Bluesky JSON Payload Generation for Content‑Automation TL;DR: I fixed the bug that prevented the automatic creation of the Bluesky JSON payload and wired it into our daily…

  • Refactored generateBlueskyPayload() to use mdMeta.excerpt as fallback for text property
  • Updated JSON schema validator to require type, text, date, and language fields
  • Integrated Bluesky generator into daily GitHub Actions workflow for seamless publishing

Opportunity Discovery: When "Find a Problem" Isn't Working

Opportunity Discovery: When "Find a Problem" Isn't Working The Problem in Concrete Terms You've read the advice: "Talk to customers," "Scratch your own itch," "Look for complaints on Reddit." You've done the interviews. You've scanned the forums. You've listed fifty problems.

More from Sunday 15 November →