<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Peijie Liu</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://peijie.dev/</id>
  <link href="https://peijie.dev/" rel="alternate"/>
  <link href="https://peijie.dev/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Peijie Liu</rights>
  <subtitle>Innovation at the Intersection of Engineering and Experience</subtitle>
  <title>Peijie Liu - Electrical Engineering Portfolio</title>
  <updated>2026-04-08T03:11:21.181Z</updated>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Technical Projects" scheme="https://peijie.dev/categories/Technical-Projects/"/>
    <category term="PCB Design" scheme="https://peijie.dev/tags/PCB-Design/"/>
    <category term="Embedded Systems" scheme="https://peijie.dev/tags/Embedded-Systems/"/>
    <category term="RoboMaster" scheme="https://peijie.dev/tags/RoboMaster/"/>
    <category term="CAN Bus" scheme="https://peijie.dev/tags/CAN-Bus/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>📝 AI Assistance Disclosure</strong> (click to expand)</summary><p>This technical documentation has been proofread by Claude-Sonnet-4 for readability, grammar, and formatting consistency. All technical content, project details, circuit designs, and conclusions have been verified and approved by the author.</p><p><strong>Interested in my personal writing style?</strong> Check out my <a href="/categories/Stories-Writing/">Stories &amp; Writing</a> for 100% human-authored content.</p></details><details class="ai-disclaimer"><summary><strong>🤖 Roborambler Club — Open Exchange Notice</strong> (click to expand)</summary><p>This board is designed for <strong>Roborambler</strong>&#39;s RoboMaster robot control system. We welcome other teams to discuss, exchange ideas, and learn from this work.</p><p><strong>Please do not copy or reproduce this design without permission.</strong></p></details><hr><h2 id="Background"><a href="#Background" class="headerlink" title="Background"></a>Background</h2><p>After discussions between the electrical and software sub-teams, we decided to migrate the robot&#39;s control architecture to <strong>Linux direct control</strong> — having the onboard computer running ROS drive the motors directly, bypassing the STM32 co-controller. This was a pragmatic trade-off given our limited software headcount: one fewer firmware layer to maintain.</p><p>This architectural shift created a new hardware need: a converter that plugs into the onboard computer&#39;s USB port and provides <strong>stable, high-speed, multi-channel CAN and UART</strong> interfaces.</p><hr><h2 id="System-Architecture"><a href="#System-Architecture" class="headerlink" title="System Architecture"></a>System Architecture</h2><p>At its core, this board is a <strong>USB hub with multi-channel converter modules</strong> attached to each downstream port.</p><h3 id="Hub"><a href="#Hub" class="headerlink" title="Hub"></a>Hub</h3><p>The central hub IC is the <strong>FE2.1</strong>, which provides <strong>7 high-speed USB 2.0 downstream ports</strong>. An <strong>EEPROM</strong> stores additional VID&#x2F;PID information. The downstream ports are allocated to <strong>4× USB-to-CAN modules</strong> and <strong>3× USB-to-UART modules</strong>.</p><img src="/2026/04/05/project-usb-can-uart/sch-hub.svg" class="" title="Hub schematic — FE2.1 with EEPROM and downstream port allocation"><h3 id="Power-Management"><a href="#Power-Management" class="headerlink" title="Power Management"></a>Power Management</h3><p>The power section is more interesting than it first appears.</p><p>In Linux, <strong>USB device port numbers are determined entirely by power-up order</strong>. To guarantee consistent, repeatable port assignments across every boot cycle, each downstream port has its own <strong>hardware power-up sequencing switch</strong> — an RC network feeding a Schmitt trigger driving a MOSFET — so each channel comes up in a fixed, deterministic sequence.</p><p>The board also includes a <strong>5 V → 3.3 V buck converter</strong> for the logic ICs, and proper <strong>USB-C input protection</strong> via an eFuse and TVS diodes.</p><img src="/2026/04/05/project-usb-can-uart/sch-power.svg" class="" title="Power management schematic — sequencing switches, buck converter, USB-C protection"><h3 id="USB-to-CAN-Module"><a href="#USB-to-CAN-Module" class="headerlink" title="USB-to-CAN Module"></a>USB-to-CAN Module</h3><p>The USB-to-CAN design is based on the open-source <strong><a href="https://github.com/candle-usb/candleLight_fw">candleLight</a></strong> project. Each module is simply an <strong>STM32F072</strong> (which has a built-in USB interface) paired with a <strong>MAX3051</strong> CAN transceiver. Very Clean.</p><img src="/2026/04/05/project-usb-can-uart/sch-can.svg" class="" title="USB-to-CAN module schematic — STM32F072 + MAX3051"><h3 id="USB-to-UART-Module"><a href="#USB-to-UART-Module" class="headerlink" title="USB-to-UART Module"></a>USB-to-UART Module</h3><p>Even simpler — a single <strong>CH340E</strong> per channel handles the full USB-to-UART conversion. Schematic omitted.</p><hr><h2 id="Layout-Bring-Up"><a href="#Layout-Bring-Up" class="headerlink" title="Layout &amp; Bring-Up"></a>Layout &amp; Bring-Up</h2><h3 id="Rev-1-—-First-Spin-5-×-6-cm"><a href="#Rev-1-—-First-Spin-5-×-6-cm" class="headerlink" title="Rev 1 — First Spin (5 × 6 cm)"></a>Rev 1 — First Spin (5 × 6 cm)</h3><img src="/2026/04/05/project-usb-can-uart/usb2can-2dv1.png" class="" title="Rev 1 — 2D layout, 5×6 cm, USB lines routed as differential pairs"><p>All USB data lines were routed as <strong>controlled-impedance differential pairs</strong>. Board looked clean.</p><p><strong>First power-on:</strong> only the first USB-to-UART channel — the one directly connected to the raw 5 V rail — was recognized by the host. The other six ports were dead.</p><p>A quick debug session found the culprit: a <strong>careless component-pick error</strong>. The high-side switch in the power sequencing circuit had been placed as an <strong>NMOS</strong> (AO3400) instead of a <strong>PMOS</strong>. And to make matters worse, since I had (unknowingly) matched the gate logic to an NMOS, I had also selected a <strong>non-inverting</strong> Schmitt trigger (74LVC17) — so the overall polarity was consistent, just completely wrong for a high-side switch.</p><p>No time for a respin. Small club, no reviewers. Just bypass the switches with <strong>0 Ω resistors</strong> and move on.</p><img src="/2026/04/05/project-usb-can-uart/usb2can-v1.png" class="" title="Rev 1 — assembled board with sequencing switches bypassed via 0 Ω jumpers"><p>With the bypass in place, all seven downstream rails came up. The host recognized <strong>3× CH340</strong> and <strong>4× STM32 bootloaders</strong>.</p><p>After flashing the <strong>candleLight firmware</strong> onto the STM32s, all four CAN interfaces appeared in Device Manager.</p><img src="/2026/04/05/project-usb-can-uart/device.png" class="" title="Device Manager — 3× CH340 serial ports and 4× candleLight CAN interfaces"><p><strong>CAN loopback test:</strong> paired channels in loopback and swept bitrate. All four channels ran simultaneously up to <strong>9700 Kbps</strong> before packet loss — very close to the theoretical USB 2.0 &#x2F; Classic CAN ceiling. Result: ✅</p><hr><h2 id="Rev-2-—-Production-Version-5-×-5-cm"><a href="#Rev-2-—-Production-Version-5-×-5-cm" class="headerlink" title="Rev 2 — Production Version (5 × 5 cm)"></a>Rev 2 — Production Version (5 × 5 cm)</h2><p>With the bug confirmed and root-caused, the redesign was straightforward:</p><ul><li><strong>AO3400 → AO3401</strong>: swapped the NMOS for the correct PMOS in the high-side sequencing switch</li><li><strong>74LVC17 → 74LVC14</strong>: replaced the non-inverting Schmitt trigger with the inverting variant to match PMOS gate logic</li><li>Shrank board footprint from <strong>5 × 6 cm → 5 × 5 cm</strong></li></ul><img src="/2026/04/05/project-usb-can-uart/usb2can-2dv2.png" class="" title="Rev 2 — 2D layout, 5×5 cm, PMOS sequencing fix applied"><img src="/2026/04/05/project-usb-can-uart/usb2can-3dv2.png" class="" title="Rev 2 — 3D render"><p>PCBs are currently out for fabrication. Looking forward to seeing them come back clean! 🚀</p>]]>
    </content>
    <id>https://peijie.dev/2026/04/05/project-usb-can-uart/</id>
    <link href="https://peijie.dev/2026/04/05/project-usb-can-uart/"/>
    <published>2026-04-05T04:00:00.000Z</published>
    <summary>A compact 5×5 cm USB hub board providing 4× CAN and 3× UART channels for a Linux-based RoboMaster robot, featuring deterministic port-number sequencing via hardware power-up timing control.</summary>
    <title>Multi-Channel USB to CAN / UART Converter — RoboMaster Control Interface</title>
    <updated>2026-04-08T03:11:21.181Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Technical Projects" scheme="https://peijie.dev/categories/Technical-Projects/"/>
    <category term="PCB Design" scheme="https://peijie.dev/tags/PCB-Design/"/>
    <category term="Embedded Systems" scheme="https://peijie.dev/tags/Embedded-Systems/"/>
    <category term="Avionics" scheme="https://peijie.dev/tags/Avionics/"/>
    <category term="YJSP" scheme="https://peijie.dev/tags/YJSP/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>📝 AI Assistance Disclosure</strong> (click to expand)</summary><p>This technical documentation has been proofread by Claude-Sonnet-4 for readability, grammar, and formatting consistency. All technical content, project details, circuit designs, and conclusions have been verified and approved by the author.</p><p><strong>Interested in my personal writing style?</strong> Check out my <a href="/categories/Stories-Writing/">Stories &amp; Writing</a> for 100% human-authored content.</p></details><hr><blockquote><p><strong>⚠️ Active Mission — Contribution &amp; Confidentiality Notice</strong></p><p>This is an active project under <strong>YJSP&#39;s Hardware-In-The-Loop (HITL)</strong> program. Although I am the sole Responsible Engineer (RE) for this project, it incorporates contributions from program leads and other team members. This page presents my contributions at a <strong>high level only</strong>.</p><p>Accordingly, <strong>this page does not display the latest revision that has passed any formal Design Review, nor does it include specific technical details.</strong></p><p><strong>Do not attempt to copy or replicate the designs shown here — this is NOT the final design and is NOT proven to work.</strong></p></blockquote><hr><h2 id="Program-Overview"><a href="#Program-Overview" class="headerlink" title="Program Overview"></a>Program Overview</h2><p>The <strong>Hardware-In-The-Loop (HITL)</strong> system aims to validate avionics hardware for YJSP rocket systems in a controlled laboratory environment, reducing the need for costly flight-ready sensors and complex integration processes during testing phases. The long-term goal is a <strong>fully-automatic CI&#x2F;CD pipeline</strong> for avionics verification.</p><p>The very first project under the HITL program is the <strong>SAM Board Tester</strong>, which — as the name implies — tests and calibrates the functionality of a <strong>FSAM</strong> (Flight Systematic Avionics Module) or <strong>GSAM</strong> (Ground Systematic Avionics Module).</p><h3 id="Design-Goals-for-the-SAM-Board-Tester"><a href="#Design-Goals-for-the-SAM-Board-Tester" class="headerlink" title="Design Goals for the SAM Board Tester"></a>Design Goals for the SAM Board Tester</h3><ul><li>Provide fully protected <strong>48 V &#x2F; 24 V</strong> power supply for FSAM &#x2F; GSAM, with enable control</li><li>Emulate the behavior of <strong>Thermal Couples, RTDs, Pressure Transducers, Differential Voltage Sensors, Valves, Detonators,</strong> and <strong>Remove-Before-Flight Tags</strong></li><li>With precision DAC, ADC, source circuits, and a self-calibration algorithm, <strong>calibrate</strong> FSAM &#x2F; GSAM</li><li>Allow <strong>disconnectivity check</strong> on all channels</li></ul><hr><h2 id="Block-Diagram"><a href="#Block-Diagram" class="headerlink" title="Block Diagram"></a>Block Diagram</h2><p>View the <strong>interactive block diagram</strong> (recommended):</p><div style="margin: 1rem 0;">  <a href="https://mermaid.ai/app/projects/f6e72b04-8a4c-4cd9-bde9-340ce58b6b1c/diagrams/fbe5f023-a1db-4d96-ba07-d9db82feed3a/version/v0.1/edit"     target="_blank"     rel="noopener"     style="display:inline-flex; align-items:center; gap:6px; padding:8px 16px; background:#0070f3; color:#fff; border-radius:6px; text-decoration:none; font-size:0.9rem; font-weight:500;">    🔗 Open Interactive Chart (Mermaid)  </a></div><p>Or view the static render below:</p><img src="/2026/03/16/project-hitl/flowchart.svg" class="" title="SAM Board Tester System Block Diagram"><hr><h2 id="System-Architecture-—-3-Stackable-Boards"><a href="#System-Architecture-—-3-Stackable-Boards" class="headerlink" title="System Architecture — 3 Stackable Boards"></a>System Architecture — 3 Stackable Boards</h2><p>The HITL SAM Board Tester consists of <strong>3 stackable boards</strong> that connnects thru 40+8pin conectors.</p><hr><h3 id="1-·-Controller-Board"><a href="#1-·-Controller-Board" class="headerlink" title="1 · Controller Board"></a>1 · Controller Board</h3><img src="/2026/03/16/project-hitl/controller-toplevel.svg" class="" title="Controller Board Top-Level Block Diagram"><p>The Controller Board is the brain of the system:</p><ul><li>Hosts a <strong>Raspberry Pi CM5 &#x2F; CM4</strong>, providing <strong>3× SPI</strong> lanes, <strong>2× I2C</strong> lanes, and direct control over power converters</li><li>Provides <strong>primary power conversion and distribution</strong>:<ul><li><strong>24 V @ 3 A</strong> for GSAM. </li><li><strong>48 V @ 1.5 A</strong> for FSAM. Uses random spread spreatrum to lower EMI and noise.</li><li><strong>5V0-D @ 10 A</strong> for digital rails. Uses D-CAP3 control mode to provide fast transient response.</li><li><strong>6V0-A @ 1.5 A</strong> for analog pre-regulation. Uses random spread spreatrum to lower noise.</li></ul></li><li>Hot-swap Control, Comprehensive Protection, Power and Temperature sensing on all power rails.</li></ul><hr><h3 id="2-3-·-Peripheral-Boards-×2"><a href="#2-3-·-Peripheral-Boards-×2" class="headerlink" title="2 &amp; 3 · Peripheral Boards (×2)"></a>2 &amp; 3 · Peripheral Boards (×2)</h3><img src="/2026/03/16/project-hitl/peripheral-toplevel.svg" class="" title="Peripheral Board Top-Level Block Diagram"><p>Each peripheral board supports <strong>half of the emulation channels</strong>. Key specs per board:</p><ul><li>Independent <strong>5V0-A</strong> and <strong>3V3</strong> LDOs (from the 6V0-A rail) for clean analog power</li><li><strong>2× 8-ch DAC</strong>, <strong>1× 10-ch ADC</strong>, <strong>1× 2-ch DigiPOT</strong>, <strong>2× 16-ch GPIO Expander</strong><ul><li>24 buffered output channels + 8 unbuffered I&#x2F;O channels</li></ul></li><li>Emulation channels per board:<ul><li>4× Valve</li><li>4× Thermal Couple</li><li>4× Current Loop</li><li>4× RTD (2 from DAC, 2 from DigiPOT)</li><li>1× Differential Sensor</li><li>1× Detonator</li><li>1× Remove-Before-Flight Tag</li></ul></li></ul><hr><h2 id="Interface-Communication"><a href="#Interface-Communication" class="headerlink" title="Interface &amp; Communication"></a>Interface &amp; Communication</h2><p>The boards communicate over <strong>SPI</strong> and <strong>I2C</strong>:</p><table><thead><tr><th>Device</th><th>Count</th><th>Bus</th><th>Role</th></tr></thead><tbody><tr><td>AD5676R DAC</td><td>4× (2 per peripheral)</td><td>SPI0</td><td>32 output channels for analog emulation</td></tr><tr><td>ADS1261 ADC</td><td>2× (1 per peripheral)</td><td>SPI1</td><td>20 input channels for valve &#x2F; detonator V&amp;I sensing</td></tr><tr><td>AD8403 DigiPOT</td><td>2× (1 per peripheral)</td><td>SPI5</td><td>4 resistance channels for low-cost RTD emulation</td></tr><tr><td>PCF8575 GPIO Expander + ULN2803</td><td>4× (2 per peripheral)</td><td>I2C0</td><td>Disconnectivity check relays &amp; RBF control</td></tr><tr><td>TMP112 Temperature Sensor</td><td>3× (1 per board)</td><td>I2C2</td><td>Temperature compensation</td></tr><tr><td>INA228 Power Meter</td><td>4× (controller)</td><td>I2C2</td><td>48 V &#x2F; 24 V &#x2F; 6V0-A &#x2F; 5V0-D V, I, P sensing</td></tr></tbody></table><hr><h2 id="Power-Architecture"><a href="#Power-Architecture" class="headerlink" title="Power Architecture"></a>Power Architecture</h2><ul><li><strong>LM5069</strong> two-stage load switches — comprehensive UV&#x2F;OV, over-power, short circuit, constant-current startup, and hotswap-ready protection. The 24 V &#x2F; 48 V output channels include shutdown control and power-good indicator.</li><li><strong>TPS56A37</strong> — 10 A, 24 V → 5V0-D step-down for digital rails <em>(CM5 needs ~2 A max; ~40 relays need ~6 A)</em></li><li><strong>LM51571</strong> — 1.5 A, 24 V → 48 V low-EMI step-up for FSAM; random-spread-spectrum supported</li><li><strong>LMR36015</strong> — 1.5 A, 24 V → 6V0-A low-EMI step-down for analog pre-regulation; random-spread-spectrum supported</li><li><strong>TPS7A20xx</strong> — 300 mA, 6V0-A → 5V0-A &#x2F; 3V3 LDO for each board&#39;s independent analog rail</li></ul><hr><h2 id="Analog-Backends"><a href="#Analog-Backends" class="headerlink" title="Analog Backends"></a>Analog Backends</h2><table><thead><tr><th>Function</th><th>Implementation</th></tr></thead><tbody><tr><td>Differential voltage output (Diff. Sensors, TCs)</td><td>FDA — <strong>THP210</strong> Fully Differential Amplifier</td></tr><tr><td>Low-side current sink (Valves, Detonators)</td><td>Op-amp (<strong>OPA2210</strong>) + MOSFET gate driver</td></tr><tr><td>Current source (Pressure Transducers)</td><td>Integrated V&#x2F;I converter — <strong>XTR111</strong></td></tr><tr><td>RTD emulation</td><td>Single-end amplifiers + differential V &#x2F; current sink, or direct impedance from DigiPOT</td></tr><tr><td>Remove-Before-Flight Tag</td><td>MOSFET switch</td></tr></tbody></table><hr><h2 id="Board-Interconnects"><a href="#Board-Interconnects" class="headerlink" title="Board Interconnects"></a>Board Interconnects</h2><p>The three boards connect via two connector types:</p><p><strong>40-pin 1.27 mm IDC</strong> — carries 3× SPI and 2× I2C lanes, with ground pins adjacent to clock lines for signal integrity.</p><img src="/2026/03/16/project-hitl/40pidc.png" class="" title="40-pin IDC Connector Pinout"><p><strong>8-pin Molex Flex3</strong> — carries 24 V, 6V0-A, 5V0-D, PGND, and AGND.</p><img src="/2026/03/16/project-hitl/8pmolex.png" class="" title="8-pin Molex Flex3 Power Connector"><hr><h2 id="Layout-Status"><a href="#Layout-Status" class="headerlink" title="Layout Status"></a>Layout Status</h2><p>Layout <strong>Rev 1</strong> is currently in progress. The three boards together sum to a total of <strong>254 + 476 × 2 &#x3D; 1,206 components</strong>. Magnificent work!</p>]]>
    </content>
    <id>https://peijie.dev/2026/03/16/project-hitl/</id>
    <link href="https://peijie.dev/2026/03/16/project-hitl/"/>
    <published>2026-03-16T04:00:00.000Z</published>
    <summary>An active Hardware-In-The-Loop test system for validating YJSP rocket avionics in a controlled lab environment, targeting a fully-automatic CI/CD pipeline. The first project under the HITL program: SAM Board Tester — emulating sensors, actuators, and power interfaces for FSAM/GSAM validation.</summary>
    <title>HITL SAM Board Tester — Hardware-In-The-Loop Avionics Validation System</title>
    <updated>2026-04-08T03:11:21.071Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Tech Notes" scheme="https://peijie.dev/categories/Tech-Notes/"/>
    <category term="Quick Note" scheme="https://peijie.dev/tags/Quick-Note/"/>
    <category term="PCB Design" scheme="https://peijie.dev/tags/PCB-Design/"/>
    <category term="Power Electronics" scheme="https://peijie.dev/tags/Power-Electronics/"/>
    <category term="Arduino" scheme="https://peijie.dev/tags/Arduino/"/>
    <category term="Servo Control" scheme="https://peijie.dev/tags/Servo-Control/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>🔍 AI Assistance Disclosure</strong> (click to expand)</summary><p>This note has been lightly edited with AI assistance for clarity. All technical content and observations are my own.</p><p><strong>Looking for polished project documentation?</strong> Check out <a href="/categories/Technical-Projects/">Technical Projects</a>.<br><strong>Want my unfiltered thoughts?</strong> See <a href="/categories/Stories-Writing/">Stories &amp; Writing</a>.</p></details><hr><h2 id="Quick-Context"><a href="#Quick-Context" class="headerlink" title="Quick Context"></a>Quick Context</h2><p>The moment the hackathon ended, I knew what I had to do. That hacked-together PCA9685 with tin-stacked traces worked, but it was a mess. Whether I continue developing the quadruped or start new projects, I need a proper servo driver shield. </p><p>So I used part of the prize money to buy an Arduino Uno Q (the new one with Qualcomm compute + STM32 real-time controller - huge development potential) and immediately started laying out a new board.</p><h2 id="First-Article-Arrived-02-03-Update"><a href="#First-Article-Arrived-02-03-Update" class="headerlink" title="First Article Arrived - 02&#x2F;03 Update"></a>First Article Arrived - 02&#x2F;03 Update</h2><p>Boards came back from fab today! </p><img src="/2026/02/03/note-ServoShield/Flatsat.jpg" class="" title="First article assembly - perfect fit with Arduino Uno Q and buck module"><p>It fits the Arduino Uno Q perfectly.<br>The buck module integration is clean.<br>Really happy with how compact this turned out --<br>Definitely one of the <strong>sweetest</strong> boards I&#39;ve designed.</p><h2 id="Design-Decisions"><a href="#Design-Decisions" class="headerlink" title="Design Decisions"></a>Design Decisions</h2><h3 id="Power-Architecture-USB-PD-Instead-of-LiPo"><a href="#Power-Architecture-USB-PD-Instead-of-LiPo" class="headerlink" title="Power Architecture - USB-PD Instead of LiPo"></a>Power Architecture - USB-PD Instead of LiPo</h3><p><strong>Old approach:</strong> 8.4V (2S) hobby LiPo batteries<br><strong>New approach:</strong> USB-PD 3.1 with 140W trigger</p><p>Why? Keeping a large LiPo in my dorm felt unsafe. With PD3.1, I can power everything elegantly with a power bank and USB-C cable. Much cleaner, much safer.</p><img src="/2026/02/03/note-ServoShield/PDtrigger.png" class="" title="PD trigger circuit - negotiates 28V from USB-PD 3.1 sources"><p><strong>Power chain:</strong></p><ol><li>PD 3.1 trigger negotiates 28V @ 140W max</li><li>SIC431-based buck: 28V → 8.4V @ 24A (servo rail)</li><li>TPS56A37-based buck: 28V → 5V @ 10A (Arduino Uno Q + future AI modules)</li></ol><p>The SIC431 is officially rated for 24V max input, but I&#39;ve tested it up to 28V and it runs stable. I had already designed a 24A buck module with this chip previously, so I could mount it directly on the shield - perfect reuse.</p><img src="/2026/02/03/note-ServoShield/Servo.png" class="" title="Servo power distribution, input, and buck converter sections"><h3 id="Servo-Driver-Pico-Coprocessor-Instead-of-PCA9685"><a href="#Servo-Driver-Pico-Coprocessor-Instead-of-PCA9685" class="headerlink" title="Servo Driver - Pico Coprocessor Instead of PCA9685"></a>Servo Driver - Pico Coprocessor Instead of PCA9685</h3><p><strong>Old approach:</strong> PCA9685 I2C LED driver repurposed for servos<br><strong>New approach:</strong> Raspberry Pi Pico as dedicated servo coprocessor</p><p>Why abandon the PCA9685? Because it&#39;s fundamentally an LED driver. For precise servo control, the Pico&#39;s PIO (Programmable IO) state machines are vastly superior - more real-time, more accurate timing.</p><img src="/2026/02/03/note-ServoShield/PICO.png" class="" title="Pico coprocessor connection - SPI&#x2F;UART communication with Arduino"><p>Communication with Arduino Uno Q via SPI or UART. The Pico handles all 8 servo channels independently while the main Arduino focuses on high-level control and computation.</p><h3 id="Layout-Considerations"><a href="#Layout-Considerations" class="headerlink" title="Layout Considerations"></a>Layout Considerations</h3><p><strong>Critical design elements:</strong></p><ol><li><strong>Servo power traces:</strong> Copper pour equivalent width &gt;250 mil (6.35mm) to handle peak current draws</li><li><strong>Per-channel protection:</strong> Each servo has individual fuse + large bulk MLCC capacitors for decoupling</li><li><strong>Thermal management:</strong> Buck converters positioned for maximum airflow, keepout zones for heat</li><li><strong>Shield form factor:</strong> Standard Arduino form factor for compatibility</li></ol><img src="/2026/02/03/note-ServoShield/PCB2D.png" class="" title="2D PCB layout showing power distribution topology"><img src="/2026/02/03/note-ServoShield/PCB3D.png" class="" title="3D render of the complete shield assembly"><p>The shield mounts my existing SIC431 buck module perfectly - sometimes designing around parts you already have is faster than sourcing new components.</p><h2 id="Key-Takeaways"><a href="#Key-Takeaways" class="headerlink" title="Key Takeaways"></a>Key Takeaways</h2><ul><li><strong>Design the tool you wish you had</strong> - immediately after the hackathon, I knew exactly what I needed</li><li><strong>PD 3.1 @ 140W is a game-changer</strong> for robotics power delivery - no more sketchy LiPo charging in dorms</li><li><strong>Reusing proven designs</strong> (like my SIC431 buck module) accelerates development significantly</li><li><strong>PCA9685 is fine for prototyping</strong> but a dedicated Pico coprocessor gives much better servo control</li><li><strong>Copper width matters</strong> - 250+ mil traces eliminate power distribution bottlenecks</li><li><strong>Per-channel protection</strong> (fuses + decoupling) prevents one bad servo from killing the entire system</li></ul><p>Next step: firmware for the Pico&#39;s PIO blocks to implement ultra-precise servo timing. Then finally give this quadruped the control system it deserves.</p><h2 id="References"><a href="#References" class="headerlink" title="References"></a>References</h2><ul><li><a href="/tech-notes/ieee-robotech-circuits/">IEEE Robotech Hackathon Circuits</a> - the hack that inspired this redesign</li><li><a href="https://www.vishay.com/docs/63035/sic431.pdf">SIC431 Datasheet</a></li><li><a href="https://www.ti.com/lit/ds/symlink/tps56a37.pdf">TPS56A37 Datasheet</a></li><li><a href="https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html#pio">RP2040 PIO Documentation</a></li></ul><hr><p><em>Just a quick note from my engineering journal. More detailed projects in <a href="/categories/Technical-Projects/">Technical Projects</a>.</em></p>]]>
    </content>
    <id>https://peijie.dev/2026/02/03/note-ServoShield/</id>
    <link href="https://peijie.dev/2026/02/03/note-ServoShield/"/>
    <published>2026-02-03T05:00:00.000Z</published>
    <summary>After the hackathon chaos, I immediately redesigned a proper servo driver shield - PD3.1 power delivery, Pico coprocessor, and 24A buck converters. Sometimes you just need to build the tool you wish you had.</summary>
    <title>Post-Hackathon Iteration: Designing a Better Servo Driver Shield</title>
    <updated>2026-02-03T05:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Tech Notes" scheme="https://peijie.dev/categories/Tech-Notes/"/>
    <category term="Robotics" scheme="https://peijie.dev/tags/Robotics/"/>
    <category term="Quick Note" scheme="https://peijie.dev/tags/Quick-Note/"/>
    <category term="Embedded Systems" scheme="https://peijie.dev/tags/Embedded-Systems/"/>
    <category term="Hackathon" scheme="https://peijie.dev/tags/Hackathon/"/>
    <category term="ESP32" scheme="https://peijie.dev/tags/ESP32/"/>
    <category term="Protoboard" scheme="https://peijie.dev/tags/Protoboard/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>🔍 AI Assistance Disclosure</strong> (click to expand)</summary><p>This note has been lightly edited with AI assistance for clarity. All technical content and observations are my own.</p><p><strong>Looking for polished project documentation?</strong> Check out <a href="/categories/Technical-Projects/">Technical Projects</a>.<br><strong>Want my unfiltered thoughts?</strong> See <a href="/categories/Stories-Writing/">Stories &amp; Writing</a>.</p></details><hr><h2 id="Quick-Context"><a href="#Quick-Context" class="headerlink" title="Quick Context"></a>Quick Context</h2><p>Just wrapped up the GT IEEE Robotech Hackathon - <strong>36 hours</strong> straight of building a &quot;mother-daughter&quot; rover system. </p><h3 id="Our-team-Tachy-Astroach-took-first-place"><a href="#Our-team-Tachy-Astroach-took-first-place" class="headerlink" title="Our team Tachy-Astroach took first place,"></a>Our team Tachy-Astroach took first place,</h3><p>which was unexpected but awesome.</p><img src="/2026/01/26/note-TackyAstroach/full_system.jpg" class="" title="Complete system: quadruped mother robot, mini RC daughter robot, and custom controller"><p>The concept: a quadruped &quot;mother&quot; rover carries a small RC &quot;daughter&quot; rover. Mother launches daughter to scout ahead, both controlled wirelessly.</p><p><strong>Huge Shoutout to my awesome teammates who made this possible:</strong></p><ul><li><strong><a href="https://www.linkedin.com/in/zerun-wang/">Zerun Wang</a></strong>: Quadruped mechanical design, inverse kinematics algorithms.</li><li><strong><a href="https://www.linkedin.com/in/lyu-hongyi/">Hongyi Lyu</a></strong>: All other structural CAD design, 3D printing, mechanical assembly.</li><li><strong><a href="https://www.linkedin.com/in/aimeeyutingzheng/">Yuting Zheng</a></strong>: Firmware post, controller UI design, presentation video editing.</li><li><strong>Peijie Liu (me)</strong>: All electronics&#x2F;circuitry design &amp; build, communication protocol.</li><li>Full project details on our <a href="https://devpost.com/software/moonline#updates">DevPost page</a>.</li></ul><h3 id="You-all-are-my-goats-🐏-！"><a href="#You-all-are-my-goats-🐏-！" class="headerlink" title="You all are my goats 🐏 ！"></a>You all are my goats 🐏 ！</h3><h2 id="The-Discovery-Solutions"><a href="#The-Discovery-Solutions" class="headerlink" title="The Discovery &#x2F; Solutions"></a>The Discovery &#x2F; Solutions</h2><h3 id="Custom-Controller-Build-Structural-Diode-Hack"><a href="#Custom-Controller-Build-Structural-Diode-Hack" class="headerlink" title="Custom Controller Build - Structural Diode Hack"></a>Custom Controller Build - Structural Diode Hack</h3><p>No time for PCBs, so I went full old-school with protoboard and flying wires.</p><img src="/2026/01/26/note-TackyAstroach/controller_front.jpg" class="" title="Controller front view - 3 joysticks, 2 OLED displays, powered on"><p><strong>The hack I&#39;m actually proud of:</strong> Instead of buying an RC controller enclosure, I used thick leads from salvaged high-power diodes as structural elements to mechanically join multiple protoboards together. Bent them into the rough shape of a handheld controller, soldered them between boards for both structural support AND ground distribution.</p><p>Core components:</p><ul><li>ESP32 as main controller</li><li>3 analog joysticks for multi-axis control</li><li>2 OLED screens (status display + telemetry)</li><li>NRF24L01 module for wireless communication</li></ul><img src="/2026/01/26/note-TackyAstroach/controller_back.jpg" class="" title="The beautiful chaos of hand-wired circuits"><h3 id="PCA9685-Power-Hack-for-Eight-High-Power-Servos"><a href="#PCA9685-Power-Hack-for-Eight-High-Power-Servos" class="headerlink" title="PCA9685 Power Hack for Eight High-Power Servos"></a>PCA9685 Power Hack for Eight High-Power Servos</h3><img src="/2026/01/26/note-TackyAstroach/birdview.jpg" class="" title="Complete mother robot internals - shield integration with mechanics"><p>Eight servos on a quadruped &#x3D; serious current demands. Standard PCA9685 servo driver boards aren&#39;t designed for this.</p><img src="/2026/01/26/note-TackyAstroach/main_shield.jpg" class="" title="Modified PCA9685 shield - note the tin stacking on back traces"><p><strong>Modifications made:</strong></p><ol><li><strong>Added bulk capacitors</strong> - lots of them - to handle servo current spikes</li><li><strong>Tin stacking</strong> - literally piled solder onto the back traces to increase current capacity (probably added 3-4x the copper cross-section)</li><li><strong>Power rail separation hack</strong> - separated servo power rail from chip power, then fed servos directly from 2S LiPo (8.4V) while keeping PCA9685 chip at safe 5V</li></ol><img src="/2026/01/26/note-TackyAstroach/main_shield_front.jpg" class="" title="Modified PCA9685 shield - note the Bulk Capacitors"><h3 id="Daughter-Robot-Simplicity-Wins"><a href="#Daughter-Robot-Simplicity-Wins" class="headerlink" title="Daughter Robot - Simplicity Wins"></a>Daughter Robot - Simplicity Wins</h3><p>The sub-rover was intentionally minimal:</p><ul><li>Single H-bridge driving TT motor + PWM servo for steering</li><li>NRF24L01 receiver</li><li>MPU6050 gyro for attitude feedback</li><li>9V alkaline battery with simple linear regulation</li></ul><img src="/2026/01/26/note-TackyAstroach/child_controller.jpg" class="" title="Daughter robot electronics - compact and functional"><p>Nothing fancy, but it worked first try.</p><h2 id="What-Failed-The-Wheel-Leg-Hybrid"><a href="#What-Failed-The-Wheel-Leg-Hybrid" class="headerlink" title="What Failed - The Wheel-Leg Hybrid"></a>What Failed - The Wheel-Leg Hybrid</h2><p>We originally planned wheel-leg hybrid locomotion - mount DC motors with wheels on each leg to drive like a car on flat ground, walk like a quadruped on rough terrain.</p><img src="/2026/01/26/note-TackyAstroach/wheels_on_the_leg.jpg" class="" title="Wheel-leg mechanism with custom gearing"><p><strong>What killed it:</strong> SLA-printed Tough2000 resin gears were impossibly hard and brittle. We could NOT get them to mesh properly with the competition-provided motor shafts without cracking. After 6 hours of trying, we scrapped it and went pure quadruped.</p><h2 id="Key-Takeaways"><a href="#Key-Takeaways" class="headerlink" title="Key Takeaways"></a>Key Takeaways</h2><ul><li><strong>Structural diode leads</strong> as protoboard joiners actually work great</li><li><strong>Solder stacking</strong> is a valid emergency solution for current capacity boost</li><li><strong>Keep subsystems simple</strong> when racing the clock - simplicity saved us</li><li><strong>Test material properties</strong> BEFORE committing to geared mechanisms</li><li><strong>Trust my teammates</strong> in their domains - let them own their parts completely</li></ul><h2 id="Wireless-Protocol-I-Developed"><a href="#Wireless-Protocol-I-Developed" class="headerlink" title="Wireless Protocol I Developed"></a>Wireless Protocol I Developed</h2><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/*******************************************************</span></span><br><span class="line"><span class="comment"> * radio_protocol.h</span></span><br><span class="line"><span class="comment"> * Shared radio protocol definitions for Controller, Mother, and Kid</span></span><br><span class="line"><span class="comment"></span></span><br><span class="line"><span class="comment">/******************** TARGET ENUM ********************/</span></span><br><span class="line"><span class="keyword">enum</span> <span class="title class_">Target</span> : <span class="type">uint8_t</span> &#123; </span><br><span class="line">  TARGET_MOTHER = <span class="number">0</span>, </span><br><span class="line">  TARGET_KID = <span class="number">1</span> </span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/******************** PACKET STRUCTS ********************/</span></span><br><span class="line"><span class="comment">// Keep structs fixed-size and identical across nodes.</span></span><br><span class="line"><span class="keyword">struct</span> <span class="title class_">ImuData</span> &#123;</span><br><span class="line">  <span class="type">float</span> ax, ay, az;    <span class="comment">// acceleration</span></span><br><span class="line">  <span class="type">float</span> roll, pitch, yaw; <span class="comment">// angles (or attitude)</span></span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="keyword">struct</span> <span class="title class_">CmdPacket</span> &#123;</span><br><span class="line">  <span class="type">uint8_t</span>  seq;        <span class="comment">// increments every send</span></span><br><span class="line">  <span class="type">uint8_t</span>  target;     <span class="comment">// TARGET_MOTHER / TARGET_KID</span></span><br><span class="line">  <span class="type">int16_t</span>  leftPower;  <span class="comment">// e.g. -1000..1000 (Mother: left wheel, Kid: 0)</span></span><br><span class="line">  <span class="type">int16_t</span>  rightPower; <span class="comment">// e.g. -1000..1000 (Mother: right wheel, Kid: 0)</span></span><br><span class="line">  <span class="type">int16_t</span>  kidPower;   <span class="comment">// -1000..1000 (Kid: forward/back, Mother: 0)</span></span><br><span class="line">  <span class="type">int16_t</span>  kidSteer;   <span class="comment">// -1000..1000 (Kid: turn left/right, Mother: 0)</span></span><br><span class="line">  <span class="type">int8_t</span>   winch;      <span class="comment">// -1 rev, 0 stop, +1 fwd</span></span><br><span class="line">  <span class="type">uint8_t</span>  flags;      <span class="comment">// spare bits for future</span></span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="keyword">struct</span> <span class="title class_">TelPacket</span> &#123;</span><br><span class="line">  <span class="type">uint8_t</span> seq;</span><br><span class="line">  <span class="type">uint8_t</span> linkFlags;   <span class="comment">// bit0=kidOnline, bit1=controllerTimeout, etc.</span></span><br><span class="line">  ImuData imuM;</span><br><span class="line">  <span class="type">float</span>   distM;</span><br><span class="line">  <span class="type">float</span>   speedM;      <span class="comment">// optional, can be 0 if unused</span></span><br><span class="line">  ImuData imuK;        <span class="comment">// optional, can be 0 if unused</span></span><br><span class="line">  <span class="type">float</span>   distK;       <span class="comment">// optional</span></span><br><span class="line">&#125;;</span><br><span class="line"></span><br><span class="line"><span class="comment">/******************** RADIO ADDRESSES ********************/</span></span><br><span class="line"><span class="comment">// 5-byte addresses for direct star topology (Plan A)</span></span><br><span class="line"><span class="comment">// Controller communicates directly with both Mother and Kid</span></span><br><span class="line"><span class="type">static</span> <span class="type">const</span> <span class="type">uint8_t</span> ADDR_C2M[<span class="number">6</span>] = <span class="string">&quot;C2M01&quot;</span>; <span class="comment">// Controller -&gt; Mother (CMD)</span></span><br><span class="line"><span class="type">static</span> <span class="type">const</span> <span class="type">uint8_t</span> ADDR_M2C[<span class="number">6</span>] = <span class="string">&quot;M2C01&quot;</span>; <span class="comment">// Mother -&gt; Controller (TEL)</span></span><br><span class="line"><span class="type">static</span> <span class="type">const</span> <span class="type">uint8_t</span> ADDR_C2K[<span class="number">6</span>] = <span class="string">&quot;C2K01&quot;</span>; <span class="comment">// Controller -&gt; Kid (CMD)</span></span><br><span class="line"><span class="type">static</span> <span class="type">const</span> <span class="type">uint8_t</span> ADDR_K2C[<span class="number">6</span>] = <span class="string">&quot;K2C01&quot;</span>; <span class="comment">// Kid -&gt; Controller (TEL)</span></span><br><span class="line"></span><br><span class="line"><span class="comment">/******************** RADIO CONFIGURATION CONSTANTS ********************/</span></span><br><span class="line"><span class="comment">// Shared radio settings across all nodes</span></span><br><span class="line"><span class="type">static</span> <span class="type">const</span> <span class="type">uint8_t</span> RADIO_CHANNEL = <span class="number">90</span>;</span><br><span class="line"><span class="type">static</span> <span class="type">const</span> rf24_datarate_e RADIO_DATA_RATE = RF24_250KBPS;</span><br><span class="line"><span class="type">static</span> <span class="type">const</span> rf24_pa_dbm_e RADIO_PA_LEVEL = RF24_PA_LOW;</span><br><span class="line"><span class="type">static</span> <span class="type">const</span> <span class="type">uint32_t</span> FAILSAFE_MS = <span class="number">200</span>;  <span class="comment">// Failsafe timeout (200ms)</span></span><br><span class="line"></span><br><span class="line"><span class="meta">#<span class="keyword">endif</span> <span class="comment">// RADIO_PROTOCOL_H</span></span></span><br></pre></td></tr></table></figure><h2 id="References"><a href="#References" class="headerlink" title="References"></a>References</h2><ul><li><a href="https://devpost.com/software/moonline#updates">TachyAstroach Project on DevPost</a></li><li>Team: <a href="https://www.linkedin.com/in/peijie-liu-gatech/">Peijie Liu</a>,<a href="https://www.linkedin.com/in/zerun-wang/">Zerun Wang</a>, <a href="https://www.linkedin.com/in/lyu-hongyi/">Hongyi Lyu</a>, <a href="https://www.linkedin.com/in/aimeeyutingzheng/">Yuting Zheng</a></li></ul><img src="/2026/01/26/note-TackyAstroach/certificate.png" class="" title="First place - IEEE Robotech 2026"><hr><p><em>Just a quick note from my engineering journal. More detailed projects in <a href="/categories/Technical-Projects/">Technical Projects</a>.</em></p>]]>
    </content>
    <id>https://peijie.dev/2026/01/26/note-TackyAstroach/</id>
    <link href="https://peijie.dev/2026/01/26/note-TackyAstroach/"/>
    <published>2026-01-26T05:00:00.000Z</published>
    <summary>Quick circuit notes from my first hardcore hackathon - building a quadruped rover with ejectable sub-rover, all hand-wired on protoboard in 36 hours.</summary>
    <title>Building a Mother-Daughter Rover in 36 Hours - Circuit Notes from IEEE Robotech</title>
    <updated>2026-04-08T03:11:21.060Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Technical Projects" scheme="https://peijie.dev/categories/Technical-Projects/"/>
    <category term="PCB Design" scheme="https://peijie.dev/tags/PCB-Design/"/>
    <category term="Power Electronics" scheme="https://peijie.dev/tags/Power-Electronics/"/>
    <category term="Embedded Systems" scheme="https://peijie.dev/tags/Embedded-Systems/"/>
    <category term="Energy Harvesting" scheme="https://peijie.dev/tags/Energy-Harvesting/"/>
    <category term="Medical Devices" scheme="https://peijie.dev/tags/Medical-Devices/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>🔍 AI Assistance Disclosure</strong> (click to expand)</summary><p>This technical documentation has been proofread by Claude-Sonnet-4 for readability, grammar, and formatting consistency. All technical content, project details, circuit designs, measurements, and conclusions have been verified and approved by the author.</p><p><strong>Interested in my personal writing style?</strong> Check out my <a href="/categories/Stories-Writing/">Stories &amp; Writing</a> for 100% human-authored content.</p></details><hr><h2 id="Project-Overview"><a href="#Project-Overview" class="headerlink" title="Project Overview"></a>Project Overview</h2><p><strong>μCHIMERA (Micro Composite Harvesting &amp; Integrated Modular Energy Regeneration Array)</strong><br><em>date: 2026-01-15</em><br><em>updated: 2026-02-03</em></p><p>This project develops a stackable multi-source energy harvesting system designed for battery-free wearable and implantable medical devices. The platform integrates <strong>solar</strong>, <strong>thermoelectric (TEG)</strong>, and <strong>piezoelectric (PZT)</strong> harvesting modules with an intelligent <strong>50F hybrid storage</strong> architecture.</p><p><strong>Key Achievements:</strong></p><ul><li><strong>Competed in Georgia Tech&#39;s 2026 InVenture Prize, securing <strong>$1,000</strong> in seed prototype funding</strong></li><li>Engineered power conversion circuitry featuring <strong>&lt;1μA quiescent current</strong> and 4-channel stackable energy routing with intelligent priority management and load matching</li><li>Designed custom ultra-low-power boost converter achieving <strong>95% efficiency</strong> at micro-watt levels</li><li>Implemented cold-start capability for thermoelectric generator operating from <strong>20mV input</strong> (40mV typical) at temperature differentials as low as <strong>0.2°C ΔT</strong></li><li>Achieved solar harvesting from <strong>5μW to 510mW</strong> with MPPT optimization for indoor low-light environments (0.12V minimum input)</li><li>Piezoelectric module delivers <strong>88mW RMS</strong> from random vibration sources</li></ul><img src="/2026/01/15/project-uChimera/chimera_flyer.jpg" class="" title="μCHIMERA - Multi-Source Energy Harvesting System"><hr><h2 id="Team"><a href="#Team" class="headerlink" title="Team"></a>Team</h2><p>This project was developed as part of Georgia Tech&#39;s InVenture Prize competition with a talented interdisciplinary team: Huge shoutout to all of my awesome teammates who made this possible!</p><table><thead><tr><th>Role</th><th>Team Member</th><th>Responsibilities</th></tr></thead><tbody><tr><td><strong>Initiator &amp; Chief Engineer</strong></td><td>Peijie Liu</td><td>Circuit design (all modules + main board), system architecture, pogopin design, firmware development</td></tr><tr><td><strong>Solar Module Responsible Engineer</strong></td><td><a href="https://www.linkedin.com/in/zerun-wang/">Zerun Wang</a></td><td>Structure design, stacking topology, 3D printing &amp; fabrication</td></tr><tr><td><strong>PZT Module Engineer</strong></td><td><a href="https://www.linkedin.com/in/lyu_hongyi/">Hongyi Lyu</a></td><td>Structure 3D modeling, production render</td></tr><tr><td><strong>TEG Module Responsible Engineer</strong></td><td><a href="https://www.linkedin.com/in/aimeeyutingzheng/">Yuting Zheng Aimee</a></td><td>Structure &amp; integration, market research, business plan, professional documentation</td></tr></tbody></table><hr><h2 id="Motivation-Towards-Energy-Autonomous-Medical-Devices"><a href="#Motivation-Towards-Energy-Autonomous-Medical-Devices" class="headerlink" title="Motivation: Towards Energy-Autonomous Medical Devices"></a>Motivation: Towards Energy-Autonomous Medical Devices</h2><p>Wearable devices and implantable medical instruments—such as cardiac pacemakers—face a critical challenge: battery lifespan and replacement. For implantable devices, battery replacement means invasive surgery, increased infection risk, and significant patient burden. Even for wearables, frequent charging disrupts continuous health monitoring.</p><p><em>What if medical devices could harvest energy from their environment and operate indefinitely without battery replacement?</em></p><p>This question drove the μCHIMERA project. The human body and its environment offer multiple ambient energy sources: body heat creates temperature gradients suitable for thermoelectric harvesting, motion generates mechanical energy for piezoelectric conversion, and ambient light—even indoors—provides photovoltaic potential. The challenge lies in efficiently capturing these micro-power sources and intelligently managing their combined output.</p><h3 id="Target-Applications"><a href="#Target-Applications" class="headerlink" title="Target Applications"></a>Target Applications</h3><ul><li><strong>Implantable Medical Devices</strong>: Cardiac pacemakers, neurostimulators, drug delivery pumps</li><li><strong>Wearable Health Monitors</strong>: Continuous glucose monitors, ECG patches, fitness trackers</li><li><strong>Smart Wearables</strong>: Smart watches, smart rings, hearing aids</li><li><strong>Industrial IoT</strong>: Remote sensor nodes, structural health monitors</li></ul><h3 id="Module-Stacking-System"><a href="#Module-Stacking-System" class="headerlink" title="Module Stacking System"></a>Module Stacking System</h3><p>The modular design allows users to configure μCHIMERA for their specific application by selecting only the relevant harvesting modules.</p><img src="/2026/01/15/project-uChimera/Pre_Stack.jpg" class="" title="μCHIMERA Modules Ready for Stacking"><img src="/2026/01/15/project-uChimera/Stacked.jpg" class="" title="μCHIMERA System - Fully Assembled Stack"><hr><h2 id="System-Architecture"><a href="#System-Architecture" class="headerlink" title="System Architecture"></a>System Architecture</h2><h3 id="Core-Design-Philosophy"><a href="#Core-Design-Philosophy" class="headerlink" title="Core Design Philosophy"></a>Core Design Philosophy</h3><p>The μCHIMERA system employs a <strong>modular stackable architecture</strong> where each energy harvesting module operates independently while contributing to a shared energy reservoir. This approach offers several advantages:</p><ol><li><strong>Scalability</strong>: Users can stack only the modules relevant to their application</li><li><strong>Redundancy</strong>: System continues operating even if one energy source is unavailable</li><li><strong>Optimization</strong>: Each module&#39;s PMIC is tuned for its specific energy source characteristics</li></ol><h3 id="Energy-Flow-Architecture"><a href="#Energy-Flow-Architecture" class="headerlink" title="Energy Flow Architecture"></a>Energy Flow Architecture</h3><p>The system implements a sophisticated multi-tier energy storage and management scheme:</p><table><thead><tr><th>Stage</th><th>Component</th><th>Function</th></tr></thead><tbody><tr><td><strong>Harvest</strong></td><td>Source-specific PMIC</td><td>Maximum power point tracking and boost conversion</td></tr><tr><td><strong>Buffer</strong></td><td>0.47F supercapacitor (per module)</td><td>Individual module energy storage at 5.5V</td></tr><tr><td><strong>Transfer</strong></td><td>Ideal diode array</td><td>Controlled energy transfer to main reservoir</td></tr><tr><td><strong>Reserve</strong></td><td>50F supercapacitor (main board)</td><td>Central energy storage and load supply</td></tr><tr><td><strong>Regulate</strong></td><td>Ultra-low-Iq buck converter</td><td>3.3V regulated output to load</td></tr></tbody></table><h3 id="Module-Operation-Cycle"><a href="#Module-Operation-Cycle" class="headerlink" title="Module Operation Cycle"></a>Module Operation Cycle</h3><p>Each harvesting module follows an autonomous charge-transfer cycle:</p><ol><li><strong>Harvesting Phase</strong>: The PMIC boosts energy from the source to charge the module&#39;s 0.47F supercapacitor to 5.5V</li><li><strong>Ready Signal</strong>: When module voltage exceeds 5V, the module asserts its <strong>Power Good (PG)</strong> signal</li><li><strong>Transfer Phase</strong>: The main board detects PG, evaluates system state, and asserts <strong>Enable (EN)</strong> to activate the ideal diode</li><li><strong>Energy Transfer</strong>: Energy flows from module supercapacitor to the 50F main reservoir</li><li><strong>Cutoff</strong>: When module voltage drops below 3.3V (buck converter dropout), PG deasserts and the module returns to harvesting</li></ol><h3 id="Intelligent-Power-Management"><a href="#Intelligent-Power-Management" class="headerlink" title="Intelligent Power Management"></a>Intelligent Power Management</h3><p>The main board&#39;s <strong>nRF52840</strong> microcontroller orchestrates the entire system:</p><ul><li><strong>Coulomb Counting</strong>: Tracks total stored energy in the 50F reservoir</li><li><strong>Load Profiling</strong>: Monitors discharge patterns during previous cycles</li><li><strong>Dynamic Current Limiting</strong>: Adjusts charging current limits based on module PG states and load requirements</li><li><strong>Graceful Shutdown</strong>: Issues <strong>SHDN</strong> signal before energy depletion to ensure proper load device shutdown</li></ul><img src="/2026/01/15/project-uChimera/Intergrated.jpg" class="" title="Assembled μCHIMERA Module"><hr><h2 id="Harvesting-Modules"><a href="#Harvesting-Modules" class="headerlink" title="Harvesting Modules"></a>Harvesting Modules</h2><h3 id="Solar-Energy-Module-LTC3105-BQ25570"><a href="#Solar-Energy-Module-LTC3105-BQ25570" class="headerlink" title="Solar Energy Module (LTC3105&#x2F;BQ25570)"></a>Solar Energy Module (LTC3105&#x2F;BQ25570)</h3><p>The solar module targets indoor photovoltaic harvesting where light levels are typically 200-500 lux—orders of magnitude lower than outdoor conditions.</p><p><strong>Key Features:</strong></p><ul><li>BQ25570 for high-efficiency MPPT &#x2F; LTC3105 for lower cold-startup voltage (Diode Voltage Drop Topology)</li><li>Minimum input voltage: <strong>0.12V</strong> (enabling operation under dim indoor lighting)</li><li>Power range: <strong>5μW to 510mW</strong></li><li>MPPT efficiency: &gt;97% across operating range</li></ul><img src="/2026/01/15/project-uChimera/SOLAR_PCB.jpg" class="" title="Solar Harvesting Module - Assembled PCB"><h3 id="Thermoelectric-Generator-Module-LTC3108"><a href="#Thermoelectric-Generator-Module-LTC3108" class="headerlink" title="Thermoelectric Generator Module (LTC3108)"></a>Thermoelectric Generator Module (LTC3108)</h3><p>The TEG module harvests energy from temperature differentials between body heat and ambient air—typically only 1-5°C on the skin surface.</p><p><strong>Key Features:</strong></p><ul><li>Cold-start capability from <strong>20mV</strong> input (industry-leading)</li><li>Operates at ΔT as low as <strong>0.2°C</strong></li><li>Integrated transformer driver eliminates external oscillator</li><li>Output power scales with temperature differential</li></ul><img src="/2026/01/15/project-uChimera/TEG_PCB.jpg" class="" title="TEG Harvesting Module - Assembled PCB"><h3 id="Piezoelectric-Module-LTC3588"><a href="#Piezoelectric-Module-LTC3588" class="headerlink" title="Piezoelectric Module (LTC3588)"></a>Piezoelectric Module (LTC3588)</h3><p>The PZT module converts mechanical vibration and motion into electrical energy, ideal for harvesting from human movement or environmental vibration.</p><p><strong>Key Features:</strong></p><ul><li>Full-bridge rectifier with integrated low-loss diodes</li><li>Handles AC input from piezoelectric elements directly</li><li><strong>88mW RMS</strong> from random vibration sources</li><li>Buck converter output configurable: 1.8V, 2.5V, 3.3V, or 3.6V</li></ul><img src="/2026/01/15/project-uChimera/exploded_view.png" class="" title="μCHIMERA System Exploded View - Modular Architecture"><hr><h2 id="Circuit-Design-Details"><a href="#Circuit-Design-Details" class="headerlink" title="Circuit Design Details"></a>Circuit Design Details</h2><h3 id="Power-Path-Management"><a href="#Power-Path-Management" class="headerlink" title="Power Path Management"></a>Power Path Management</h3><p>Each module employs the <strong>MAX40200</strong> ideal diode controller to manage energy transfer to the main board. Unlike traditional Schottky diodes with ~400mV forward drop, the MAX40200 achieves <strong>&lt;10mV drop</strong> at low currents—critical when harvesting micro-watts.</p><h3 id="Ultra-Low-Quiescent-Current-Design"><a href="#Ultra-Low-Quiescent-Current-Design" class="headerlink" title="Ultra-Low Quiescent Current Design"></a>Ultra-Low Quiescent Current Design</h3><p>Every component was selected for minimum quiescent current:</p><table><thead><tr><th>Component</th><th>Function</th><th>Quiescent Current</th></tr></thead><tbody><tr><td>LTC3108</td><td>TEG boost converter</td><td>6μA</td></tr><tr><td>LTC3105</td><td>Solar boost converter</td><td>12μA</td></tr><tr><td>LTC3105</td><td>Solar boost converter + buck</td><td>0.48μA</td></tr><tr><td>LTC3588-1</td><td>PZT rectifier + buck</td><td>1.7uA</td></tr><tr><td>MAX40200</td><td>Ideal diode</td><td>1μA</td></tr><tr><td>TPS62840</td><td>Main buck converter</td><td>60nA</td></tr></tbody></table><p>Total system standby current: <strong>&lt;1μA</strong> (excluding MCU sleep mode)</p><h3 id="Main-Board-Intelligence"><a href="#Main-Board-Intelligence" class="headerlink" title="Main Board Intelligence"></a>Main Board Intelligence</h3><p>The nRF52840 was chosen for its ultra-low-power capabilities:</p><ul><li><strong>Sleep current</strong>: 0.3μA with RTC running</li><li><strong>BLE capability</strong>: Enables wireless status reporting (future feature)</li><li><strong>Analog inputs</strong>: Direct monitoring of all module voltages</li><li><strong>PWM outputs</strong>: Dynamic current limit control</li></ul><hr><h2 id="PCB-Design"><a href="#PCB-Design" class="headerlink" title="PCB Design"></a>PCB Design</h2><h3 id="Main-Board-Mother-Board"><a href="#Main-Board-Mother-Board" class="headerlink" title="Main Board (Mother Board)"></a>Main Board (Mother Board)</h3><p>The main board integrates the 50F supercapacitor, MCU, coulomb counter, and 4-channel module interface.</p><img src="/2026/01/15/project-uChimera/MPCB2D.png" class="" title="μCHIMERA Main Board - 2D PCB Layout"><p><strong>Design Considerations:</strong></p><ul><li>2-layer stackup to save prototype fee</li><li>Kelvin connections for coulomb counter sense resistor</li><li>Modular connector footprint accommodating future expansion</li></ul><h3 id="Child-Board-Harvesting-Modules"><a href="#Child-Board-Harvesting-Modules" class="headerlink" title="Child Board (Harvesting Modules)"></a>Child Board (Harvesting Modules)</h3><p>Each harvesting module shares a common form factor enabling vertical stacking.</p><img src="/2026/01/15/project-uChimera/CPCB2D.png" class="" title="μCHIMERA Child Module - 2D PCB Layout"><p><strong>Design Considerations:</strong></p><ul><li>Compact 2-layer design to minimize cost</li><li>Standardized edge connector for inter-module communication</li><li>Reserved footprints for optional filtering components</li></ul><hr><h2 id="Specifications-Summary"><a href="#Specifications-Summary" class="headerlink" title="Specifications Summary"></a>Specifications Summary</h2><table><thead><tr><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td><strong>Solar Module</strong></td><td></td></tr><tr><td>Input Voltage Range</td><td>0.12V - 5V</td></tr><tr><td>Power Range</td><td>5μW - 510mW</td></tr><tr><td>MPPT Efficiency</td><td>&gt;97%</td></tr><tr><td><strong>TEG Module</strong></td><td></td></tr><tr><td>Minimum Start-up Voltage</td><td>20mV</td></tr><tr><td>Minimum Operating ΔT</td><td>0.2°C</td></tr><tr><td>Cold-Start Voltage</td><td>40mV</td></tr><tr><td><strong>PZT Module</strong></td><td></td></tr><tr><td>Maximum Output Power</td><td>88mW RMS</td></tr><tr><td>Output Voltage Options</td><td>1.8V &#x2F; 2.5V &#x2F; 3.3V &#x2F; 3.6V</td></tr><tr><td><strong>System</strong></td><td></td></tr><tr><td>Main Storage Capacity</td><td>50F @ 5.5V</td></tr><tr><td>Module Storage Capacity</td><td>0.47F @ 5.5V (each)</td></tr><tr><td>Regulated Output</td><td>3.3V</td></tr><tr><td>System Quiescent Current</td><td>&lt;1μA</td></tr><tr><td>Number of Stackable Modules</td><td>4 (expandable)</td></tr><tr><td>MCU</td><td>nRF52840</td></tr></tbody></table><hr><h2 id="Future-Plans"><a href="#Future-Plans" class="headerlink" title="Future Plans"></a>Future Plans</h2><h3 id="Near-Term-Development"><a href="#Near-Term-Development" class="headerlink" title="Near-Term Development"></a>Near-Term Development</h3><ol><li><strong>Wireless Monitoring</strong>: Implement BLE status reporting via nRF52840</li><li><strong>Adaptive MPPT</strong>: Machine learning-based tracking for variable conditions</li><li><strong>Enclosure Design</strong>: Custom injection-molded housing for wearable applications</li></ol><h3 id="Future-Module-Expansion"><a href="#Future-Module-Expansion" class="headerlink" title="Future Module Expansion"></a>Future Module Expansion</h3><p>The stackable architecture supports additional harvesting technologies:</p><ul><li><strong>mmWave&#x2F;RF Harvester</strong>: Capture ambient radio frequency energy</li><li><strong>Biofuel Cell</strong>: Generate power from biological fluids (glucose, lactate)</li><li><strong>TENG (Triboelectric Nanogenerator)</strong>: Harvest energy from contact&#x2F;friction</li><li><strong>Hygro-electric Generator</strong>: Extract energy from humidity gradients</li></ul><h3 id="Commercialization-Path"><a href="#Commercialization-Path" class="headerlink" title="Commercialization Path"></a>Commercialization Path</h3><ul><li>Partner with medical device manufacturers for pilot integration</li><li>Develop evaluation kits for research institutions</li><li>Pursue FDA pre-submission for implantable device applications</li></ul><hr><h2 id="Resources"><a href="#Resources" class="headerlink" title="Resources"></a>Resources</h2><ul><li><strong>Schematic</strong>: Available on request</li><li><strong>PCB Files</strong>: Contact for licensing information</li><li><strong>InVenture Prize</strong>: <a href="https://inventureprize.gatech.edu/">Georgia Tech InVenture Prize 2026</a></li></ul><hr><p><em>Have questions about this project? Feel free to reach out via the <a href="/contact/">Contact</a> page or my <a href="https://space.bilibili.com/490557212/">Bilibili channel</a>.</em></p>]]>
    </content>
    <id>https://peijie.dev/2026/01/15/project-uChimera/</id>
    <link href="https://peijie.dev/2026/01/15/project-uChimera/"/>
    <published>2026-01-15T05:00:00.000Z</published>
    <summary>A modular multi-source energy harvesting platform integrating solar, thermoelectric, and piezoelectric modules with intelligent power management, enabling battery-free operation for wearable and implantable medical devices.</summary>
    <title>μCHIMERA - Stackable Multi-Source Energy Harvesting System for Battery-Free Medical Devices</title>
    <updated>2026-02-03T05:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Stories &amp; Writing" scheme="https://peijie.dev/categories/Stories-Writing/"/>
    <category term="Personal" scheme="https://peijie.dev/tags/Personal/"/>
    <category term="Reflection" scheme="https://peijie.dev/tags/Reflection/"/>
    <category term="Engineering" scheme="https://peijie.dev/tags/Engineering/"/>
    <category term="Community" scheme="https://peijie.dev/tags/Community/"/>
    <category term="Identity" scheme="https://peijie.dev/tags/Identity/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer human-only"><summary><strong>✏️ Authorship Note</strong> (click to expand)</summary><p>This piece is <strong>100% human-authored</strong>. No AI assistance was used in writing, editing, or proofreading this content. What you read here represents my authentic voice and personal perspective.</p></details><details class="course-note"><summary><strong>📚 Course Submission Note</strong> (click to expand)</summary><p>This piece was submitted to <strong>Georgia Tech&#39;s ENGL 1101</strong> as Project 1: Public Intimacies — A Personal Public Narrative.</p></details><hr><p>&quot;Just some naive amateur using a low-end oscilloscope! What&#39;s fake can never be real; you&#39;re just a kid who can&#39;t grow up.&quot; A user posting as JCDQ2003 cruelly dismissed me on a DIY electronics forum. As a self-taught ten-year-old, I was proud of repairing the oscilloscope I salvaged from a junkyard. I had pulled it from beneath a pile of discarded printers at the school recycling station, looked for outdated manuals from obscure corners of the internet, tested its circuits, and replaced damaged parts. I stood by my measurements. Yet JCDQ2003, a professional engineer with thousands of subscribers whose projects regularly made the forum&#39;s front page, publicly shamed me for questioning his design.</p><p>Those cursive words didn&#39;t just dismiss my findings, but also negate my acquirement, my poverty, and my audacity to speak in spaces where &quot;real&quot; engineers gathered. Following the post, other users piled on, some laughing at my shabby lab environment, others vilifying me for not being able to self-fulfill at a theoretical level. Seeing those comments, <em>I felt like a poor, ignorant, stubborn child.</em></p><p>It wasn&#39;t accidental that I chose an online forum as my primary playground, rather than ordinary public squares like parks or schools; in a word, it was born out of isolation. While my peers spent afternoons racing remote-controlled cars, I would immediately flip mine over, locate its screws or snaps, and tear them open. Half the time, that poor car would wind up wrapped in tape, sinking in the bathtub as I attempted to convert it into a submarine. I loved every second of it, yet my peers just firmly identified me as a weirdo who broke the toys and kicked me out of the clan. On the other hand, the sequential process, like locating screws, tearing down shells, and modifying circuits, provided me with unprecedented stability during a period when my family life offered none. My parents had just divorced and separated life apart, leaving my existence into a wispy figure that ceaselessly commuted between two homes, two sets of rules, and two versions of self. Peers and families nearly span every possible societal connection for a ten-year-old, but I gain none from them.</p><p>As a result, I naturally transferred to online forums. Digital spaces generally promise acceptance based on contents rather than personal identities like age, economics, or family circumstances – only if nobody enjoys doxing for fun – that physical spaces don&#39;t. I used to treat that forum as my true home, a public square where thousands of kindred spirits gathered, yet where I could essentially remain alone and had the privacy of my circumstances.</p><p>Back to the cyberbullying moment, it broke my utopian hypothesis that online spaces make knowledge sharing democratic. Those mundane terms that a ten-year-old would never get in touch from the real world suddenly exposed to me: hierarchies, unwritten belongings, gatekeepers, weatherrockers… My bedroom -- which shuttled between my mother&#39;s apartment on weekdays and my father&#39;s house on weekends -- suddenly felt smaller. The forums had been my escape tunnel from that fragmented reality, a place where I thought ideas mattered more than circumstances. Now, even there, I was marked as an outsider.</p><p>My approach towards digital spaces became defensive, almost militaristic, as the result of that attack. I began &quot;armoring&quot; myself with concrete knowledge that nobody could negate, as the most sophisticated engineer in the world still has to obey Kirchhoff&#39;s Law. I began studying university textbooks on circuitry, teaching myself the mathematical proof behind any piece of my prior unspecified hands-on experiences, and practicing theoretical correctness rather than randomly tinkering within mistakes. Each equation derived, each concept understood, felt like an upgrade of my armor against possible humiliation. I documented the process and shared it online as revenge to that gatekeeper who wounded me, despite switching to a new username. In this way of learning publicly, I was making a statement about who deserves the qualification to make a full-stack, almighty electronic engineer.</p><p>Things went exactly the same way as my prediction. People began recognizing my work, and some even suggested me to post videos of my building process. The fully-armored me hesitated: videos would reveal my age, my shabby workspace, everything that once caused the humiliation. Yet I finally decided on transparency, believing that if they could see everything, there would be nothing left to attack.</p><p>The first video showed my young hands, steadily assembling a replication of the $2000 Marantz Preamplifier under low cost. There wasn&#39;t an AI dubbing tool by that time, so I narrated with my childish tone, explaining each component&#39;s utilization. I was so terrified of exhibiting so many personal details that I didn&#39;t log in until the next weekend, yet the comments surprised me. Engineers from real industries started following my channel, providing me with professional reviews and constructive feedbacks. Most of them joined my channel for my content&#39;s professionality rather than the novelty created by my childish figure. The public space that wounded me began to heal me, though in ways I didn&#39;t immediately recognize.</p><p>Then came the discovery that set my channel viral. While tinkering around with my ancient oscilloscope, I fortuitously developed an instant visualized method to distinguish sound quality discrepancies of any audiophile equipment. As a note, traditional electroacoustic measurements require expensive analyzers and output numerical results that are abstract and counterintuitive. My technique was unorthodox, however, due to the limitations of my equipment, yet it indicates integrated indicators at a glance. When I posted the video series explaining this, the view count exploded to 100k within days.</p><p>The numbers became intoxicating. I could spend a whole day sitting in front of my computer doing nothing but pressing that &quot;refresh&quot; button. More views, more subscribers, more likes, all of which metrics proved the recognition from the public, validating my success as a self-taught engineer. My phone buzzed constantly with notifications – comments, milestones, and increasingly, collaboration offers from audio equipment manufacturers. Visibility always comes with corruption. &quot;Review our amplifier, please, name your price and we&#39;ll pay you,&quot; many promised, followed by a script document telling me exactly what to advocate. Others were more subtle: &quot;We&#39;ve sent you our earbuds. Please post a review if you find our product impressive, and we respect your honest opinions.&quot;</p><p>I accepted a few of those subtle requests while bouncing the brokerage; I posted objective reviews as usual; and I regretted it right away. My comment sections got flooded with bot-generated praise and coordinated attacks, depending on which interest group I had pleased or angered. The public square for knowledge sharing was getting colonized by the capital, with me being an accomplice. Another kind of pressure from the public, which was different from what I&#39;d faced with the humiliation, suddenly came to me.</p><p>The temptation was real. They were bribing me with such large paychecks for posting one promotional video that I would instead earn from hundreds of non-profit videos. But accepting would mean betraying the community that had taught me, healed me, and trusted my independence. It would mean becoming one of the gatekeepers who values metrics over meaning, someone who once cyberbullied me.</p><p>Awakened to the truth, I chose differently. I collected tested units from my subscribers, while declining and sometimes publicly exposing those briber&#39;s tactics. My growth slowed, with aggressive comments even increasing – now from marketing competitors rather than bots. But my core audience, those kindred spirits I&#39;d originally sought, remained. I even made an intimate friendship with the MOONDROP CEO, who appreciated my honesty and released a hotfix instead of viciously tipping off my video as many had done after I demonstrated a bug on their product.</p><p>On my sixteenth birthday, I finally had enough savings from the 1$ per 1000 views scanty platform rewards to purchase a decent oscilloscope. As I unboxed it, my thoughts returned to that humiliating event six years ago. <em>Was I wronged?</em></p><p>I ran the exact same tests, which confirmed my original discovery with quantized evidence. I sat staring at the screen: with my current platform, I could publicly vindicate my younger self, could name the engineer who&#39;d attacked me, could mobilize my audience to recognize his error, could accomplish my great &quot;revenge.&quot;</p><p>Looking back on my journey, I suddenly felt vindication hollow compared to contribution. How others identify with me doesn&#39;t matter anymore; instead, how I see myself given power over others does. The public square that had shaped me, for better and worse, needed builders more than warriors. Oscilloscopes are tools for understanding, rather than props for performance.</p><p>The old oscilloscope sits on my shelf, its ancient circuit primitive but working. It doesn&#39;t see through some important signals, though: personal values can&#39;t be measured by any instrument but conscience.</p><p><strong>It doesn&#39;t need external validation anyway. Neither do I.</strong></p><hr><p><em>Thanks for reading. If you enjoyed this piece, check out my other <a href="/categories/Stories-Writing/" style="color: #ffbf00;">Stories &amp; Writings.</a></em></p><p><em>Want to dive deeper into my technical work? Explore my <a href="/categories/Technical-Projects/" style="color: #00f7ff;">Technical Portfolio.</a></em></p><p><em>For ongoing updates and quick technical notes, check out the <a href="/categories/Tech-Notes/" style="color: #44ff00;">Tech Notes.</a></em></p>]]>
    </content>
    <id>https://peijie.dev/2025/09/18/essay-digital-outcast/</id>
    <link href="https://peijie.dev/2025/09/18/essay-digital-outcast/"/>
    <published>2025-09-18T04:00:00.000Z</published>
    <summary>The old oscilloscope sits on my shelf, its ancient circuit primitive but working. It doesn't need external validation anyway. Neither do I.</summary>
    <title>The Obsolete Oscilloscope: From Digital Outcast to Community Builder</title>
    <updated>2026-04-08T03:11:21.041Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Stories &amp; Writing" scheme="https://peijie.dev/categories/Stories-Writing/"/>
    <category term="Personal" scheme="https://peijie.dev/tags/Personal/"/>
    <category term="Reflection" scheme="https://peijie.dev/tags/Reflection/"/>
    <category term="Communication" scheme="https://peijie.dev/tags/Communication/"/>
    <category term="Family" scheme="https://peijie.dev/tags/Family/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer human-only"><summary><strong>✏️ Authorship Note</strong> (click to expand)</summary><p>This piece is <strong>100% human-authored</strong>. No AI assistance was used in writing, editing, or proofreading this content. What you read here represents my authentic voice and personal perspective.</p></details><details class="course-note"><summary><strong>📚 Course Submission Note</strong> (click to expand)</summary><p>This piece was submitted to <strong>Georgia Tech&#39;s ENGL 1101</strong> as Project 0: Common First Week Assignment.</p></details><hr><p>Hi Mr.|Mrs. Instructor, </p><p>I hope this letter finds you well. I&#39;m Peijie Liu, an Electrical Engineering Sophomore at GaTech. My nickname is Paige, which is intended to make my life easier as it pronounces similar to Peijie. You can call me with either of them, anyway.</p><p>So much for the introduction, I&#39;ll move on to my narration. This story of Successful Communication happened some days before my arrival at GaTech. On my way to the airport, I received at text message form my grandpa: &quot;Dear grandson, I watched your livestream last night … As an old grandpa who has lived for decades, I&#39;d like to share you some useful advice … Some things shouldn&#39;t be said openly during public interviews, and be mindful of potential misinterpretations … Try to focus on positive aspects of your school to protect your own reputation … Don&#39;s casually express likes or dislikes…&quot; I was shocked by that message as I&#39;d never expected my grandpa to watch or even criticize my streaming about university application experiences. </p><p>I&#39;d always been someone with strong opinions and been willing to express myself. During my livestream, of course I did openly share both positive and negative experiences. While my grandpa – who clearly adheres to a conservative Chinese middle-of-the-path way of thinking – seemed concerned. When I first read his message, a series of perfect counterarguments naturally flashed through my mind: <em>If people I might offend won&#39;t be part of my future, losing their support won&#39;t be a great deal; my school&#39;s prestige is largely shaped by my accomplishments rather than hypocritical praising…</em></p><p>But just as I was about to type these thoughts into the chat, the writing education I received made me pause. When I think of the logics and rhetorics required to make the composition, I realize that aggressive statements would only make the situation worse. I instead should use a more gentle, clear and respectful language to help my grandpa understand my perspectives. I ended up rephrasing my opinions: &quot;Got your message, Grandpa. Thank you for watching my livestream, and I&#39;d like to share some of my insights about your advice… I understand that responsibility is a great concern during public speeches… I&#39;ll remind myself to avoid groundless criticism… but being completely neutral and not speaking the truth would make my sharing meaningless…&quot;. </p><p>Identifying rhetorical situations, including audiences, has been an important step to take before writing. Thanks to that, my grandfather ended up feeling relieved by the message and told me that I shall act according to my own willingness, as long as they&#39;re carefully considered approaches. With this composition course, I&#39;m planning to train my language organization skills and shorten that &quot;pause and think&quot; process. <strong>When I get sophisticated in reasoning, logics and rhetorics, I hopefully will be able to naturally implement them to not only writing but also speaking.</strong></p><p>Cordially,<br>Peijie Liu</p><hr><p><em>Thanks for reading. If you enjoyed this piece, check out my other <a href="/categories/Stories-Writing/" style="color: #ffbf00;">Stories &amp; Writings.</a></em></p><p><em>Want to dive deeper into my technical work? Explore my <a href="/categories/Technical-Projects/" style="color: #00f7ff;">Technical Portfolio.</a></em></p><p><em>For ongoing updates and quick technical notes, check out the <a href="/categories/Tech-Notes/" style="color: #44ff00;">Tech Notes.</a></em></p>]]>
    </content>
    <id>https://peijie.dev/2025/08/23/essay-letter-to-instructor/</id>
    <link href="https://peijie.dev/2025/08/23/essay-letter-to-instructor/"/>
    <published>2025-08-23T04:00:00.000Z</published>
    <summary>Identifying rhetorical situations, including audiences, has been an important step to take before writing.</summary>
    <title>Letter to the Instructor: On Rhetorical Situations</title>
    <updated>2026-04-08T03:11:21.041Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Technical Projects" scheme="https://peijie.dev/categories/Technical-Projects/"/>
    <category term="Audio Electronics" scheme="https://peijie.dev/tags/Audio-Electronics/"/>
    <category term="PCB Design" scheme="https://peijie.dev/tags/PCB-Design/"/>
    <category term="Analog Design" scheme="https://peijie.dev/tags/Analog-Design/"/>
    <category term="Hi-Fi" scheme="https://peijie.dev/tags/Hi-Fi/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>📝 AI Assistance Disclosure</strong> (click to expand)</summary><p>This technical documentation has been proofread by Claude-Sonnet-4 for readability, grammar, and formatting consistency. All technical content, project details, circuit designs, measurements, and conclusions have been verified and approved by the author.</p><p><strong>Interested in my personal writing style?</strong> Check out my <a href="/categories/Stories-Writing/">Stories &amp; Writing</a> for 100% human-authored content.</p></details><hr><h2 id="Project-Overview"><a href="#Project-Overview" class="headerlink" title="Project Overview"></a>Project Overview</h2><p><strong>Super FDA (Fully Differential Amplifier)</strong><br><em>release date: 2025-04-20</em><br><em>last updated: 2026-01-25</em></p><p><em>This project is made possible with the help of my friend <strong>BH4GEX</strong>,</em><br><em>who initiated the LDO architecture and rev2 layout</em></p><p>This project aimed to develop a 200W fully differential Class AB amplifier that achieves exceptionally low distortion and high efficiency. The circuit can dynamically shift among <strong>4 feedback architectures</strong> and <strong>2 input stages</strong>, achieving as low as <strong>-135dB THD</strong> and <strong>-116dB THD+N</strong>.</p><p><strong>Key Achievements:</strong></p><ul><li>Designed and fabricated 5 PCB iterations, successfully launched product to market and generated over <strong>$1,000 in revenue</strong></li><li>Engineered innovative MOSFET bias compensation circuit that reduced crossover distortion, achieving <strong>-105dB open-loop THD+N</strong></li><li>Implemented fully differential architecture, realizing <strong>80Vpp output</strong> within ±24V supply and supporting remote common-mode feedback to eliminate interference—a reformatory approach compared to traditional amplifiers. <em>Patent application pending.</em></li><li>Developed high-power linear LDO architecture achieving <strong>10A output</strong> with only <strong>2.5V dropout voltage</strong>. <em>Patent application pending.</em></li></ul><img src="/2025/04/20/project-superFDA/Flyer.jpg" class="" title="Super FDA - Fully Differential Class AB Amplifier"><hr><h2 id="Motivation-Bridging-Efficiency-and-Fidelity"><a href="#Motivation-Bridging-Efficiency-and-Fidelity" class="headerlink" title="Motivation: Bridging Efficiency and Fidelity"></a>Motivation: Bridging Efficiency and Fidelity</h2><p>Class D amplifiers offer impressive efficiency, but distortion is an unavoidable trade-off. Even with post-filter feedback, the audio quality simply cannot match traditional Class AB amplifiers. This led me to wonder: <em>Is there a way to build a compact, high-efficiency Class AB amplifier?</em></p><p>The answer came when I discovered ADI&#39;s newly released <strong>ada4938-2</strong> fully differential op-amp. A thought struck me: <em>Why hasn&#39;t anyone built an ultra-high-power fully differential Class AB amplifier?</em></p><h3 id="The-Fully-Differential-Architecture"><a href="#The-Fully-Differential-Architecture" class="headerlink" title="The Fully Differential Architecture"></a>The Fully Differential Architecture</h3><p>The structure of a fully differential amplifier can be simplified as shown below:</p><img src="/2025/04/20/project-superFDA/fda.jpg" class="" title="Simplified Fully Differential Amplifier Structure"><p>The implementation is elegantly straightforward:</p><ol><li>Add a differential input stage (to provide gain)</li><li>Replace the two amplifying op-amps with conventional single-ended power amplifier circuits</li><li>Connect the servo amplifier output to the input stage&#39;s fully differential op-amp VOCM pin</li></ol><p>That&#39;s all there is to it!</p><p>Here&#39;s what makes this architecture remarkable: with a ±24V input, the theoretical output can reach <strong>96Vpp</strong>! This might sound counterintuitive at first, but consider this—when one module outputs +48V relative to the negative rail, the other module outputs -48V relative to the positive rail. The differential output is the sum: 96V peak-to-peak. Truly remarkable!</p><p>Furthermore, this common-mode feedback architecture inherently cancels distortion caused by component mismatching between the two channels.</p><hr><h2 id="Circuit-Architecture"><a href="#Circuit-Architecture" class="headerlink" title="Circuit Architecture"></a>Circuit Architecture</h2><h3 id="Single-Ended-Power-Module-Design"><a href="#Single-Ended-Power-Module-Design" class="headerlink" title="Single-Ended Power Module Design"></a>Single-Ended Power Module Design</h3><p>Following this concept, I first designed the single-ended power amplifier module. It&#39;s essentially a MOSFET push-pull stage driven by an op-amp, with a key innovation: a small-ratio feedback from the current mirrors at both MOSFET source terminals compensates for crossover distortion.</p><p>The detailed theory behind this technique can be found in this IEEE paper:<br><a href="https://ieeexplore.ieee.org/document/9381527">https://ieeexplore.ieee.org/document/9381527</a></p><h3 id="Complete-System-Integration"><a href="#Complete-System-Integration" class="headerlink" title="Complete System Integration"></a>Complete System Integration</h3><p>Two of these single-ended amplifier modules are connected after a fully differential input stage built around the ada4893. The outputs cross-feedback to each other&#39;s input terminals (common-mode feedback), and the servo amplifier output connects to the VOCM pin of the input stage. The current feedback mode made complex loop stable.</p><p>With proper common-mode and differential-mode compensation, the gain margin is excellent—the system remains stable up to <strong>1MHz</strong>!</p><img src="/2025/04/20/project-superFDA/FDAsim.png" class="" title="Simulation Results Showing Excellent Stability Margins"><h3 id="Four-Selectable-Feedback-Architectures"><a href="#Four-Selectable-Feedback-Architectures" class="headerlink" title="Four Selectable Feedback Architectures"></a>Four Selectable Feedback Architectures</h3><p>To facilitate debugging and experimentation, I incorporated two relays that allow free selection among feedback configurations:</p><table><thead><tr><th>Mode</th><th>Description</th></tr></thead><tbody><tr><td><strong>Open Loop</strong></td><td>Only MOSFET bias compensation active</td></tr><tr><td><strong>Small Loop Only</strong></td><td>Each single-ended power module feeds back locally</td></tr><tr><td><strong>Large Loop Only</strong></td><td>Power outputs cross-feedback to the differential input stage</td></tr><tr><td><strong>Hybrid Feedback</strong></td><td>Both small-loop local feedback and large-loop common-mode feedback active</td></tr></tbody></table><h3 id="Optional-Ultra-Low-Noise-JFET-Input-Stage"><a href="#Optional-Ultra-Low-Noise-JFET-Input-Stage" class="headerlink" title="Optional Ultra-Low-Noise JFET Input Stage"></a>Optional Ultra-Low-Noise JFET Input Stage</h3><p>Taking the design even further, I added an optional input stage based on the <strong>JFE2140</strong> ultra-low-noise JFET, also selectable via relay.</p><p>This gives the board a total of <strong>eight hardware-selectable sound profiles</strong>!</p><hr><h2 id="Design-Features"><a href="#Design-Features" class="headerlink" title="Design Features"></a>Design Features</h2><p>The PCB includes several thoughtful engineering touches:</p><ul><li><strong>XT90 2+2 Terminals</strong>: Thanks to the excellent phase and gain margins, remote feedback lines can be connected directly from the speaker terminals to further reduce distortion</li><li><strong>TPS7A39 Ultra-High PSRR Dual LDO</strong>: Powers the op-amps with exceptional power supply rejection</li><li><strong>BCM546&#x2F;556 Matched Transistor Pairs</strong>: Ensures precise matching in critical differential stages</li><li><strong>IRFP240&#x2F;9240 Power MOSFETs</strong>: Affordable and reliable workhorses</li><li><strong>Output Protection Relay &amp; Common-Mode Choke</strong>: Filters out the last traces of noise</li><li><strong>Generous Capacitor Footprints</strong>: Reserved space for audiophile-grade capacitors—I personally favor ELNA&#39;s Cerafine and Silmic II series!</li></ul><hr><h2 id="PCB-Evolution"><a href="#PCB-Evolution" class="headerlink" title="PCB Evolution"></a>PCB Evolution</h2><h3 id="Version-1-0-The-First-Attempt"><a href="#Version-1-0-The-First-Attempt" class="headerlink" title="Version 1.0: The First Attempt"></a>Version 1.0: The First Attempt</h3><p>My initial layout measured a hefty <strong>20×10cm</strong>—functional, but not compact enough for my standards.</p><img src="/2025/04/20/project-superFDA/SuperFDA_V1.0_2D.png" class="" title="Super FDA V1.0 - 2D Layout"><img src="/2025/04/20/project-superFDA/SuperFDA_V1.0_3D.png" class="" title="Super FDA V1.0 - 3D Render"><h3 id="Version-2-0-50-Size-Reduction"><a href="#Version-2-0-50-Size-Reduction" class="headerlink" title="Version 2.0: 50% Size Reduction"></a>Version 2.0: 50% Size Reduction</h3><p>After another week of intensive layout work, I managed to compress the board area by <strong>50%</strong>!</p><img src="/2025/04/20/project-superFDA/SuperFDA_V2.0_2D.png" class="" title="Super FDA V2.0 - Dramatically Reduced Footprint"><h3 id="Version-2-2-The-Final-Design"><a href="#Version-2-2-The-Final-Design" class="headerlink" title="Version 2.2: The Final Design"></a>Version 2.2: The Final Design</h3><p>The compact layout made high-power routing challenging. Despite using a 4-layer board, managing two main high-current power rails plus five auxiliary supply rails required significant effort.</p><img src="/2025/04/20/project-superFDA/SuperFDA_V2.2_2D.png" class="" title="Super FDA V2.2 - Final 2D Layout"><img src="/2025/04/20/project-superFDA/SuperFDA_V2.2_3D1.png" class="" title="Super FDA V2.2 - 3D Render Top View"><hr><h2 id="Assembly"><a href="#Assembly" class="headerlink" title="Assembly"></a>Assembly</h2><p>After PCB fabrication, the soldering process yielded beautiful results!</p><img src="/2025/04/20/project-superFDA/Soldered.jpg" class="" title="Completed Super FDA Board - Component Side"><h3 id="Innovative-MOSFET-Mounting-Solution"><a href="#Innovative-MOSFET-Mounting-Solution" class="headerlink" title="Innovative MOSFET Mounting Solution"></a>Innovative MOSFET Mounting Solution</h3><p>To save space, I folded the MOSFETs onto the back of the PCB—effectively sandwiching them between the PCB and the heatsink. With the heatsink attached, the complete assembly measures just <strong>10×10×5cm</strong> while delivering <strong>200W</strong> of output power!</p><img src="/2025/04/20/project-superFDA/Final.jpg" class="" title="Final Assembly with Heatsink - Remarkably Compact"><img src="/2025/04/20/project-superFDA/SuperFDA_V2.2_3D2.png" class="" title="3D Render Showing MOSFET Mounting Configuration"><hr><h2 id="Power-Supply-Development"><a href="#Power-Supply-Development" class="headerlink" title="Power Supply Development"></a>Power Supply Development</h2><p>A compact, high-performance amplifier demands an equally compact, high-performance power supply. Switching power supplies inevitably introduce noise, so I needed to develop an equally compact linear LDO solution.</p><h3 id="First-Approach-Paralleled-TPS7A47-33"><a href="#First-Approach-Paralleled-TPS7A47-33" class="headerlink" title="First Approach: Paralleled TPS7A47&#x2F;33"></a>First Approach: Paralleled TPS7A47&#x2F;33</h3><p>My initial solution paralleled five TPS7A47&#x2F;33 regulators to achieve 5A capacity.</p><img src="/2025/04/20/project-superFDA/tps7a.jpg" class="" title="Paralleled TPS7A Regulators"><p>Despite adding balancing resistors, some chips were &quot;slacking off&quot; due to slight output voltage mismatches. I had to add individual trimmer potentiometers to precisely adjust each regulator&#39;s output.</p><h3 id="The-Disaster"><a href="#The-Disaster" class="headerlink" title="The Disaster"></a>The Disaster</h3><p>After painstakingly soldering the board, it failed shortly after power-up! A cold solder joint on a compensation capacitor caused unstable high-frequency oscillation in the feedback loop. The fragile TPS7A47 chips were instantly destroyed by the massive current surge (I had a load connected).</p><h3 id="The-Custom-High-Current-LDO"><a href="#The-Custom-High-Current-LDO" class="headerlink" title="The Custom High-Current LDO"></a>The Custom High-Current LDO</h3><p>With no choice but to start over, I designed a completely custom high-current LDO.</p><img src="/2025/04/20/project-superFDA/LDO_V4.0_2D.png" class="" title="Custom LDO V4.0 - 2D Layout"><img src="/2025/04/20/project-superFDA/LDO_V4.0_3D.png" class="" title="Custom LDO V4.0 - 3D Render"><p>The main challenge was reducing the dropout voltage. For detailed information, see my <strong>&quot;MEGALDO&quot;</strong> project page.</p><p>The clever solution connects the TPS7A47 with an external low-Vth MOSFET in a Darlington-like configuration:</p><img src="/2025/04/20/project-superFDA/LDOsim.png" class="" title="LDO Simulation Results"><p>This architecture achieves <strong>&gt;60dB PSRR</strong> at 20A output with only <strong>2.5V dropout</strong>!</p><img src="/2025/04/20/project-superFDA/LDO.jpg" class="" title="Completed Custom LDO Board"><hr><h2 id="Final-Assembly-Testing"><a href="#Final-Assembly-Testing" class="headerlink" title="Final Assembly &amp; Testing"></a>Final Assembly &amp; Testing</h2><p>With the power supply complete, I could finally test the full system!</p><img src="/2025/04/20/project-superFDA/Testing.jpg" class="" title="Complete System Under Test"><p>The sound quality is delightful! Each feedback mode and input stage configuration offers a distinct sonic character.</p><h3 id="Test-Conditions"><a href="#Test-Conditions" class="headerlink" title="Test Conditions"></a>Test Conditions</h3><p>Due to ADC clipping limitations in my measurement setup, all tests were conducted at <strong>-10dBFS source level</strong> (at which point the ADC was already at 0dBFS). Theoretically, THD, SNR, and other metrics could improve by an additional 10dB at full scale. Load: 100W resistive.</p><h3 id="Open-Loop-Mode"><a href="#Open-Loop-Mode" class="headerlink" title="Open Loop Mode"></a>Open Loop Mode</h3><p>Surprisingly, even in open loop, the amplifier achieves <strong>-104.6dB THD+N</strong>! The FFT reveals the rich third-harmonic content naturally produced by the MOSFET power stage—this mode offers the most natural, organic sound character. <em>Personally, my favorite mode!</em></p><img src="/2025/04/20/project-superFDA/openloop.jpg" class="" title="Open Loop Mode - FFT Analysis Showing Natural Harmonic Content"><h3 id="Small-Loop-Feedback-Mode"><a href="#Small-Loop-Feedback-Mode" class="headerlink" title="Small Loop Feedback Mode"></a>Small Loop Feedback Mode</h3><p>With the feedback loop at its minimum, this configuration achieves the lowest THD—theoretically reaching <strong>-132.7dB</strong>!</p><img src="/2025/04/20/project-superFDA/smallloop.jpg" class="" title="Small Loop Mode - Achieving Theoretical -132.7dB THD"><h3 id="Large-Loop-Differential-Feedback-Mode"><a href="#Large-Loop-Differential-Feedback-Mode" class="headerlink" title="Large Loop Differential Feedback Mode"></a>Large Loop Differential Feedback Mode</h3><p>While THD is about 2dB worse than small loop mode, IMD improves by a substantial <strong>10dB</strong>.</p><img src="/2025/04/20/project-superFDA/bigloop.jpg" class="" title="Large Loop Mode - Excellent IMD Performance"><h3 id="Hybrid-Feedback-Mode"><a href="#Hybrid-Feedback-Mode" class="headerlink" title="Hybrid Feedback Mode"></a>Hybrid Feedback Mode</h3><p>Combining the benefits of both configurations, this mode sacrifices a small amount of THD for dramatically improved IMD performance.</p><img src="/2025/04/20/project-superFDA/both.jpg" class="" title="Hybrid Mode - Best Balance of THD and IMD"><h3 id="Additional-Measurements"><a href="#Additional-Measurements" class="headerlink" title="Additional Measurements"></a>Additional Measurements</h3><p>All measurements at -10dBFS source level:</p><p><strong>100Hz Single Tone:</strong></p><img src="/2025/04/20/project-superFDA/100.png" class="" title="100Hz Single Tone Analysis"><p><strong>10kHz Single Tone:</strong></p><img src="/2025/04/20/project-superFDA/10k.png" class="" title="10kHz Single Tone Analysis"><p><strong>SMPTE IMD (Dual Tone):</strong></p><img src="/2025/04/20/project-superFDA/imd.png" class="" title="SMPTE IMD Measurement"><hr><h2 id="Specifications-Summary"><a href="#Specifications-Summary" class="headerlink" title="Specifications Summary"></a>Specifications Summary</h2><table><thead><tr><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td>Output Power</td><td>200W (8Ω)</td></tr><tr><td>Supply Voltage</td><td>±24V</td></tr><tr><td>Maximum Output Swing</td><td>80Vpp (differential)</td></tr><tr><td>THD (-10dBFS)</td><td>-125dB</td></tr><tr><td>THD+N (-10dBFS)</td><td>-106dB</td></tr><tr><td>Open-Loop THD+N</td><td>-105dB</td></tr><tr><td>Feedback Modes</td><td>4 selectable</td></tr><tr><td>Input Stages</td><td>2 selectable (JFET@JFE2140&#x2F;BJT@ADA4938-2)</td></tr><tr><td>Dimensions</td><td>10×10×5 cm</td></tr></tbody></table><hr><h2 id="Future-Plans"><a href="#Future-Plans" class="headerlink" title="Future Plans"></a>Future Plans</h2><ol><li><strong>CNC Enclosure</strong>: Design a proper aluminum chassis for the complete system</li><li><strong>Full-Scale Testing</strong>: Recalibrate the measurement ADC and conduct tests at 0dBFS to reveal true performance limits</li><li><strong>Commercialization</strong>: Continue selling kits and assembled units to the audiophile community</li></ol><hr><h2 id="Resources"><a href="#Resources" class="headerlink" title="Resources"></a>Resources</h2><ul><li><strong>Schematic</strong>: Available on request</li><li><strong>PCB Files</strong>: Contact for licensing information</li><li><strong>Purchase</strong>: DM me on Bilibili for kit or assembled unit pricing</li></ul><hr><p><em>Have questions about this project? Feel free to reach out via the <a href="/contact/">Contact</a> page or my <a href="https://space.bilibili.com/490557212/">Bilibili channel</a>.</em></p>]]>
    </content>
    <id>https://peijie.dev/2025/04/20/project-superFDA/</id>
    <link href="https://peijie.dev/2025/04/20/project-superFDA/"/>
    <published>2025-04-20T04:00:00.000Z</published>
    <summary>A revolutionary 200W fully differential Class AB amplifier featuring switchable feedback architectures, achieving industry-leading -135dB THD and -116dB THD+N performance.</summary>
    <title>Super FDA - A 200W Fully Differential Class AB Amplifier with -135dB THD</title>
    <updated>2026-01-25T05:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Tech Notes" scheme="https://peijie.dev/categories/Tech-Notes/"/>
    <category term="Testing" scheme="https://peijie.dev/tags/Testing/"/>
    <category term="Signal Analyzer" scheme="https://peijie.dev/tags/Signal-Analyzer/"/>
    <category term="RF" scheme="https://peijie.dev/tags/RF/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>📝 AI Assistance Disclosure</strong> (click to expand)</summary><p>This technical documentation has been proofread by Claude-Sonnet-4 for readability, grammar, and formatting consistency. All technical content, project details, circuit designs, measurements, and conclusions have been verified and approved by the author.</p><p><strong>Interested in my personal writing style?</strong> Check out my <a href="/categories/Stories-Writing/">Stories &amp; Writing</a> for 100% human-authored content.</p></details><hr><h2 id="Project-Overview"><a href="#Project-Overview" class="headerlink" title="Project Overview"></a>Project Overview</h2><p>This is the GPSDO designed by my friend <strong>BH4GEX</strong>, who invited me to test on the device and give constructive feedback. It comes with an adorable CNC shell at only <strong>$30</strong>! You can contact me for purchase.</p><p>The GPS-Disciplined Oscillator (GPSDO) aims to create a precision frequency reference by locking a high-quality oven-controlled crystal oscillator (OCXO) to GPS timing signals. This project achieved at minimum <strong>40 parts-per-billion (ppb)</strong> long-term frequency accuracy (limited by testing device).</p><img src="/2025/03/15/note-gpsdo/gpsdolayout.jpg" class="" title="GPSDO Mk.1 PCB 3D Render"><h2 id="System-Architecture"><a href="#System-Architecture" class="headerlink" title="System Architecture"></a>System Architecture</h2><p>The system consists of several key components:</p><h3 id="Core-Hardware"><a href="#Core-Hardware" class="headerlink" title="Core Hardware"></a>Core Hardware</h3><ul><li><strong>Microcontroller</strong>: STM32F030</li><li><strong>OCXO</strong>: CTI OC12SC36 with ±20ppm initial accuracy (salvaged from used signal generator)</li><li><strong>DAC</strong>: 12-bit DAC7563</li><li><strong>Buffer</strong>: CDCV304PWR &#x2F; LMK1C1104</li></ul><p>The version I received is an <strong>engineering sample</strong>, which lacks a pull-up resistor on the buffer enable pin. There was <strong>NOT</strong> an internal pullup as expected... so a hotfix flywire there is.</p><img src="/2025/03/15/note-gpsdo/gpsdoactual.jpg" class="" title="the engineering sample"><h2 id="Measurement-Results"><a href="#Measurement-Results" class="headerlink" title="Measurement Results"></a>Measurement Results</h2><p>Testing was performed using Keysight CXA signal analyzer and EXG vector signal generator as reference.<br>All of the three buffered channel outputs stable signal at exactly 10.000000 MHz.<br>The on-board RGB led would indicate pll status, converging status, and PPS blink.<br>It generally takes ~5mins to lock and converge within ±20ppb (led turns green). </p><img src="/2025/03/15/note-gpsdo/gpsdoresult1.jpg" class="" title="Spectrum analysis showing the 10MHz output - 100Hz span"><p>The spectrum analysis shows:</p><ul><li><strong>Center Frequency</strong>: 10.000000 MHz (exact)</li><li><strong>Output Power</strong>: +12.06 dBm</li><li><strong>Phase Noise</strong>: Better than -80 dBc&#x2F;Hz at 1Hz offset (limited by testing equipment)</li></ul><img src="/2025/03/15/note-gpsdo/gpsdoresult2.jpg" class="" title="Close-in spectrum with 10Hz span showing excellent stability"><p>With a 10Hz span and 1Hz resolution bandwidth, the signal shows excellent short-term stability with no visible sidebands or spurious content.</p><hr><p><em>Have questions about this project? Feel free to reach out via the <a href="/contact/">Contact</a> page.</em></p>]]>
    </content>
    <id>https://peijie.dev/2025/03/15/note-gpsdo/</id>
    <link href="https://peijie.dev/2025/03/15/note-gpsdo/"/>
    <published>2025-03-15T04:00:00.000Z</published>
    <summary>Testing a custom GPS-disciplined oscillator achieving 40 parts-per-billion frequency accuracy through innovative control algorithms and thermal management.</summary>
    <title>GPS-Disciplined Oscillator (GPSDO) - Achieving 40ppb Accuracy</title>
    <updated>2025-10-10T04:00:00.000Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Stories &amp; Writing" scheme="https://peijie.dev/categories/Stories-Writing/"/>
    <category term="Personal" scheme="https://peijie.dev/tags/Personal/"/>
    <category term="Reflection" scheme="https://peijie.dev/tags/Reflection/"/>
    <category term="College Application" scheme="https://peijie.dev/tags/College-Application/"/>
    <category term="Diving" scheme="https://peijie.dev/tags/Diving/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer human-only"><summary><strong>✏️ Authorship Note</strong> (click to expand)</summary><p>This piece is <strong>100% human-authored</strong>. No AI assistance was used in writing, editing, or proofreading this content. What you read here represents my authentic voice and personal perspective.</p></details></details><details class="course-note"><summary><strong>📚 Essay Submission Note</strong> (click to expand)</summary><p><em>This piece was seelcted as the Personal Statement of my college application.</em></p></details><hr><blockquote><p><em>Some students have a background, identity, interest, or talent that is so meaningful they believe their application would be incomplete without it. If this sounds like you, then please share your story.</em></p></blockquote><hr><p><em>A lot can go wrong on a dive.</em></p><p>That&#39;s what I was thinking on my final day in Bali, on my last dive of the trip. Due to ocean currents, I hadn&#39;t had any major sightings that week. I was desperate to encounter Bali&#39;s famous manta rays. But to have a chance meant diving deep to the seabed. At that depth, the risk of nitrogen narcosis increases. Even in an emergency, I couldn&#39;t ascend quickly without the potential for decompression sickness. And, of course, there was a chance I would see nothing but plain seabed. Still, I was tempted…</p><p><em>Call me a risk-taker, if you like.</em> It&#39;s who I&#39;ve been since childhood. My parents divorced when I was in sixth grade, following two years of contentious disputes. I suddenly had to commute between two households, and it felt like I was perpetually a guest in both. Plus, just one month after the divorce was finalized, my mother invited my new stepfather to move in. Yet, for all the bad, there were good things about the new arrangement, too.</p><p>As long as I can remember, I&#39;ve loved tinkering with electronics: taking things apart, putting them back together – sometimes in new ways. As I adjusted to the divorce, my tinkering evolved. At first, it was an excuse I used to avoid having lunch with my recombined family. &quot;I have an experiment running, can&#39;t stop now,&quot; I would explain. In time, I came to see that my stepfather was respectful and curious; he often joked about the engineering supplies in my room, guessing their uses and principles, which I gratefully recognized as encouragement. But that was later.</p><p>Left to my own devices, I got into the habit of going to sleep early. Then, around two a.m., I would wake up again. In the quiet of the night, I would put on my headphones and immerse myself in my workshop, granting myself free reign to experiment. It was the one place where I could safely rebel, challenging the way things &quot;had&quot; to be. It didn&#39;t always end well. I screwed up my model airplane when I tried replacing traditional wings with cling film. When I attempted to modify our home&#39;s induction cooktop into a high-frequency furnace to melt metal (I wanted to cast a handmade gift for my mother&#39;s birthday), the capacitor overheated and burst after just two minutes. However, I learned to own the decisions I made, and my identity as a risk-taker opened the door to so many opportunities beyond my makeshift lab – none more meaningful than diving.</p><p>I&#39;ve always appreciated the stakes of diving. At thirty meters underwater, the environmental pressure reaches four times that of atmospheric pressure – enough that, if one were to surface directly from this depth, the air in the lungs would instantly expand to four times its volume. But at the same time, some of the most awe-inspiring things I&#39;ve ever seen are thirty meters underwater. I fell in love with both the risks and the rewards.</p><p>That afternoon in Bali, I pulled an experienced dive guide from the resort and headed out under the setting sun. At depth, as bone-chilling water seeped into my wetsuit, I forcefully inserted a spotlight into the silt lining the sea floor. I turned my light beam towards the surface. Soon – too soon – my dive computer&#39;s alarms started counting down, and the guide began preparing to ascend. But my final attempt worked: my light beam suddenly illuminated a squadron of manta rays. As they glided over me, just one meter above, I felt so lucky.</p><p><em>Call me a risk-taker.</em> It&#39;s an identity I embrace, because how else could I have gotten to that Balinese seabed, manta rays streaming leisurely over my head? A lot can go wrong on a dive, in an experiment, or anywhere else, for that matter. <strong>But a lot can also go right.</strong></p><hr><p><em>Thanks for reading. If you enjoyed this piece, check out my other <a href="/categories/Stories-Writing/" style="color: #ffbf00;">Stories &amp; Writings.</a></em></p><p><em>Want to dive deeper into my technical work? Explore my <a href="/categories/Technical-Projects/" style="color: #00f7ff;">Technical Portfolio.</a></em></p><p><em>For ongoing updates and quick technical notes, check out the <a href="/categories/Tech-Notes/" style="color: #44ff00;">Tech Notes.</a></em></p>]]>
    </content>
    <id>https://peijie.dev/2024/09/01/essay-risk-taker/</id>
    <link href="https://peijie.dev/2024/09/01/essay-risk-taker/"/>
    <published>2024-09-01T04:00:00.000Z</published>
    <summary>A lot can go wrong on a dive. But a lot can also go right.</summary>
    <title>Call Me a Risk-Taker</title>
    <updated>2026-04-08T03:11:21.041Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Stories &amp; Writing" scheme="https://peijie.dev/categories/Stories-Writing/"/>
    <category term="Personal" scheme="https://peijie.dev/tags/Personal/"/>
    <category term="Reflection" scheme="https://peijie.dev/tags/Reflection/"/>
    <category term="College Application" scheme="https://peijie.dev/tags/College-Application/"/>
    <category term="Audio Engineering" scheme="https://peijie.dev/tags/Audio-Engineering/"/>
    <category term="Entrepreneurship" scheme="https://peijie.dev/tags/Entrepreneurship/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer human-only"><summary><strong>✏️ Authorship Note</strong> (click to expand)</summary><p>This piece is <strong>100% human-authored</strong>. No AI assistance was used in writing, editing, or proofreading this content. What you read here represents my authentic voice and personal perspective.</p></details></details><details class="course-note"><summary><strong>📚 Essay Submission Note</strong> (click to expand)</summary><p><em>This piece was seelcted as the Why Major Essay of my college application.</em></p></details><hr><blockquote><p><em>Why do you want to study your chosen major? (Here at Georgia Tech)?</em></p></blockquote><hr><p>When I first spotted a set of open-back, slatted-magnet Venus Planer headphones, I couldn&#39;t resist plugging them into the store’s headphone amplifier and playing the theme from my favorite videogame, White Album. Incredibly, it sounded just like when I play that piece on piano. But when I brought the headphones home and plugged them into my computer, the sound was completely different. </p><p>Modern technology can reproduce the dynamics of live instruments. However, the store’s CFA3 headphone amplifier cost $3,995, and it would barely fit in my room. I needed a high-quality audio device that everyone could fit and afford. <em>I would have to make my own</em>.</p><p>The CFA3 uses manually matched transistor pairs, which necessitates its size and price. By replacing through-hole components with surface-mount ones, using dual transistors, and employing multi-layer PCB technology, I got the same performance at one-eighth the size and one-fiftieth the cost. I also documented the whole process on forums, leading the CEO of Moondrop (the brand behind those Venus headphones) to message me. He said he founded Moondrop with a similar goal: to make high-quality headphones affordable. “Start your own amplifier brand,” he encouraged me.</p><p>That’s exactly what I want to do, and it’s the reason I hope to major in Electrical Engineering at Georgia Tech. Tech pairs rigorous academics with entrepreneurial development. I’d love to join the Vertically Integrated Projects (VIP) program, collaborating with industry partners who can provide crucial insights into real-world market needs and engineering challenges – knowledge I’ll need to launch my own company. When I do, the Advanced Technology Development Center, a startup incubator, would be a great resource to help me transition from hobbyist to entrepreneur. </p><p><strong>My goal is to revolutionize the Hi-Fi industry with compact, affordable, premium amplifiers. With a Georgia Tech education, I believe I can.</strong></p><hr><p><em>Thanks for reading. If you enjoyed this piece, check out my other <a href="/categories/Stories-Writing/" style="color: #ffbf00;">Stories &amp; Writings.</a></em></p><p><em>Want to dive deeper into my technical work? Explore my <a href="/categories/Technical-Projects/" style="color: #00f7ff;">Technical Portfolio.</a></em></p><p><em>For ongoing updates and quick technical notes, check out the <a href="/categories/Tech-Notes/" style="color: #44ff00;">Tech Notes.</a></em></p>]]>
    </content>
    <id>https://peijie.dev/2024/08/27/essay-why-engineering/</id>
    <link href="https://peijie.dev/2024/08/27/essay-why-engineering/"/>
    <published>2024-08-27T04:00:00.000Z</published>
    <summary>I needed a high-quality audio device that everyone could fit and afford. I would have to make my own.</summary>
    <title>Why I Want to Revolutionize Hi-Fi</title>
    <updated>2026-04-08T03:11:21.041Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Stories &amp; Writing" scheme="https://peijie.dev/categories/Stories-Writing/"/>
    <category term="Personal" scheme="https://peijie.dev/tags/Personal/"/>
    <category term="Reflection" scheme="https://peijie.dev/tags/Reflection/"/>
    <category term="College Application" scheme="https://peijie.dev/tags/College-Application/"/>
    <category term="Robotics" scheme="https://peijie.dev/tags/Robotics/"/>
    <category term="Leadership" scheme="https://peijie.dev/tags/Leadership/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer human-only"><summary><strong>✏️ Authorship Note</strong> (click to expand)</summary><p>This piece is <strong>100% human-authored</strong>. No AI assistance was used in writing, editing, or proofreading this content. What you read here represents my authentic voice and personal perspective.</p></details></details><details class="course-note"><summary><strong>📚 Essay Submission Note</strong> (click to expand)</summary><p><em>This piece was seelcted as the Club Engagement Essay of my college application.</em></p></details><hr><p>When I joined my school&#39;s VEX Robotics Club in tenth grade, I felt welcomed into a community. The club&#39;s experienced seniors stayed late with me after school, sharing their wealth of knowledge. And as the only member with a background in microcontroller development, I was thrilled to contribute.</p><p>After our seniors graduated, I became club president–just in time for the school to withdraw our funding. Still, I found ways forward. When we lacked parts, I dismantled old machines; when we couldn&#39;t afford physical testing, I trained members in computer modeling. </p><p><strong>This community is essential to many people, myself included.</strong></p><hr><p><em>Thanks for reading. If you enjoyed this piece, check out my other <a href="/categories/Stories-Writing/" style="color: #ffbf00;">Stories &amp; Writings.</a></em></p><p><em>Want to dive deeper into my technical work? Explore my <a href="/categories/Technical-Projects/" style="color: #00f7ff;">Technical Portfolio.</a></em></p><p><em>For ongoing updates and quick technical notes, check out the <a href="/categories/Tech-Notes/" style="color: #44ff00;">Tech Notes.</a></em></p>]]>
    </content>
    <id>https://peijie.dev/2024/08/03/essay-vex-community/</id>
    <link href="https://peijie.dev/2024/08/03/essay-vex-community/"/>
    <published>2024-08-03T04:00:00.000Z</published>
    <summary>When we lacked parts, I dismantled old machines; when we couldn't afford physical testing, I trained members in computer modeling.</summary>
    <title>This Community Is Essential</title>
    <updated>2026-04-08T03:11:21.041Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Stories &amp; Writing" scheme="https://peijie.dev/categories/Stories-Writing/"/>
    <category term="Personal" scheme="https://peijie.dev/tags/Personal/"/>
    <category term="Reflection" scheme="https://peijie.dev/tags/Reflection/"/>
    <category term="Engineering" scheme="https://peijie.dev/tags/Engineering/"/>
    <category term="Community" scheme="https://peijie.dev/tags/Community/"/>
    <category term="College Application" scheme="https://peijie.dev/tags/College-Application/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer human-only"><summary><strong>✏️ Authorship Note</strong> (click to expand)</summary><p>This piece is <strong>100% human-authored</strong>. No AI assistance was used in writing, editing, or proofreading this content. What you read here represents my authentic voice and personal perspective.</p></details></details><details class="course-note"><summary><strong>📚 Essay Submission Note</strong> (click to expand)</summary><p><em>This piece was seelcted as the Community Essay of my college application.</em><br><em>For full context and more details , please check the <a href="/2025/09/18/essay-digital-outcast/">2025 reeditted version</a>.</em></p></details><hr><p>&quot;A naive tyro, using a low-end oscilloscope [instrument for electronic measurement] and still being stubborn. What&#39;s fake can never be real; you&#39;re just a kid who can&#39;t grow up,&quot; a famous engineer in the Electronic DIY forum viciously cursed at me in my comment section.</p><p>As a self-taught ten-year-old, I was proud of myself for using an oscilloscope I had found at a junkyard and repaired to discover design flaws made by professional engineers. But that pride turned into helplessness with those cursive words: The engineer emphasized his expertise with technical terms beyond my knowledge. Worse still, he bluntly dismissed my findings due to my use of an outdated, broken oscilloscope. I felt ashamed of my ignorance and inability to afford better equipment. <em>I felt like a foolish, poor, stubborn child.</em></p><p>Since childhood, my mad-brained passion for engineering had isolated me from peers. While they raced remote-control cars, I would immediately flip the car over, locate the screws or snaps, and quickly tear them down. My parents&#39; divorce at the time made life exhausting, shuttling between two homes, school and court. Lacking suitable playmates and getting frustrated in real life, I turned to online forums where no one knew my age. There, I could freely exchange knowledge with those real engineers, whom I envied for sharing their impressive DIY projects while garnering thousands of likes. Being accepted by those kindred spirits and professionals meant the world to me.</p><p>However, that engineer&#39;s attack made me realize I needed to arm myself with knowledge, not just hands-on experience, to be a true engineer. I began self-studying university-level physics and electrical engineering, while continuing to replicate audiophile circuits and share them online as I consolidated my learning. When some netizens suggested me to post videos of my production process, I enjoyed honestly sharing my experiences. More surprising, some real engineers from tech giants followed me, from whom I received useful advice. The online communities became the main channel for me to learn knowledge and socialize.</p><p>I enjoyed tinkering with that obsolete oscilloscope using it to measure all sorts of things, and by chance I demonstrated a visual method to distinguish an audiophile player&#39;s sound quality at a glance, going beyond just numerical indicators. I was shocked when my viewership exploded into the hundreds of thousands after I posted a series of videos based on this method. For a moment, I felt a bit lost amidst the thousands of likes. The constantly updating number of likes seemed to make me live a life of extravagance and indulgence.</p><p>But as my popularity grew, so did attempts to bribe me to promote inferior products and aggressive, and copy-pasted comments far worse than what upset me on that forum. I realized not everyone shared my pure intentions of connecting with kindred spirits and sharing knowledge. Many aimed to smear others for personal gain. Seeing the online world&#39;s true nature, their attacks no longer saddened me, and I suddenly realized my original intention for posting videos—that was to contribute to the online forum. I refused all bribes and persisted, and was rewarded when manufacturers like Moondrop, who had confidence in their audiophile products, appreciated my sincerity and enlisted me to provide honest reviews.</p><p>On my 16th birthday, I used my video earnings to buy an advanced oscilloscope. Receiving it, I immediately thought back to that cyberbullying incident. <em>Was I wronged?</em> After a series of measurements, I got the answer, and the confusion of six years was finally resolved. With my current reputation on the online platform, I could easily post an article to prove my idea from back then, and the balance of public opinion would definitely tilt in my favor.</p><p>But I dismissed the idea in a few seconds. Although many spread lies and slander online for personal gain, I remain committed to giving back to this online world that supported me, taught me so much, and witnessed my growth, by contributing truly valuable information. An individual can&#39;t change the world, but as a community of engineers sharing knowledge, we can accomplish great things together. With that in mind, I gently wiped clean that old, obsolete oscilloscope—<strong>it never needed external validation of its accuracy anyway. Just like me.</strong></p><hr><p><em>Thanks for reading. If you enjoyed this piece, check out my other <a href="/categories/Stories-Writing/" style="color: #ffbf00;">Stories &amp; Writings.</a></em></p><p><em>Want to dive deeper into my technical work? Explore my <a href="/categories/Technical-Projects/" style="color: #00f7ff;">Technical Portfolio.</a></em></p><p><em>For ongoing updates and quick technical notes, check out the <a href="/categories/Tech-Notes/" style="color: #44ff00;">Tech Notes.</a></em></p>]]>
    </content>
    <id>https://peijie.dev/2024/07/28/essay-online-community/</id>
    <link href="https://peijie.dev/2024/07/28/essay-online-community/"/>
    <published>2024-07-28T04:00:00.000Z</published>
    <summary>It never needed external validation of its accuracy anyway. Just like me.</summary>
    <title>The Obsolete Oscilloscope</title>
    <updated>2026-04-08T03:11:21.041Z</updated>
  </entry>
  <entry>
    <author>
      <name>Peijie Liu</name>
    </author>
    <category term="Tech Notes" scheme="https://peijie.dev/categories/Tech-Notes/"/>
    <category term="Audio Electronics" scheme="https://peijie.dev/tags/Audio-Electronics/"/>
    <category term="Vintage Hardware" scheme="https://peijie.dev/tags/Vintage-Hardware/"/>
    <category term="DAC" scheme="https://peijie.dev/tags/DAC/"/>
    <category term="NOS Design" scheme="https://peijie.dev/tags/NOS-Design/"/>
    <category term="Quick Note" scheme="https://peijie.dev/tags/Quick-Note/"/>
    <category term="Platform Migration" scheme="https://peijie.dev/tags/Platform-Migration/"/>
    <content>
      <![CDATA[<details class="ai-disclaimer"><summary><strong>🔍 AI Assistance Disclosure</strong> (click to expand)</summary><p>This note has been lightly edited with AI assistance for clarity during platform migration. All technical content, design decisions, and observations are my own original work from 2022.</p><p><strong>Looking for polished project documentation?</strong> Check out <a href="/categories/Technical-Projects/">Technical Projects</a>.<br><strong>Want my unfiltered thoughts?</strong> See <a href="/categories/Stories-Writing/">Stories &amp; Writing</a>.</p></details><hr></details><details class="deprecation-warning"><summary><strong>⚠️ Deprecation Warning</strong> (click to expand)</summary><p><strong>This is a very old project from my early years.</strong> Several important caveats:</p><ul><li>Many PCB designs were adapted from the hifidiy forum, not my original design</li><li>I no longer have complete schematics for all boards (hifidiy server cut down)</li><li>PCB layout violates modern high-speed design principles (even has 90° traces!)</li><li><strong>Not recommended for replication</strong> - view for entertainment purposes only</li><li><strong>But Still This Has Been A Lovely Project That Worth Reminiscence</strong></li></ul></details><h2 id="Platform-Migration-Notice"><a href="#Platform-Migration-Notice" class="headerlink" title="Platform Migration Notice"></a>Platform Migration Notice</h2><p><strong>Note:</strong> I&#39;m in the process of migrating my DIY projects from various platforms to this website - a collection of work spanning nearly <strong>five years</strong>. This will take some time, and this is the very first post I&#39;m porting over.</p><hr><h2 id="Quick-Context"><a href="#Quick-Context" class="headerlink" title="Quick Context"></a>Quick Context</h2><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/dac729.jpg" class="" title="DAC729KH chips in beautiful gold-plated ceramic DIP40 packages"><p>I acquired a pair of <strong>Burr-Brown DAC729KH</strong> chips from the secondhand market - these are vintage 18-bit R-2R precision DACs from the early 1990s. The DAC729 uses a hermetic <strong>CerDIP40 ceramic package</strong> with gold-plated pins and a shielded top cover brazed to the ceramic substrate.</p><p><strong>This is the most beautiful chip I&#39;ve ever seen!</strong> So adorable!</p><p>As a Hi-Fi enthusiast, the idea of making 30-year-old silicon play music seemed irresistibly fun. <strong>Five years later, this decoder still occupies a special place on my benchtop - the NOS + R-2R sound character is genuinely pleasing.</strong></p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/benchtop.jpg" class="" title="DAC729 decoder still in use on my workbench five years later"><hr><h2 id="The-Build-Fully-Discrete-Digital-Logic"><a href="#The-Build-Fully-Discrete-Digital-Logic" class="headerlink" title="The Build - Fully Discrete Digital Logic"></a>The Build - Fully Discrete Digital Logic</h2><h3 id="Digital-Section-I2S-to-18-bit-Parallel-Conversion"><a href="#Digital-Section-I2S-to-18-bit-Parallel-Conversion" class="headerlink" title="Digital Section: I2S to 18-bit Parallel Conversion"></a>Digital Section: I2S to 18-bit Parallel Conversion</h3><p>Getting the DAC729 to work as an audio decoder required some straightforward digital signal processing:</p><ol><li><strong>Split I2S</strong> into separate left&#x2F;right channels</li><li><strong>Truncate 32-bit</strong> audio to the most significant 18 bits</li><li><strong>Serial-to-parallel conversion</strong> using shift registers, generating sample&#x2F;hold LE signal</li><li><strong>Parallel data transfer</strong> - send all 18 bits simultaneously to DAC729</li></ol><p><strong>Key design choice:</strong> Pure <strong>NOS (Non-Oversampling)</strong> design for maximum analog character - no upsampling, no digital filtering.</p><p><strong>No FPGA.</strong> Instead, I used <strong>discrete 74-series logic ICs</strong> - a completely vintage approach! I specifically sourced <strong>Philips-manufactured white-print DIP 74-series chips</strong> (rather than laser-etched markings) for that authentic vintage aesthetic.</p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/mid.jpg" class="" title="Discrete 74-series logic implementation - all Philips white-print chips"><h3 id="Analog-Section-Sample-Hold-Circuit"><a href="#Analog-Section-Sample-Hold-Circuit" class="headerlink" title="Analog Section: Sample-Hold Circuit"></a>Analog Section: Sample-Hold Circuit</h3><p>The DAC729 wasn&#39;t originally designed for audio applications, so we need additional circuitry:</p><p><strong>Sample-Hold Circuit</strong> to eliminate glitches:</p><ul><li>Uses analog switches to disconnect output before DAC729 settles</li><li>Op-amp follower maintains previous output state during switching transients</li><li>Implemented with <strong>AD7512</strong> - another beautiful gold-sealed CerDIP package!</li></ul><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/chips.jpg" class="" title="The gang" alt="s all here - DAC729 and AD7512 vintage gold-sealed chips"><h3 id="Output-Stage"><a href="#Output-Stage" class="headerlink" title="Output Stage"></a>Output Stage</h3><p>The DAC729 includes a built-in high-performance, low-drift I&#x2F;V converter, so I used the voltage output directly.</p><p><strong>Four op-amps total:</strong></p><ul><li><strong>Two</strong> for sample-hold followers</li><li><strong>Two</strong> for Sallen-Key active filtering (critical for NOS systems to remove high-frequency digital artifacts)</li></ul><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/top.jpg" class="" title="Analog output stage with vintage component selection"><hr><h2 id="Vintage-Innovation-The-Hybrid-Approach"><a href="#Vintage-Innovation-The-Hybrid-Approach" class="headerlink" title="Vintage + Innovation: The Hybrid Approach"></a>Vintage + Innovation: The Hybrid Approach</h2><h3 id="All-Out-Vintage-Component-Selection"><a href="#All-Out-Vintage-Component-Selection" class="headerlink" title="All-Out Vintage Component Selection"></a>All-Out Vintage Component Selection</h3><p>The entire signal path uses <strong>vintage high-grade components:</strong></p><ul><li>Large-body <strong>mica capacitors</strong> throughout</li><li>Power supply decoupling with 1990s golden-era <strong>ELNA Cerafine &#x2F; Nichicon MUSE &#x2F; Sanyo SP</strong> capacitors</li><li>This is my most aggressively &quot;parts-stuffed&quot; project ever</li></ul><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/side.jpg" class="" title="Stacked PCB architecture showing component density"><h3 id="Modern-Innovation-Stacked-PCB-Architecture"><a href="#Modern-Innovation-Stacked-PCB-Architecture" class="headerlink" title="Modern Innovation: Stacked PCB Architecture"></a>Modern Innovation: Stacked PCB Architecture</h3><p>Despite the vintage component choices, I implemented a modern <strong>three-layer stacked design:</strong></p><p><strong>Top Layer:</strong> DAC729 decoder + analog backend<br><strong>Middle Layer:</strong> 74-series digital logic circuitry<br><strong>Bottom Layer:</strong> Digital input receivers (USB, optical, coaxial) + CSR8675 Bluetooth module (LDAC support)</p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/bottom.jpg" class="" title="Bottom layer showing digital inputs and Bluetooth module"><h3 id="Innovative-Power-Supply-Design"><a href="#Innovative-Power-Supply-Design" class="headerlink" title="Innovative Power Supply Design"></a>Innovative Power Supply Design</h3><p>Breaking with traditional Hi-Fi conventions (no massive toroidal transformers), I used <strong>USB-PD 20V power bank supply:</strong></p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/integrated.jpg" class="" title="Complete integrated three-layer assembly"><p><strong>Challenge:</strong> DAC729 and op-amps need ±15V rails</p><p><strong>Solution:</strong></p><ol><li><strong>Two TPS54360</strong> buck converters generate ±18V intermediate rails</li><li><strong>LT1963&#x2F;LT3015</strong> high-PSRR LDOs suppress ripple to generate clean ±15V finals</li><li>Result: Low-noise, high-precision bipolar supply</li></ol><p>The power supply board dimensions perfectly match the decoder board - <strong>a satisfying geometric stack!</strong></p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/side1.jpg" class="" title="Side View of the stacking PCBs"><hr><h2 id="Performance-Results"><a href="#Performance-Results" class="headerlink" title="Performance Results"></a>Performance Results</h2><h3 id="Electrical-Measurements-2025-updated"><a href="#Electrical-Measurements-2025-updated" class="headerlink" title="Electrical Measurements *2025 updated"></a>Electrical Measurements *2025 updated</h3><p><strong>Fully extracted the DAC729&#39;s potential.</strong> Thanks to excellent linearity (it&#39;s an ultra-precision DAC, after all), this decoder achieved:</p><ul><li><strong>THD: -99.1 dB</strong> - very close to the 18-bit theoretical limit!</li><li><strong>ENOB: 18.5 bits</strong> (calculated from THD+N, likely slightly optimistic but impressive nonetheless)</li></ul><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/thd.jpg" class="" title="THD measurement showing -99.1dB performance"><h3 id="Additional-Test-Results"><a href="#Additional-Test-Results" class="headerlink" title="Additional Test Results"></a>Additional Test Results</h3><p><strong>IMD Tests:</strong></p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/imd19k20k.jpg" class="" title="19kHz + 20kHz intermodulation distortion"><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/imd2508k.jpg" class="" title="250Hz + 8kHz intermodulation distortion"><p><strong>Multitone Analysis:</strong></p><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/multitone.jpg" class="" title="32-tone multitone test showing excellent linearity"><hr><h2 id="Key-Takeaways"><a href="#Key-Takeaways" class="headerlink" title="Key Takeaways"></a>Key Takeaways</h2><ul><li><strong>Vintage silicon still performs</strong> - 1990s precision analog holds up remarkably well</li><li><strong>NOS + R2R &#x3D; pleasant sound signature</strong> - there&#39;s a reason audiophiles love this topology</li><li><strong>Discrete 74-series logic is viable</strong> for audio sample rates (though FPGA would be easier)</li><li><strong>Stacked PCB architecture</strong> enabled compact form factor without sacrificing signal integrity</li><li><strong>DCDC + LDO</strong> power supplies can deliver audiophile-grade noise performance</li><li><strong>Component matters</strong> - vintage parts contributed to the overall aesthetic and sound character</li></ul><hr><h2 id="Lessons-Learned-2026-Perspective"><a href="#Lessons-Learned-2026-Perspective" class="headerlink" title="Lessons Learned (2026 Perspective)"></a>Lessons Learned (2026 Perspective)</h2><p>Looking back after 4+ years:</p><ol><li><strong>High-speed layout matters</strong> - those 90° traces weren&#39;t ideal, even if they worked</li><li><strong>Documentation is crucial</strong> - losing the original schematics makes this hard to replicate</li><li><strong>Community credit</strong> - should have better documented which designs came from hifidiy forum</li><li><strong>Overengineering is fun</strong> but not always necessary</li><li><strong>This project taught me respect for vintage precision analog design</strong></li></ol><hr><h2 id="About-the-DAC729-Chip-A-Deep-Dive"><a href="#About-the-DAC729-Chip-A-Deep-Dive" class="headerlink" title="About the DAC729 Chip - A Deep Dive"></a>About the DAC729 Chip - A Deep Dive</h2><p>The <strong>Burr-Brown DAC729</strong> is an ultra-high-resolution 18-bit digital-to-analog converter system from the early 1990s. It represented the pinnacle of precision DAC technology in its era:</p><ul><li><strong>Hybrid structure</strong> combining monolithic DAC die, precision thin-film resistors and op-amp.</li><li><strong>Hermetic packaging</strong> for long-term stability (30+ years old and still work perfectly!)</li></ul><p><strong>Architecture:</strong></p><ul><li>Resolution: 18 bits (262,144 discrete levels)</li><li>DAC Type: R-2R ladder network with segmented current sources</li><li>Package: 40-pin hermetic ceramic DIP (CerDIP) with gold-plated pins</li><li>Internal Reference: Precision 10V reference with &lt;4ppm&#x2F;°C drift</li><li>Internal Op-Amp: Low-noise, fast-settling amplifier with current buffer</li></ul><p><strong>Performance (from datasheet):</strong></p><ul><li><strong>Linearity Error:</strong> ±0.0015% FSR (JH), ±0.00076% FSR (KH) - that&#39;s 16-bit linearity!</li><li><strong>Differential Linearity:</strong> ±0.003% FSR (JH), ±0.0015% FSR (KH)</li><li><strong>Settling Time:</strong> 8µs to 16 bits (voltage output mode)</li><li><strong>THD+N:</strong> Typically better than -105dB (open-loop!)</li><li><strong>Output Noise:</strong> 29µVrms (bipolar offset, 10Hz-100kHz)</li><li><strong>Gain Drift:</strong> ±3ppm&#x2F;°C (KH grade)</li><li><strong>Monotonicity:</strong> Guaranteed to 16 bits (KH), 15 bits (JH)</li></ul><p><strong>Grade Differences:</strong><br>The datasheet officially lists two grades:</p><ul><li><strong>DAC729JH:</strong> 16-bit linearity guaranteed, ±0.0015% linearity error</li><li><strong>DAC729KH:</strong> Higher-grade version, ±0.00076% linearity error (twice as good!)</li></ul><p>Both grades can be <strong>user-adjusted to 18-bit linearity</strong> using the built-in MSB trim circuits.</p><h3 id="The-Mystery-What-is-KH-2"><a href="#The-Mystery-What-is-KH-2" class="headerlink" title="The Mystery: What is &quot;KH-2&quot;?"></a>The Mystery: What is &quot;KH-2&quot;?</h3><img src="/2022/01/12/note-DAC729-Vintage-R2R-Decoder/KH-2.jpg" class="" title="The KH-2 Code"><p>Here&#39;s where things get interesting. My chips are marked <strong>DAC729KH-2</strong>, but this suffix does not appear anywhere in the official Burr-Brown datasheet. The datasheet only mentions:</p><ul><li>DAC729JH</li><li>DAC729KH  </li><li>DAC729KH-BI</li></ul><p><strong>Possible explanations for the &quot;-2&quot; suffix:</strong></p><ol><li><strong>Abbreviation</strong> - &quot;-2&quot; in short of &quot;-BI&quot;, indicating burn-in screened version</li><li><strong>Bin sorting</strong> - Perhaps &quot;-2&quot; indicates a specific performance bin within KH grade</li><li><strong>Undocumented military&#x2F;aerospace grade</strong> - Some vendors had additional grades for specialized applications</li></ol><p><strong>If anyone knows what &quot;KH-2&quot; means, I&#39;d love to hear from you in the comments below!</strong> </p><h2 id="Resources-References"><a href="#Resources-References" class="headerlink" title="Resources &amp; References"></a>Resources &amp; References</h2><ul><li><a href="https://www.alldatasheet.com/datasheet-pdf/view/152619/BURR-BROWN/DAC729.html">DAC729 Datasheet</a> (Burr-Brown, included in project files)</li><li>Original design discussions on hifidiy forum (now unavailable due to their server updates)</li></ul><hr><p><em>This is the first of many project migrations. More vintage builds, modern designs, and questionable decisions to come. Stay tuned.</em></p><p><em>Part of my engineering journal documenting 5+ years of audio DIY adventures. For more polished current work, see <a href="/categories/Technical-Projects/">Technical Projects</a>.</em></p>]]>
    </content>
    <id>https://peijie.dev/2022/01/12/note-DAC729-Vintage-R2R-Decoder/</id>
    <link href="https://peijie.dev/2022/01/12/note-DAC729-Vintage-R2R-Decoder/"/>
    <published>2022-01-12T05:00:00.000Z</published>
    <summary>Resurrecting a pair of rare 18-bit DAC729KH chips from the 1990s to build a fully discrete, NOS audio decoder with vintage components and modern innovation.</summary>
    <title>DAC729 - Building a Vintage 18-bit Audio Decoder with 30-Year-Old Silicon</title>
    <updated>2026-02-04T05:00:00.000Z</updated>
  </entry>
</feed>
