Manufacturing guy-at-large.

Filtering by Tag: thepublicradio

Share

Progressive die

Added on by Spencer Wright.

I've only visited a progressive die shop once, and I loved it. Never thought I'd get my own progressive dies, though:

These are in Taiwan currently, and will be producing lids for The Public Radio in the next week. Pretty fun. The speaker holes are made in four stages, and the outline is the last step.

Share

Putting The Public Radio together

Added on by Spencer Wright.

We made some big changes to the assembly program for The Public Radio over the past month or two, and I wanted to document them. Here goes.

We start with a fully assembled PCB, a speaker, a spacer, a lid, some nuts & bolts, the potentiometer washer & nut, the knob, batteries, jar, ring and antenna. 

Install the speaker on the PCB.

Then slide the spacer over the potentiometer and onto the speaker.

Now install the lid over the potentiometer as well. 

Loosely install the potentiometer washer and nut. Then install the small screws through the lid, spacer, speaker and PCB and thread nuts on their ends.

Once all the screws are installed loosely, snug up the nuts and then the potentiometer washer and nut. Then install the knob, making sure the set screw is facing the flat portion of the potentiometer shaft.

Now install the antenna through the lid and thread it onto the screw.

Now install some batteries, put the radio into a jar and tighten the ring.

And, that's it!

Share

Why not Github for mechanical design files

Added on by Spencer Wright.

I spoke today to Jon Placa @ ProtoExchange about how we're using Github on The Public Radio. In a followup email, he asked: "Is there any reason why you aren't using Github to host your actual design files (beyond gerbers)?" My reply:

No singular reason. But...
  • Only I work on our mechanical design, so there's no need to collaborate.
  • When I was collaborating on mechanical design (last job), I used Autodesk Vault - which is actually pretty good.
  • Mechanical design is even more fragmented - it's not as if me posting .ipt and .iam files on Github means they're really useful to anyone else, because maybe they're on Solidworks or an earlier version of Inventor - or, more likely still, on some consumer grade system.
That said, the original goal was to be open with all of it, and I would like to post those files there too - if only for posterity's sake.
Share

Public Radio progress

Added on by Spencer Wright.

So, a few things have happened.

Over the past months, we've worked a ton on improving The Public Radio's reception. We want it to perform as well as any FM receiver on the market, but we were having trouble getting there.

Finally, we spent a day with Todd taking The Public Radio apart piece by piece. And as it turns out, reception wasn't our issue - interference was. 

The entire time, we'd never looked critically at The Public Radio's amplifier - a TI TPA2005D1. We had chosen it mostly because it was available and easy to develop with (i.e. Sparkfun sells a development kit with it), but its efficiency was also a key selling point. The TPA2005 is a Class-D amplifier, which means that it amplifies the audio signal as a series of pulses. These pulses operate at a frequency of about 250kHz, and the whole device has a much lower duty cycle than Class-A, -B, or -AB amplifiers, all of which operate more or less continuously. Because Class-D amps have such low duty cycles, they're way more efficient than linear amps. We wanted the Public Radio to have as long a runtime as possible off of a single set of batteries, and so we stuck with the TPA2005D1 to minimize quiescent power consumption and increase life.

But that switching frequency... Once we pulled the amp off The Public Radio, the audio quality improved dramatically. The 250kHz stuff happening on the amp must have been creating harmonics into the mHz range, and that noise had been getting onto the rest of our board and making our lives *very* difficult. It's possible we could have gotten rid of it with some clever filtering, but the bottom line is that it didn't matter: the difference in power consumption is mostly when the input is low, which is never going to be the case when you're listening to HOT97. And anyway we're talking about dozens if not hundreds of hours of runtime regardless - and the difference isn't something that most listeners will ever notice.

So: Class-D amp out. Class-AB amp in.

Our new amplifier, a TI TPA6203A1, is towards the bottom of this board.

Once that was done, our progress jumped significantly. We bought some quick-turn boards from Advanced Circuits and spent a night putting them together. By the end, we were listening to Funkmaster Flex without an antenna even connected. The Public Radio has *excellent* reception now, and we can finally focus on the DFM and production challenges ahead.

In the meantime, we've received samples of the speaker spacer that I designed a month or so ago. They work well, and having them figured out means that we can pull the trigger on our lid tooling too.

This week, we'll officially place an order for 2500 assembled PCBs. We'll also begin designing our testing & tuning jigs in earnest, and that'll inevitably mean going back into software development as well. 

Onward.

Share

EAGLE => X/Y CSV

Added on by Spencer Wright.

