Skip to Content

N ways your embedded project is having problems

  • Poorly assembled or soldered PCB
  • Poorly assembled mechanical enclosure
  • Lack of a mechanical enclosure
  • Loose connectors (power connectors, debug wire connectors)
  • Bad/insufficient power supply, especially if it’s USB powered
  • You are wearing a sweater in a carpeted room in the winter and not using ESD protection
  • Not enough decoupling capacitors on power pins (usually you’d want more than zero)
  • Your traces are not Signal-Ground-Signal pattern and causes cross-talk
  • Some mechanical component is pinching your electrical component
  • JLink firmware not up to date (ST-Link, etc…)
  • Windows hasn’t been restarted in a few days
  • Eclipse IDE or your toolchain is having a bad day and a compiler optimization is being deviant
  • There is a fullwidth space character instad of an ASCII space in your source code
  • You did a Ctrl+F/Replace All but also replaced something you shouldn’t
  • The device errata specifies that the behaviour was expected
  • You did not enable Brown Out protection on your MCU
  • You are asking multiple devices to keep accurate frequency/time with each other for a signal clock
  • You flashed the wrong binary
  • You are using dynamic memory
  • You didn’t allocate enough memory
  • You allocated too much memory