Adventures in Eagle Package Design

At Adafruit, new products and projects are always cooking and this week has been no different. I’m working towards a bigger project that involves a hardware design, specifically a custom development board. This board will require a vertical USB-C port. However, we haven’t done a design with a vertical USB C port…yet. It was time to design a part in Eagle and whip up a quick breakout board for testing.

The first step was finding a vertical USB C part. Using the filters on LCSC, I was able to track down one that I liked the looks of. It was mechanically strong, had some pin compatible alternatives and was available on JLCPCB for PCBA.

After deciding on a part I went spelunking into the datasheet and studied the suggested part footprint. The next task was going to be translating this diagram to Eagle.

I had created a part once in Eagle before and had followed along with KTOWN’s Ultimate Creating Parts in Eagle Tutorial Learn Guide. I proceeded to journey thru its many pages again, happy to see that the basics of Eagle had remained basically the same since the guide was published. The one aspect of the footprint that was Tricky™️ was the mounting hole cutouts. They are oblong holes. I searched the Eagle forums to see if there were suggestions on how to handle this and sure enough, makers before me had posed the question. It was suggested to outline the cut on the Milling layer over the pad.

To double check my dimensions, I used the Measures layer a lot to layout the dimensions from the datasheet and make sure that the footprint pads and drills were being placed correctly as I edited their coordinates. This gave me visual confirmation that everything was populating correctly.

Next was designing a breakout with this new part. Ladyada suggested basing the design on Downstream USB Type C Breakout we have in the store. I swapped the vanilla USB C port for the new vertical part and routed.

After review, it was decided that the breakout would be more stable mechanically if it had two rows of pins and four mounting holes. That way it would sit nicely in a breadboard or other prototype setup. Personally I think I did a better job routing this version and I got some practice using the “proper” tools for placing components and outlines in Eagle after following along with KTown’s Eagle guide. It was finally time to generate some gerbers.

Returning to JLCPCB, where this part search originally commenced, I uploaded the gerber folder and selected the PCBA service. This service assembles the boards for you with the parts that JLCPCB has on hand. I chose the part that I had picked out earlier for the vertical USB C and added it to the BOM. This generated a lovely 3D render of the future breakout.

The boards are being fabbed now and I’m really excited to test it. This process will let us make sure that the footprint and routing for this new to us part is ready for the more complex dev board design. And in case you were wondering, yes, this breakout will eventually be in the Adafruit shop!


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.