In order to program his pick-and-place machines, our prototyping supplier for the development boards on The Public Radio requested a document (CSV or spreadsheet) with part names and X/Y coordinates. We figured that EAGLE could probably do this easily, but the process ended up being a bit tricky. 

EAGLE, in all it's weirdness, generates plain-text partlists that are formatted by column (i.e. each field starts on a given character column in the file). Ours starts out like this:

There are a few problems with this. First, a bunch of it is superfluous; we already have a partlist (which we created in Google Docs and links directly to manufacturer product numbers). Second, some of the "Value" fields are missing, making it difficult to index a given word on a line. Third, there are inconsistent delimiters; at first I thought I could use spaces, but the missing values screwed that up (and the manual solution was, for a few reasons, unappealing to me).

So the problem: How to process this to produce a document with consistent, useful formatting and no superfluous information?

The answer: A shell script.

My end result is hosted on Github, here. It's the first shell script I've written in probably ten years, but AFAICT it works well. 

The function takes one argument from stdin, which should be the plain-text partlist exported directly from EAGLE. It creates a second document for output and then processes the input file, sending just the necessary information to the output - and separating all fields with a comma in the process. The output looks like this:

I'm pretty crappy at scripting these days, so it took me a few hours to complete - but the end result is exactly what I wanted, and we used it numerous times in the few days since I wrote it. 

In short: This was arguably the biggest success of my whole week. And it was fun to write, too! Check it out if you're interested :)

Share

Diff Gifs

Added on by Spencer Wright.

Inspired by a tweet by Chris Loughnane, I decided to make a visual history of the EAGLE CAD commits that Zach & I have made to The Public Radio's Github since the beginning of December.

The schematic changes are pretty subtle:

The layout is more dramatic. Partly that's because of the shift to rectangular dev boards, but if you look closely you can see that a *lot* of stuff has moved around:

brd-development.gif

Incidentally, someone - Cadsoft? Github? - should make an automated way of generating these things. They're so useful!

Anyway. We'll be ordering another round of PCBs tomorrow. Fun!

Share

Everything I know about how speakers are made

Added on by Spencer Wright.

Two photos from a speaker manufacturer in Dongguan. These constitute basically the entirety of what I know about speaker manufacturing.

So, there you go. Speakers. I'm looking to learn more: ping me if you can help (seriously).

Share

The Public Radio dev boards

Added on by Spencer Wright.

Over the past month, we've been hustling *hard* to re-engineer The Public Radio's circuit design. We knew we needed to do this in order to transition to a digitally tuned FM IC, and budgeted enough time to go through two or three final prototyping rounds. The first round was the hardest - we wanted to be making as few changes as possible on the second, so balancing speed and accuracy this past few weeks has been a real challenge.

But it's coming together well, and we received our first development PCBs the other day. Our prototyping partner, Worthington Assembly, did all of the SMT components, and Zach added the thru-hole parts on Thursday.

We already found a few minor errors - two of our part footprints were a bit off - but they're all easily fixable and not an issue for working on the development boards. 

Over the next week we'll be putting these through the ringer, and making any small changes we need to make the circuit fully optimized. Then we'll shrink the board back down to production size and will get one more prototype run built before placing our final orders.

More updates soon!

Share

EAGLE Libraries on Github

Added on by Spencer Wright.

This has been *such* a PITA, but I think I just got The Public Radio's EAGLE libraries onto Github in a way that makes sense.

The goal: To have everyone be able to access all of the parts that we use on The Public Radio, no matter where they are or who created the package/symbol/part, by just syncing the Github repo.

Our Github page now has one active repo (Embedded_Hardware) - and two for firmware & firmware libraries that are mostly inactive for now. Within Embedded_Hardware are two big subdirectories (EAGLE_CAD and EAGLE_lbr), plus an ARCHIVE and a place for us to put production files (Gerbers, etc).

Within EAGLE_lbr, there is one EAGLE CAD library file - PR_Parts_Library.lbr. From now on, that will be the default library for all packages, symbols, and parts that we create or modify for use in The Public Radio.

In order to make this all work, you need to add the local directory that you sync to Github to your EAGLE Libraries search path. I keep our Github repositories at ~/Documents/The-Public-Radio, so I added :$HOME/Documents/The-Public-Radio/Embedded_Hardware/EAGLE_lbr to the end of my Libraries search path:

And now the EAGLE libraries show up just fine!

Lastly, I opened up our .brd and .sch and went through all the parts I had created. I drew the speaker, potentiometer, antenna hole and batteries. The .brd and .sch included copies of those parts that came from a library on my local disc, so first I had to find those parts and copy them to our new shared library. Then I went into the .brd and .sch and swapped the old versions of those parts for the new ones. 

