Thanks Daniel, It turns out my issue was caused by capacitance between adjacent leads on my programming cable. Physically separating the wires on the ribbon cable caused it to suddenly start working as expected for me. As it turns out an extra 5 picofarads between clock and data lines makes a big difference. looking at the math/theory side of this: the impedance/reactance for 5 picofarads with a 1.8Mhz sqaure wave is in the order of a few K-ohms. So it was as if my clock and data lines were momentarily tied together with a resistor every rising and falling edge. No wonder I got bad data! On Sun, Feb 1, 2015 at 8:02 PM, Daniel Serpell w= rote: > Hi, > > > I connected pins: > - 1 (boot0), directly to ground, > - 4 (NRST) to st-link NRST output > - 5 (VDDA) to st-link 3.3V > -15 (VSS) to st-link GND > - 16 (VDD) to st-link 3.3V > - 17 (bootloader TX) by 10k to st-link 3.3V > - 18 (bootloader RX) by 10k to st-link 3.3V > - 19 (SWDIO) to st-link SWDIO > - 20 (SWCLK) to st-link SWCLK > > When loading st-util, the micro is detected and using GDB I can > examine the registers and flash firmware. > > The two 10k resistors to 3.3V are there because previously I tried > loading firmware via the rom bootloader, using the > https://code.google.com/p/stm32flash/ software, a cheap USB to 3.3V > 232 and holding pin 1 to 3.3V. It worked, but it was much more > complicated than simply using the st-link. > >> >> Does anyone have any ideas as to what might be wrong? > > No, I hope my simplified connections work with your devices. > > --=20 Jason White --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .