Circuit works on the breadboard, but PCB is not producing the same results

Thread Starter

JonnyO

Joined Jun 2, 2020
1
So at a high level, I have a raspberry pi and an arduino mega that I'm using to drive some speed controllers, and they are connected via serial (and via ISCP for firmware loading onto the arduino). When I piece this all together on my breadboards using breakout boards to handle the 5v->3.3v conversion. But when I take those same circuits, and place them all on a minimal arduino single board that plugs into the raspberry pi, I don't get the same results.

I assume I'm missing something fundamental here, but I cant figure it out. Schematic is attached. What am I missing?rover-1.png
 

dl324

Joined Mar 30, 2015
16,846
Your schematic drawing style is awful to read. A netlist would be easier to read because it wouldn't be so spread out.

You have a "schematic", use it to troubleshoot the circuit. If you still have a working breadboard, you don't even need to know how to troubleshoot.
 

Alec_t

Joined Sep 17, 2013
14,280
If the breadboard arrangement works but the pcb arrangement doesn't there's either a wiring error or a faulty component on the pcb.
 

drc_567

Joined Dec 29, 2008
1,156
... Just to be certain, you might verify that the individual chip ground points are connected together. That is, no gaps exist in the ground trace on the pcb, and that everything that requires a ground has one.
 

MrSoftware

Joined Oct 29, 2013
2,188
Compare your schematic against the exact circuit that you built using breakout boards. List all of the differences that you find, no matter how small. You didn't elaborate on how it's behaving differently so we can't offer suggestions of what areas to check.
 

iklln6

Joined Apr 11, 2011
1
when I take those same circuits, and place them all on a minimal arduino single board that plugs into the raspberry pi, I don't get the same results.
What are the dissimilar results? Program not uploading to atmega2560? Program uploads but nothing happens? Things catch fire? Things become sentient and escape? Clue plz

When I piece this all together on my breadboards using breakout boards to handle the 5v->3.3v conversion
atmega2560 does not come in a DIP package, so I know it's one some kind of breakout also...what else aren't you telling us?


As one user pointed out, that 22pF cap with the reset pin needs to be removed or replaced. If the dissimilar result is that you touch it all the time on breadboard and runs fine but on minimal arduino board you don't even touch it but once a month and it resets then the right filter cap on the reset pin might be the solution.

If your problem is that uploading program to atmega2560 using ICSP fails, then try turning the programmer speed way down to something like 1200 bps. If it succeeds, first return the programmer speed to its original value, then isolate your atmega's SPI pins from the SPI device(s) (but NOT the ICSP header) with 1K resistors so that you have direct connection between the ICSP pins (the programmer) and atmega2560 (very small resistance between programmer and atmega), but atmega2560 and [each spi pin at each device...aside from CS] has 1kohm. Your devices may be too thirsty leading to unacceptably slow voltage rise times...turning the programmer speed way down is a workaround that i've found in the past (before I understood what was wrong) which is merely intended to try to verify this being the actual problem before modifying the circuit...

If your problem is you upload the program and ... nothing happens ... then I would first suspect that there's an inconsistency somewhere between the failureboard and victorybreadboard
 

MisterBill2

Joined Jan 23, 2018
18,179
If the breadboard arrangement works but the pcb arrangement doesn't there's either a wiring error or a faulty component on the pcb.
There may also be some unintended connection on a solderless breadboard. In addition, a lack of similar results is as non-descriptive of a problem as possible. I routinely provided correct fault analysis based on detailed descriptions of the fault behavior. A nebulous description can not result in a specific analysis.
The general analysis is that either the PCB arrangement omits some connection needed or else it adds some un-needed connection. It may also be that your code has changed between versions.
 
Top