seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)



Janky as hell, after two failed designs and bad weather pushed me to the time limit. But it stands up, mostly! Chag Sukkot Sameach!
seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)
About five years ago a friend wanted to run a custom Jeopardy game at our New Year's party. He found a Powerpoint template and put together the game board, but he needed a buzzer system to tell who buzzed first, so he asked me to help. I found a circuit diagram online (I'm a mechanical engineer who dropped the only digital logic design course I took in college after a month, so I can't effectively design such circuits, but I know enough to follow a circuit diagram), tweaked it slightly* for my purposes, built it on a breadboard, and threw some buttons onto Chinese food containers to serve as buzzers.



Ever since then, I've wanted to build a more sophisticated and permanent and reliable version of the project, because quizzing is a thing I have had a lifelong passion for, dating back to obsessively watching Where in the World is Carmen Sandiego and affirmed by a high school run to the semis of a national quiz bowl tournament. This merged recently with my desire to learn how to use an Arduino microcontroller, so over the past couple weeks I finally built buzzer system version 2.

The buzzer buttons are now mounted on dollar store jumprope handles, a major step up in ergonomics. The wiring is enclosed in a project box, and instead of a breadboard I've transferred the main circuit interconnects to soldered perfboard for greater reliability. Perfboard is a thing I have mixed feelings about. It's certainly better than breadboards for projects that are going to be handled by other people, and if you think it out ahead of time it can result in cleaner and prettier circuits, but it's so tedious to assemble, easy to screw up, and a huge pain in the neck to fix the myriad mistakes of an inexpert solderer.



In the old project, the first to buzz was indicated by an ordinal red LED from a linear array on the breadboard. Now it's indicated by a piezo buzzer sounding a distinct tune and eight RGB LEDs switching to the winning buzzer's color, and the lockout reset button lighting up.



The microcontroller can support up to 10 buzzers (more if I multiplexed them with a shift register, and that's definitely a thing I want to learn more about, but I'd be worried about how that would affect timing in an application like this), but I've chosen for a few reasons to only wire up to 6, with easy expandability up to 8. If you look, you'll notice that the plugs for plugging in the buzzers are not exactly aligned. This is because I was lazy and skipped out on drilling some pilot holes I should have, and the drill drifted on the plastic from my marks. If it bugs me enough, I'll cut out a big rectangle from the top plate, have a replacement cover laser cut or something, and glue it in.

The RGB LED array is a new thing- those didn't exist when I was first learning electronics. If you wanted to use an RGB LED (and those were a thing that barely existed, commercial blue LEDs didn't come around until the late '90s and the Nobel Prize for the discovery was awarded only two years ago), you had to use Pulse Width Modulation or analog voltage adjusters on all three color channels individually, making larger arrays incredibly laborious to construct. Miniaturization and digital automation have progressed to the point where a 3 Channel Serial-PWM RGB driver can be mounted on the LED package, allowing a single serial stream to individually address dozens of LEDs. It's a pretty amazing technology.

The Arduino Nano driving this thing is also a new thing. I have an Uno mounted next to a prototyping breadboard that I used to prototype the different elements of the project, and it's great for that, but the Nano hits my sweet spot of deployment as a moderately competent hobbyist- it's a breadboard friendly and protoboard friendly form factor, letting me miniaturize finished projects without going all the way to the pro-level with custom designed PCBs and so on. And they're incredibly cheap! Only a few dollars apiece. I mean, the whole Arduino ecosystem is shockingly cheap, compared to the equipment available when I was first learning this stuff. Back then, if you wanted components at Arduino price levels, you had to buy the pro-level non-user friendly stuff with esoteric programmer protocols and half-English datasheets.







So then I brought my buzzer set to the local library for their trivia night. One of the impetuses for finally getting it together and building this was the idea that it might be used for library trivia night- at present, they have a set of buzzers that flash and make noise but are not connected to each other, so a human judge has to decide which was triggered first- an extremely frustrating and error prone process.

I hooked it up, showed everyone how it worked, and people were impressed, until I started taking it through its paces and found that two of the six buzzers had broken wires. There were 5 teams, so with us down to 4 buzzers we had to go back to the old system. Frustrating. I've fixed everything up, and I think I did a better job with strain relief this time, so hopefully things will go better the next time I deploy it.



*The best part of this story is that I was able to build the circuit from logic gate ICs I had lying around the house. The circuit called for use of a hex buffer IC as part of the latching circuit, but I didn't have any hex buffers. But I did have a hex inverter IC! And I realized that if I reversed the polarity, the circuit would work. Possibly the greatest moment of my life. Certainly my best party story. I may not be very good at parties.
seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)
An observation on supply chains:

If you need a part or service delivered on a tight deadline, and you tell a vendor "If you can't deliver it on this deadline, we will buy it somewhere else," they will lie to you.

