Skip to content

Docklight Alternative ?? Your Ultimate Multi-Protocol Communication Workbench with much better UI

License

Notifications You must be signed in to change notification settings

Riteshp2001/PacketForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PacketForge Logo

⚑ PacketForge

Your Ultimate Multi-Protocol Communication Workbench

Features Protocols Author

Qt 6 C++26 Windows License


PacketForge is a sleek, modern desktop utility for testing and debugging Serial, TCP, and UDP communication. Designed for embedded engineers, IoT developers, and protocol testers, it provides a unified cockpit to transmit, receive, and analyze data packets in real-time.


Table of Contents

Click to expand

πŸ”Œ Protocols


Serial
RS-232/485

TCP Client
Connect to Server

TCP Server
Host Connections

UDP
Datagram Mode
Protocol Baud/Port Config Data Bits Parity Stop Bits Flow Control
Serial 300 β€” 3M 5/6/7/8 None/Odd/Even 1/1.5/2 None/HW/SW
TCP/UDP IP + Port β€” β€” β€” β€”

🎯 Features

πŸ—‚οΈ Tabbed Multi-Session Interface

Manage unlimited independent connections in separate tabs. Each tab maintains its own protocol, settings, and data buffers.

⚑ Macro Quick-Send System

Configure up to 12 macro buttons for instant packet transmission. Supports:

  • Custom label and hex payload
  • Auto-repeat with configurable interval
  • One-click activation
πŸ” Auto-Send / Repeat

Continuously transmit packets at intervals as low as 1 millisecond for stress testing and timing validation.

πŸ“„ HEX & ASCII Display Modes

Toggle between:

  • HEX β€” View raw byte values (e.g., A5 4F 00)
  • ASCII β€” Human-readable text with escape sequences
πŸ“ Line Ending Options

Choose from None, CR, LF, or CRLF to match your device's protocol expectations.

πŸ“ Send File

Transmit entire binary files (firmware, hex dumps, scripts) directly over the active connection.

πŸ“Š RX/TX Byte Counters

Live counters display total bytes sent and received per session.

πŸ“œ File Logging

Automatically log all traffic to a timestamped .log file for post-session analysis.

πŸŒ— Dark / Light Themes

Switch between a sleek dark mode and a clean light mode with one click.

πŸ“Œ Stay on Top

Pin PacketForge above all windows for constant visibility during debugging.

πŸ”„ Auto-Updater

Automatically checks for updates on GitHub and installs the latest version with a single click.


πŸ–ΌοΈ Screenshots

Main Window
Main Interface with Connections

Analysis Tools

Modbus Client
Modbus Client
Oscilloscope
Oscilloscope
Byte Visualizer
Byte Visualizer

🧩 Modules

PacketForge includes 4 powerful analysis modules accessible from the sidebar:

πŸ“‘ Modbus Client

Full Modbus RTU (Serial) and Modbus TCP master implementation.

  • Read Holding Registers
  • Auto-polling at configurable intervals
  • Slave ID and address configuration

πŸ“ˆ Oscilloscope

Real-time waveform visualization of incoming byte values.

  • Adjustable timebase
  • Pause/Resume
  • Grid overlay

πŸ“‹ Traffic Monitor

Detailed packet log with:

  • Timestamps (ms precision)
  • Direction indicators (TX/RX)
  • Export to .txt or .pcap

πŸ’‘ Byte Visualizer

LED-style binary display showing each bit of the last received byte.

  • Bit position labels (7β†’0)
  • Green ON / Dark OFF

πŸ› οΈ Installation

Prerequisites

Requirement Version
Qt 6.x (with serialport, network, serialbus, widgets)
Compiler C++26 compatible (MinGW 13+, MSVC 2022)

Quick Start

# 1. Clone
git clone https://github.com/Riteshp2001/PacketForge.git
cd packetforge

# 2. Open in Qt Creator
#    β†’ Open PacketTransmitter.pro from the ROOT directory

# 3. Build & Run
#    β†’ Select Kit (e.g., Desktop Qt 6.x MinGW 64-bit)
#    β†’ Build (Ctrl+B) β†’ Run (Ctrl+R)

πŸ’‘ Tip: The compiled binary is placed in the bin/ folder.


πŸ“‚ Project Structure

πŸ“¦ packetforge/
β”œβ”€β”€ πŸ“„ PacketTransmitter.pro      # Project file (open this!)
β”œβ”€β”€ πŸ“ bin/                       # Compiled binary output
β”œβ”€β”€ πŸ“ build/                     # Build artifacts
β”œβ”€β”€ πŸ“ Files/                     # Resources (icons, QRC)
β”œβ”€β”€ πŸ“ scripts/                   # Deployment scripts
└── πŸ“ src/                       # Source code
    β”œβ”€β”€ πŸ“ core/                  # Paths, utilities
    β”œβ”€β”€ πŸ“ macros/                # Macro structures
    β”œβ”€β”€ πŸ“ modules/
    β”‚   β”œβ”€β”€ πŸ“ modbus/            # Modbus RTU/TCP widget
    β”‚   β”œβ”€β”€ πŸ“ oscilloscope/      # Waveform plotter
    β”‚   β”œβ”€β”€ πŸ“ traffic/           # Packet log viewer
    β”‚   └── πŸ“ visualizer/        # Bit LED panel
    β”œβ”€β”€ πŸ“ network/               # Serial, TCP, UDP handlers
    └── πŸ“ ui/                    # MainWindow, ConnectionTab UIs

🀝 Contributing

Contributions are welcome! Feel free to:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸ”ƒ Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.

MIT License Β© 2026 Ritesh D. Pandit

πŸ‘€ Author

Website GitHub

Ritesh D. Pandit
Embedded Systems | IoT | Desktop Applications


Built with πŸ’š using Qt & C++

About

Docklight Alternative ?? Your Ultimate Multi-Protocol Communication Workbench with much better UI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors