<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[KnownPCB Manufacturing Notes]]></title><description><![CDATA[KnownPCB Manufacturing Notes]]></description><link>https://knownpcb-manufacturing-notes.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 01:27:37 GMT</lastBuildDate><atom:link href="https://knownpcb-manufacturing-notes.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Logging thermal behavior during LED board bring-up]]></title><description><![CDATA[A firmware logging workflow for LED board bring-up, with run identity, timestamps, sensor validity, CSV fields and thermal measurement limits.]]></description><link>https://knownpcb-manufacturing-notes.hashnode.dev/logging-thermal-behavior-during-led-board-bring-up</link><guid isPermaLink="true">https://knownpcb-manufacturing-notes.hashnode.dev/logging-thermal-behavior-during-led-board-bring-up</guid><category><![CDATA[embedded systems]]></category><category><![CDATA[Firmware Development]]></category><dc:creator><![CDATA[knownpcb-leo]]></dc:creator><pubDate>Fri, 16 Oct 2026 07:55:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ad1d5199a81141fbde40457/68969b6a-ec33-4800-aa7a-fc5f53737388.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/uploads/covers/6ad1d5199a81141fbde40457/68969b6a-ec33-4800-aa7a-fc5f53737388.jpg" alt="A panel of white circular LED circuit boards with connection pads and component markings." /></p>
<p><em>During bring-up, record the assembled board and its mounting condition alongside the firmware state. This photograph illustrates a board panel, not a measured thermal test.</em></p>
<p>A temperature value becomes difficult to interpret when nobody knows which firmware mode was active when it was recorded. During LED board bring-up, a change in brightness command or protection state can change the load while the temperature sensor is still responding to an earlier condition.</p>
<p>The logging process should let a developer connect the software state to the physical setup. The method below is a proposed recording workflow. It does not report measurements from a completed project.</p>
<h2>Give each run a controlled identity</h2>
<p>Assign a run identifier before applying power. Keep the board revision, assembly revision and firmware build with that identifier. Include any configuration that changes the LED drive behavior.</p>
<p>Record how the board is mounted, which thermal interface is installed and whether the enclosure is open or closed. The aluminum base and its contact with the heatsink are part of the physical setup. If that setup changes, start a new run or mark the change explicitly.</p>
<p>Keep a photograph or drawing of sensor positions with the run record. A name such as board temperature is too broad when the sensor could be near an LED, near the driver or on the heatsink.</p>
<h2>Use an elapsed-time reference</h2>
<p>Use a monotonic elapsed-time value for the order and interval of firmware events. A wall-clock timestamp is useful for joining files, but clock corrections should not make a run appear to go backward.</p>
<p>If the controller and an external temperature logger have separate clocks, record how they are aligned. Identify their sample intervals and any known delay. Treat the alignment as uncertain when it has not been checked, rather than implying that two nearby timestamps describe simultaneous events.</p>
<p>When the controller resets, record the reset as a new session. A timestamp returning to zero should not be mistaken for an earlier sample from the same uninterrupted run.</p>
<h2>Log operating state with each sample</h2>
<p>Record the requested brightness, active mode and driver-enable state when they affect the test. Include protection flags and state changes that alter the output.</p>
<p>A brightness command or PWM duty setting is a command, not a measurement of LED current or electrical power. If current and voltage are measured, record their units and where the measurement comes from. Keep those fields separate from the requested values.</p>
<p>The same distinction applies to a temperature reported by a driver IC. That value may describe the IC's own sensor rather than the LED package, PCB surface or aluminum base. Name the measurement so a later reader cannot confuse those locations.</p>
<h2>Choose a small, explicit record format</h2>
<p>A CSV file can be enough for an early experiment if its fields are defined. A possible header is shown below. These are proposed field names only, not test data.</p>
<pre><code class="language-text">run_id,session_id,elapsed_ms,mode,brightness_command,pwm_duty_percent,driver_enabled,sensor_id,temp_c,sensor_valid,protection_flags
</code></pre>
<p>Define the range and meaning of each field in the run notes. If a brightness command uses arbitrary controller units, state that scale. If several sensors are read at different times, give each sensor its own timestamp rather than assigning one timestamp to a group that was not sampled together.</p>
<p>Use an explicit invalid state for a missing or failed sensor read. Substituting zero or the previous reading can make a failed sensor look like a plausible thermal result. Record gaps and dropped rows so later analysis does not assume continuous coverage.</p>
<h2>Preserve the behavior being investigated</h2>
<p>Logging can change firmware timing. A blocking serial write may delay the task that controls the output or services a watchdog. Separate acquisition from transmission when the system needs predictable timing, and define what happens if the logging buffer fills.</p>
<p>Choose a sample interval appropriate to the question and the sensor response. A slow temperature sensor cannot resolve a fast electrical transient simply because the firmware polls it more often. Use suitable instruments for events outside the logging system's bandwidth.</p>
<p>Keep protective functions active. The purpose of the log is to describe the operating condition, including protection events, rather than bypass protection to keep collecting samples.</p>
<h2>Keep the measurement limits visible</h2>
<p>Record the sensor type, attachment method and any correction used. Surface contact can change a reading, and infrared measurements depend on the surface and instrument settings. Do not treat an unreviewed reading from reflective metal as a reliable junction temperature.</p>
<p>A surface sensor does not directly establish LED junction temperature. Any estimate of junction temperature needs an appropriate method and stated assumptions for the package and assembly. Keep measured values and calculated estimates in separate fields or analysis outputs.</p>
<p>Also record ambient conditions and nearby heat sources. A fan setting or an open cover can explain a difference that would otherwise be attributed to firmware or PCB material.</p>
<h2>Compare runs without losing the conditions</h2>
<p>Plot temperature against elapsed time and mark the operating-state changes on the same time axis. Check which sensor produced each curve and whether the mounting and ambient conditions are comparable.</p>
<p>Retain the startup period. Do not call the final row steady state unless the test plan defines and satisfies a stability criterion. If the run ends early or protection changes the load, preserve that fact with the result.</p>
<p>For the physical board construction behind the test setup, see <a href="https://www.knownpcb.com/post/led-aluminum-core-pcb-design-to-manufacturing/">the LED aluminum PCB construction reference for this logging workflow</a>.</p>
<p>The log should let another developer identify what the firmware requested, what the instruments measured and what changed during the run. That makes a temperature curve useful for the next debugging decision without presenting it as proof of an unmeasured thermal property.</p>
<p>Disclosure: I work with KnownPCB. The linked article provides the detailed manufacturing or design information referenced here.</p>
<p>Written by Leo Ryo, Operations Manager at KnownPCB.</p>
]]></content:encoded></item></channel></rss>