A batch of Floppy Emu units exhibited unusual failures: many would not boot, some jumped to random code locations and showed nonsensical display output, and one ran noticeably slow. The developer ruled out power and programming errors, replaced microcontrollers, reflowed solder, and used a hardware debugger. Adding an early LED blink routine produced no activity, which focused the search on reset and clock sources. Changing the MCU fuse to use the internal 8 MHz oscillator caused affected boards to boot (albeit slowly), proving the external 20 MHz crystal oscillator was failing and explaining the loss of debugger communication and erratic behavior.
Investigation revealed the problem boards used a different crystal vendor than previous runs. The oscillator requires two tiny external load capacitors whose values depend on the crystal’s load capacitance and PCB stray capacitance; using Cext = 2*(Cload - Cstray) with an 8 pF Cload and an estimated 4 pF stray implies roughly 8 pF external caps. The most likely explanations are incorrect SMD capacitors placed by the subcontractor or a bad batch of crystals. Next steps are component-level swaps (crystal and caps) and focused rework to confirm and remedy the systematic assembly change that broke the oscillator.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.