MacroFab Engineering Podcast #188
Right to Repair is going global and Stephen might have solved his injection molded component's void by tweaking the mold design.
What separates good documentation from bad and which kind of application notes do you like? Also, Ancient Chinese Semiconductor 7-segment drivers!
Why are all Python PDF creator modules just terrible to work with? Does anyone have one they like? Help me. Oh and Stephen's CNC machine is moving!
Design Contest Wrap Up – Thanks so much to our sponsor, Mouser Electronics for sponsoring the contest.
Parker
Stephen
Visit our Public Slack Channel and join the conversation in between episodes!
Working on the layout of the application that will run on the Useless Machine Trophy.
Inside the enclosure after some time spent on the buffing machine.
Another glamour shot of the Trophy.
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!
Hello, and welcome to the macro fab engineering podcast. We are your host, Stephen Craig and Parker, Dolman. And this is episode 188.
So the design contest for this year is done. We had 28 entries. Thank you very much everyone.
And this was this one was a little bit different because the entries we did ask that people build them. So last time around, we asked for designing stuff and documentation. But this time around, we had 28 People build 28 projects.
Yes. And so I would like to take this moment and thank Mouser electronics for sponsoring our contest. They provided all the funds for the prizes, and lent a hand with the marketing of the contest and other things like that. So they just enabled this all to happen. Yes. So thank you very much Mazur. So, we're going to go over, I guess, our favorite projects, and we'll announce the macro engineering podcast winner after we, you know, debate and argue over which projects is the best one. So I guess I'll pick my first my favorite, or one of my favorite projects.
Yeah. So actually, we were doing this somewhat like the last contest, the blinking LED contest where Parker chose three projects that he liked. I chose three, we didn't talk about it. And we're bringing them together now to see if any of those lineup
and I think we'll have some honorable mentions, too, as well. Oh, for sure. A lot of great projects.
Yeah. You know, actually, before we go, let me just mention that, you know, really fantastic job to everyone who participated. And, you know, this might get a little bit cheesy here. But I freakin love our listeners. Because I feel like this is one of the few places where engineers can do this kind of thing to get really goofy and make just a fun project and get creative with it. And yeah, sure, like, you know, there's a prize involved, but at the same time, like, it's fun for everyone. And I love seeing our community, like come together and just make some really great stuff like this. And Parker and I were looking at projects beforehand, and we're just laughing the entire time. Because they're all just super great. So thanks to everyone who did this.
So actually, I'll start with like, an honorable mention.
Okay, is the
useless joke bot.
Right, which is amazing. So explain what the useless joke but actually, you know what, real quick before we do this, if you guys want to check out these projects, they're up on hackaday.io.
Podcast description, so you can see all these projects. So the useless joke bots by Jenny, and is a Arduino in a box with a screen and you press the button, and it tells you a joke with the wrong punch line.
It just kind of like combines jokes together. Yeah. And they're terrible. Because they're like bad dad jokes, and then they get worse because the punch line is wrong. Correct. And it's what it's well made to it looks nice. Yes. Which that's honestly, for a lot of these. There's a theme of that going around where like, people put some real effort into making these look great. Okay, so I guess if you did an honorable mention, I'll do an Arnold I mentioned first, I were sort of going backwards on this. But yeah, I'll do an honorable mention. For me, the daily calendar printer was an honorable mention. It's a fantastic project that basically goes and it it aggregates like calendar data from online and it prints you out a calendar that has like garbled information or garbled activities
on a schedule and then prints them out of order. Yeah, prints
them out of order. And if if, if you're, if it doesn't have something for you to do today, it'll give you something to do by printing the entire reel of paper. So you have to reload. That's so great.
I think one thing you could be to improve is it would first print out reload the printer and then you would tear it off and then it was just barf all of its paper
or if it said PC load letter and that's all it said on the
on the largest printed that the entire purchase.
What does that mean?
We had a quite a bit of projects that were like lights that only worked in the daylight. Yeah. My favorite one of those was the it was the solar powered torch. By Let me go look it up, sir Dan. Yeah. And it wasn't just because it's an LED on top of her solar panel, pretty simple project. But what got me was like when he built it, and he needed to test it and it wasn't Sunny.
So it's testing is useless. Testing was useless. There's like layers of uselessness on that one. Yeah, it was, I was great. So good. Okay, Parker, hit me with with one of your one of your three.
Okay, one of my three is, what does the fox say see and say? And this is kind of based off the idea that we had was like one of those things. It was one of those toys that kids have that has an arrow that spins when you pull the lever, and it spins goes and the cow says moo? Well, we had the idea of the cow would say like, quack, because it would be incorrect. Yeah. Well, this is a see and say, it's kind of hard to say that when you spin it, it's does lines from that hit a viral video from a couple years ago, what does the fox say? And it's amazing.
You know, another thing that a lot of a lot of folks did was produce videos for their projects to demonstrate it being useless. And there's, some of them are, you know, there's a lot of videos that are just like, hey, here's, here's my device. But some people went like way above and beyond and had like, plugs into their videos. Oh, it's useless, which is so great.
Okay, I'm gonna give you one of mine real quick. And this one probably doesn't come as a surprise to you, Parker, because I love this kind of graph. But the mouse controlled mouse controller is just as great, just phenomenal. So this is a device where a guy controls a CNC bed, basically a XY gantry, that is connected to a mouse. And he controls that with a mouse. So it's, it's basically just reading in the information from a mouse and controlling the XY gantry, which is so useless, and so like, unbelievably complex for nothing. It's amazing. I absolutely love it. Also, I have to admit that in the write up for this, he mentioned that he wanted to learn things. And I just decided to go with that, you know, like, because it's like, hey, I can put these two things together. So I love the idea that it was like educational for him to become useless. Like, that's so cool.
And we did have a couple devices that were like, they're designed to turn themselves off, which was very in the spirit of useless machines. One of those was the battery dumper. By who was that? Me Go?
Sir Dan, again,
sir Dan, again, where you turn it on, and it opens up its battery compartment and then spills all the batteries on the floor? For you? Yeah, I love that. And there was another one that was the unplug. inator which has an amazing name. Yeah, and you turn it on and it just like unplugged its cord from from itself.
So great.
So that's also sir Dan.
Sir, Dan's got a theme going on here. He's got a theme. Yeah. So what was that in one of your top three?
No, that's just a that was an honorable mention. Oh, category mentioned category mentioned. bloggers, and bloggers turn offers.
Yeah. Okay, so what's what's one of your top three?
Okay, the cat detector? Yeah. Okay, so a lot of people will build a cat detector to like auto feed or auto water their cats. This one though. meows at cats. So when it detects a cat near it just meows at it?
Well, and this was done by a gentleman named Mason. And the he mentioned in his write up that he's he gets annoyed by his cats meowing at them all the time. So he made a device to be kind of addictive as cats,
which really goes back as cats.
Ah, great. Also, duck documentation is really great on these. Yeah, like, the write ups are fantastic. And the document Yeah, I mean, everyone did a great job.
Okay, cool. I'm going to give another one of my top three. That's the room temperature cupholder which I think is absolutely amazing. So it's okay, so this is a device that has basically a little looks like a metal cup holder that you can put a beverage in and underneath attached to it is a Peltier a you Edie are cooler, basically. And the this was done by Parker Newman. Basically, an IR LED detects the temperature of whatever beverage you put in there. And if it's cold, it brings it up to room temperature. And if it's hot, it cools down to room temperature. So whatever whatever drink you have, is at the like, worst possible temperature to drink. Yes,
room temperature. Oh, great. Yeah, that was a good one. The, I have another honorable mention before I give out my last favorite, okay, the Arduino door catcher, because it was actually a useful project for like people that have like arthritis. And so they can open up the door by just clicking a button. So they can, you know, it's really hard for some people that use doorknobs and with the dexterity involved. But he took that device and made it useless. By basically it will always try to keep the door open. So you shut the door and open the backup.
It also has a, it also has a deadbolt that extends and allow you to not close the door. Yes.
I thought that was a pretty funny twist on a useful project that made it useless.
Yeah. So I'll admit that was actually in one of my top three, just because of how impressive it is and how much effort went into it. Now sure, like, probably a lot less effort went into converting it to be useless. But it's just, it's, I guess I really am into the level of complexity that goes into something that becomes useless. And that I don't I'm really tied into that. And this one is like a full on robotic arm that's programmed to grab a doorknob, which is freaking awesome. So I put that in one of my top three.
And it's also it's a robotic door on which you would think basically like just an electronic latch that you just installed door might be easier than this ginormous robotic arm. It has to twist a doorknob and yeah. Anyways, so yeah, my last favorite project was the clap activated. Applause machine. This is great. This was made by Dylan. And so it's a you clap. And the machine activates and starts clapping. And just it's it's useless because we wouldn't you you already clapped. Why do you need to clap more?
Yeah, it's like continuous applause. Yeah. You know, this is a really, really strange side note, but this came to my head. And so apparently, at one point in time, Joseph Stalin, I know, this is really strange. But Joseph Stalin came out on stage once and everyone was so afraid to not or stop clapping, that they that there was a standing ovation for like 15 solid minutes because nobody was willing to stop clapping because if you were the guy who stopped clapping, then he might kill you. You know, so like, this machine is kind of like it I would say, that would save your life in this situation if you live in a commune?
I don't know. Like, I can't remember I might have been a documentary but like that totally came to mind when I saw this.
I'm wondering if you can use this to turn on other things that are clap activated
collaborate on and off. Yeah. You know what I one thing I really love about that project is that the it has to like rubber hands that do clapping, but they don't actually make any real appreciable noise. It's the mechanism that is so damn noisy.
got you here just to the gears and pulleys making tons of noise.
And I gotta admit, Dylan, the the gutshot that you have of it. It's absolutely gorgeous. Because it's clear that it was just like woodshop together with like, rubber pulleys and like, just screws into plywood. And I absolutely love that.
Old school animatronics.
So wait, have we run into an impasse here? Because in the first in the first project or contest we had you and I had a consensus on one project. But I think this time, we didn't agree on one here. Correct. Okay, so is this does this come down to like, we have to defend our projects?
Sure. I guess we can say that.
I tell you what, let's let's, let's, let's do this. Let's narrow each one of ours down to one and then we have to argue for our one. Okay, yeah, sounds good. Sure. It's So, so yeah, go ahead and pick one project. And I'll do the same and then we can give our like remarks on them and then then I don't know we'll either flip a coin or one of us will concede.
Okay, so I I'm going to vote for the cat detector. Useless Machine. Okay by Mason, mainly because my cat does the same thing. Also he hit him on the counter and just meow and I actually meow back at the cat. And something that that would I guess at that point, I'm useless then.
Yeah. Oh, you shoot yourself in the foot here.
Yeah, I did a little bit that night. If anything, though, it probably drive me insane. So its goal is to drive the cats insane. But I don't think the cat is going to care. No, probably not. And if you're already annoyed with the meowing this thing just keeps me going. Wait, so
is the homie. Look up the project record? Is there a video of it?
And there's a video of it.
Okay, cool. I want to hear what the mean. I want to hear what the meow is.
Sounds like a cat.
Okay, I wasn't sure if it was like an audio clip or, or whatever. Yeah, no, you're right. Sounds like a cat.
I think it's an audio clip. He's playing off Arduino.
Yeah, that's what it sounds like. Okay, okay, so you're picking the cat detector? And from mine, I think I have to go with the mouse control mouse controller. Because it because not only is it useless, it's ridiculous. And I it really strikes home with the whole, like, wanted to learn something and like put it to use for something that is useless. Like, that's really great.
You know, I'm actually going to agree with you on that. All right, guys. I really liked this project a lot from the fact that the person learned a lot doing it. And it is completely utterly useless. There's no reason for this thing to exist. There was reading in a mouse input to move a mouse for its input to go into something else.
It is absolutely useless. middleman, electronics and mechatronics for no purpose whatsoever. Like I think it fits the spirit of the entire contest in that, but it's also like I mean, it just really nails it in my opinion.
So yeah, I think we will go with that
one. All right, excellent. So that looks like it was designed by Jeffrey Bernath. So congratulations Jeffrey for winning the useless contest with your mouse controlled mouse controller.
So they won the Mac five injuring podcast one.
Well, I still right. There's still three other prizes.
Yes, there are still three other prizes that are wonderful judges will be picking over this next week. Our judges are Joe grin, Whitney Merrill Charlene ganda. And Sophie Kravitz, guess I actually nailed all those. All those names, I think, well, there'll be judging them over this next week. And we'll be announcing the winners have those on the blog and normal social media places like Twitter and Instagram and stuff like that. But the macro engineer podcast, one gets, you know, 1000 bucks and the trophy.
Ooh. And oh, you know, actually, so Parker sent me a picture of the trophy. But you might open it up real quick, because I have actually not seen the final final product. So he did. So I at DEF CON, I gave Parker the enclosure, and oh my gosh, it's so childish. But no, it's so shiny. He came out. Okay, game came out. Fantastic. Look at that. That is gorgeous. So what does it do again? What does that what does it do again?
So when you apply power to it, the screen turns on. And it displays Mars weather from the NASA API. This is why I spent the last couple days working on was finishing up the code, you know, being super procrastination on finishing my project for the Useless Machine Project. Contest. So yeah, runs a Raspberry Pi inside with the Raspberry Pi seven inch touchscreen. And then to run the application, I decided to use G UI, a GUI zero, which was a really easy to use framework that's in Python. It's really interesting. It runs it's like an event based A platform. So it's kind of like an interrupt driven microcontroller system. So it basically, once you set everything up, it just goes into a wire loop forever. And then events happen and make things like and then run functions. It's just sniffing the events and throwing them up on the screen. Right? Yeah. So you can have like a button, and so goes, Oh, that could be like an edge trigger, basically an a microcontroller. When a button gets pressed, it wakes up and then does something based off that button. That's kind of what that does. It's the only problem I had with it is I got really far down the road and then realize you can't put a background image in the application, because I wanted to have like a Mar scape, like, Oh, my background, this stuff and can't do that. So I was like, Well, I'm not throwing away all the code I just wrote, so we won't have that feature.
Fair enough.
And then the Wi Fi connectivity. Because since it's in like an aluminum box, it's really hard to like, access the other USB ports. So you can't plug a keyboard into it without opening it up. So that makes it easier to connect it to your Wi Fi. It uses raspy Wi Fi, which is like if it doesn't detect it, it's connected to a Wi Fi hotspot, it broadcasts its own Wi Fi and then you connect to it with your cell phone and then you plug in the Wi Fi credentials. And then it reboots and connects to your Wi Fi.
Oh, that's nice. That's That's convenient. That means that when Jeffrey gets it, he can just connect over his phone. And and not have to do a lot of configuration.
I hope so. I haven't tested that. I tested it once and it worked. I'm like Okay, done, ship it. And then to hide the cursor, because the mouse cursor is just there all the time. There's a program called unclutter. Basically, it detects that the mouse hasn't moved in a long time, and it just makes it go away. And then to get Mars data. So I thought I was screwed about two days ago. Okay. Is we were used going to use the mass m a s Yeah. And a yes. API that NASA had for Mars weather data. That doesn't exist. Oh, more. Oh, it sounds like Oh, no. How do I get Mars data without this API anymore? Well, apparently they made a new one. And it's called the actually I think it's just on the if you go to api.nasa.gov/api, conveniently enough, has all NASA's like API documentation. And, yeah, so I was able to pull weather from the Elysium plant. For Anita, fun Thea something like that. Which is location on Mars.
Okay, well, now in sight. Now you'll know how to appropriately dress if you are visiting.
It's like negative 147 degrees Fahrenheit. Right now, what's interesting is the API returns temperature in Fahrenheit. Oh, which I thought was interest because everything else is SI units.
Do they measure things in inches on Mars?
And that's meters per second. Because I have wind speed in there.
There's three places in the universe America, Burma and Mars that Mars Imperial use. Only for temperature though, right? Read Only for Democrats. That's awesome.
And then why notices after I finished all this, right? The pie would turn itself off. Oh, go into sleep mode after 15 minutes. And like, I guess that is useless. Because then after 15 minutes, you have to kind of like, touch it to make it like come back to life. But I enabled turning off the display and removing the sleep function from the Raspberry Pi. Now I'll put a link on how I figured out how to do that. I didn't figure it out someone on Stack Exchange did I just copied their code you know it's done. And then I took this the enclosure from Steven and this morning. I ran through the buffer buffing wheel and was able to get a pretty decent sheen on it.
It's you got rid of a you got rid of the tiger stripes scallops. Yeah.
I mean, some of the surface scratches are still in there. Yeah, you can see the swirl marks but I want to call that good.
I think it looks great. Yeah, so it's all pretty nice. It's got a little bit of heft to it too. It is heavy. Yeah, it's and uselessly heavy.
Yes, uselessly heavy. I think because those might have like batteries in it. That would make it normally heavy.
No, it just it literally has a USB port on the back that you just plug in. And that supplies power to the pie. And that's it.
Yes. And I think we're gonna put some rubber feet on the bottom just so wherever
it doesn't scratch crap, oh
Jeffrey puts it doesn't scratch up his surface.
You know, we should reach out to Jeffrey and see if he wants to be a guest. I think that'd be fun to talk to him about the design of it, of his project. That'd be fun. You know, I think I don't know if I've mentioned this before, I helped a buddy designer useless project before once that actually went up in an art gallery. And talking about all these projects now reminds me of it, we made a box once that it was maybe a foot and a half by six inches tall by maybe six inches deep. And inside this box was a little piece of paper, that was basically the size of a it was like a fortune cookie piece of paper that had text on it. And the whole front of the box was one way glass. So you could see into the into the box. If the if there were lights inside the box were illuminated in which we had led lights so it would soft glow inside the box. So you could read this piece of paper, if those lights were on. Now I put an ultrasonic sensor underneath it that would detect if anything came in front of the box in it. And like as you approach the box, it would dim the lights. So there was something you could read in there. But as you approached it, it would dim the lights and you would just get a reflection of yourself. And so it was based virtually impossible to read that thing. And we hung it up in an art gallery somewhere and it was great watching people go up to it and just be like, it was awesome. Oh, those are fun. I'm gonna grab a beer real quick.
Okay. Well, while we are waiting for Steven to come back, how y'all been listeners? Have you recently reviewed us on iTunes, left us a Google review? Or told your friends about how awesome the podcast is? I would have more but I don't.
All right.
So Steven, what have you been up to?
So I've been working on the fermentation controller, I'm actually been putting a bunch of time into because I want to make sure that this project moves forward. And it's also been a lot of fun. You know, that's another another thing that's a big thank you to Mouser for sponsoring these projects that we do
haven't haven't Mauser help us out with these projects allows us to kind of move things along a little bit quicker. And also, you don't have to consider cutting corners all the time, which is really, really helpful. And things like buying dev boards for developing aspects of projects is now a little bit more in our wheelhouse. So let me see here. So I ended up picking a processor for the project. So I ended up going with an STM 32 F 091. RCT which that is a 64 pin little processor guy that comes on one of the standard nucleo boards, which the nucleo boards on the dev boards for the STM stuff. So for like 1011 bucks, you can get a really capable dev board. And I went with this processor because it has eight you are available on it. So one UART for USB serial connection, one UART for the Wi Fi connection, and then six UART for the temperature probes that are all one wire probes. So just basically with the processor alone, I can handle all of that communication, and I don't have to do any other peripheral stuff. And that really worked out well. Especially because it has plenty of GPIO available beyond that. So I can control all the relays which I'm gonna go with solid state relays on this. But I can also handle button presses and things. So it all just works out. Well. The processor is not like super cheap I think in in singles. It was like $4 $5, somewhere like that. So it's not like a
bottom of the barrel since a UART. Yeah, right, right. But would you know for the fact that I'm building two of these, it doesn't matter. So I think that processor is going to work out well. So I snagged one of the nucleo boards and I've been programming that and that's actually been going fairly well. I was surprised because normally like my programming stories are a lot more hairy and disgusting. But this one has been pretty decent. Other than like the age old like argument of you know, what are what IDE D You use and setting it up, like, I feel like freaking 90% of the problems you have with these kinds of projects is like, Oh, I'm picking a new IDE, and I'm gonna spend 16 hours just configuring it and in like pressing buttons and being like, Why the hell did you do that? You know, like,
I my biggest it's along those lines. It's like, I get the board, plug it in, get the IDE all loaded up, and then spend the next like, four hours just getting the demo program to
compile. Yeah, yeah, exactly.
It's awful. I'm looking at you Silicon Labs.
Like, and I hate it, because like, I'll get down a rabbit hole. And like, just like pressing buttons and learning what things do. And then I'll get myself like, so screwed, that like nothing works where I'm like, Okay, I'm gonna uninstall the IDE and just reinstall. And then I do, and it doesn't do things the same on a note on a new fresh install. I'm like, How the hell did I screw that? Like, it's a reinstall like, whatever it happens. So my IDE is right now it's doing things that like it wasn't doing the first time I installed it, but whatever, I've got it working. And frankly, this isn't the first time I've used this ID for the you tracer project. I use this ID but I didn't need it for a while. So I actually uninstalled it for a handful of reasons and brought it back now.
So I've used this ID before, but I'm doing it, I'm doing things a little bit different. And I felt like I did the you tracer project kind of by the seat of my pants, because I hadn't touched an STM before. So everything was like, Okay, well, let's just figure this out. But now instead of like, with the you tracer project, I didn't do a dev board, I went straight to my PCB and started programming there. Now I'm doing the dev board and swinging over which in a lot of ways you would expect that would be the first thing you do. But like getting the dev board to work is it's easy. But it's also a thing you have to do. Like Parker was was saying, like, you have to learn how like all that goes together. And then linking together all the support software that comes with it, like cube MX and stuff, which is where you define all your pins and all the other stuff. It's great and all but there's like headaches that are involved with that. And on top of that, I found out that you are eight, on cube MX spits out an error in the code, like straight up, like the code is faulty, and it will not compile. And for like hours, I was like, What the hell is going on here. And so like I rewrote their code, to just work. And then I put that, like, I put that in a comment section such that if I ever import their code, again, the very first thing I do is I just rewrite their code with something that works. But like, those are the things you always have to deal with, with like switching either back to an old ID views or a new one, you know. So regardless, I got it functioning now. And I'm actually writing code, which is software
developers wonder why we design all footprints all over again,
hey, cheers to that this is these are the exact reasons like, Yes, I'm going to spend 30 hours programming this thing and the first 15 are getting the IDE to work. That's why That's why I tweeted out a picture on on Twitter that just like had the dev board blinking. And I was like projects nearly done, you know, because like as if you got that you're you're almost there. So I picked up a 320 by 240 dot graphics display from by display.com. It's the E RM 320240, SBS dash two, which is basically their biggest graphics display. And, you know, they have, like example, code that for their ad 51 processor or an ad 51 processor. So it uses a PID parallel to talk to the micro. So I ported all of their code over and actually ended up getting it working this weekend. So and I say working with a little bit of Asterix, it needs some love. But when I tell the screen to display like a sine wave or to display a circle, it displays a circle and a sine wave. It's messed up. But it's it's there so like I need some somewhere in my code either in my code or in my like jumpering pins to the processor. I may have flipped a bit somewhere so it's doing sort of what it needs to do but there's also extra crap that's going on. But you know, that's a big battle to win, like just getting the screen to display anything at all. Like getting it to display the right thing is is the easier battle just anything at all is difficult. So I'm excited because that's actually gone pretty well.
So I picked up also n a m w 007 development board. And that's the Wi Fi enabled, well, that Wi Fi stack enabled controller. So I've got that sit in here, I'm going to hold that off on that for a while, because I want to get the actual like reading of temperature data in and displaying it on the screen first, which honestly, I can develop the entire thing on this little nucleo board here, and then eventually go to the PCB layout. Because normally, I'd be doing like the schematic and the PCB layout right now. But I figured this time around, I'm going to have the dev board like fully function,
or at least like be able to display the temperature data. And then I can do the like, clean up in the user interface when I have my actual PCB in place. But I've been making good progress on that, because like, I actually have it doing what I want it to do right now.
So there is one other thing real quick, I want to mention about that display. And I'm having a little bit of problem with this. Maybe you Parker, or maybe someone else who's listening can speak to this and had this issue before. So the very first time I turned this display on, I used my keathley power supply. And according to the datasheet, the maximum current that the like data input, or the data power can accept is 80 milliamps. So I put an 80 milliamp current limit on it and you give it five volts, you know, nothing special there. As soon as I turned it on, it goes into current limiting, and it's like one point whatever, volts, so I'm like, okay, great, you know, so I play around with it, I look around things do I have things incorrectly connected, blah, blah, blah, I go through this for a while. And it's just always current limiting no matter what I do, even if I like unplug everything and just applied power, its current limiting. So I just tried, you know, unplugging from the power supply, leaving the power supply on and then hot jumping it on, and it fires up no problems whatsoever. So if I try to just turn my power supply on, with everything connected, or even just the data power supply, it goes into current limiting, and I did push up the current, you know, limiting level and it'll pull as much as I give it something with the ramp in something with yet something with the ramp and causes issues. Now, I've occasionally had it work fine. If I have the micro connected to it and the micro sending data already, before I turn the screen on, then it seems to work fine. On occasion, it doesn't always work fine. But the problem is like, I don't know what's happening there. I mean, there is a switch mode power supply on the back of this screen that provides the negative 24 volts for the for the actual LCD. So my guess is something about that switch mode isn't liking the turn on of the power supply,
I would put a 100 micro farad capacitor, right on the as close as you can to the screen and see what happens.
You know, okay, so good guests already did that. In fact, I already did that exact value. And I tried to 4700 micro farad after that to just see if I could like slow it down or something you know. And that didn't neither one of those seem to work. So works great. If I hot swap it or just basically like my power supplies already turned on and I plugged my my banana jacks and does not work. Well. If I turn the outputs on my power supply. That doesn't make any sense to me. But I guess it just has to do with whatever startup sequence for a startup ramp the power supply has, right. So the question is, how do I avoid that when I actually go to make this into a PCB?
Like, what would I need to do in that case? So if anyone has any cute ideas with that, let me know, I could just
put a MOSFET that just wait to the wait till power. Good and then turn it on.
Yeah, and I might, I might end up doing that. I had actually had that thought also. So I have a power supervisory circuit on my processor that makes sure to hold the processor in reset until the 3.3 volt reaches. I don't know, it's like 3.1 or 3.2 volts. I could probably also have that hold the LCD screen off until the processor turns on. And maybe that's enough time. But the problem is like, I don't know, like that doesn't I'd have to test it. Right. So I this is the first time I've run into this error before. And it seems strange, like what could What could cause a board like that to just pull as much juice as I can give it. The first thing that comes to mind is it's gotta be that switch mode power supply, right? That switch mode is just like asking for a bunch of crap. Maybe it's just like shunting something to ground. For some reason, I don't know.
Interesting. It's probably is shunting? Well, that's, I mean, kind of how switch modes work with that inductor.
Right. So maybe it's just staying shorted.
And something about like, it's like, you know, a lot of times they have those like bootstrap the resistor cap bootstraps that helped them yank it helped them dump a lot of energy into the inductor upon startup. Maybe that that bootstrap isn't detecting and turning off the switch mode supply? I don't know. Yeah. There's there's a lot of like, could be ease in this situation. So maybe a
listener will know. Yeah, cool. Let me know. So are you can email by display?
Well, yeah, I guess I could
probably be like, don't do that.
Yeah, don't turn the screen on. Yeah. Cool. So yeah, that's, that's come along. Well, one other thing is I have ordered an enclosure for everything. And the enclosure is sort of unfortunately, large. But that's only because I wanted to put all these Yeah, it's it's 20 and 20 inches wide, 20 inches wide. But that's that the reason why is because I wanted to put all of the input outputs, and everything on one side. And I drew them all out in CAD. And like, if you put six XLR, a USB, a DC jack for mains jacks, plus a mains input cable, like, it consumes a lot of space, you know, so it's big, but the screens big too. So the whole thing is kind of big. It'll look cool hanging on the wall. That's what I want. Like, it'll just be like screwed into the wall behind my, my fermentation fridge, such that when people walk by, they'll be like, Oh, what's that? Let me
it's like, it's like a coffee book. Coffee Table Book. Yeah.
Yeah, it's gonna be big. My original thought was, it would be more like a tablet size. But this is more like to tablet size. Yeah. 500 millimeters by 250 millimeters by 75.4, which is basically 20 inches by 10 inches by three inches. So it's big, ridiculous. Oh, it's not ridiculously kidney. It's awesome.
Okay, on to the RFO. Keep these little short this week since we're, we had the contest to go through. Yep. So we have another tariff fight coming up. Just what everyone wants,
because all the other ones were working so well.
Yep. So October 1, tariffs will go from 25 to 30%.
Yay.
So that's gonna be fun.
We have the best tariffs are tariffs are going to 30%. You've never seen tariffs like this.
Not wrong. Ah, well,
I mean, when's it gonna end? Like, what's what's like, what is the 100%? Tariff?
Like, what is the end game? I don't know. I don't
know, either. It's also
either end. Yeah, next year. Which is 2020. Next election? Oh, good point before.
Yeah, you know, I, I don't we don't we don't need to get too political. But I'm just I'm just super curious. Like, how is it that we have, like, most of the time in the United States, our whole system is based off of like, lots of people making decisions about big things like this, as opposed to one person being like, no tariff, you know, like, I don't know, they seems a little odd to me. Seems like powers are not in the right spot. But I'll leave it at that. I don't want to go too far.
Yep. I agree with you there. Yeah. Okay, so the next RFO is after the con, the bomb badge post mortem on Hackaday.
This is super cool. If you ask me. So one of the one of the badges that showed up at DEF CON was dubbed bomb, which this is the second year I believe that the bomb had made it past the Ides of DEF CON group. Right, right. And this is their second badge. So they they actually produced a post mortem for the project as a whole, where they talked about all the things that went well, and all the things that didn't go well. And it's a really great read, especially if you're thinking about getting into badge life or just running an electronics project where you have to deliver to a bunch of people. One of the things that's interesting about battery life is you're producing a product in a sense that you have to deliver kind of all at once. And that's a little bit more unique than designing a project that Like once it gets built, it goes out the door progressively. In this case, it's like, we went from zero. And now we have a stock of 505 100 has to be delivered now. And he talks about that in. It's John Adams who designed this badge talks about, like difficulties with that, what they do next time, what they look out for. And even simple things like, their joystick, they had problems with soldering, and it wasn't necessarily an issue with manufacturing, it was just an issue with the fact that the joystick wasn't really that great. So, you know, these the bachelors stuff is hard, because you got a year to produce something in a way that is supposed to wow, every single person that touches and in a lot of cases, like you're gonna be, you know, thrown out a bunch of money for prototypes, and you don't get a lot of chances to figure things out. Right. Yeah. And, you know, also, you know, the bomb had some communication. I guess, issues, you could say, with Doom SEO.
Oh, yeah, that was fun to debug. Right. So like, are they doing that?
You know, that's, that's completely unexpected. But that happened as soon as it hit, you know, so like, it's, it's a giant pain.
And I think you want to know what we can figure out so far, we actually write to
the wrong address or not the wrong address, it just wrote to an address that garbled your data? No. Okay.
So what it was doing is, first of all, for background. The Doom essayhow. Doom should the add on when you've emulates a EEPROM on the I squared C port. And it uses address 50, which is what a lot of II problems on I squared C bus use, the bomb used a LED driver, that was also address 50 on the same bus. And so what was happening is the, the LED driver is able to respond almost immediately, because it has a hardware interface for its high score, see. And so it's really fast at acknowledging stuff, while the Doom it's all software. So it's a little bit on the slow side on acknowledging whether or not like it's got data, whatever. And so what's happening is, on how it worked in Doom is basically if he got a request for data, or a write, it would trigger an interrupt and then run that routine. Well, that was the hardware triggering it triggering that part. And so it's getting a lot of hardware requests of like, Hey, here's more stuff. Here's what's up. And in the end, it's just basically compounding interrupts over and over and over, and then it crashes. And it crashes in the state. That the Sandy's bootloader, the 80s, CMD, 20. Ones bootloader. Hard, hard locks. And, and so it works fine. Yeah. You just have to put new code on it. Because you have to basically unlock the bootloader.
What you have by unlocking the bootloader, you have to re flash the bootloader, right? No, no, you don't have to reflash the bootloader. Oh, okay. You just have to reflash your code. Yeah, I
just got to reflash your code, because basically, it gets into a state where it won't let it go out of the bootloader anymore, because it's like, hey, something bad happened.
So what was your What was your fix?
So we made it so you can, there was we made an airplane mode for it. And so if you logged in, or not logged in, if you serialized over the USB port, and to do you could turn on airport mode, which basically ignored I squared C bus, which worked. And then we also had an option to you could just change the ICRC address. So you could change it to 51 and then it worked fine.
Okay, that's great. You're basically
yeah, because it was a device conflict on address 50 It was just spamming the Doom with all these I had just gotten a message. It was spamming it with all these messages, and the hardware was like yeah, we can do this and then this the SAM D KO routine is just not fat was not fast enough to basically get to the end of the routine, acknowledged and finished. And so basically, it probably made like 1000 interrupt routines and then probably overflowed wherever the word stores its return pointers that they probably float that over and then it just dies. I don't know too much about the architecture. I just
That's a good guess, though, right?
It's a good guess. I'm gonna guess that's why what's gonna happen if we can I mean, like a Atmel engineer that's worked on this and be like, you know, is that actually what's going on?
You know, that's probably a pretty, pretty good reason why most people don't give low level communication protocols to external world. You know, like, there's not an eye to see bus because you could plug something in it and then really screw crap up, you know? Yep. For really good reasons.
So that was a fun fun about, I was hoping to have like a really good solution, like, like it would be smart about it. But basically, once it did two interrupts in a row, it was already home. It was like, you couldn't, I wanted to basically be able to detect, hey, we fell into this interrupt again. And we like you set a flag and go, Hey, that flag is still set. What are we going to do? And by that time was actually already hos because you couldn't, it wouldn't go back to the other interrupt as well.
Because it was already it was already down inside of one right? Yeah, yeah.
It was weird. I want to try that again. See if I can get that to work. For next year. Wink wink. But yeah,
have you ever? Have you ever written code this is probably terrible code. But have you ever written code where there's an interrupt inside of an interrupt?
Unfortunately, yes, I've done that. Is not the right way to do
it. Oh, yeah. Cuz because like the the proper quote, proper way to do an interrupt is to jump into the interrupt, set a flag, leave the interrupt and then service the flag outside of the interrupt, right.
But there's sometimes there's, like, if you're running DMA or something like that, like the DMA, like loader is going to have like the highest priority for an interrupt so it will interrupt other interrupts
Whoa, right. Right. But but a lot of times, you're not even caring about that. You don't even see that happen. Correct. So usually,
it does, the hardware handles it and you're good.
Well, but above and beyond that, a lot of times the hardware handles it in parallel. It's not like jumping out of your interrupt. It's just happening on its own. Right.
Cool. Yeah. I would say anyone that wants to do badges, read John Adams, post modem. Because it basically covers everything that is like, Yeah, this is all stuff that people forget about or come across. It's like, it's amazing that there's actually a lot of these online and like XOR, we've done a couple of them as well. People still don't read them.
Well, I you know, I think I think people get into a trap, they do this thing where it's like, oh, my badge, or product or whatever can do X, and it can also do Y and it can also do Z, and that's great. And don't get me wrong, all of those are really cool things. But everything you add, comes with a huge amount of headache. So like just because it's cool, doesn't mean it's a good idea to add to your project. Or if if it's an absolute must in your in your product or whatever. Just know that it's going to each thing you add is another 30 hours of pain in the ass.
I think we might have stumbled upon what will become the downfall of humanity. Oh, yeah, it was it is the people do not learn from the mistakes of others.
That's nothing new. That is certainly nothing.
And because I haven't read a lot of these, like post mortems about badges and other projects and stuff. People still will commit the same thing over and over and over again.
Yeah, it's like trying to fight Russia in the winter. It's just a traditionally has not gone well.
Or emus in Australia.
Oh, that's true. Yeah. That's a great story. Go watch the over simplified YouTube video of that the EMU wars I knew exactly what you were thinking of.
Okay, I think we should wrap this up. Yeah meandered quite a bit here
for sure. Okay, so that was the macro fab engineering podcast we were your host Stephen Craig
and Parker Dolman 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 Mac fab at Longhorn Inge With no O's, or at analog E and G, or emails at podcasts at macro rev.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
What separates good documentation from bad and which kind of application notes do you like? Also, Ancient Chinese Semiconductor 7-segment drivers!
Why are all Python PDF creator modules just terrible to work with? Does anyone have one they like? Help me. Oh and Stephen's CNC machine is moving!
Right to Repair is going global and Stephen might have solved his injection molded component's void by tweaking the mold design.