Skip to content

Repository files navigation

PacketForge Logo

⚡ PacketForge

Your Ultimate Multi-Protocol Communication Workbench

FeaturesProtocolsAuthor

Qt 6C++26WindowsLicense


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
ProtocolBaud/Port ConfigData BitsParityStop BitsFlow Control
Serial300 — 3M5/6/7/8None/Odd/Even1/1.5/2None/HW/SW
TCP/UDPIP + 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

RequirementVersion
Qt6.x (with serialport, network, serialbus, widgets)
CompilerC++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

WebsiteGitHub

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

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages