Manufacturing guy-at-large.

Filtering by Tag: eagle

New TPR designs/drawings

Added on by Spencer Wright.

Made some updates to the models for The Public Radio this weekend. Included:

  • Made a full assembly model of the antenna. I had never done this previously, instead opting to let our suppliers make drawings. No more of that.
  • Fully updated our speaker model to allow for easier mechanical assembly and thru hole mounting to the PCB. This has been in the works for a while, but I needed to remodel the basket fully - and rethink the way that the lid screws work. I also renamed the speaker "Ground up speaker." You know, because of the fact that we're redesigning it from the ground up.
  • Added PEM nuts to the assembly (it was hex nuts before). I also adjusted the full screw stack so that it's fully supported throughout the assembly.
  • Remodeled the knob to be metric. ISO FTW! (Also note that the drawings are all on A4 paper :)
  • Did some basic housekeeping on the model, renaming and reorganizing elements to make maintenance easier.

I also did a bit of work to the EagleCAD - mostly just updating the speaker hole locations & sizes. Zach has done a bunch more work on this over the past few months; I'm mostly just dealing with mechanical interfaces here.

More on this soon, I hope :)

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:


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!

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!

Public Radio changes

Added on by Spencer Wright.

The Public Radio has moved a little slowly over the past few months. Zach has been busy, and I've got too much on my plate, and scheduling has been tricky. But we *have* made progress, and I'm here to tell you about it.

After the last hardware round, we spent an hour and developed a feature wishlist. It included:

  • No vias under battery clips
  • Larger thru hole pads & holes
  • Reverse polarity protection on the battery line
  • Schematic file is legible
  • Values on all parts are accurate
  • Redraw FM IC package to reflect accurate dimensions
  • Smaller lid ground wire hole
  • Speaker wires don't cross
  • Orient all SMT parts in the same direction
  • Reorient ESD
  • Add serial number & tuning frequency markings
  • BOM shows manufacturer part number only

All of these (plus a few more technical ones - see our GitHub repository for the current designs) have been completed. A few stragglers have yet to be implemented:

  • Boards have white solder mask & black legend
  • Schematic is 100% consistent with BOM

I like the way the new design looks. Eagle is *not* my favorite piece of design software, but board layout is fun - and I'm really proud of our current design.

On Sunday evening, we ordered a batch of 10 of these from Advanced Circuits. Advanced is expensive, but they turn the parts around quickly; ours should ship today. Meanwhile, our custom antennas departed (two or three weeks late, but whatever) Hong Kong yesterday. With any luck, the antennas will show up within a day or two of the boards - giving us time to assemble a few PCBs and then quickly put the radios into service. 

In the meantime, Zach hacked an awesome way to tune the radios using an Arduino. It should save us a lot of time, and will be *key* when we're shipping these things across the country.

So. Movement. Happening. 

Working on The Public Radio v1.3

Added on by Spencer Wright.

Screenshots from both Zach and myself - we've swapped back and forth on layout duties.

The FM IC (Si4831) is at the top of the board; to its left is the tuning circuit and trimpot. On the right edge of the board is the power & volume pot, and on the bottom is the amplifier, and on the left is the antenna connector. The middle of the board has a big cutout for the speaker body to fit through; we'll solder the speaker terminals directly to the board.

I got a little cute with the restricts near the antenna trace, and ditto on the power trace along the left edge of the board :)

Meanwhile, I spent a little time today modeling the battery connectors in Inventor:

Finding nice through-hole AA battery connectors is *tough.* I'm hopeful about these - I think they'll hold the cell firmly but allow for easy removal too. The only downside is that they're not polar in any way, so we'll need to mark the PCB clearly to show which direction the batteries need to face.

Our antenna standoff is kind of exciting too. We're running a trace to a plated hole (with a *big* pad) on the PCB, and then fastening a male-female threaded standoff to the hole with a hex nut. The antenna itself will thread into the standoff, making it easy to remove/install for shipping, transportation, etc.

We're in the process now of getting quotes for a couple of custom pieces of hardware: the antenna, the knob, the potentiometer, and the speaker gasket. We've also gotten a few quotes for the lid, which will either be stamped or laser cut stainless steel. And when PCBcart comes back from Chinese New Year, we'll order a batch of new boards to get into the hands of our beta testers.

This is an exciting time in the project. Things are coming together quickly :)

The Public Radio v1.2

Added on by Spencer Wright.

Ordered yesterday from OSHPark. 

This board uses an Arduino Pro Mini, which can be programmed from either an FTDI cable or via an AVRISP (which we'll do to shorten powerup time). The rest of the circuit is all discrete components, mostly SMT. The whole thing mounts on the backside of a 3xAAA battery pack.

We should receive these boards around Valentine's day, and will be testing and iterating on them shortly afterwards.

Likely Changelog

Added on by Spencer Wright.

I like having multiple projects going. While I've been working on other things the past few days, I've had a chance to reflect a little on The Public Radio's current configuration. Zach has been doing other things too, but we've had a few chances to reconvene and have assembled a short, rough wishlist:

  • Programmable by AVRISP. This means breaking out 6 additional pins on the Pro Mini and adding a 6-pin programming header. Doing so will allow us to remove the bootloader, shortening startup time and pushing us towards an eventual transition to ATTiny.
  • Cut parts where possible. The one place this is really possible is on the screw terminals, where we can replace two 2-terminal parts with one 4-terminal part. That'll save up to $.09 per board - not exactly champagne-and-caviar money, but it's something.

The effect of just these two changes means laying out basically the whole board again. The 4-terminal screw block will screw up my whole amp & voltage regulator layout - basically the whole left side of the board. And the programming header (which I'll probably put in the bottom left) will require a few traces crossing the board up/down - likely causing trouble for some of the FM chip circuit. 

Tonight I began playing with this a bit, though I didn't get far:

The other thing I'd really like to do is plop a DIP package ATTiny on here somewhere, but there'll be a pretty significant redesign associated with that too, plus a learning curve re: getting off of Arduino, and all in all I think I should just wait until v1.3.

I'm hoping to get a big chunk of this work done early next week, as it's continuing to slip a bit. Still, we're definitely getting closer to our end goal - and learning a ton in the process.

Yet more Eagle

Added on by Spencer Wright.

This is getting closer.

Zach has been doing crazy research on the minutiae of our circuit and figuring out ways to mitigate noise, especially on the antenna line (to improve reception). I've been deep in Eagle, which is still a PITA but is getting to be more fun :)

Extra special crazy thanks go to Todd Bailey for walking us through the datasheets on a few of these components. Todd has saved my ass more than once, and he continues to have a huge influence on this project.