I designed the following the STM32F407vgt6 custom board for a project.
I recently soldered the parts, and powered the board up. I tried programming the board via an STM32F429 Discovery board through the SWD interface and got plenty of errors indicating the MCU was being kept under reset. Then I probed the NRST pin and read a value of 0.40 volts.
The MCU is brand new. All the decoupling capacitors seem to be getting enough voltage(2.9 volts). Regulator works fine too. I am not sure why the NRST pin is at low voltage. Here's the relevant part of the board layout.
edit1: This is a two-layer board with the top layer being GND+signal and bottom being VDD+signal. I think it's worth mentioning that sometimes the NRST goes down to 0.20 volts. It just varies around 0.20 - 0.40.
I can add a picture of the board if you guys want to see the if there's anything wrong with soldering. Here are the pictures of the board. Notice that I tried to cut the VCAP line, but it didn't help assuming I successfully cut the line.
I pulled the NRST pin high. After that, I was able to connect and program the MCU via the STM32F429 board through the ST-Link utility. ST-Link utility states that the memory is programmed and verified. I wrote a small program that toggles a few GPIO pins, but when I measure the voltage on those pins I don't see them going high(3V) or low(0V). They just vary around irrelavant values(1.2V, 0.4V, 0.9V etc.).