I am using an LPC812 (specifically the 20 pin SOIC version LPC812M101JD20). This is currently soldered to an adapter and being tested in a breadboard. To program this PIO0_5 (RESET) and PIO0_12 (ISP enable) are pulled up to the 3V3 rail with pushbuttons to short them to ground to enable programming. There are also LEDs on PIO0_16 and PIO0_17.

The device is programmed using mBed code over a serial connection but I have found that PIO0_1 (pin 12) seems to be required to be tied directly to ground or the device remains in reset. Once it is running, if I disconnect the ground wire from this pin the device stops. If I use a 10K pull-down resistor it remains in reset and a 470R pulldown seems to put it into some confused state where the LEDs flicker a lot, possibly continuously resetting.

The datasheet does not seem to suggest there is anything special about this pin:

By default, the GPIO function is selected except on pins PIO0_2, PIO0_3, and PIO0_5. JTAG functions are available in boundary scan mode only.

Later, in table 6 on page 12 it is pointed out that on some earlier revisions this pin was used to enter ISP mode but on versions marked 4C (mine is marked 4C) this was moved to PIO0_12.

I've also checked the errata sheet and nothing is listed for this revision.

So this pin should be in GPIO mode and should not need to be tied to ground as I understand it. Is this common to these devices? It appears to work fine but only if this pin is tied directly to ground.


  • 1
    \$\begingroup\$ Double- check all the other VSS pins are properly grounded... I've seen devices power themselves through a signal pin (and its protection diodes). \$\endgroup\$ Dec 20, 2015 at 10:18
  • \$\begingroup\$ This was the problem. I rechecked the ground pin and it had a dry joint. Reflowed it and it is fine now. \$\endgroup\$
    – patthoyts
    Dec 20, 2015 at 17:07

1 Answer 1


Is it possible that pin 12 is configured as the external clock input?

The part may try to run when some noise is present on the pin but switch to a fail safe internal clock if the external clock is not found.

  • \$\begingroup\$ I tested this by compiling a minimal blink program and avoiding all the mBed stuff but had the same problem. It turned out to be a bad ground connection. \$\endgroup\$
    – patthoyts
    Dec 20, 2015 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.