The thing about this is that even though I've seen it happen a hundred times, I'm not sure whose fault it is.

I'm not sure it's a malicious lie on the part of the vendor- I don't think they even say to themselves "I know that we can't deliver this on time, but if I say we will then we will get money, and by the time the customer realizes we can't deliver on time, they'll have no choice other than to wait the extra time for us to deliver." And I mean, I guess it would be rational if a little evil for them to think this! I wouldn't really consider it all that evil, because the business rules work both ways on it to balance it out- on the one hand, you get the initial business, but on the other hand, it's likely to cost you any repeat business. So if you want to intentionally lie, go for it, it'll probably hurt you in the long run.

But I don't think it's usually an intentional lie. I think that when you give someone an incentive for wishful thinking, they'll indulge in it. We ask them "Can you deliver by our deadline?" and they hear "If you really squeeze, and everything that needs to go right goes right, can you deliver by our deadline?" And so they throw out all of the safety margins in their timeline projections and they tell you they can deliver on time, and they lie to themselves and they lie to us about what their gut tells them- that those safety margins are put in the timeline for a reason.

And because of this, I always say that if you ask a vendor to hit an expedited timeline, you are asking them to lie to you, because you should know that if you ask the question, they will lie. And I'm inclined to feel that doing so means that you are really lying to yourself, telling yourself that they can really hit a deadline because your vendor said they could, when you know that all you've done is asked them to lie to you.

But that's not quite right. It's fully within the vendor's wherewithal to say "No, we can't actually hit the timeline you want, so your choices are to go elsewhere or accept our timeline." That's the responsible thing to do, and it would mean a whole lot less stress down the line, though it would suck for us because it would mean we can't hit our own promised deadline.


Entirely unrelatedly, my boss just asked me today if I could work some Sundays over the next few weeks...
seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)
We're a man short at work since one of the technicians left about a month ago. Until recently this didn't affect me all that much, since my project was the top priority and so all available manpower was thrown at my project. Another project has temporarily supplanted it, so all the manpower is being thrown at that one and there's no manpower available to continue the work on my project.

I'm primarily a designer, meaning that on a good day I sit at my desk and draw things in various CAD programs and then work on coordinating the work of having other people make them- sourcing the material, contracting outside machine shops, providing drawings and parts to our in-house technicians, etc... But one of the attractions of the job was always that we were small enough that I'd be able to work with my hands at times.

I am not the most manually coordinated person in the world. I'm a nerd who spends most of the day at the computer. But I like buildings things. I like building things a lot.

So it has been lots of fun the past few days getting to step into the back to saw and drill and punch and screw things together because there's nobody else available to do it. My hands are covered in small cuts from sharp pointy objects and sparkly stainless steel shavings. But I have built things. :)
seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)
I had a NASA moment yesterday.

Talking to a supplier about a part he had quoted, I mentioned the "thirteen inch dimension" and he said to me, "Oh, that was in inches? We quoted in millimeters!" Damn glad I happened to talk to him again before ordering.

The price did seem low...


It's amazing. Engineering school impresses upon you the idea of being detail-oriented, but it didn't actually do a good job, in my opinion, of impressing us on what kinds of details that meant. Though I had a calculus professor who never gave partial credit on tests. You either had the right answer or you didn't. Toward the end of the semester, talking to her outside of class, we learned that she had once designed nuclear reactors in Soviet Russia, and suddenly we understood why. After midterms and other tests with grades in the fifties or sixties, virtually all of us aced the final.

It is astonishing how small a mistake can make a part totally unusable, or worse, dangerous to use.
seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)
The big news at work is that our drawing log has hit 10,000 parts assigned. When I got there nearly 5 years ago it was ~2000. (Yeesh. 5 years. I remember being a kid just out of college looking at all the job postings and wondering how you got to be the engineer with 5 years of job experience in the field when all the jobs required 5 years of job experience in the field. Apparently this is how.)

The three of us engineers were competing to be the one to draw part number 10000. I lost. One of the engineers tried staking a preemptive claim by writing in "This part number reserved", but we called BS on that. The winner highlighted the entry in green and wrote "Nice try, guys" in the log notes. The whole affair reminded me of undergrad pranks, which makes sense. The three of us are the only people here with small elite tech school backgrounds, and there are times when working here with them reminds me of the working groups at school an awful lot, though there are just as many times where this place is the fucking real world and people and machines all suck.

The other big news at work is that I might be going on a business trip to China in two months. It's unclear what the plans are, so I'm trying not to get too excited, but it could be very cool.

Profile

seekingferret: Photo of me with my 2012 Purim beard, with stripes shaven into it. (Default)
seekingferret

June 2017

S M T W T F S
    1 2 3
4 5 6 789 10
111213 14151617
18192021222324
25 2627282930 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags