Embedded systems · Minebea Intec GmbH · June–July 2026
PR5170 embedded firmware
Two firmware branches for analog acquisition and external digital weighing platforms, including calibration and communication.
Firmware adaptation & device integration
Embedded C · STC8 / 8051 · Keil C51 · RS485 / Modbus

Two measurement paths
I adapted two existing PR5170 firmware branches in Embedded C. One acquires data from a CS5530 ADC; the other reads an external digital weighing platform over RS485. Both coordinate the instrument’s display, controls, settings, and communication.
My work: Adapted existing instrument firmware, resolved protocol and state behavior, and used bench feedback to guide iterations.
Digital weighing firmware
V5.0.1Moving acquisition to an external platform changes where authoritative state lives. Changing a local tare or calibration variable does not necessarily change the device, and its next response can overwrite the local result.
- Connected tare, preset-tare, and calibration entry points to actual platform operations instead of only local state changes.
- Distinguished request acceptance, command transmission, acknowledgement, and matching readback when defining transaction behavior.
- Aligned numerical scales and status handling across panel display, printing, serial communication, and other consumers.
Design details & validation
Success has more than one stage
A command entering the request queue is not the same as an instrument acknowledging it. Preset-tare operations include acknowledgement followed by readback. Calibration-weight (C1) write entry points have distinct completion semantics rather than a single assumed success condition.
Fit the controller’s constraints
An eight-entry C1 write FIFO queues calibration-weight updates within C51 memory limits. Failure handling distinguishes a missing device, a malformed reply, and a valid reply reporting an unsuccessful operation.
Recorded results
- Delivered an independent V5.0.1 Keil project with source, headers, and a formal HEX image.
- The recorded build completed with zero errors and one warning; the handoff checked package consistency and HEX-record integrity.
Bench observations support individual development scenarios. No complete final hardware regression or production timing guarantee is claimed.
I extended existing company firmware, defined operating behavior, corrected protocol interpretations, and used bench feedback to guide iteration. AI coding tools supported implementation and analysis.
Analog acquisition firmware
V2.8Acquisition, filter history, zero/tare handling, and display locking interact. Reported slow responses to small weight changes and startup drift motivated tracing the entire measurement path instead of adjusting a single display value.
- Replaced stacked Kalman and large-window averaging stages with an explicit chain of configurable outlier filtering, integer low-pass filtering, and sustained-change handling.
- Initialized processing state from the current sample after resets or relevant changes so stale history and unused zero entries did not bias the new state.
- Made ADC configuration observable through write/readback comparison, retry handling, and recovery before continuous conversion.
Design details & validation
Separate smoothing from change detection
The processing chain combines a small-window outlier stage with an integer first-order low-pass stage. A change threshold can bypass smoothing, while sustained-change confirmation governs locked behavior. These are implemented mechanisms, not measured performance claims.
Respect the operating context
A reused key can mean different things during weighing and calibration. State-specific handling limits printing to the appropriate weighing context and improves password-entry visibility and refresh behavior.
Recorded results
- Delivered an independent V2.8 Keil project with source, headers, and a formal HEX image.
- The recorded build completed with zero errors and two warnings; the handoff checked package consistency and HEX integrity.
No measured improvement in precision, noise, response time, drift, or mains rejection is claimed. Some menu parameters still require a restart to take effect.
I defined filter and operating requirements, supplied hardware observations, reviewed behavior, and maintained the selected delivery version. AI coding tools supported implementation and analysis.
What the work delivered
Delivered separate V5.0.1 and V2.8 Keil projects and HEX images. Bench observations support specific development scenarios; full final hardware regression is not established by the handoff.
The analog firmware is the documented CS5530 branch. Compatibility with the SIG5532-based mainboard is not asserted here.
The project period refers to the internship. Release-package and handoff checks also include August–September 2026 records.