Anyone else who's working on the project right now (that'd be Zach and Andy) can do the same with any of the footprints that they created. And anyone who's hoping to make their own (not sure why they would, but who am I to ask) can grab the entire Embedded_Hardware repository and modify packages to their heart's delight. If you do so and find a mistake we've made, please let me know - we're happy to take any pull requests that improve on our design!

Share

Three interviews

Added on by Spencer Wright.

I've done three interviews recently. The first, with Brian Barela, was on the future of work. It's in two parts:

The second was with New Hampshire Public Radio's "Word of Mouth," and was about The Public Radio's Kickstarter campaign:

Spencer Wright/The Public Radio Word of Mouth interview

The third was with Matthew Lesko, who you'd know as the question mark suit guy from late night infomercials - and who ends up being a really intelligent, thoughtful person. This one was also about The Public Radio:

Being interviewed is, IMO, *okay.* Holler if you want to chat :)

Share

Updated drawings

Added on by Spencer Wright.

Changes:

  • Oriented all drawings the same way
  • Much improved BOM with screw & nut specs & names, more details on custom parts
  • New spacer setup
  • Section & detail drawings show interface between spacer, lid, and antenna/potentiometer

Full PDF here, in case you're really curious.

Share

An idea I'm not so sure about

Added on by Spencer Wright.

We need a better way to sandwich The Public Radio together. It needs to be a spacer between the speaker and the lid, and needs to insulate the antenna from the lid, and probably needs to interface with the potentiometer too.

This is my first real crack at it. Not sure how I feel about it. Will probably be expensive.

Needs more work + some supplier DFM feedback.

Share

Charmed

Added on by Spencer Wright.

I have about 50 of these in my inbox on MFG.com right now:

Not all Chinese manufacturers are as charming as this one, but in general they're *much* more outwardly communicative than American suppliers. 

Share

Pro supplier moves

Added on by Spencer Wright.
  1. Calling me out of the blue to say "hey." Before that, you're just some guy on the internet who sent me a quote - and I've got like 50 of those to deal with right now.
  2. Following up with an email within the hour.
  3. Following up with another email a week later with a picture of some samples (minus the knurling, but you acknowledge that) that you made.

Now you've got my attention. And then I respond and say something about how important the feel of the knurling is to us, because the knob is really the only UI element in The Public Radio. And now we have a relationship.

So: Tru Precision Manufacturing LLC. Good stuff.

Share

Speaker mods

Added on by Spencer Wright.

One of the big pain points to date on The Public Radio is that our speaker - a Dayton Audio CE32A-4 - was *not* designed to be PCB mounted. Like most good quality full range speakers (it's one of the most expensive items on our BOM), it's got solder lugs, which are designed to have wire soldered to them.

So, why did we choose this speaker? Partly because of sound quality - it's really the best available given our size constraints. It was also relatively easy to attach to on the cone side; the plastic flange is sized nicely and has four good screw holes in it. And anyway, we figured we could work something out if we ever had to build a whole lot of radios.

Fortunately, at 2000 units we start to be in the range where getting custom PCB pins could make sense. It'll cost us some time (13-15 weeks) but that's okay if we decide quickly - and we'd probably wait that long anyway just getting the full quantity from our supplier. So I drew up a basic version of the pins we'd want and sent it to Dayton:

I'm not sure what the net cost will be on the parts, but the assembly will be significantly less expensive and *much* more reliable. 

Share

Public Radio updates

Added on by Spencer Wright.

My last week has been spent mostly trying to squeeze money out of our potentiometer knob. The one we had been using - a Kilo product - has terrible pricing, even at quantity ($2.38 @ 2000 units). So I remodeled the part and started poking around.

I got a bunch of quotes from some US machine shops I know that are closer to the $2 range. I also got a quote from Taiwan for about $.50 apiece (though I'll expect additional shipping/customs costs). 

Then, I put the part on MFG.com. At quantities of 2000, this should hit a good spot for a lot of US mill-turn shops - and so far the response has been pretty good. I'll let the quoting period run for a while still, but I expect to pay no more than $1 for these parts, and that's including clear anodizing and possibly shipping to NY.

These are all for quantities of 2000 units.

Meanwhile, Andy has been researching FM IC pricing; Zach has been looking into batteries and tactile switches; and Eden has been poking around at PCBA shops. 

My next focus will be on the lid and the speaker. The former is in a pretty good place right now, but the speaker wants some real love... updates soon.