G30 prototype

He’s like me. Over-researches everything at the expense of getting things done. :slight_smile:

3 Likes

Not that’s I’ve done it or I am otherwise good at SMT but here are some tips I’ve learnt over the years.

Soldermask repels solder, you need it around ever pin. I think you figured that part out. When soldering SMT use solder paste vs filament. For soldering smt ics use the drag method. When soldering thermal vias, heat the chip from the bottom not the top. If you need to remove an ic easily use chip quick.

SMT usage is easy with solder paste, 2 or 4 layer PCBs, PCB stencils and a cheap IR oven ($360 US). I’ve been building with these tools using 0402 components with ease. Desoldering with a hot air gun ($50 US). Chip quik for resoldering using the hot air gun.

I’m not going to beat myself up too hard, yet. I’m just getting started at this and have assembled all of 4 real PCB’s in my entire life at this point. And (eventually) all four worked. :slight_smile:

The next couple I do will be much easier. A backplane, for plugging in modular boards (sensors, relay controllers, whatever) which is just through hole slots, CPU boards w/ card edge connectors… and then the first couple sensor and control modules I plan on building.

Eventually I’ll have to figure out how to design an enclosure for all of it.

Has to be generic enough of a design to tackle three different projects, HVAC pneumatic to digital conversion, a security system, and then another HVAC project when I take my little mini excavator and dig up about 1500 feet of ground 12’ deep to lay loops. Going to use the G120 or G400 to control the circulation pumps, read manifold and loop temps, etc.

So there’ll be some interesting learning there, on how to read thermistors which are buried under the ground 12 feet, 300 meters away from the controller. And it has to be bulletproof because re-running them will involve lots and lots of digging.

First mini-step is a replacement for this timer which keeps getting out of whack. It controls a couple of relays that then control pneumatic comparison valves for AC on/off and our outdoor air mix.

Then thermistors in the rooms and I change over the pneumatic relays here;

And of course replace the zoned pneumatic thermostat feeds here;

Hopefully I can decipher enough to get the board to turn on the AC when the time and room sensors call for it…

Then next year I go digging up this yard…

With the mini excavator I own…

(here’s a point of view shot)

And one my wife took

Anyway, I figure I’ll build my own geothermal system at that place, with horizontal loops, all set up to be run off a GHI / .NET board.

So a modular system is needed so I have one platform to do security systems, RFID entry and inventory systems, pneumatic to digital conversions, geothermal installations, etc.

Pretty decent money to be made around here, especially on the geothermal stuff, lots of farmers with big yards that have plenty of room for horizontal loops, and this area sits on top of a big aquifer with water tables very close to the surface so they should be stupid efficient. Cheaper than drilling wells to drop the loops in, by a large factor, and if I can make the system highly efficient and programmable… so much the better.

2 Likes

Well I’m neck deep in it now.

I don’t think I could have sucessfully made this in two layers @Dave_McLaughlin!

By the time I got to the end, even with two signal layers, I had to ‘borrow’ the VCC layer for a couple of traces. The ground plane is fully intact, though.

Gotta design the backplane, and start working on the modules I need.

ETA: I managed to route all of the high speed signals away from the oscillators this time. :slight_smile:

3 Likes

Addiction complete :joy:

Haha yeah once I sit down to start I can’t seem to stop. I started this board ~9pm wednesday. Got a few hours of sleep this afternoon, but put 24.5 hours in to the dang thing. A lot of that was designing devices in Eagle.

Well, plus that one time I got stuck and did ripup !; and started clean. Nothing more depressing than getting 95% routed and going “oh crap.”

The only reassuring thing is on “take 2” it’s inevitably much cleaner.

The joy I feel at destroying the last airwire is palpable!

Now on to more modules. I have a lot of crap to build. :slight_smile:

1 Like

Are you going to pour copper between all those empty spaces and connect them to the ground plane on the bottom and VCC on the top?

Do I need to? There’s no signals to shield. The only pour I was planning was around the VRM’s to give them a little more heat sinking. (Although don’t need much, if any, there, makes me feel better)

VCC is just traces, no pour.

Ground plane is solid, not a single break except where vias poke through.

Any signal return should be able to find return path very easily.

ETA: I have thought about carving out the oscillators and single point connecting them, and likewise separating ground on each VRM and doing the same.

Will defer to anyone who knows a lot more than I do about EMI, though! I don’t know much!

