Ben Heckendorn and Chris Kraft rejoin the podcast to discuss if Open Source Hardware has run its course or is the dream still alive in our souls.
A decade after graduating college, Stephen finally did a differential equation for his job! That is some real engineering I tell you what.
The PinoTaur has reached production status but not without supply chain issues..OF COURSE! Bonus discussion about thermal management for PCBA.
PinoTaur Pinball Platform
USB Text Adventure Game
Epic Game Store
Announcements!
KiCon 2019 is a user conference for the popular open source CAD program KiCad. Happening April 26th and 27th 2019 in Chicago IL, this is the first and largest gathering of hardware developers using KiCad. Talks at the conference will span hardware design, revision control, scripting, manufacturing considerations, proper library management and getting started developing the underlying tools. All announced talks have been listed on the conference site.
Visit our Public Slack Channel and join the conversation in between episodes!
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 began his electronics career by building musical oriented circuits in 2003. Stephen is an avid guitar player and, in his down time, manufactures audio electronics including guitar amplifiers, pedals, and pro audio gear. Stephen graduated with a BS in Electrical Engineering from Texas A&M University.
Special thanks to whixr over at Tymkrs for the intro and outro!
Ben
Welcome to the macro fab engineering podcast. I am your guest, Benjamin heckendorn
and we are your hosts Parker Dolman and Steven Craig. This is episode 167.
Benjamin heckendorn is a console Mater and famous computer engineer. He's better known as Ben Heck on the internet. heckendorn is also an independent filmmaker, and he was the star of element fourteens. The Ben Heck Show a popular online series until leaving the show in 2018.
Then was also known as the guest on McWrap engineering pop podcast episodes 2375 and 153. And I think Ben now claims the most showings on the podcast now. Cheers.
Ben
Thanks. I didn't realize being a guest on your podcast was one of my crowning achievements.
It should be on your Wikipedia page.
Ben
You should like etch it under my tombstone when I'm dead, like, episodes 2375 and 153. And ever be like, What the hell is the map podcast?
It looks like the back of a fortune cookie.
Ben
It shouldn't even have my name. It should be like the Tomb of the Unknown Soldier. It just says star maps podcast, you know 123.
Don't you feel honored to be on this podcast?
Ben
Oh, yes. Well, Parker will text me like four hours ago and asked me if I wanted to do it. And I was like, Sure. What else am I gonna do to play with my fidget spinner
that you got after recording a podcast with us in text?
Ben
That's right in your old studio before it flooded? Yes. fidget spinner is from the Battleship Texas, which is a world war one Dreadnought, which survived both world wars and now is a museum
that's leaking and might not survived the taxpayers. Yeah,
the ultimate World War.
Ben
Last Battle was economic and it lost.
So what are we talking about this week?
Yeah. So today we're gonna talk about the the penetrator, which is the pinball platform that Ben and I have been working on. And then we will be working, talking about the USB text adventure game that Stephen and I talked about a couple episodes ago. That was a while ago. Yeah, we kind of alluded to doing this. And I think we're going to actually scope that project out and maybe talk about some story ideas. And then we got some video game news, which is we typically don't do on the macro engineer podcast, but you know, epic game store and there's a new Star Wars game.
Ben
Yay. Star Wars game that wasn't surprised at all because it was announced
years ago. Yeah, and canceled and rebooted. Like how many times three four times that was a different studio. Ah, because this
LEGO Star Wars infinity or something like that? I guess I guess we'll get to
it later. Only that would actually make for a good game. Yeah. Hey,
I haven't played them. But from what I've heard the LEGO Star Wars games are just pure quality.
Ben
I've played them before. Yeah, they're pretty fun.
Alright, let's talk about the penetrator. What's What's up with that?
Ben
Why is it called the pinna tar silica minute tar.
That was a that was actually a mega fab podcast name that are an extra that ended up being a contest didn't it? We had some people give some like, actually, like, draw up some pictures of what a pin guitar would be. Yeah, so
we wanted to come up with a like, like a name for it that was in like Greek mythology. And so Minotaur is kind of like a cool monster. And oh, pin a torx sounds, at least in my mind. Sounds cool. So and then we had and then we ran a little contest for some macro fab swag to like drop logos and stuff. And so yeah, turned out to be pretty good. I
think I think I can't remember who it was that one but they drew a picture of a magnetar where their head was a pinball machine. That horn sticking out of it.
It was actually awesome. Yeah. Well, you got to put that on the on the board then. Yeah, it's gonna be the logo for the board.
Ben
So So Parker and I worked on the pin hack follow up that was going to be used at housekeepers network castle, but that it was aborted.
Yeah, that was an unfortunate series of events that happened there.
Out of curiosity was was the game aborted or was the board
Ben
game was made, but they switched to P rock? Basically, there's this guy named Jimmy Lipton. There, I just outed his name. Who said he was going to help us with the audio video portion, but then he didn't really come through on that promise. In the embedded engineer, which was carry me, he did a really good job of the microcontroller side. But Jimmy Lipton didn't come through with what he said he do with the Raspberry Pi side. And then we spoke, he was basically forced to switch to pure rock. And that was around the same time that I rage quit spooky as well. Not entirely related, but yeah, yeah, yeah.
So the idea behind the exam, so that was pin hack. Rev. Eight.
Ben
Yes. It was basically the pin hack. rads rev seven system, we removed the propeller and put in a Raspberry Pi three compute module, which was a pretty solid way of, you know, incrementally went about it. But yeah, we didn't have the right deep bench for the audio video portion. Yeah,
like we did for the propeller, because you could do the the assembly code and then we had Roy elfin do the audio portion of that.
Ben
Yep, parallax propeller. Good. But that's much, much simpler than trying to figure out a video system on the Raspberry Pi. Yeah. So then what Parker proposed, I think we both kind of came up with the same idea that Parker's like Don't steal my idea. And I'm like, well, we'll work on it or something. And you said that, yeah, was to basically make a Pinball Controller that's just a USB peripheral, which is pretty much what V rock is. Yeah. So you use whatever you want Raspberry Pi, the old Dell laptop, and then you have a peripheral that does all the low level stuff for you.
Correct. So the idea though, behind the pin hex system was to have like a low cost, like we we basically designed a board set to be used in a production or small volume run pinball machine. So that's gonna be the idea with Penetang going forward is, you know, take the pin hack platform cost, reduce it even more. Make it affordable. Because that's the big thing with a lot of these like pinball platforms that you can just buy online like P rock or fast or I think like, what's the other one out there? There's a couple other ones out there. Like an open pinball project.
Yeah, that hasn't been updated in a while. Yeah, Jerry
Ben
does pee raucous business. So he asked to put is profit margins as his income into the cost. Yeah, it's so expensive.
Well, just the his main board is more expensive than the pin hex system was
Ben
the pin hack was so effing cheap. I don't think Charlie really appreciates how much that helped him. With his going
long run, Charlie. Yeah. When he was getting started.
Ben
Yeah, so but yeah, so the idea is to make this even cheaper, and physically smaller to right, Parker?
Yeah. So the idea is because the pin hack was like a six layer board and it was like 14 inches by six inches. So pretty beefy board. It was big. It was 14 inches. That's the that's the problem with the with pinball boards, or at least just like, boards in general designs is you kind of limited by like, external world connecting to it. And so the reason why that board was so big was because all the connectors drove drove up the size. Yeah, it just goes all the way around the perimeter. And so the idea is to reduce it by reducing how many layers because the pin hack was basically based off a lot of older style. Board sets, like so you had multiple like 12 volt, five volt 3.3 volt rails
didn't didn't also have a 50 volt rail on it, and had
a 50 volt rail, which you do need for the solenoids, but it's, you know, it's just a fat trace. You don't really have like a plane.
Ben
Yeah, the the America's most haunted models. They didn't even have internal there were two airports, right?
Yeah, they were originally were two layer boards. But we were running into a lot of issues with thermal management and and stability problems.
Ben
Right? The four layer boards or six layer later on, those are pretty solid. Right? Those are pretty good. That was Rob Zombie Jetsons and Domino's
Yes, actually. So I remember there was the the old mindset or the older pinball mindset of having to use through hole FETs across the board on that have you guys literally across the board? No, there was just there was just if you saw the pin headboards which I saw a ton of them back in the day, there's just rows and rows of to 220 style fits across the net I remember Parker and I talking multiple times like you know, you could surface mount that and it was and it's sort of the same audio general like voodoo kind of thing where it's like Nope, you have to have through hole Feds because reasons.
So we are going with surface mount fits nice. So and so we're gonna do is we're basically the problem with surface mount FETs is they do physically take up more boards space, they're about double the size of your footprint. So we're going to put Gonna put 12 on front and 12 on the back. It's basically a
Ben
bunch of 50 year old men who thinks surface mount soldering is magic. They think their phones are filled with magic. And I know what Parker is about to say he's like, it's easier.
It's easier, you just point hot air at it and the part falls off or you just
Ben
use Well, I want to do a demo and MGC I'm gonna you know, you can use your you can use an iron to do it. It's not that hard, if anything desoldering through hole components as a greater chance of damaging traces than surface boundary work.
Oh, for sure. I can't even count how many times I've pulled like the rings out of boards before.
Ben
Right? So we're still talking like 24 solenoid. So we're still going to have like 310 pin Molex connectors, so that can't be avoided. But we're going to have some other reductions, right?
Yeah. So we're going to be going towards serial switches and serial lights. And so instead of having an eight by eight matrix of lights, and and switches, so you'd have to have like, you'd have to have eight pins for each column and rows, six pins. And those would like the big Molex was a K K type. What's the case? Like three points?
Ben
1.56. It's the same as the sign on connector. Yeah.
So we're gonna go 2.156
Ben
millimeter mill inch, I should say, sorry.
Yeah, yep. So we're gonna go to point one inch pitch, the reduce the the width. And because it's surreal, we can get away with four pins power data clock ground.
Ben
And the switches are three wires. It's power data. Ground.
Oh, it's one wire communication for those. Yeah. Didn't tell you that. Oh, that's right. It's you aren't?
Ben
No, it's not you don't need it's not even UART. It's PWM. Zero and one communication, but it's converted to Rs. 232115 200 at the end.
Had just bananas.
Ben
Yeah, we can talk about that if you want. Yeah. All right. So I had this via this idea years ago. And I think highway pinball tried it, because they had a microcontroller on every inductive switch. But then someone sent me the schematics and all the microcontroller was doing was sensing an ADC using an ADC to set an inductive sensor to figure out if the ball was near collapse in a magnetic field. So they weren't actually using the microcontroller for anything but that but they did have like a data and data outline that was not connected. So look like they had considered serial switches. So I thought I should just kind of as a semi retired thought experiment, could I make a serial switch? Right? So what I did was I did a project last July with at Tiny 10s which is that SOT 23 microcontroller, the one has six pins on it looks like a grain of rice. So I had a bunch of those. And I was like, let's just see if I can use these because these are like 23 cents and any decent quantity. So I rigged up a high voltage programmer for it. So I could use all six pins. Well, all four IO, I should say. So the recent line becomes an IO. And then a well, I won't even bother showing you guys because your viewers can't see it. But I got like a sock 23 adapter PCB and put it onto a breadboard. So I have like eight of them on the breadboard. And then they go into the ninth one, which is actually the converter. And so it's for IO. It's switch zeros, which one so you could actually have two bits for microcontroller. You'd also have an ADC because Parker and I'm talking about load sensors as well. And then there's data in and data out, right. So the data in and data out on each one of these, which is like half the IO, right? So I was like, okay, these things need to self enumerate so they know which one they are, so they know how many bits to expect from the previous switches. And then it'd be cool if they could convert to regular serial at the end. So I didn't want to use just regular serial for the switch to switch communication because at the time, it'd be accurate enough. So it uses pulses kind of like a NeoPixel. So basically, it does a low pulse, that's a minimum minimum length. So basically any falling edge is the start of a bit. And then okay, like, two microseconds later, if it goes if it goes back to high and like two microseconds and say, one, and if not, it's a zero. Right? That's pretty much it. Okay, and but still falling edge so works like Rs 232 in that in that manner. So, when the switches boot, they look at their inputs and outputs, and it actually tries to do that. They try state one and then they put a sense on the other, right. So each switch puts an inherent risk. Each switch puts a zero on their input line. At start which is connected to the previous switches output line. So when the switch boots up, if it sees a zero on its output line instead of a one, it's like, okay, I'm a normal switch the end of the chain, you put a physical pole up on the last one. So that switch would be like, Oh, I see a one there, I am the rst three, two converter switch, right? Likewise, each switch checks is then checks its input line, the very first switch in the chain, you solder blob that to ground. So if you see a zero there, after you did the first check, then you know that you are the sender switch, LCR receiver switch, then there's a little bit of delays or anyone can sync up, then the sender chip sends its enumeration as an eight bit value, which would be zero, that each chip waits until it gets eight bits. And so the next chip gets a number adds one sends it to the next ship. And they all enumerate themselves that way, then they wait a little bit longer. Then the sender chip sends out its switch data. So it sends out two bits, that triggers an interrupt in all the cascade switches that get the bit repeat the bit on their output, and then add the bits they get to their own inbuilt variable than the last switch in the chain. And also, so if you're like, Oh, I'm switch 64. That means I'm going to expect 128 bits. Once you get the total number of bits that you're expecting to get. Then you either pass along your data down the chain, or in the case of the final switch, you're putting everything into a array, and then you convert all that to Rs 232 using another interrupt. That's pretty much how it works. So it's all software serial.
And the whole point of that is so that there's only one code base for all the switchers.
Ben
Yeah, so if you you could get them all programmed at the factory, and then put them wherever and then they would figure out what they are on boot. So yeah,
and then for the serial lights, we're talking about using we found these like really cool. I guess I'm not really cool. They've been around for a while it is those NeoPixels but the ones that we found are actually lead free compliant, supposedly with clock data. Yeah. Because we what does that
Ben
partner you had one of those like, you know, pretty bog standard RGB driver chips to drive an RGB LED before? Correct, but then we made some test PCBs for it like to replace bulbs with and that did work. It did. But if we could get a lead free, appropriate clock data, RGB LED and seven NeoPixel which is, which is just one line cereal. That will be great because the reason that's good is because then we can easily control the the spy bus at speeds higher than a NeoPixel because NeoPixels are actually kind of slow. I mean, clocking in the data is slow. Correct? Yeah. Because it's all timing related. So you have to do it 100 kilohertz.
So it's pretty funny The part number for it. It's APA, which is like the company that makes a lot of these like smart LEDs. So apa 102, C, hyphen, new. hyphen, 260.
Ben
So it's like a Nintendo DS. Yeah. So it's new.
But the two end the 260 means the housing can handle 260 degrees C reflow.
Ben
Because that was a problem before, right? They would melt?
Yeah, what happens is the lens cracks under reflow.
I think there's some, just somehow there's a small amount of moisture trapped under there. And it it potentially boils and cracks. Yeah. And no amount of like, making them really fixes them. We did yeah, we did a ton of work at at the fab back in the day. Because everyone on Earth wanted to use these LEDs. Because they're super easy to use. They're cheap. And it's it's makes life easy. But man, in some cases, we were seeing like 30 40% failure rate on these LEDs was
Ben
awful. Yeah, it's terrible. Well, that's why they have the new model fingers crossed and new 260
Now without water.
Ben
So the thing Parker and I were discussing today was the best way to put connectors on these LEDs, so we would make strips. My idea from the game I didn't get to finish was to have standard spacing between the insert lights on the pinball playfield. So you could have an LED strip of lights on the PCB, and the lights would already be pre space so you could take the whole strip and just put it on the board or one piece or you can break it up into smaller pieces if need be.
Yeah, I don't know if Steven ever saw that board at the fab. I don't think so. I made a big panel of these led to strips. So you would cut how many you needed in a row. So you cut five or you can cut three.
Was that the one that you made that had you could program the whole panel? And then you could cut the panel? Yes. Yeah. Okay. Yeah, that that was that was kind of unique. I, Parker made a board that had traces that went across, like a score area effectively. I mean, it wasn't actually scored there. But it was scored on one side of the board, right?
Correct. Yeah, we had it scored on one side V scored and one side and the traces pass on, but you've
Ben
done that for other projects, too. Right. That's what Steve was talking about.
No, he's talking about this board.
Yeah, I think was the one I Yeah, actually, I remember you going through and like that was one of those things where we sat down, we're like, Could this actually work? And it was like, well dry it, you know?
Yeah. It ended up working. Yeah. But that was what we were using a like a Cree RGB LED, and then the WS 28 01. Driver, Chip LED driver chip.
Ben
Yeah. So if we just had two connectors, a screw hole and the LED, it would be smaller and simpler and cheaper.
At least expensive is what we're going forward. This.
Ben
That's why we were discussing what connector to use. And I think, yeah, that was a point of contention. Like you mentioned, SATA connectors, which I actually that that one I didn't mind, even though I don't know if I'd had enough current carrying capacity.
Yeah, that was I was started looking at just what kind of characters were out there, because we were originally going to use like, these SMT, IDC, like clauses what they look like.
Ben
So we had the first prototype to get us talking about,
yeah, the problem with those is they don't reflow straight, they can just like wander on their pad. And they're kind of fragile.
Ben
That's because they're square. Yeah. Right. And
so we decided, Hey, let's go with surface mount headers and just have like a floppy drive style ribbon cable, and you have like an IDC style plug. That seems to be that would work perfectly fine. The problem is the cost associated with those connectors and stuff. It's not, they're not expensive, but they're not also inexpensive at the same time. I don't think
Ben
people realize connectors are one of the most expensive things in any electronic circuit board.
Yes. And the problem with that is like the cheaper SMT headers for like the male side that goes on the board. They get ones that are shrouded with like a locking lug or a or a locating pin. Those are very expensive actually compared to just like a like a uncrowded version. And so and we wanted to make sure when if someone has to take this apart later down the road, they can put it back together easily and not, you know, fry something, right? Because a lot of times you're doing like maintenance on a pinball machine. And it's like, dark and dingy. And, you know, there's cats crawling in it. Yeah. Kids crawling in there. Yeah. So. So we went
Ben
back and forth today trying to figure out what kind of connector to do better. And basically, which feeds cheapest? Yeah, basically
the cheap overall. So the way you build the wires, how much time it takes. All that is in consideration. And Satow actually was fairly a forerunner of like, how inexpensive was because the connectors for SATA is like, they're really like, what are they like nine cents apiece? Yeah, that's what he said. And the problem that ended up being is the contacts are only like, rated for like 1.5 amps, and which would be fine for the switches, but not for the lights because we need like five amps at five volts. Sata
Ben
is two twisted pairs and three grounds, which means even if you didn't try to double the power, you couldn't because you you know, you wouldn't have equal numbers of grounds. And voltages. Yeah.
So then we looked at USB type C, which Ben didn't like, because like the cables are bulky and would be hard to bend, which is fair.
Ben
And we just would try to plug the phones into it.
Yeah. But I didn't want to work and then what we settled on rj 45. Yeah, RJ 45 seems to be the winner right now. Because the connectors are inexpensive. It's really easy to build the cables. You can build them in any links you want. And you get them in all different colors. So we can color code everything
Ben
probably be easier just to like buy pre made lengths of cable. That too. Yeah. The connectors are pretty big, though. Yeah.
So that's the only downside is that the connectors are big.
Ben
Well, something else to think about is you know, RGB LED, if it's on full white, it can actually take up to like, what ad 100 milliamps and then you get enough of those put together and you're actually talking some serious current, like 64 of them are full All white would be like, what? 3.8 amps. At which time you have to start thinking about the current carrying capacity of your wiring. Because it's not infinite.
So yeah, we just have to come up with a way to super chill the wires. Oh, yeah, no problems.
Ben
deep roots probably working on that. Right. Superconducting involve. Yep.
Right, genetically aligned wires for higher current capacity.
Ben
Exactly. Well, I guess. Yeah, RJ 45. Like, if you just have an individual life that has two hours a 45. Going into it, that might look a little jank. But again, any lights you have in a group, you only need one at the start in the end. So once you started doing, you know, production, you'd only populate the necessary jacks, and then leave the contiguous PCB between the switches to like, allow the signals to go through and only cut it where you need to. So for prototyping, just hit it with a bandsaw. And for production, you would just make, you know, groups of two groups of five, whatever you need.
And then we decided to get rid of the pic 32. And we're getting rid of the prop and we'll move into an A A ARM
Ben
chip. Yeah. Yeah, I still didn't order one of those yet. Should I
know I think I want to, like do the schematic and make sure we have all the peripherals we need. Okay, we should have them all.
Ben
Yeah, we were looking at the at SAM D 21. G 18. A.
Yet it's the chip that they use on the Arduino zero and a couple other Arduino flavor boards. Now,
I pre programmed a handful of those at the fab. I think the mega Duino had that chip on it, which was a, you know, an Arduino with a stepper motor on it, basically,
Ben
that was something we were looking for was at least what eight PWM controls for motors or steppers. correct for that we need direct IO. We can't use Shift Registers like we can for the other peripherals.
Yeah, so a lot of the other like the solenoid controls and GI and cabinet IO is going to be on on expansion buses. And then we're going to be doing direct PDM PWM. I mean for the servos and motor controls. And then we're going to use we need we need spy buses, and I think what does Atmel call them again? Sir comms.
Ben
SERCOM is their generic name for any peripheral that can do serial, so it can become high to see it can become, you know, you are to come or become spy boss. So I think that ship has six or comms. So more than we need. I mean, we depending on again, depending on how quickly we can clock data out to those RGB LEDs depend on the spec, like the one you sent me earlier, it said that the max speed was 1.2 megahertz, which is an extra amount much faster than a NeoPixel somebody else to consider, for some reason, the clock data versions actually require four, four bytes of data instead of three. So that's 32 bits times 64 lights, which is 2048 bits, right? So then you take, say I'm drawing a blank here. Okay, 1.1 point 2 million divided by 2048 is 585. I don't know what that number means. Actually, though. I can No, I have a really hard time thinking from like milliseconds to hertz.
Wouldn't it be five in order to clock out that many cycles or that many bits? It would be that many clock cycles? Right? Well at 1.2 megahertz, right?
Ben
Ah, yeah. But we're talking about we're not talking about CPU clock cycles.
No, I'm talking about at a right speed of 1.2 megahertz.
Think Are you trying to figure out like the FPS?
Ben
Yes. Okay. Oh, here we go. Here we go. I'm using electro droid app. Because you can think for me. Okay, so the frequency is 1.2 megahertz for each bit of the LED, that's 833 nanoseconds times 32 bits per led 26,000 watts or 26 microseconds times 64 Lights 1.7 milliseconds, right. Now, so that's actually a lot of time. So then you think it's are you going to be a DMA for 1.7 milliseconds, then how often do you have to like update those per second? Maybe like two only times a second, right? Like, let's see. So that would be, you'd be spending 1.7 milliseconds every 50 milliseconds. Actually, that part's not too bad. We just want to make sure that that DMA process doesn't affect things like the switch input coming off of the serial switches, or USB host calls.
Or you press the button and the flipper flips.
Ben
Exactly. Yeah. Because we want to we want to,
you want to actually make a game. Yeah, well,
Ben
apparently P rock. I'm sure Jerry will go online and say this is wrong. But you push the button, it goes up to the computer, the computer is like, Oh, you want to flip the flipper, huh? And then it sends back down for the flipper to flip things like, we're going to do all that stuff locally. So the host computer will have to think about things like that will be handled automatically as well as switch developed. Correct? Yeah.
So like, if there's like a, if it's always going to be a switch reaction. It's kind of like you know, your nervous system where like, you get hit in a knee and your knee flexes without your brain even thinking about it?
Well, but your brain knows that your knee flex? Or are you also going to send the flipper signal up in case the computer? Hit the switch? Yeah,
Ben
like if a pop over gets hit, we can have it automatically react. But then it will also say, hey, this pop opera has hit,
right? In case it needs to do something, which it probably does, right? So
Ben
you basically send data down to the microcontroller saying, here are your settings, and then the microcontroller will work autonomously from that point, just like with the switches, the serial switches will be putting data in 250 hertz, but the microcontroller would know what debug settings are set for each switch, and then only report changes instead of constantly streaming data up the chain as well. But yeah, but yeah, part of your for doing a 1000 hertz main kernel on that chip. That means when we start the DMA transfer for serial lightning, it's gonna take 1.7 milliseconds, which means that transfer will go through, you know, 1.5 cycles of the main of the main code. So you want to make sure that DMA transfer isn't affecting anything else in the system, correct? Yeah, it shouldn't shouldn't. Yeah,
yeah, it's the whole point of dma's are kind of like you don't affect your main code kind of thing.
Ben
Right? Well, we probably have to figure out what priority level would be for it, because it probably would be lower priority than something like the solenoids. However, we can look at the datasheet and see what idle time will actually cause the LEDs to latch and then make sure that if we are having things to interrupt our DMA process, that the time it takes for the other DMA has to be serviced will not exceed the reset time for the LEDs. Yeah, so
you don't watch halfway through your transfer.
Ben
Exactly.
You want to talk about the USB text adventure game now.
Ben
Yeah, I mean, we talked about that last time I was on right. I don't think so.
I don't know. I think Parker and I talked Oh, I'm pretty sure I talked about
talked about on The Ben Heck podcast a little bit.
Oh, yeah, I wasn't a part of that one.
Ben
Because you guys wanted to make like a dongle that goes into a computer with a microcontroller on it. And it serves a protected venture game over the serial port. That's right, cuz you had a CON badge a couple of years ago that did that.
Well, and not XOR had a badge that did something of that sort.
Ben
And then when I kind of I want to say, I know we talked about this, and I thought it was on this podcast. My suggestion was that you make the dongle part of the story. Like remember, it was like an alien dongle that fell out of the sky, and you're in your 10 year old kid, you find it out in the woods, you like Stranger Things kind of stuff. So, yes,
I was meant to say stranger dongles, but that's just not that's not.
No, we talked about that on your podcast, Ben. Oh, really?
Ben
Yeah. Yeah, I thought we talked about it on here.
Okay. And so I was thinking we can like talk about a bit like, you know, the scope of the project and story ideas and stuff.
Ben
Yeah, sure. I thought for sure. We talked about, okay, whatever. We have talked about it just in a different context. Okay. Right.
Yes. Actually, I don't think I don't think the three of us have talked. I know. Parker and I have talked quite a
Ben
bit about it. Now's our chance. Yeah, this is it. Okay, like Parker, I was actually alive and the Infocomm games came out. Yeah.
You're just the man to be on the project in All right.
Ben
Cool. Anyway.
I Steven, have you have any ideas for the hardware?
Well, okay, so I think we mentioned this the last time we talked about it, you and I Parker, but I would like to involve aspects of the hardware itself. So I know Ben just said that but I think having a little buzzer or having LEDs on it or something where they interact with what's actually happening on the, in the game. So there might be a section where I don't know, like, you have to unlock something. And it shows like, you know, there's three LEDs that ended up being like an eight bit code or something like that. And you have to try different things to, I don't know, open a safe or whatever. And you have to enter in the right led code, actually on the dongle that could be pretty cool.
Ben
Yeah, so the Infocomm games in the 80s, the box, you'd open up the box, and there'd be all this shit in it, like trinkets, like fake movie ticket, or like a pamphlet, or like a cheap earring. And it was like, those items actually are part of the copy protection. So if you didn't have the real box, at some point in the game, it would reference something inside the box. And if you didn't have the item, you couldn't proceed. That sort of thing, or in
entering word 48 from page three of the manual. No, it
Ben
was more elegant than that. It would be like What What time does the movie tickets say the showing starts, you know, or it was a lot more elegant than like dial a pirate or one of those, you know, it's
kind of like, Metal Gear Solid for the PlayStation where in order to contact Meryl at one point in time, you had to look at the back of the case because her code was in an example picture on the back of the case.
Ben
Yes, yes. Yeah. You like Castlevania, don't you?
Psycho Mantis.
Ben
My blood ran cold. That was like one of two, two times, maybe three times a video game just like maybe like really affected. I was like restaurant practice. The Resident Evil dog and Psycho Mantis,
Resident Evil dog. Psycho Mantis would look at your memory memory card, and it would look at what other games you were playing. That was awesome.
Ben
It's like Castlevania Symphony. The night didn't even sell that. Well. So the fact that they referenced it is kind of interesting. Of course, it was a kidnapper game. Well, yeah. Oh, then I think also like he would look at how much you saved. So if you didn't say very often he would call you reckless.
Yeah. No, I love how he asked you to put the controller on the ground and then he would make it vibrate. Do you remember the part
Ben
in Metal Gear Solid three, where you fight the sorrow and you're like going through the swamp. There's all the dead ghosts coming after you.
I gotta admit, I never played three.
Ben
Really? That's one of the best ones I
got was a classic EDA.
Ben
What do I there's one of the you're fighting this bad guy who is everyone in the game is like the something there's like the sorrow, the end? The fear, right? And the sorrow basically sends all these ghosts after you. The thing is if you actually go to the game without killing me, but killing anyone. There's no ghosts. So yeah, anyway. What will we talk? Oh, yeah, we were talking about info calm. And yes, incorporating real life things on the dongle. Yeah.
Well, I think I think we should we should try to design it such that the dongle is the only thing that you need. That makes sense.
Ben
Yeah, I agree. But yeah, if it could be vibrate wouldn't vibrate. If it was a new USB slot. We could put a vibration
you could put like a pager motor. I was thinking like a little tiny piece. Oh, so we can have music and stuff play on it.
Ben
So my pitch to Parker was that it's like an alien communication device that fell out of the sky. So it's like you find it you secure your computer. So it's part of the story. It's not just how the story is delivered. Yeah,
I I liked that idea a lot. And I was thinking like, you were able to control this is how like, aliens control like robotic agents. And so you log in as like and controlling a cause Stephen had a really cool idea with like, it's a detective story kind of thing. Yeah. And so you control a robotic detective, basically. So
Ben
there was cover if there were cover if there was cover art for it. There'd be like a 1980s kid in the background, typing out a keyboard and he'd be looking up and off. In the foreground. We'd like this robotic detective man doing his every every building. And then since it's an 80s game, there'd be like a scantily clad woman and like strip clubs and it'd be considered completely appropriate for a kid's game.
Well, okay, and the main character has to be like, full on robotic but also wearing a trench coat. Right? Wait,
Ben
so he's the guy from Fallout four. Right, Nick Valentine, Nick. Valentine the game. But on another planet?
Yeah, so you have to you have to plug the dongle into your computer and then you're logging into the detective?
Ben
Yeah, yeah, yeah, well, maybe the lights are like his vital signs or like, maybe he's dialing a safe. And the rumble motor is you you hearing the clicking of the tumblers through his fingers like that, right? Yeah, yeah, yeah. Yeah,
yeah. So he's way too many good secrets here.
Ben
But what's not the idea? Make the dongle part of the story. And yeah, come up with some stupid thing like, oh, you know your 10 year old you find in the woods, and you plug it into computer late at night after your parents have gone to sleep, and you're transported to an alien world, just like Stranger Things like if you're harkening back to eight bit text adventure games also harken back to the kind of stories they told in the 80s No kids Woods robots, aliens.
Maniac Mansion kind of stuff. They bet I guess that was night early 90s Right
Ben
now Maniac Mansion was like 87 I think that was it. Okay, yeah, that was the first scum game. So it was the first like being streamed graphical. Well, not the mainstream graphical payment. One of the most important ones but
wasn't that the first one that it was point and click even though it still had the like, you still had to like click on like jump and
Ben
now should verbs. It wasn't? No, it wasn't the first point and click graphical adventure, but it was like the it was like the most important first one. It was also the first Lucas Lucasfilm games, there's Lucasfilm games at that time. It was the first game that used the scum engine, which is the script creation utility for Maniac Mansion. That's what scum stands for.
And then they use that in like 12 More games after that, or something like that.
Ben
Yeah, pretty much up. And actually they use it until Grim Fandango in 97. It actually was used on that I didn't No, no, it was used up until grim fender. Oh, my Fandango is 3d and had a different engine.
Yeah, yeah. Okay.
Ben
So I probably full throttle was last thing it was used in full
throttle was awesome. I still play that about once a year.
Ben
So yeah, I think sounds like a cool project. Yeah. Well, if you guys want any writing help, let me know, help you.
We will totally need your help.
Well, and you have some ideas. I mean, I'm not trying to put you on the spot if you don't, but you have some ideas on how the engine might actually work behind it, right. Like a giant state machine in a way, right?
Ben
I guess it depends on how in depth it is. The Infocomm games were actually pretty in depth. Much like a Pringles can in your living room that spies on you that I'm not going to name because I will try to do something.
Alexa, order eight pizzas right now. Except,
yeah, send do Mac Rev. Engineering.
Ben
That thing that thing can hear me while I'm in the bathroom with the fan on and the door closed. Anyway, like, reason to bring it up is Infocomm games, remember, like what the subject of a sentence was? So if you're like, pick up hat, okay, throw it. Okay. You would know that you're talking about the hat? Because that's the last thing he talked about. Correct? Yeah, I mean, most of the older simpler ones had noun verb to words, like take Lampe. And all they would do is create an index of items and verbs. And they'd only look at the first three letters, so it would just ignore the rest. So look for three letters. Ignore until space, three letters, look for carriage return interpret. And there would also be single letter commands like AI for inventory, Northwest se, L for look, stuff like that. I think we
should we should go that route. I don't think we have to get too fancy with this. Right? Yeah,
I agree. Also,
I was thinking like, an article. Gosh, work was pretty
Ben
verbose. Actually.
It was, but okay, so Zork was also really douchey. I was I was reading an article not that long ago, where apparently, they put a random number generator for your weight, or the weight of items that you are carrying. So if let's say you came up and there was a sword on the ground, and you say take sword, it would actually do a random number generator. And it could deny you picking up that sword for no reason other than you just failing the check. Yeah, terrible. It's awful. Yeah. And they wouldn't tell you just say you can't pick this up.
Oh, I'd say you can't pick this up. Because no, it would say your inventory is full. But if you tried to again, you could. Yeah, yeah. Even though it wasn't because you can't check what your weight is for your inventory. So you just have to try it again.
Ben
They have inventory way back then. That's, I remember that.
Yeah. No, I can. We'll have to search for that article again. But yeah, no, it was this whole thing where someone searched through the old Fortran code and found the random number generator. That was for picking up items.
Ben
They actually had the they would write everything in one script, and then they would compile it for all the different computers. That was one thing they did at Infocomm. Which,
you know, okay, so So what I would say with this game that I think is really important, is we should try When we're making the story, and when we're making the puzzles and all the things you do, one of the things that is really important is we should try to think about how the player is playing it and always try to make them not feel against a brick wall, like what do I do? Where do I go? Like, I don't want to hold their hand, but I don't want it to be like Zork, where it's like, I go north, and I'm in a place and then I go south. And then I go north, again, I'm in a different place.
Ben
Like they expect you to draw a map. Yeah, but
Parker and I actually tried drawn a map for zorko. A little while ago, you go to random places, even if you go forwards and backwards. Like, it's awful. Like, I don't like that I'd rather like the game be repeatable.
Let's put it that way. It's more, it needs to be more. The problem with that is like, you're in Zork. There's like sometimes there's like two North's or something like that. That's what happens in that game. So I would say yeah, make it more grid like so if you go north, south, and then back. It's always repeatable. Well,
Ben
if you're a detective in a city, there would be grids of blocks, city blocks, because that assume aliens would have the same sort of city layout as us right.
There. hexagons. Yeah, no,
we could explain that. Since you're a robot, you can only understand cardinal directions and only go in cardinal directions.
Ben
Yeah, and only use two words. To talk to women. Yeah, lamp. I like that. smoke cigarettes. Yeah.
Yeah, yes. Build smoke, you
Ben
should put in like some Infocomm humor, like, you know, you're on an alien planet. And you go north? And you're like, what an amazing coincidence to use the same cardinal directions? If you do. It'll make some observations like that. What kind of speaking of that, what kind of chip Are you going to use? Because you could run out of space really quickly? Yeah, so
that's the thing is, we don't need a lot of peripheral. On this microcontroller, we just need a lot of space. And we haven't really come up with that yet.
Ben
What if you had like a little ice cream ice problem on stream data?
That's what we were thinking is basically put everything on the EEPROM.
Yeah, have to have all of everything on the EEPROM. And then the micro just acts as the bridge between the computer and you know, the buzzer and things like that.
Ben
So, the reason I bring that up is because in the in the 80s, you'd be playing at Infocomm game. And it would come on, like, I don't know, two disks, two or three discs, and they'd be double sided as well. And as you move from area to area, you got to swap discs, top of that. Every command you type in, but like access to disk for some reason. Like, I don't know, if there was a database on there, or what it was doing. Good. People used to think it was part of the drama like okay, oh, it worked, you know, point being, those computers typically had 32 to 64k of RAM. And that clearly wasn't enough to start one of those adventures. So if you're talking about like, what's that to Rg, boy, micro
Boy, that's at Mega third to you for, right, like
Ben
that might be a really good choice, aside from the fact that you don't have a whole lot of program space. But if you had Yeah, internal external, I squared C?
Well, I think they make a smaller version of that that has built in USB, which we would need, then we can just tack on a, you know, ginormous EP prom on it.
Ben
You mean like a 16? Eight version? Yeah. Okay. Yeah. You've probably had to come up with some sort of file system. So you knew where things were on the serial EEPROM? And then would you have like a Huffman text decoder for compression? Do anything like that? haven't gotten there yet? Yeah. Do you know how that works?
I know, I don't know how Huffman encoding works. I don't have run line. Right. Okay. So it doesn't really doesn't work with tax because it's, it doesn't Yeah, correct. So
Ben
what they do like, really simply imagine the alphabet split in half write the first 13 letters and the second 13 letters. So you'd have one bit, and that bits 01. And that's like, okay, the letters in the first the second half. The next bit, it's in this half or this half. Next bit. It's here. So for very commonly used letters, like E and M, either faster. And the truth is fewer bits, basically like, Oh, I got the last choice. That's a letter. So basically, they use the bits to store binary choices to narrow down when letters are, or something like x or Q would take longer to get to. Yeah,
I pull up the Wikipedia article for that. I'm like, Oh, yes, I remember this from one of my classes. Yeah. I mean, I don't know
Ben
you might not need that much encoding. Like if you got like a one meg EEPROM that will probably hold everything you need. And so
I Yeah, probably for sure. We want to put some music in there for the buzzer.
Ben
I was using RL Lee. My RG Boy game though. So for the maps, that's that's appropriate. It's it seems like it's pretty good. It's about eight to one.
So do we want to go on to the epic game store discussion?
Ben
Yeah, let's go ahead and yeah, do we want to go on to the epic game store? Yeah, because
now the McWrap engineering podcast is a epic game store exclusive. Oh, really? So for those that don't know, I bet a lot of our listeners don't know because Stephen didn't even know what this is. I did not is the epic game store is like steam. It's a it's a marketplace to buy video games. And so what epic Epic is a disc publisher for video games? They also make video games. I guess. They make like the most popular video game in the world right now.
Which one is still number one that fortnight? Yes. I don't know. Do they make that up? Yeah. They make it.
Ben
epic game is not epic healthcare software. Well, what they basically have done is not that they have like 80,000,010 year olds with their launcher. They're leveraging that user base to create a steam competitor.
Yeah. And so the i What Epic is doing is they're paying publisher other game publishers and developers money to basically be
Ben
well, they're not necessarily paying the money. They're not chasing Oh, they are giving people cash money. Yeah, okay.
In some cases, they are giving them just straight up money to be exclusive.
Ben
Interesting. Well, but Okay, on top of that, steam takes 30% While all app stores take 30% epic store only takes 12 I think. And then if your game uses Unreal Engine, which they obviously make, they waive the 5% license fee for that. So you go from like 30% to steam 5% to Epic, down to 12% and since probably like what half the games and made use unreal. That's a lot of games.
Yep. Yeah, it was okay. So a lot of people don't like and I'm confused. Like, what's the problem here? Or what's the issue?
Ben
I guess people don't want to have another launcher. I kind of find it annoying. I've already got like three on my computer. It's like oh god. Okay, if I want to play pub G What launcher is that on? And oh, who's on my friends list.
But you do have multiple friends lists though. You have Facebook, Twitter, Google Chat. Your phone messages you have you know I have discord slack.
Ben
True. Yeah.
Yeah, but but but all of those are kind of compartmentalize. And they have their own function. They're not all used to just play games on
but they're all used to just text messages to people.
Ben
Yeah, that's true. And there are some people that I can think of where if you want to contact them there's some people where Facebook is the best way some people were text message like I could text Jones right now and he wouldn't respond but if I texted him on Steam he would respond it's it just varies by person. Which I guess you know, does go to what Parker's saying where there's multiple ways to communicate with people. There's people have their preferences. Correct. Like I hate when people call me on the phone. It's like, why are you talking to me?
Podcasts are the best way to talk to Ben. Yeah,
Ben
definitely.
I you know, I I know Discord is really there's a lot of fanboys for disc discord. And it's great. I've used it before, but it's also discord seems like one of those ones where it's just if you don't use it often, then every time I launch it, I'm like, Ah, it's confusing. Like, where do I go to even just like start talking to someone. And I feel like I feel like, like having all of these different platforms that you have to go to. It's like this one is for playing a game. This one's for talking to people. This one's for inviting people or whatever. I don't know. Like, you just have to keep so much in your memory. I don't know maybe we need
a launcher for launchers.
We need to consolidate all of this.
Ben
I think that's called Windows. Yeah.
No, it's the it's Cortana right? Well, so
Ben
now the joke is like pretty much every game that gets announced ends up as an epic store exclusive and the reason most recent one, even though no one was surprised by it was Borderlands three
ones that supposed to come out?
Ben
September I think
that's when it was announced to be released.
Yeah, but steam. Steam currently has what like 90% of the market in terms of
Ben
epic store thanks to all the 10 year olds actually has more active users in STEAM,
really? But probably just because of fortnight. Yes, definitely. Just because of course it Yes. If you have fortnight and Minecraft you you win the internet.
Ben
Oh, Minecraft is so don. Kids all kids care about now is fortnight. It's
unbelievable. Is it? Is it fortnight? Maybe I'm wrong, but is it fortnight on its way out?
Ben
Oh, no, I don't think so. Oh, really?
People are saying that but it's I'm still seeing it. It's still tops like the Twitch stream charts and stuff.
Ben
When I when I went to the manufacturers convention in September, in Chicago, and they had students coming through whenever they saw video game stuff, because I had 3d printer examples all the time. They're like, Oh, it's like fortnight they just wouldn't shut up about fortnight, right? Then the Murph convention, Parker that you didn't go to every kid that was there with their parents. They weren't even looking at the printers anymore. They're all on their phones playing fortnight wearing fortnight T shirts. It's ridiculous. It's kind of funny. We had this game that all these 10 year olds are playing rugby and shooting people. With the gun control people think of that or what do they think of that? It's kind of funny. Oh my god, they love it though.
Have you played fortnight, Ben? No,
Ben
I don't like third person perspective as Parker could tell you.
I I played with you a couple of times.
Ben
I remember are all these 10 year olds gonna be like super gun nuts in 15 years now. You gotta wonder
only if they're like, cartoony neon guns, right?
Ben
Yeah, everyone just is like a furry and they dance more than they shoot
is gonna be really weird in a couple of years.
Ben
You're not Deviant Art was bad now. Oh, yeah. So yeah, that's my big thing. Parker a couple weeks ago, for some reason, Mike and I tried. We did a battle royale Battle Royale where he played through them all in sequence that were installed on our computers. And yeah, we had to use three different launchers because it was like steam. It was pub G on Steam, then blackout Call of Duty which was on Blizzard dotnet. Right.
And then what was
Ben
that, of course, Battlefield five firestorms on Origin.
Then do you want to wrap up this podcast?
Ben
Yeah, sure. It was a lot of fun talking about new pinball board designs, something we've done in the past. I think we should try to make it as cheap as possible. That should be the number one goal above everything else. So barely functional shoot is possible.
Just adequate enough.
Ben
It would, again, just like the ZX Spectrum, the world's most amazing piece of shit computer that conquered a country until fortnight came out.
Oh, would you like to sign us up Ben?
Ben
Yeah, sure. Let's see. Do I text him to say okay, yes. Well, that was a macro fab engineering podcast. I was your guest Benjamin heckendorn, but now I'm not anymore.
Well, that's why you was
or were well, we was your host Stephen Craig. And Parker Dolan. Take it easy. Later everyone.
Thank you. Yes, you our listener for downloading our show. If you have a cool idea, project or topic let Stephen and I know Tweet us at McWrap at Longhorn engineer or at analog EMG or emails at podcasts at Mac lab.com. Also check out our Slack channel. If you're not subscribed to the podcast yet, click that subscribe button. That way you get the latest episode right when it releases and please review us wherever you listen as it helps the show stay visible and helps new listeners find us
A decade after graduating college, Stephen finally did a differential equation for his job! That is some real engineering I tell you what.
The PinoTaur has reached production status but not without supply chain issues..OF COURSE! Bonus discussion about thermal management for PCBA.
Ben Heckendorn and Chris Kraft rejoin the podcast to discuss if Open Source Hardware has run its course or is the dream still alive in our souls.