r/visualbasic

Need help reverse-engineering serial COM port communication for a Geoelectric reader machine (Upgrading PEG 2015 project)

Hi everyone,

I need urgent assistance with a project upgrade. I am rewriting/upgrading a software application originally built in 2015 (PEG 2015) designed to interface with a geoelectric signal reader machine.

System Setup & Problem Overview:

  • Hardware: Geoelectric measurement machine reading ground electrical signals.
  • Connection: USB-to-Serial connection operating as a virtual COM port (e.g., COM3).
  • Issue: I am unable to establish a working connection between my upgraded application and the hardware. I need to know:
    1. How to properly initialize and open the COM port connection in code.
    2. The exact structure/protocol of the data stream coming from the machine over the cable to the PC.

What I have / What I know so far:

  • I have the legacy binary (PEG 2015.exe) that works with the machine.
  • The device relies on a USB-to-UART/Serial driver (such as FTDI, CH340, or CP210x) exposing a virtual COM port.

Specific Questions / Where I need guidance:

  1. Serial Port Configuration Parameters: What are the standard ways or tools to determine the exact port settings required by the device?
    • Baud rate (e.g., 9600, 19200, 115200)
    • Data bits (e.g., 8)
    • Parity (None, Even, Odd)
    • Stop bits (1 or 2)
    • Flow control (RTS/CTS, XON/XOFF, or None)
  2. COM Port Sniffing & Data Protocol: What is the best workflow/tool to monitor the traffic between PEG 2015.exe and the machine without locking the COM port?
    • Can you recommend lightweight tools (e.g., Serial Port Monitor, Wireshark with USBPcap, IO Ninja, RealTerm) to capture raw ASCII/HEX frames?
    • How can I differentiate between handshake/polling requests sent by the PC and telemetry responses sent by the geoelectric reader?
  3. Decompiling / Inspecting the Legacy .exe:
    • What are the recommended tools to decompile or inspect PEG 2015.exe to retrieve the original serial settings and parser routines (e.g., dnSpy/ILSpy for .NET, Ghidra/IDA Free for native binaries)?

Environment & Tech Stack:

  • OS: Windows
  • Target Programming Language for New App: ( Python )

Any guidance, code snippets for port handling, or reverse-engineering methodologies for serial hardware would be greatly appreciated! Thanks in advance!

reddit.com
u/Creepy-Level5136 — 9 days ago
▲ 22 r/visualbasic+1 crossposts

I’m building a low-code platform that exports standard Node.js apps

I’m building AppMaker https://appmaker.io, a low-code platform focused on keeping things simple and avoiding lock-in.

You can visually build screens, use a built-in database, and write JavaScript on both the client and server. Apps can also be downloaded as standard Node.js applications and hosted anywhere. AI comming soon.

It’s still early, so I’d love feedback from people who use low-code tools.

What would make you try something like this, and what would turn you away?

u/codeobserver — 12 days ago