Is a 6-layer board with caBGA381 chip DIY-able? - Page 1
Forum section: electronics / general

author: nockieboy
author_rank: Super Contributor
timestamp: December 18, 2022, 10:35:09 am
content: Quick question, but probably requiring a long answer/discussion.First, a bit of scene-setting for those who don't know me: I still class myself as a beginner/low-level electronics hobbyist, but I think I might be doing myself a disservice in that I've developed and produced boards for my DIY computer using QFP-144s, TSOPs, QFNs and 0402 SMD parts, and I'm now designing for BGA chips in my next iteration of FPGA board. I have a hot plate (so far unused) and hot air station and am happy hand soldering and hot-air soldering.I'd like to design a Lattice ECP5 development board, primarily as practice for soldering a BGA chip and also to give me a learning platform to switch from Altera to Lattice chips. I've designed a 4-layer board for the LFE5U-25F, but would really like to use an LFE5U-85F-6BG381 as that will give me enough LE's (or whatever Lattice's equivalent terminology is - LUTs?) for my projects.Whilst playing around on JLCPCB's site, which I have used since I started making my own boards, I notice there's (obviously) a jump from 2-layer to 4-layer boards in price, but if I'm going 4-layer, I might as well go 6-layer as the cost increase is justifiable. It'll allow me to have filled vias, which may be important as I've used a lot of via-in-pads in the existing 4-layer design.TLDR; So - would a 6-layer board be waaaaaaaaaaay out of my reach to reflow at home on a hot plate and with a hot air gun? Is a caBGA381 also waaaaaay beyond the scope of home DIY assembly?

author: Kasper
author_rank: Frequent Contributor
timestamp: December 18, 2022, 06:04:09 pm
content: I've had success with a 1 time use test board.JLC 4 layerSolder mask defined (smd) pads4 pin BGA0.4mm pitchNo stencilNo solder pasteIn toaster ovenI put liquid flux on the pcb, placed the bga and put it in toaster oven.I tape a thermocouple probe for my DMM to a similar pcb, placed beside the PCB I'm soldering and change the temp on the oven a handful of times.I think min solder mask sliver, min pad spacing, min pad size were all close to their limits if not beyond them. Used SMD pads and maybe even deviated from the BGAs recomended footprint in attempt to meet JLC capabilities. Wasnt sure they'd approve it but it went through with no issues.Worked first try for just a quick test. No idea how long or what kind of environments it would survive.

author: nockieboy
author_rank: Super Contributor
timestamp: December 19, 2022, 07:52:15 pm
content: Hi Kasper,Yeah, I'm not looking to mass-produce anything, just make one - maybe two at most - for my own use. If anyone else wanted to give them a try, they'd have to 'try at your own risk' disclaimer.I was originally hoping to design a simple board for a 256-ball BGA with 1mm spacing, but FPGAs are like rocking horse dung at the moment anyway and it seem 1mm BGA256s aren't a common package anymore anyway. The LFE5U-25F board I'd designed is a 4-layer board, but I've had the usual project-creep issues and am now wondering if I could stretch to a 6-layer board for an LFE5U-85F. Same ball pitch, just it's a 381-ball FPGA instead of a 256. I think with a hot plate beneath and a hot air gun on top, I might be able to get it to flow.. The extra two layersmightbe useful in a 6-layer design, but I doubt I'll be able to route out any more I/Os unless I can use blind vias, which JLCPCB don't do and will likely make the board way too expensive for my needs anyway.

author: Kasper
author_rank: Frequent Contributor
timestamp: December 19, 2022, 08:16:10 pm
content: Let us know how it turns out. I bet you'll get it. Try to follow the reflow profile of the bga if they have one. If it fails, try different amounts of heat. I usually err on the hot side just to make sure everything flows.

author: ebastler
author_rank: Super Contributor
timestamp: December 19, 2022, 09:03:10 pm
content: Quote from: nockieboy on December 19, 2022, 07:52:15 pmI did a small FPGA board last year with Xilinx' 225-ball BGA package. Also a 0.8 mm pitch part like the 381-ball Lattice part, if I looked right. I did a few dozwn of these, baked in a pizza oven, and ended up with only three non-starters.I would recommend the pizza oven over a hot plate, since you should have less temperature gradients. Mine does not have any closed-loop control of the temperature profile. I just put an extra temperature sensor in, mounted on an empty PCB of the same type as the ones I want to solder, connected to a multimeter outside. Then I manually switch the heat on and off to roughly follow the recommended temperature profile. Did a few practice runs to get a feel for the temperature overshoot after switching off the heat.While JLCPCB does not offer blind vias, they have added the option of epoxy-filled-and-plated-over vias recently. I have not tried these, but they should let you do via-in-pad, leaving room for routing on the top layer. Available from 4 layers upwards.

author: nockieboy
author_rank: Super Contributor
timestamp: December 20, 2022, 03:29:51 pm
content: Quote from: Kasper on December 19, 2022, 08:16:10 pmIt's a little way off yet - still waiting for the FPGA to arrive from Mouser for the 4-layer board, that's a few months away it seems. I've watched a few videos on YouTube of a guy who does professional repairs on PS3s, mobile phones, various other BGA-hosting boards and he seems to do fine with lots of flux, a hot air gun, hot plate and plenty of heat like you said.Quote from: ebastler on December 19, 2022, 09:03:10 pmI don't have a pizza oven - nearest I have is a normal household electric oven, which might struggle to get to 220 degrees Celsius (although it has a 'max' setting of ~250 degrees C, I don't know how efficient or accurate it actually is, though it does fine with the roasts at 180 degrees).One thing I don't have is a suitable temperature sensor. Is there anything you'd recommend? I don't have a fancy multimeter that will read temperatures, previously I've used a (non-calibrated, I guess) non-contact IR gun/sensor. I was planning on doing it all by sight - I'll know when I've reached the right temperature as I'll see the BGA package seat itself and it'll be resistant to lateral pressure due to the surface tension of all those 381 balls of solder. Might have to consider a very thin layer of low-temperature solder on the footprint to help reduce the overall melting point of the BGA's solder balls and make it a little easier to reach the sweet spot temperature.

author: ebastler
author_rank: Super Contributor
timestamp: December 20, 2022, 03:50:46 pm
content: Quote from: nockieboy on December 20, 2022, 03:29:51 pmI bought a cheap pizza oven just for soldering, for < 50 Euros. The Severin TO 2034 is known to run hot enough, up to 250 °C or so. This was a few years ago; the oven might be sold under different brand/model names too.QuoteI have a very non-fancy multimeter (25 year old no-name) which reads K-type thermocouples nicely. Bought a few cheap thermocouples from China for it. You want a thermocouple where the sensor has low thermal mass and the cable insulation withstands the soldering temperatures. Like this one (not the seller I bought from):https://www.ebay.com/itm/325427583454

author: asmi
author_rank: Super Contributor
timestamp: December 20, 2022, 05:27:54 pm
content: Quote from: nockieboy on December 18, 2022, 10:35:09 amI've reworked a fair amount of 6 layer boards using a hot air gun. For soldering the amount of layers is unimportant. For larger chips (larger than ~25 x 25 mm) having preheater is certainly recommended, but smaller chips should solder without any problems with just a hot air gun.

author: nockieboy
author_rank: Super Contributor
timestamp: December 21, 2022, 01:27:29 pm
content: Quote from: ebastler on December 20, 2022, 03:50:46 pmI think I'll try with a hotplate and hot air gun to see how effective that is first, as that's equipment I have already. I might consider getting a pizza oven or something similar which can be modified with a microcontroller and thermocouple to follow various profiles (I've seen a few projects where it's documented very well) later, if I need to produce more PCBs. In a room with no drafts, a hotplate able to get the board up over 220 degrees and a hot air gun on top doing the same, I can't see any obvious reasons it shouldn't work so long as I heat the BGA package evenly across its surface.Quote from: ebastler on December 20, 2022, 03:50:46 pmI have an Aneng AN8008 for basic testing, but have hardly used it to be honest. It's even possible I could use a thermocouple with it, but wouldn't know how.Quote from: asmi on December 20, 2022, 05:27:54 pmHi asmi - you've previously made dev boards for Xilinx FPGAs haven't you? I had a real feeling of deja-vu just then and went and looked at theFPGA GPU thread and found a whole discussionabout Lattice FPGAs we'd had nearly 2 years ago that I'd forgotten about.Going to have to seriously review my decision to design a board for a Lattice FPGA.The price is appealing (even though they're twice as expensive as they were back when we were discussing all this in February '21), but the lack of support is an issue.I'm starting to need something bigger than the 10M50 in the DECA, so I'm basically looking to create a dev board with a similar form-factor to the DECA board - specifically the Beagle-bone compatible headers - so I can just plug it directly into my DIY computer and start testing. From a quick browser just now, the Xilinx Artix XC7A75T is looking like a likely candidate - 1mm ball pitch on the FTG256 package means I'm far more likely to get all those I/O's routed out as well, even with only a 4-layer board. I want to be able to test the GPU HDL in a different architecture from the existing Intel/Altera hardware we're using.

author: asmi
author_rank: Super Contributor
timestamp: December 22, 2022, 07:04:54 am
content: Quote from: nockieboy on December 21, 2022, 01:27:29 pmYes I did, and not just devboards.Quote from: nockieboy on December 21, 2022, 01:27:29 pmThe biggest problem is going to be sourcing the part. Right now as far as I can tell, LCSC is the only place I know where you can find some Artix parts in stock. Unless you want to try your luck with the likes of Aliexpress - you can find pretty much any Artix-7 part there, but the prices are very random - from super-attractive to outright ridiculous, and of course the quality is unknown. Though I personally bought several parts off Ali and those I actually used were working OK (mostly reballs, which is expected considering the price), but there is always a chance for a dud. I guess for a personal/one-off/hobby project that shouldn't be a problem.Also with recent drop in prices there is no longer a reason to limit yourself to 4 layer boards, as 6 layer gives you two extra routing layers and make layout much easier. DDR3 layout is already hard, no reason to make it even harder just to save a few bucks - unless you don't value your time at all.As for your project, I would actually recommend going for a FGG484 package - it will allow implementing a 32 bit DDR3@400 MHz interface to give you additional room to grow in terms of memory bandwidth, it also has 4 multi-gigabit transceivers in case you want to implement some kind of serial interface - like SATA, PCI Express (say for NVMe storage, or some extension slot for future upgrades), DisplayPort, high-bandwidth HDMI (above 1080p@60), or something else. Speed grade 2 devices and higher can go as high as 6.6 Gbps per transceiver.Finally, these Artix parts get pretty toasty, so you will need to provision for some sort of heatsink, or maybe even a small fan to help keep things from overheating. Remember, unlike CPUs, FPGAs don't have built-in overheating protection (unless you implement one yourself, that is), and will happily fry themselves if you are not careful.But it's kind of offtopic in this thread, so if you want to discuss this further, let's find a more suitable venue.

author: nockieboy
author_rank: Super Contributor
timestamp: December 22, 2022, 09:39:41 am
content: Quote from: asmi on December 22, 2022, 07:04:54 amHaha, tell me about it. I ordered an LFE5U-25F from Mouser about 8 months ago, looks like it's going to arrive in January. Thing is, I'm not building with the intent to mass-produce - if anyone wants to use my design, they're free to although I've not published the PCB for the DECA interface as it's specific to a DIY computer I've made and there's only two of that in the world.Supply delays give me time to perfect the PCB design, too.After much discussion previously about sourcing FPGAs and receiving a couple of (partially) dud Cyclone IVs from AliExpress, I resolved to stick to genuine suppliers from then on, but you're right, this is only for a one-off board, so maybe I should look on AliExpress for a Xilinx.Quote from: asmi on December 22, 2022, 07:04:54 amIt's advice like this that I was hoping for with this thread, and that's perfect. My PCB design experience is literally encapsulated in everything I've done in the FPGA GPU thread (so 2-sided PCBs so far), so I didn't know if there would be issues using a 6-layer board over a 4-layer board that I was unaware of. It seems the only difference is the cost though, so I agree with you, it'll making routing much easier - especially with regard to DDR3.Quote from: asmi on December 22, 2022, 07:04:54 amThe bigger packages are more enticing for the very reasons you've mentioned, but again I've never soldered a BGA before and was a little concerned I was making too big a leap from 2-layer boards and QFP/QFNs to 6-layers with 484-BGAs. Interestingly, every step 'forward/smaller' in the SMD world (with the exception of discretes - 0402 is a little uncomfortable for me without more practice) has gotten easier. Those E-QFP144 Cyclone IVs were a lot harder than QFNs to solder, for example - I'm hoping BGA will be the same (with the liberal application of heat).Quote from: asmi on December 22, 2022, 07:04:54 amGood point, hadn't considered that. That will have a direct affect on the PCB design. Instead of going for an intermediate 'Beaglebone-compatible' design which I can plug into the DECA interface (and thus sits at the bottom of the stack with no room for cooling), I might just design a specific board for my DIY computer and include the 3.3V-5V translation on it so it will just go onto the computer stack without an interface board. That way it can sit at the top of the stack and I can mount a passive heatsink, ducted fan or nitrogen-cooled reservoir as necessary.Quote from: asmi on December 22, 2022, 07:04:54 amAbsolutely. Meet me at the café... D'oh! I'll create a new thread and update this post with a link.New thread here.