cancel
Showing results for 
Search instead for 
Did you mean: 

I2C and SWD connected wrongly

JS8
Senior

Hi,

I ordered a PCB and after I had soldered all the components I noticed that in the PCB there was a connection between my SWD interface to I2C pins (PF0, PF1) and SWD pins were connected to the I2C bus. I tried short-circuiting them with a tiny copper strand but I wasn't successful because of the small size of the pins on the STM32F030C8T6. My question is that is there a way I could program the MCU using the OSC_IN and OSC_OUT pins or could I configure it so that the I2C pins are used as the SWD pins and vice versa? It is a fairly large PCB and I would prefer to not spend another 100 dollars on the components and the PCB + delivery. Any way to work around this would be greatly appreciated.

Thanks in advance.

3 REPLIES 3
Bob S
Principal

So you have the SWD signals on your I2C bus, and I2C signals on the SWD interface, is that right?  If so, this looks to be an LQFP package. You can unsolder the 4 pins and bend the pins up away from the pads.  Then run wires from the real I2C pins to the pads on the I2C traces, and wires from the read SWD pins to the pads on the SWD traces.  It takes thin wire (wire wrap wire works) and a steady hand, but it is do-able.

Thanks for the response. Yes, you're correct. Is there no way to fix this in software?

Bob S
Principal

I don't know specifically about the F030, but in general, no.  The SWD signals are typically mapped to a single set of pins and there is no way to re-map them in software.