SD Plotter DB is a desktop data acquisition, plotting, recording and control system designed to communicate with Arduino-based hardware. It can acquire analog signals, record data in .CSV files, save analysis data to an embedded database, count speed using an interrupt input when an encoder is connected, and control digital/PWM outputs for automation tasks.
The software was developed for industrial automation and is registered with INPI/Brazil under BR 5120240025715. Its original application focus is the management of a pilot plant for the chemical industry, but because probe names, units, calibration parameters and operating settings can be customized, the platform can be adapted to many instrumentation, monitoring and process-control scenarios.
The compiled Windows .exe release is distributed externally:
- Archive.org: https://archive.org/details/SDPlotterDB
- MEGA: https://mega.nz/folder/jaADBYxC#lnP73pgNESMqjK755NiX3Q
This repository is organized for documentation, source review, firmware maintenance and GitHub publication. The compiled installer is not stored directly in this repository.
- Real-time signal acquisition from Arduino analog inputs.
- Support for Arduino UNO, NANO and MEGA-based controller firmware.
- Serial communication through USB/emulated serial ports.
- LAN/IP communication for the Arduino MEGA Ethernet firmware.
- Real-time bar graphs and time graphs.
- Optional instantaneous monitor window for processed signal values.
- Renameable probes/sensors and user-defined measurement units.
- Linear calibration through span and zero parameters.
- Software and hardware smoothing options.
- Data recording and export in
.CSVformat. - Embedded database support for analysis data, methods, snapshots and logs.
- Method recording and method playback for actuator sequences.
- PID-related parameters for temperature and speed control.
- Encoder-based speed measurement through interrupt counting.
- Digital output, relay and PWM actuator control.
- Condition-based relay/method activation.
- External event inputs for starting data recording and method playback.
- Demo mode for signal simulation.
- User management with administrator and non-administrator roles.
- Optional Windows authentication mode.
- Keyboard shortcuts for fast industrial operation.
.
├── README.md
├── LICENSE
├── NOTICE.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
├── docs/
│ ├── INSTALLATION.md
│ ├── USER_GUIDE.md
│ ├── FIRMWARE_AND_HARDWARE.md
│ ├── DATABASE_AND_EXPORT.md
│ ├── KEYBOARD_SHORTCUTS.md
│ ├── DEVELOPMENT.md
│ ├── RELEASES.md
│ ├── PROJECT_STRUCTURE.md
│ ├── images/
│ └── manuals/
├── firmware/
│ ├── arduino-with-ethernet/
│ └── arduino-without-ethernet/
└── src/
└── processing/
└── SDPlotterDB/
| Firmware folder | Target use |
|---|---|
firmware/arduino-without-ethernet/ |
USB/serial operation for Arduino UNO/NANO style installations. |
firmware/arduino-with-ethernet/ |
Arduino MEGA operation with Ethernet/LAN communication support. |
The controller reads analog probes from A0 to A5, uses digital inputs for external actions, supports an interrupt input for encoder/speed counting, and controls digital/PWM outputs for actuators.
More details are available in Firmware and Hardware.
A typical workflow is:
- Install or download the compiled Windows program.
- Open SD Plotter DB.
- Log in with an administrator user.
- Configure the license, if required.
- Enter calibration mode when sensor parameters, firmware loading or EEPROM writing must be configured.
- Select the COM port or LAN mode.
- Configure sensor names, units, span, zero, smoothing, PID and motor parameters.
- Upload or update the Arduino firmware when needed.
- Save controller parameters to EEPROM when required.
- Reopen the software in normal operation mode.
- Connect to the hardware.
- Select sampling and recording parameters before connection.
- Monitor real-time signals.
- Record analysis data, export
.CSVfiles, record methods or reproduce saved methods.
See the full User Guide.
The original manual defines the default administrative access as:
Username: Admin
Password: 12345
For any public, industrial or shared installation, change this password immediately and create separate named users.
- Installation
- User Guide
- Firmware and Hardware
- Database and CSV Export
- Keyboard Shortcuts
- Development Notes
- Release Links
- Project Structure
The original Word manual is also included at:
docs/manuals/Instruction Manual - SD PLOTTER DB.docx
The desktop application source is a Processing sketch located in:
src/processing/SDPlotterDB/
The Arduino firmware is located in:
firmware/arduino-without-ethernet/
firmware/arduino-with-ethernet/
Desktop source:
- Processing IDE.
- Processing Serial library.
- ControlP5 library.
- Grafica library.
- Java SQL classes.
- Apache Derby JAR files included in
src/processing/SDPlotterDB/code/.
Arduino firmware:
- Arduino IDE.
- TimerOne library.
- EEPROM library.
- SoftwareSerial library for the serial firmware.
- SPI and Ethernet libraries for the Ethernet firmware.
This project can interact with physical equipment, actuators, relays, PWM outputs and industrial process signals. Test first with disconnected loads or safe bench hardware. Validate wiring, voltage levels, grounding, isolation, emergency stop behavior and output states before connecting to real machinery or chemical-process equipment.
SD Plotter DB is identified by the author as registered with INPI/Brazil under BR 5120240025715. This repository includes a conservative All Rights Reserved license file. Replace it only if the author intentionally chooses a different licensing model.
This project was idealized from the following academic final course work:
Developed by Douglas Santana da Silva.
Contact: spidoug@gmail.com


