| Port does not appear in Settings |
Board not enumerated, charge-only cable, wrong USB port, or board still rebooting after upload |
Unplug and reconnect the board, try a data-capable USB cable, wait a few seconds after upload, reopen the port list, and confirm the board appears in Arduino IDE. |
| ViewPoint cannot connect |
Another app owns the serial port |
Close Arduino Serial Monitor, Arduino Serial Plotter, PlatformIO monitor, terminal serial tools, or any other serial app, then reconnect. |
| Connects, but no plot appears |
Sketch is not sending ViewPoint data, the wrong sketch is running, or view.begin() / view.send() is missing |
Upload HelloPlotter, confirm the sketch includes <ViewPoint.h>, calls view.begin() in setup(), and calls view.addData(...) plus view.send() in loop(). |
| Plot appears, but labels or configuration do not apply |
Data is arriving, but ViewPoint protocol configuration is not being negotiated |
Make sure the sketch uses the ViewPoint library, setLegacyMode(true) is not enabled, and the app was connected before or shortly after the sketch started. |
| Data appears, but scaling is wrong |
Axis bounds, auto-scale, log scale, or trace auto-scaling settings do not match the data |
Open Controls > Axis Configuration. Re-enable Auto-Scale, check manual Min/Max bounds, disable Logarithmic scale for zero or negative data, and confirm the trace has Affects Auto-Scaling enabled. |
| Trace is visible but changes the scale too much |
A noisy or outlier trace is included in auto-scaling |
Open Controls > Traces and turn off Affects Auto-Scaling for that trace, or use a fixed axis range. |
| Display modes are unavailable or do nothing |
Display modes require the right plot type and update mode |
Use Cartesian data in Frames mode. In sketches, call view.begin(frames, packetSize) or view.setMode(frames), then send a full frame before view.send(). |
| Frames mode looks wrong |
send() is being called at the wrong time, or packet size does not match the frame |
In Frames mode, call addData(...) repeatedly to fill the frame, then call view.send() once per complete frame. Check that packetSize matches the number of points sent. |
| CSV capture is missing timestamps |
The sketch is not sending source timestamps, or CSV settings are using a different timestamp source |
ViewPoint can auto-supply timestamps; however, to send sketch timestamps, pass a timestamp to view.send(timestamp). Also check Settings > CSV Capture timestamp options. |
| CSV capture is missing expected traces |
Trace labels changed, traces were hidden, or capture started before data and configuration arrived |
Start capture after the plot is configured and visible. Confirm trace names in the legend and CSV Capture settings. |
| Screen recording is unavailable or low quality |
Recording backend is missing or limited |
JCodec works without setup but is limited to 10 FPS. Install FFmpeg for higher frame rates, better quality, and audio support, then confirm ViewPoint detects it in Settings > Screen Capture. |
| Serial Monitor shows data but the plot is wrong |
Raw serial format does not match ViewPoint's expected data or command protocol |
If using the library, compare against HelloPlotter. If writing a custom sender, see Appendix B: Serial Command Reference. |
| Arduino Serial Plotter works, but ViewPoint labels or configuration do not |
Sketch may be in legacy/data-only mode |
Disable view.setLegacyMode(true) when targeting ViewPoint. Legacy mode is for Arduino Serial Plotter compatibility and skips ViewPoint configuration commands. |
| After uploading firmware, connection drops |
The board disconnects and reconnects during upload |
Wait for the board to reappear, then reconnect. Enable Auto-Reconnect in Settings if you frequently upload while ViewPoint is open. |