Related Topics
Repairing the Retro Future
This week we dive into the fascinating world of vintage tech repair, focusing on efforts to preserve General Motors' futuristic '80s digital displays.
Magical Semiconductors of Pixies
We’re joined by Alexander Vartanov, an electrical engineering student with a knack for hands-on projects.
Pete Staples from Blue Clover
We welcome Pete Staples, the CEO and Co-Founder of Blue Clover Devices! Founded in 2003, they explore ways to make the electronics industry more efficient.
Other Resources
Circuit Break Podcast
Webinars
Videos
Tour MacroFab's ITAR-Compliant Facility
April 12, 2024, Episode #426
Today, we're tackling a topic that's a gold mine for any designer: crucial features you might not have considered for your prototype. From debug headers to "Swapperoo" resistors and heartbeat indicator LEDs, we're covering it all. Tune in as we share insights, anecdotes, and maybe a few confessions from our own prototyping adventures. Plus, we dive into the importance of making your prototype testing-friendly and discuss a poll that could solve a common UART connection dilemma. This is episode 426 – your prototype's new best friend!
Discussion Highlights
- Debug Headers: Taking inspiration from James Lewis’s Apple Mega 2 project, we discuss the importance of embedding debug headers directly onto the PCB. We also highlight the Tag Connect's footprint as a space-saving, connector-free debugging interface.
- Test Pads for Production Testing: Crucial for measuring signals ensuring that potential circuit issues are not overlooked. This measure is crucial for validating the prototype’s performance.
- Jumper Headers in Series on Power Rails: This method allows for the quick disconnection of subsystems for individual testing, enhancing the diagnostic process without the need for circuit alterations.
- Easy ways to hook up test equipment: By integrating connectors and test points specifically designed for easy attachment of debugging and testing tools, such as multimeters or oscilloscopes, engineers can streamline the troubleshooting process.
- Signal Integrity Testing Points: To monitor and adjust signal quality proactively, supporting the prototype’s overall integrity.
- Thermal Management: Managing component temperatures is a critical aspect often overlooked in the early stages of prototyping. The discussion includes practical strategies for thermal management, even in challenging environments like aerospace.
- Prioritizing Function Over Form: Make the prototype whatever shape it needs to be to be accessible for testing and debugging, even if it means starting with a larger form factor.
- Early Inclusion of Fiducials and Mounting Holes: The significance of adding fiducials and mechanical mounting holes at the onset of the design process aids in component placement, assembly, and effective heat dissipation.
- Adding Pass-Through Holes: For unforeseen modifications or component additions post-design, showcasing the flexibility this can provide to a prototype.
- Poll Discussion: When connecting two chips, each with their own TX and RX lines, should TX be connected to TX, or does TX connect to RX?
Relevant Links
About the Hosts
Parker Dillmann
Parker is an Electrical Engineer with backgrounds in Embedded System Design and Digital Signal Processing. He got his start in 2005 by hacking Nintendo consoles into portable gaming units. The following year he designed and produced an Atari 2600 video mod to allow the Atari to display a crisp, RF fuzz free picture on newer TVs. Over a thousand Atari video mods where produced by Parker from 2006 to 2011 and the mod is still made by other enthusiasts in the Atari community.
In 2006, Parker enrolled at The University of Texas at Austin as a Petroleum Engineer. After realizing electronics was his passion he switched majors in 2007 to Electrical and Computer Engineering. Following his previous background in making the Atari 2600 video mod, Parker decided to take more board layout classes and circuit design classes. Other areas of study include robotics, microcontroller theory and design, FPGA development with VHDL and Verilog, and image and signal processing with DSPs. In 2010, Parker won a Ti sponsored Launchpad programming and design contest that was held by the IEEE CS chapter at the University. Parker graduated with a BS in Electrical and Computer Engineering in the Spring of 2012.
In the Summer of 2012, Parker was hired on as an Electrical Engineer at Dynamic Perception to design and prototype new electronic products. Here, Parker learned about full product development cycles and honed his board layout skills. Seeing the difficulties in managing operations and FCC/CE compliance testing, Parker thought there had to be a better way for small electronic companies to get their product out in customer's hands.
Parker also runs the blog, longhornengineer.com, where he posts his personal projects, technical guides, and appnotes about board layout design and components.
Stephen Kraig
Stephen Kraig is a component engineer working in the aerospace industry. He has applied his electrical engineering knowledge in a variety of contexts previously, including oil and gas, contract manufacturing, audio electronic repair, and synthesizer design. A graduate of Texas A&M, Stephen has lived his adult life in the Houston, TX, and Denver, CO, areas.
Stephen has never said no to a project. From building guitar amps (starting when he was 17) to designing and building his own CNC table to fine-tuning the mineral composition of the water he uses to brew beer, he thrives on testing, experimentation, and problem-solving. Tune into the podcast to learn more about the wacky stuff Stephen gets up to.
Transcript
Stephen Kraig
Welcome to circuit break from Macrofab, a weekly show about all things engineering, DIY projects, manufacturing, industry news, and top things to add to your next prototype. We're your host, electrical engineers, Steven Kraig and Parker Dillmann. This is episode 426.
Parker Dillmann
Circuit breaker from Macrofab. So, yeah, we've been wanting to do this episode for a long time. This is, like, things to add to your next prototype that you might not have thought of. I it's kind of a weird way to put it though. Because everyone's gonna be like, oh, yeah.
Parker Dillmann
I put that
Stephen Kraig
in my prototypes. But, you know okay. The way I would handle this, we will have show notes up with this that gives all of our all the stuff we're gonna talk about here. It's not a bad idea to have this printed out and just when you're done with your prototype or if you're kind of in the middle of your prototype just glance over the list and say hey, are any of these going to be helpful? Because a lot of the stuff we're gonna talk about today are things that we've made prototypes before and wish we would have had on that prototype.
Stephen Kraig
Exactly. And just doing a quick, I guess you could say, DFX kind of check by just reviewing this and seeing if it applies to your prototype.
Parker Dillmann
Mhmm. And I guess some of these might be super obvious. Could be like, oh, well, it wouldn't work without it. Like, the first one which is like debug headers. But going further than just putting like a 2 by 3 connector for let's say you use an ABR ISP.
Parker Dillmann
Right? Or you put your JTAC connector. But go further, what if your design cycle is really long on this piece of hardware? What if you just put your connector for your debug right on the board? Right?
Parker Dillmann
So you just plug your debugger right into your PCB. Got the idea from James Lewis who was working on his, Apple Mega 2 project, and he eventually basically just made it so his test equipment we'll get to this too, like, test equipment would just plug right into his his prototype, and so he would
Stephen Kraig
That was some amazing forethought. Like Yeah. Just he knew from the get go that there could be, and this is not foreshadowing, but there could have been a nightmare situation of having to debug many, many, many lines. And we've probably all been there before where you have your DLA out and you've got 30 different lines and you're trying to use those little like finger clips to get onto all kinds of stuff. And you're sitting there looking at your board and I'm like, man, this would have been awesome if I just had a connector on my board where I could plug in and go to town.
Stephen Kraig
Think about your design cycle when doing a prototype. You know, If your design cycle is going to require significant amount of time doing debugging or doing firmware development on it, If you have a connector where you can leave your programmer connected and you could just sit on your computer and tip tap away to write your firmware, that is invaluable. Having to go to your board and connect and disconnect over and over and over is a nightmare after about the 3rd time. And anyone who's done any kind of extensive firmware development probably knows exactly what we're talking about here.
Parker Dillmann
Yeah. So put in make connectors for your test equipment that you can leave permanently kinda hooked up to your prototype. Because it also makes moving it around. Let's say you have all 30 of those probes on your prototype, and you're like, oh, I need to show this to, like, my director or my supervisor now. And you pick it up and you put it on their desk, and it doesn't work now anymore because you, like, jostled it in just the right way.
Parker Dillmann
When I was designing and programming snacky, the snack machine, I actually did the same thing, but I couldn't the the problem with snacky is it's a it's in a snack machine, so it's ginormous. So I bought a 40 foot long USB cable, which is way beyond the spec of what a USB cable should be able to handle, but it worked. And so I actually had my desktop plugged into Snacky, which was, like, you know, in the garage 40 feet away. So I could push firmware over and, like, walk over and see if it was working correctly or not. Hey.
Stephen Kraig
That I mean, whatever works. Right? There's so much value in being able to leave your things connected, go press a few buttons and then enact some kind of a change. That makes life considerably easier. And Parker and I have discussed this particular brand many, many times on the podcast, but TagConnect is absolutely fantastic for their programming cables and their programming headers.
Stephen Kraig
Well, I guess you could it's not really a header because it's just a footprint. But being able to connect one of these cables into your board and leave it connected or use their pogo pin, their press on ones for, you know, in circuit programming for production style, Thinking about those earlier on in your prototype is incredibly valuable.
Parker Dillmann
You know, let's say you have a connector that's to a data bus or whatever whatever you think might be the problem, like, a UART line. Right? Well, at this stage, go ahead and any single kind of any single, like, IO line that you can think of, you should just put a test point on right now. Mhmm.
Stephen Kraig
Just go
Parker Dillmann
ahead and put it on there. Even though you're like, oh, yeah. I'm never gonna have a problem with that. Put it on there.
Stephen Kraig
Famous last words. Famous last words. Yeah.
Parker Dillmann
Put a test point on it. Because guess what? You can always remove it later down the road, or you can always put solder mask over it to cover it up later.
Stephen Kraig
Or just leave it.
Parker Dillmann
Right. Or you can just leave it because if you let's say you're develop, you're in production and you're like, oh, we need to now test for x y z functionality, or you got test point there. So now all you gotta do is just drill a hole in your in circuit tester and put a pogo pin. Boom. Done.
Stephen Kraig
Yeah. Or or, you know, you left that thing in your your final revision. And say you have a failure out in the field and that thing is in a completely different country and you're getting a call at 3 in the morning like, hey, this is not working. Hey. You have a test point on your board.
Stephen Kraig
You know? Similar to test pads, it's not a bad idea to leave, if you're willing to do it, some through hole pads in case you need to solder some wires. Because if we're talking purely prototypes, you know, if you need to access something and access it often, sometimes it's nice to solder a little wire on that you can clip to and leave a more permanent connection. And in relation to that, the other half of probing is also worth considering and the other half being ground. It's not a bad idea to consider where your ground points are.
Stephen Kraig
Something worth thinking about is like a ground density on your board. So, maybe one ground test point per every 2 square inches or maybe even 1 square inch. Or if you have like a very sensitive circuit that you're trying to measure say like a really low analog value, put a ground near that such that you can probe right at the point. And and here's the best part about these kinds of test points, they're free. You just slap them down on your board, open up some solder mask, and and you have it there.
Stephen Kraig
But you will kick yourself if you don't have it, so consider that.
Parker Dillmann
And let's go one more step on these test points, is if they're not underneath a component, untent your vias. Yeah. Because now you automatically have a test point if that signal crosses between, you know, top and bottom
Stephen Kraig
Right.
Parker Dillmann
Or goes in between the you know, goes through an inner layer. But now and now it's also through hole, so you can solder wire to it as well. Untent the vias because you guess what? You can always send them back up later when you go to production. But now every single signal you can access if you need to.
Stephen Kraig
You know what's fun about the aerospace industry? We cannot tent RVAs because For outgassing? Well, because you now have a whole bunch of plugs with gas in them, even though it's a very small amount, and then you throw that up in a vacuum and your board starts popping all over the place. Right? And so we yeah.
Stephen Kraig
We can't tint our vias. So we inherently get that kind of thing, which that can be really nice too because if you make a mistake on your prototype and you have to cut a trace or you have to move a trace, if you have untented vias, that technically is a place for a prototype that you can solder to. So it gives you access to a lot of your your signals. So it is kind of nice that way. Now I would not consider using untented vias as a permanent test point.
Stephen Kraig
Like, if you're going into production, you don't wanna do that because you can damage vias by, you know, stabbing a probe into them because they're not the most robust things. But it's not a bad, but but if you need to just test something, you know, a few times here or there, you're probably not going to damage it.
Parker Dillmann
I've recently just started doing this on all my prototypes is sectioning off different parts of the board. So, like because you always have subsystems. You have your power subsystem. You have your microcontroller. You might have an analog front end, that kind of your sensors is actually sectioning those off on the prototype, and where they connect to the rest of the circuit is putting jumper headers and putting a 0 basically, I put a jumper header that can disconnect Mhmm.
Parker Dillmann
The, to that circuit. And then I put a 0 ohm resistor bridging it as well. Because sometimes I don't wanna put the header there, and so I'll just put a 0 ohm resistor that can take off. But sometimes I wanna have the shunt there where so that way I can let's say if I'm measuring current now, I can actually put in a I can put my probe across now without having to cut a trace or desolder or anything or anything like that. Right.
Parker Dillmann
So, yeah, that way you can disconnect different power rails. I like using it a lot for power rails because, let's say, you're designing a new switcher on your your prototype, new switch mode power supply, and you mess it up because you won't you will mess it up. Yeah. And but now it's like, well, in the past, you would have to go and, like, do surgery to, like, disconnect it from your rest of your circuit. And so you can bring it up, make sure it's outputting the 3.3 volts that you want to output or whatever the voltage it needs to be, and then you can connect it back up.
Parker Dillmann
Or, like, oh, this switching circuit is dead, and, well, now I can bypass it and just put a lab power supply there. And And so I can test the rest of my circuit and get more, usable evidence or usable data out of my prototype.
Stephen Kraig
Yeah. I think on on power supplies, it's critical almost. You know, it depends entirely upon how much current you're dealing with because if you're dealing with something that's delivering a 100 amps, you probably can't probably can't do that. Right? But, you know, within reason.
Stephen Kraig
And I would argue on the front and the backside of a switcher, put these shunts. Just make just think about what kind of measurements you're going to do. In fact, one of the fun exercises, maybe it's not even an exercise, one of the things we have to do in my day job is, we have to define all of the tests we're going to do to our board before we order the board. Like, so we're writing out our entire test plan, and so when you say things like, oh, I need to measure the power supply current to x y z circuit, you have to think about how does my board allow me to measure that? And a lot of times asking those kinds of questions or or doing that before you order the board makes you go back to your board and say, oh, I need to add this shunt or this jumper or whatever kind of circuit.
Stephen Kraig
That alone has been really valuable in my career of just putting 0 ohm resistors in places to, because I know I'm gonna screw things up. So I could deactivate whole chunks of circuit and immediately just go, the problem's not there. Go to the next one. Right?
Parker Dillmann
I like doing it now on, like, USB devices I'm developing, where, like, I'll have my USB plug and then immediately goes into a shunt. Right? So now I can disconnect it and put my meter, see how much current I'm drawing there.
Stephen Kraig
So I really like the idea of even making it as simple as having just a 2 pin header where you can make a very simple cable that just goes to the 2 pins and has banana plugs on the other side and it goes right to your multimeter. And there you go, you have an ammeter that you can just insert directly into the circuit. Yep.
Parker Dillmann
That's actually what I have for a lot of my projects. It's so convenient. Yeah. So this is one that you put in here, thermal management.
Stephen Kraig
Yeah. Okay. So making it easy for a way to get temperature information. And so, you know, I I I work in aerospace now, and thermal is a big deal in in aerospace because you don't have ambient to dissipate temperature. So thinking about how you are going to get heat out of your prototype is actually a pretty big ordeal.
Stephen Kraig
What's the 3, the the three methods of, or the three way heat is transferred? It's convection, conduction, and radiation. Right? Yep. In space, convection goes away.
Stephen Kraig
You don't get that one. That you don't get that one for free like you do down here. Right? So you have conduction and radiation. Radiation typically isn't that much, so you get really conduction.
Stephen Kraig
Conduction is the one where you have to you have to get all your heat away, and f r 4 is a pretty damn bad conductor of heat. So you can't rely on your heat going down your component and into the board. I mean, you can to some degree. Right? But it's not a very good one.
Stephen Kraig
So in your prototype, it's a pretty good idea to start thinking about how am I gonna get heat away from my components. Now, obviously, not everyone's working in a vacuum, but that doesn't mean, you know, don't consider it. Also, if you have unique aspects to your board, if you have assemblies or whatnot, like, do you need to add sill pads to your to your components? Do you need to add some kind of thermal grease to your components? How does that affect the design of your board?
Stephen Kraig
How does that affect where you place components? And are there going to be mechanical interfaces between components and heat sinks and things like that. Add that to your prototype earlier on in the process and get that done because it becomes a nightmare later on if you have to figure it out.
Parker Dillmann
There's a paper from TI about, like, LDOs, low voltage dropout regulators, and we're, like, you only even, like, an FR 4 with a copper pour, you only get, like, 1 square inch before there's, like, diminishing turns of how much copper you give a component to dissipate out into. Right. So you don't get a lot. So if you have a really thermal intensive design, put it in places where you can put thermal probes and stuff easier and attach them. Or maybe you put the probes, like, in your design so you can hook up to them with your, like, a a board mounted thermistor or anything like that that you can hook up your meter to and read.
Stephen Kraig
So that's a completely different aspect of things. Not only are you managing the thermal, you're measuring it at the same time. So figuring out, you know, is it acceptable to buy, like, a little SOT 23 temperature measuring probe and put it next to a component or do you need to actually get out your thermocouples and, you know, stake them and glue them to your components or whatnot. Yep. That's worth considering in the prototype.
Stephen Kraig
Mhmm. Well, okay. I've got a fun one. A really fun one that we ran into the other day. And in fact, I added it to our list today because we ran into this problem last week at work.
Stephen Kraig
I think it is very valuable to add what I call pass through holes to your board. Because I've run into this at previous jobs where I made a mistake in a schematic or a layout or whatever, and I now needed a signal to go from the top side of the board to the bottom side of the board. And the only way I was gonna do that on the prototype is by routing a wire. This was specifically a problem at my last job with WMD. Because of the way that our Eurex devices fit into the case, you could not route a wire around the edge of a board because then it wouldn't fit in the case.
Stephen Kraig
So sometimes I would use holes that were in the board that were, you know, part of the tag connect connectors, I would run a wire through there. Well, my firmware guy got mad at me because it was really difficult to insert the programming header at that point. I think it's actually a really valuable thing to arbitrarily add 1 or 2 or whatever holes in your board just in case you make a mistake and you need to route a signal from the top to the bottom side with a wire. And we ran into that at work the other day where somebody, there was a mistake made. Actually, no.
Stephen Kraig
It wasn't even a mistake. I wouldn't call it a mistake. We needed to make a mod to something to operate differently. I won't I'm not gonna call it a mistake. And we needed to route a wire around the board.
Stephen Kraig
But we, once again, due to our mechanical constraints, we couldn't do that, so we had to pass it through a hole. Well, the only holes on the board were mounting holes, and they mated to a mechanical surface. And so, we ended up prioritizing the wire over the mechanical surface and ground down the mechanical surface to give room for the wire to go through. If we just arbitrarily had a small hole somewhere in the board, that was just, let me just, in a crass way, call it the oh shit hole, where it's like, oh shit, I made a mistake. I need to get a signal from the top to the bottom.
Stephen Kraig
I think that's super valuable. An OSH? An OSH. Yeah. Yeah.
Stephen Kraig
Yeah. Yeah. I think I'm gonna start adding that regularly to my boards. And like we said with test points earlier, if you get to the end design and you don't need it, just close the hole, you're done, you're good. Or what?
Parker Dillmann
You know what?
Stephen Kraig
If you got that far, just leave it. It, you know. Well, actually, if it was a hole, I might if it was a sizable hole, I might actually get rid of it because someone might look at it and be like, something needs to be there because it's a hole. Right?
Parker Dillmann
A thing to spur off that is add mounting holes and fiducials at this point too when you're in a product, especially early on, but put mounting holes anyways. Because one, it's gonna be there so you because you're gonna need mounting holes eventually anyways for your product, but it gives you a place to put your to mount your prototype to something. And so when you do start moving it around, 1, your your prototype is not influenced by whatever surface it's on. Try powering up a board on, like, an ESD mat. Especially, you have, like, low signal analog stuff, it's gonna throw the signals way off.
Parker Dillmann
Yeah. And 2, fiducials. Go ahead and add your fiducials right away so you don't forget them. Later down the road, when you're, like, you started to densify your, your your design, and now you don't have you don't have a spice for your fiducials anymore.
Stephen Kraig
Yeah. Yeah.
Parker Dillmann
Add them early so you have them already in your schematic and already in your board layout. You got them already.
Stephen Kraig
I started doing something a few years ago where I anytime I had a new layout, I would do my board outline. That was the very first thing I would do. The second thing I would do is put fiducials down, and the third thing I would do is mechanical mounting holes, and then I would lock those 3, and they're done. Unless my mechanical team came to me and was like, hey, the board outline needs a change or blah blah blah. But before I touched an electrical component, those things were done.
Stephen Kraig
And you find that if you're in the middle of a layout, or if you're you're getting close to the end of the layout, and you need to add a fiducial, you're like, oh my god, I have to move all this crap to get these parts in, how can I even do it? You run into the issue of compromising on the fiducials or whatnot. But if you start with the fiducial there, your brain just go to this place where it's like, that's untouchable territory, I can't get close to it. And your layout will morph to accept those. Right?
Parker Dillmann
Or your or your product definition
Stephen Kraig
will have to change. Well, it does. Yeah. Well, okay. Actually, here's the thing.
Stephen Kraig
Most of the time, I promise you this is true, whenever I'm laying out a board, because I have run pick and place machines, and because I've known a lot of friends who have run pick and place machines, and because a lot of my designs were going to people that I know who are running pick and place machines. I try to make their life easy. I try to do things that don't piss off my pick and place operator. A lot of times because they're my friends. Right?
Stephen Kraig
And on top but regardless, even if I don't know the guy, I try to think of their job because if I give them, like, these weird fiducial positions, like, I've seen them just get mad at people who who put weird fiducial positions. And so I tried to give, like, really nice numbers and, like, keep them vertically aligned or horizontally aligned or whatnot. Like, I like to hope that when I send my boards out for assembly, the guy at the pick and place machine is like, I like this dude. This dude did a good job. That's my goal when I'm laying out a board, you know?
Stephen Kraig
As opposed to like, oh, not another one of these designers.
Parker Dillmann
The person goes to their doctor afterwards, and they're like, your blood pressure's down 4 points. Good job. Yeah.
Stephen Kraig
See, see, I'm working for those guys.
Parker Dillmann
Yeah. Another thing to add to your prototypes, heartbeat and indicator LEDs, like, the hello world of your microcontroller is writing code to blink that LED.
Stephen Kraig
Just say I'm alive. Hello.
Parker Dillmann
Yeah. I think the Chris Gammel has talked that as it's called getting to blinky. A GPIO pin that's connected up to a LED. So you can just, like, flash your firmware with blinking LEDs so you can know, like, within 5 minutes, does my mic controller work or not? Now indicator LEDs, there's 2 of these.
Parker Dillmann
2 different kinds I like to put on. 1 is on power amps.
Stephen Kraig
Mhmm.
Parker Dillmann
So like a LED that lights up that, hey. I've got 3.3 volts here. I'm alive. I'm happy. I'm happy.
Parker Dillmann
I like those a lot. Mostly because you get, like, a visual representation while you're debugging if something is working. But another one that a lot of people don't think about, a lot of integrated circuits, like, especially, like, power regulators and stuff, like, more complicated ones, will have, like, a power good and a status signal that comes out of the chip. Putting those on LEDs too so you can easily reference them. And, like, if this signal's high and this signal's low and this one is high, it means this.
Parker Dillmann
Right.
Stephen Kraig
This one's blinking fast. This one's blinking slow.
Parker Dillmann
Yeah. If you have those as visual representations, you don't have to get your multimeter out every single time and measure those signals and figure out if they're high, low, or or oscillating. Right. So putting LEDs on those is a really good way to quickly debug problems.
Stephen Kraig
It's a visual it's a hardware way of accomplishing the print f function in your code where it's like, I've got to this part of my code, that means I've executed everything above it. Right?
Parker Dillmann
Like, in beyond, let's say the the blinking LED indicator is I'll use those 2 to be like, oh, when I'm trying to get an interrupt to work and it's not firing. But I'll put in my code, hey. When this interrupt fires, turn on the LED.
Stephen Kraig
Right.
Parker Dillmann
And so now I have a when I finally cracked the right memory address that you have to hit to make that truck fire Yeah. It will actually light up
Stephen Kraig
the LED, and that's when
Parker Dillmann
you get that eureka moment. Right?
Stephen Kraig
It's funny because a lot of what we're saying is easy stuff. Right? A lot of this stuff is is really simplistic, and some of it is just like, well, duh. Right? But I can tell you I've made this every single one of these mistakes.
Stephen Kraig
I've made a board where at some point in time, I'm like, man, I wish I had that. Now I can get by without it, but it would have been nicer to have
Parker Dillmann
it. Right? Oh, yeah. For sure. The next one I'm gonna talk about is adding what I'd call Swapparoo Resistors.
Stephen Kraig
No. Those are great. And so
Parker Dillmann
I'm gonna ask everyone here. We should have a poll as well. This would be great. This would be a great poll. Alright.
Parker Dillmann
So what what it is is this is my question, everyone. You got your UART serial bus TX RX lines. So you have 2 chips. Right? Mhmm.
Parker Dillmann
And they both have TX and RX on both their buses. Does TX go to TX, or does TX go to RX on the other chip?
Stephen Kraig
I have I have thoughts on that, but I don't know. And and the reason why I say I don't know is because I've been bitten by this thing where I was very confident, and then I made the thing and it didn't work. TX should go to RX, and RX should go to TX. Right?
Parker Dillmann
And should. In theory. Right?
Stephen Kraig
That's that's what you okay. I'm actually gonna go 1 before we go into the swappery resistors, I'm curious your thoughts on which ones do you call the master, shall we say? In terms of, like, if you're gonna label a NET, do you label it RX or TX based off of which chip?
Parker Dillmann
Like who? The first one I put on the board.
Stephen Kraig
I like that. And my rule of thumb that I've done, and I have no idea if other people do this, is I usually let the microcontroller be the one who names the next.
Parker Dillmann
Usually the microcontroller is the first one. Yeah. Let the microcontroller do that.
Stephen Kraig
Yeah. Yeah. Yeah.
Parker Dillmann
Yeah. Now there was a so the Swapparoo resistors, there was a tweet someone sent me. Apparently, there's like a name for these. So basically, it is 2 resistors that are right next to each other that form a like, their pads form a square. And so that you can you can easily remove the 2 resist basically, there's 0 ohm resistors and you can rotate the resistors and they still can solder into those pads, and they basically swap TX and RX around.
Parker Dillmann
I like Swapparoo. Well, Swapparoo is the act of doing it, but there's, like, a specific name for that configuration.
Stephen Kraig
Enough people have done it that warrant a name.
Parker Dillmann
It's the RXTX Pokeyoke.
Stephen Kraig
Pokeyoke. Okay. Yeah. Yeah. Yeah.
Stephen Kraig
Yeah. I like it. Here's a point of advice. Dropping in this Pokeyoke Square of Swapparoo Resistors, Great idea. It's only half of the the job.
Stephen Kraig
And here's what I mean is, once you get your board and they're populated in one position or another, you test it out. If you find it works, great. If you find it doesn't work, flip them, and then immediately, like that exact second, go and fix it in your design. Don't wait. That's the other half of it.
Stephen Kraig
Do not wait. Do it right then, and then you're done. Like Yeah. I can't tell you how many times I'd do these things where it's like, oh, I'll just make this change, and I'll remember it later. You won't remember it.
Parker Dillmann
For your prototype, your first prototype, always prioritize functionality and debugging over form of the device. Make it a square or rectangle, and make sure all the components are there. Make it so that you can easily disconnect all the subsystems. Make it so you can easily get your test equipment in there. Make it so you can easily hook stuff up.
Parker Dillmann
Don't put a test probe right next to a big electrolytic capacitor because there's no way you're gonna be able to get a a test probe in there to measure it. Let alone, like, if you need desolder something that's, you know, in the valley of of towers of electrolytic capacitance. Oh my god. I've had to do that so many times where you have to, like, get tweezers and hot air down into, like, a little tiny area. They're melting everything.
Parker Dillmann
And they're melting everything around it. A sea of of goopy electrolytic capacitor bases.
Stephen Kraig
Yep. Yep. Been there.
Parker Dillmann
So, yeah, prioritize functionality from there's a great photo of, like, a prototype, like, iPhone, and it's like the size of, like, a newspaper.
Stephen Kraig
It's like the PCB. The idea first was make it work.
Parker Dillmann
Make this whole thing subsystems all these subsystems work together. Yeah. So think about that as you don't have to hit your form on your first prototype. You should be making your circuit works before you start shrinking it. Something
Stephen Kraig
that just came to mind, but, it's sort of referenced a little bit earlier in this podcast. For SPI communication lines, add 0 ohm resistors to your clock, your data, even your CS lines, and you may say, why 0 ohm? You don't sometimes, you need inline impedance for your high speed digital lines like that, and if you don't have a resistor or if you don't have pads to install something, it is a nightmare to get them in there. Add 0 ohm resistors. Test your circuit.
Stephen Kraig
If you find you don't need the 0 ohms, in the next revision, just get rid of those. But for instance, we had a circuit at work that we we had used this microcontroller over and over and over in tons of products, but, we did a revision on another product and added a whole bunch of SBI stuff. Nothing worked. Absolutely nothing. Until I went and scraped up lines and added a whole bunch of in series 22 ohm resistors, everything functioned well.
Stephen Kraig
So the signal integrity of your digital communication lines actually matters, and that was a situation where I was like, you know what? Every time I put down SPI, I'm putting 0 ohms in there because this would have made that kind of a task. And, you know, as opposed to like a full day's worth of work, it would have been 10 minutes worth of swapping out components.
Parker Dillmann
You know, there was another technique that you've talked about long, long time ago. It was similar, but with op amps and stuff, like feedback circuits and filters. We would put extra pads down for, like, oh, I might need
Stephen Kraig
to have a capacitor here for this feedback circuit. Correct. Yeah. So for any kind of feedback compensation, always put down extra pads there. So if you do need some extra capacitance on there, it's just there.
Stephen Kraig
Same thing actually with switch mode power supplies. In your feedback path, so you usually have, you know, 2 resistors in your feedback path. Your upper resistor add a 10 ohm resistor across it so you can take Bode plot measurements of the stability of your whole system. It's incredibly useful to have things broken out like that. So yeah, for sure with op amps, even if I didn't need a capacitor, even if I knew I didn't need a capacitor, I still put pads down because something might change, and I just needed a solder something in.
Stephen Kraig
And most of the time, I just put 0402 pads down because I could slap something in. Even if I needed a bigger component, at least the pads were there. Right? And and that's always been kind of my thought is PCB work is effectively free other than the cost of your engineers' labor. But having to modify physically boards is unbelievably expensive and difficult and prone to errors.
Stephen Kraig
So if you can do things like just plop down extra parts for free, just do it if you have the room for it.
Parker Dillmann
And the last thing I have is, I call it like utilizing all possibilities is every signal that you don't have hooked up. So, like, it let's say you even have a component that's got those indicators, like, power good and stuff, break them out to a test point anyways. Break everything out. Break anything that's not unused. You might be like, oh, it would be nice if this power subsystem if the microcontroller knew it was powered up fully.
Parker Dillmann
Like, you might have, like, a a race condition on, like, whatever that subsystem's powering, and you're like and you need to know for the microcontroller side, oh, the microcontroller needs to wait before it can start talking to that component that's on the other side. And it can only talk to it when the power good is now. But you don't you don't know that until you've written, like, half your firmware. Right?
Stephen Kraig
Right.
Parker Dillmann
And you're like, oh, I had that signal on my board now. I can go wire green wire, jump that over to the microcontroller, and actually test to see if that works out well. Yeah. And that not just the microcontroller. Break every components out
Stephen Kraig
if you can. Okay. Consider this. If you have a pin on a microcontroller going off to an 0402 component or whatnot, and you try to solder a wire to that 0402 component because you need to access it, there's a virtual guarantee you're gonna break that 0402. You're gonna break the solder joint.
Stephen Kraig
You might even rip up the pad of the 0402. You might even rip up the trace like a freaking hangnail coming off of your finger. Right? It happens. That sounds way worse.
Stephen Kraig
Right? That sounds like a really terrible day. So think about those kinds of things and just add solder points, add test points, add ways to get in and out of your circuit. It takes way less time to do that on your EDA tool side than it does to do it to in the physical world. And I hate to say that Parker and I are both actually pretty good at modifying boards because we've had to do it.
Stephen Kraig
Yeah.
Parker Dillmann
So many times. Yep. When this podcast comes out, there'll also be a blog article that covers all this stuff too, so go check that out. It'll be in the show notes.
Stephen Kraig
One other thing, be explicit on your solder mask. Put information. Put good stuff on it. Put an area on your boards that you can write on your board, like a with a Sharpie, so you can write, this is board 1, and this other one is board 2. So if you're taking data, you know what boards like just do yourself a favor and make it easier on yourself.
Parker Dillmann
Yeah. Like, so you can write down a note, like, on board 4, I replaced r 45 and this feedback circuit with a 10 k instead of the 15 k, and it did this to the output. Yep. Because guess what? What's gonna happen is you're gonna go you'll do that, and then the next week, you come back, and someone's shuffled all your boards.
Parker Dillmann
So, like, the clean crews shuffled all your boards around, and you're like, well, which one was I working on Friday?
Stephen Kraig
Why is the cleaning crew touching your boards?
Parker Dillmann
Usually, it's like, actually, like, another engineer needs to use the space.
Stephen Kraig
Right. So they just kinda, like, push your stuff out
Parker Dillmann
of the building. Yeah. But push the whole one wants to you're like, oh, it's Parker's stuff. He's not working on anything important.
Stephen Kraig
Yep. Yep. In there. That wasn't a customer's board.
Parker Dillmann
No. It was my boards. Oh, I've I've been doing this too is using different colors solder mask Yeah. For prototype first? Production.
Parker Dillmann
Production. So I use clear solder mask for prototypes, and then I just pick I usually pick red. I might be biased, but red for production. So I
Stephen Kraig
have no idea where that color comes from at all.
Parker Dillmann
Because y'all do the same thing though.
Stephen Kraig
We do red for all prototype. Actually, we have 3 colors. For any prototype, it's red. For anything that's flight, which is production, that's green, and then anything that's test is blue. So you just look at it and you know, okay, if I see a green board, I can't even get near that board without telling anyone because that's a board that could potentially go into space.
Stephen Kraig
But if it's a red board, yeah, whatever. It's a prototype, throw it in the engineering lab and do whatever test you need to. In fact, if you see a green board in our engineering lab, something has gone wrong. Flight boards aren't even allowed in our engineering lab without quality being there, without all the proper people being there.
Parker Dillmann
Someone's handcuffed to that board.
Stephen Kraig
Yeah. I like that. Yeah.
Parker Dillmann
See that's what you can use to spare, you know, we're talking about the spare hole. Make it big enough so you can put a head
Stephen Kraig
For a handcuff. Yes. Chains hanging off of it. I do like having those kinds of rules because they're really simple to tell to people, and people can get on board with it. Like our quality team can just look across the room and be like, that's a green board.
Stephen Kraig
I don't wanna see an engineer near that board.
Parker Dillmann
I'm imagining them standing up on the front of their of the ship with a big monocular. Right?
Stephen Kraig
Yeah.
Parker Dillmann
Yeah. Yeah. Yeah. In a surveying engineering lab for green boards.
Stephen Kraig
Yeah. I can also see one of the other quality guys. He's got like a blow dart gun, and an engineer gets close to it, and a dart sticks in his neck, and he falls over.
Parker Dillmann
Into a pile of engineers. It's like the 4th one.
Stephen Kraig
Yep. And that that is quality doing their job.
Parker Dillmann
Yep. So thank you for listening to circuit break from Macrofab. We are your hosts, Parker Dolan. And Steven Craig. Later, everyone.
Parker Dillmann
Take it easy. Cutter type better today. Thank you. Yes. You are a listener for downloading our podcast.
Parker Dillmann
Tell your friends and coworkers about circuit break, the podcast, and all the great tips for prototyping that you've learned on this episode. If you have a cool idea project or topic or more prototyping tips you want to discuss, let Steven and I and the community know. Our community where you can find personal projects, discussions about the podcast, engineering topics, and news is located atform.macfab.com.
Related Podcasts
K-Factoring a Gumbo
Stephen finally gets a license for the Eagle EDA Tool but not for the reasons you would expect! Also, sheet metal design and IoT device security!
Cow Field
This week Stephen and Parker were supposed to discuss bench equipment for development and testing but got distracted by talking about home-brewing beer.
When Print(); Just Works
The print function of a programming language. Used by engineers everywhere as a universal debugging tool. Is there a better way maybe... but nah.
Pete Staples from Blue Clover
We welcome Pete Staples, the CEO and Co-Founder of Blue Clover Devices! Founded in 2003, they explore ways to make the electronics industry more efficient.
Repairing the Retro Future
This week we dive into the fascinating world of vintage tech repair, focusing on efforts to preserve General Motors' futuristic '80s digital displays.
Magical Semiconductors of Pixies
We’re joined by Alexander Vartanov, an electrical engineering student with a knack for hands-on projects.
About MacroFab
MacroFab offers comprehensive manufacturing solutions, from your smallest prototyping orders to your largest production needs. Our factory network locations are strategically located across North America, ensuring that we have the flexibility to provide capacity when and where you need it most.
Experience the future of EMS manufacturing with our state-of-the-art technology platform and cutting-edge digital supply chain solutions. At MacroFab, we ensure that your electronics are produced faster, more efficiently, and with fewer logistic problems than ever before.
Take advantage of AI-enabled sourcing opportunities and employ expert teams who are connected through a user-friendly technology platform. Discover how streamlined electronics manufacturing can benefit your business by contacting us today.