On VCC I didn’t pour a plane as I wanted to ensure caps were connected in specific order. Bigger chip decouplers feeding the individual .1 decouplers on pins, etc. Pullups are on the main 3v3 line, not the board line.

I figure that way signals won’t “screw” with my chip.

I also have for the wiz5500 separated out the path for 3v3 analog and digital and kept them completely separate on routing past the ferrite beads.

Hoping to have no noise at all.

The last prototype board I did, I had incredibly clean 3v3 to certain parts of the board but others were very noisy on the scope, as I did VCC and ground all willy-nilly and haphhazardly.

Here’s the isolated VCC and ground planes.

(top and bottom of inner core on the stackup)

Managed to keep signals on the top and bottom of the board, only borrowed voltage layer for a couple of things

I know this is venturing off in to non-compute module stuff but that TI whitepaper I read on EMI (think I linked to it a ways above) mentioned creating a floating plane to shield the oscillator. This should stop it from sending noise in to the signal traces below it? I have some analog inputs run underneath the thing. There was just no way to route them around. I managed to avoid routing any high speed (USB, SD, SPI) signals anywhere near an oscillator but those analog lines are right smack underneath it.

So something like this?

Another oddity. Having put 24+ hours in to a design in a 30-ish hour real world time window, when I finally did catch some ZZ’s (Zeds, to you Canadians), I actually dreamed of routing traces.

Well, it was more like a nightmare because in my dreams I couldn’t get one last trace broken out and connected.

Like any visual repetitive task the ‘art of laying down nets’ is one that really creeps in to your subconscious.

1 Like

Did some more reading.

I moved my analog signals from under those oscillators. Only took a half hour to reroute.

@Mr_John_Smith I also changed my VCC layer to be a fill. Won’t really change anything, except the core will be less likely to warp, now that there are equal pours on both sides.

Also cut out the ground plane under the oscillators. Probably should do the same to VCC layer I imagine? Eliminate any capacitative coupling from the oscillators.

Yeah I know, not a circuit design forum :slight_smile:

But relevant for anyone doing signals on a board that uses IC’s with an external oscillator. (Got three in this case, 25mhz, 12mhz, and 32768hz)

2 Likes

Typically, on a 4 layer board where I have an oscillator I leave the inner planes as they are and add a floating ground plane around the crystal on the top layer. With 4 layer boards I typically never flood the top and bottom unless I have a lot of analog signals and then I place a row of guard via’s around the edge. You typically see this if there is any RF sections on a board. For most of the stuff we do, not really necessary although it does look cool :slight_smile:

2 Likes

Well I did a check through everything and realized I’d forgot voltage divider resistors for my analog inputs on the left side. Kind of hard to calculate R2 without the R1 value on an ADC…

4 1/2 hours later… sigh…

It also occurred to me that pull-up / pull-down resistors don’t need to be sitting close to the IC, and that anywhere along the signal line will do. So that cleaned up the board immensely.

I also moved a lot of the IC capacitors to the back side to clean up signal breakout, and did a better job on gridding my signals.

It looks a LOT cleaner now.

Oh and thanks for the tips, Dave. I’m curious to see how clean these analog lines are once it gets made.

Each time I ripup !; I about cry. But I’m pretty happy with where this one ended up, only took 3 tries.

Good thing I did the sanity check this afternoon.

Aside from the ADC voltage divider resistors, I’d also forgot a pullup resistor on the reset line of the GPIO extended I am using. That would have been frustrating to diagnose!

1 Like

I think you made a good choice moving the ADC lines away from your oscillator. I recently went through a redesign because I had some ADC signals near an inductor helping to switch power down from 5V to 3.3V.

My motor (whose position is read on those ADC lines) loved to fluctuate ever so slightly, giving me a nice audible indicator of what duty cycle my RGB LEDs (feeding off the 3.3V rail) were running.

@trent1098s I am having the same issues as you did where the G30 shows up in Device Manager but won’t connect in FEZ Config. Can you please walk me through how you got past this part / where do I find the FW files you loaded with Tera Term/how do I do that part?

See my post here for more details.

The firmware file was under Program Files (x86)\GHI Electronics… Look for G30 and you want to send Firmware.ghi up.

Make sure you configure the xmodem protocol properly in terraterm you want 1k frames.

The path that I went down followed their documentation here.

http://old.ghielectronics.com/docs/54/loader-tinybooter-g120-and-emx-families