← Selected projects

Embedded systems · Minebea Intec GmbH · June–July 2026

PR5170 embedded firmware

Embedded firmware and instrument integration for PR5170 analog and digital weighing variants, including acquisition, calibration, and communication.

My role

Firmware development & instrument integration

Tools

Embedded C · STC8 / 8051 · Keil C51 · RS485 / Modbus

PR5170 · INSTRUMENT INTERFACEDocumented PR5170 segmented LCD interface with weighing digits, units, and status indicators
Analog acquisitionDigital platform
PR5170 LCD interface reference · display documentation

Two measurement paths

I developed two Embedded C firmware branches as part of my design and development of the PR5170 weighing instrument and its variants. One acquires data from a CS5530 ADC; the other reads an external digital weighing platform over RS485. I integrated acquisition and device control with the instrument’s display, calibration, settings, and communication.

My work: Developed two firmware branches, integrated them with the instrument, and used bench feedback to refine protocol and operating behavior.

Digital weighing firmware

V5.0.1

Moving 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 developed this branch from existing company firmware, designed its operating behavior, corrected protocol interpretations, and used bench feedback to refine the implementation. AI coding tools supported implementation and analysis.

Analog acquisition firmware

V2.8

Acquisition, 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 developed this branch from existing company firmware, designed the filter and operating behavior, used hardware observations to refine the implementation, 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.