How about an update on the current status of the project?
TL;DR:The boards didn't work, but I think I've tracked down the issue and have already started work on redesigning the boards.
----------------So, the "re-flow skillet" technique actually worked and I successfully re-flowed the boards!
The most (
physically) painful part was placing the 60-ish SMD components
(~40 of which were 0402 size. Yikes!)
Once the boards were actually re-flowed there were some solder bridges in need of fixing, but between using some solder wick, flux, and a clean iron tip most of these were dealt with fairly easily!
Unfortunately nothing is ever quiet as simple as it seems, and upon powering up the boards and attempting to program the EEPROM I noticed that I couldn't interact with the EEPROM at all.
Strange, perhaps I missed a shorted pin? One more go over with a multimeter put that theory to bed. Maybe there was an issue with the supply voltage?
Checking the 3.3V input I saw it was way up at 3.7V! Not good!
After an excessive amount of debugging and great help from people on a thread I opened. (Link:
https://www.eevblog.com/forum/projects/help-with-a-misbehaving-ldo/)
I finally came to realise that the auto-direction level shifters I was using were the root of the problem.
The level shifters were trying to sink current into the 3.3V rail which is what was causing it to be pulled up to 3.7V
So what now? Well I'm going to be replacing these auto level shifters with a selectable Bi-directional level shifter and a uni-directional level shifter.
These won't be too hard to design into the circuit, the main problem is going to be the size of these devices.
The auto level shifters were pretty small and that's part of the reason why I decided to use them.
Any suitable Bi-directional and uni-directional level shifters I have found are, while still tiny, quite a bit bigger than the auto level shifters I was using.
There might be more significant rework of the boards layout if I can't just manage to just squeeze these level shifters in!
If anyone wants to help me look the parts basically need to be in a QFN kind of package or similarly sized (no BGA stuff pls).
Anyway, for the time being development of the uGPU is going to basically slow quite a bit unfortunately.
It probably wont be until a while into the new year before I get my hands on new boards and get them assembled and tested!
For now I will work on finding appropriate level shifters and altering the design to fit them.
I'm also thinking of working on the digital logic I'm going to use inside the uGPU again.
There is some core functionality that needs to be added to get the tileset graphics actually usable.
It will be hard to test and debug without a physical board but some progress is better than nothing!
Until next time
Stay safe!
If anyone is interested I have attached photos of the populated uGPU board to this post: