Showing posts with label electronics. Show all posts
Showing posts with label electronics. Show all posts

Using Arrow Electronics to Source Parts

Dec 18, 2018


The trick of any DIY electronics project is to get parts reasonably cheaply and reasonably fast.

In the 1980s getting parts was tricky unless you lived in a city that had a number of electronics suppliers.  My town had one supplier and its store was about 2000sqft. They were able to keep a lot in the back storage and would bring it out when you asked, but they did not have everything.

In the 1990s, phone/catalog suppliers started online stores. Usually quirky parts with some typical electronics parts.

In the 2000s, more online suppliers and eBay. Ebay had a lot of "stuff", but the cheapest came from China via the slow boat.  

Lately, I've been using Arrow for my electronic part supply after getting fed up with long delivery times from China and the lost shipments. I've used Digikey in the past to order parts, but I've lately been going to Arrow to search for parts, fill a shopping cart and making an order.  I'm using Arrow because:
  • Seem to have what I need.
  • Free shipping recently
  • Fast shipping
  • Comparable prices with Digikey


I did a comparison between Arrow, Avnet and Digikey.  With shipping for Avenet and Digikey, a small order would be significantly more and individually, the parts I needed were a little more expensive. This is not a complete analysis of all the suppliers (not intended to be) and if you were ordering 3000 parts, you would get a significant discount
*Digikey part was a different manufacturer

So far this year, the Arrow "free shipping" seems to be sticking around and when they are shipped, it is very quick.  I have found the free 2-day shipping, starts when your parts are boxed and ready to be shipped; I usually have parts within 4-5 days.  Shipping packaging is astronomically wasteful, but it's recyclable.

So far, I've been very pleased with the orders from Arrow and plan to continue to use them (hope free shipping sticks around).

9/10/2019: Seems to be Free Shipping on $50+ now.

Read more ...

Panelize Kicad Pcbnew Gerbers

May 3, 2018
I recently went to order a board for an Arduino project.  For $15 I could order a 5cm X 5cm but for $25 I could order a 10cm X 10cm board (four times as many).  I really didn't need 4x10=40 Arduino project boards, but I did need another 5cm X 5cm board.  I still had two 5 X 5 areas available so I started making other boards that I might need/want.  In the end, I had a panel of about three boards, two bigger breakout boards and a handful of little SO8 breakout boards.

There are two ways that this can be done.  Import the Pcbnew .brd files into an empty Pcbnew board and then painstakingly arrange them on a 10cm X 10cm board.
Or
Panelize them with GerberTools Panelizer (by This Is Not Rocket Science).  They have developed a suite of tools, but I only explored Viewer (Gerber Viewer) and Panelizer.

Install for Windows
Download zip file from GerbeTools Panelizer website and unzip into a directory on your drive.  There isn't an "Install" program.  Once unzipped, go to the "GerberTools\Panelizer" directory and run "GerberPanelizer.exe"

Package Gerbers from Kicad-Pcbnew
I thought it would be straightforward to export gerbers and then import into Panelizer.  There are several tricks that I learned.
1. Add an origin point
From Pcbnew load your project board file. On the Pcbnew tool panel, there is a symbol that looks like a target on an X-Y graph.
(Don't use the slightly similar target without the X-Y graph).  Use the cursor to move the cross-hatch target to the Upper-Left of the board outline and click.  You will have a Plus sign in a circle on the Pcbnew window.

2. Set Plot Options.
Not Printing options.  Select File->Plot to get the Plot Options Window.  Select Plot Format at Gerber, and an Output directory, we'll call it "mybrd-gerb/".  The minimal layers for a 2-layer board are:
F.Cu
B.Cu
B.SilkS
F.SilkS
B.Mask
F.Mask
Edge.Cust.
Finally set the Options in the center of the page
Click "Plot" button and watch the Messages window to be sure all layers were created.  Now for the Drill Holes select "Generate Drill File" button for a new window called "Drill File Generation". Set the options as below.

Then click "Drill File" Button.

3. Fix the Gerbers Problem.
Find your gerbers in the "mybrd-gerb" directory.  Pcbnew exports edge cuts layer to -Edge.Cuts.gm1.  Do you see that "one" at the end of the filename? It's okay that you didn't because I didn't see it for several hours. But now that you see it, you will always see it as the mistake it is.  Panelizer is looking for .gml (like with the letter el) and nothing will happen without it.  Just rename the .gm1 file extension to .gml.

4. The GerberTools Panelizer tool needs all the Gerber files in one ZIP file.  Do that now.

5. Startup the Panelizer, create a new panel and open your gerbers zip file.  If all the gerbers are correctly named, your board outline will appear within the outline of the panel. If you have more boards, load them in the same way and they will also appear in the panel outline.

6. Adjust the size of your panel with the menu "Panel Properties", leave the 2.00 mm  "Margin between board".  Everything else I didn't change.

7. At this time, you can move and rotate a board with the keys on the right.  Duplicating a board duplicates the Gerber boards.  Duplicate, load and move the boards until you have sufficiently filled the panel, but keep the 2.0 mm space between the boards to add Breaktabs (the panel grid is set for 1.0 mm spacing)

8. Use the Breaktabs -> Insert breaktabs to insert breaktabs between the boards that are placed within the panel.  The breaktabs will connect the boards together until you receive the board.  Duplicate, add and move the breaktabs until all your boards are adequately connected.  I used Delete All Breaktabs from the menu when I needed to clear all the breaktabs and start over.

9. All instances of gerbers boards and breaktabs will appear in the upper-right area under "Boards".

10. Export a new set of gerbers file for the panel with File -> Export Merged Gerbers.

11. Check the exported Gerbers.

12. Check the exported Gerbers again.

13. Check the Gerbres--three times the charm.

I use Dirty PCBS to build the panelized boards and they accepted it without any issues (probably because it is automated).  I had attempted a panelized board with another Chinese board house that heavily advertises $15 boards, but was surprised at checkout when the price was increased to $62. No thank you.


Update 6/6/18: This is what was received from Dirty PCB (after a lost package and an expedited reorder)






Read more ...

Repairing a Flex Circuit Cable

Jan 11, 2018
If you've ever taken apart any modern electronics, you've seen those flat yellow cables.  They are used to connect circuit boards with cameras, displays and other boards.  Designers use them because they are less bulky than wire cables and are relatively durable. Because of their flexibility, a display can connect to the main board and then flopped on top.  The flex circuit Cable will form a sideways "U" ( or "C").

Flex circuit cable can bend but they have a limit, they cannot make a very tight bend. At least not over the long term.  And this is where I had an issue.

I had a cheap tablet that almost immediately after the warranty expired started having display problems. It started with the display occasionally flickering, then proceeded to the screen disappearing entirely, but would return then tablet was knocked. Then one day nothing; no display. Hoping that the display flex circuit cable had worked loose from its connector I opened the tablet to investigate. I found the connector and carefully removed the flex cable and reseated it. Turned it on and a big Nothing. I looked further and found that the flex circuit cable was not a smooth U but more like a V.  I suspected there was a break and that is how it stayed for about a year.

I looked around for a fix, but the closest tip I could find was to bypass the break by soldering a wire from connector to connector (or flex circuit test points). This would not work as one end of the flex disappeared into the back of the display. After considering and rejecting a couple of ideas I thought I could bridge the break by patching on a similar flex over the break.

Here are my steps.
0. When problems first appear; investigate and repair. In this case, I could have reinforced the flex at the bend.

1. Gather equipment: stereo microscope, X-acto knife, tweezers, soldering iron, fine solder and Kapton tape.

2. Find a donor flex cable. Trace width is somewhat important, but the trace pitch is critical for alignment to traces.

3. With microscope and sharp knife remove the yellow plastic covering one side of donor cable. Do the donor cable first for practice using the knife. You will see shiny copper.

4. Do the same with broken cable.

5. Cut the donor cable so it will work as a patch.It should overlap the broken cable and exposed copper traces.

6. With soldering iron tin all the exposed copper with solder on broken and donor cables.

7. Clean both flex cables with alcohol and dry.

8. Position patch over break and align properly.

9. Hold donor flex down with tweezers and heat the donor flex with soldering iron. Previously added solder should melt and connect the two traces.

If this worked then you're better at this then I am. Keep reading to find out how this didn't work for me.

10. At this time the plastic of the flex cable started to de-laminate from the copper trace. Say a little curse.

11. Tack the copper traces to the broken flex cable traces. Should be easier since the flex plastic has de-laminated. All donor flex traces from one side should be soldered down before proceeding.

12. Try to solder through flex plastic, it will probably de-laminate the flex plastic. Solder the copper traces of the donor flex to the broken flex cable.

13. Check everything under the microscope. I gently pulled the copper traces to verify that it was connected.

14. Add Kapton tape below and above the patch. I didn't do any cleaning because the repair seemed very delicate.

15. Turn on and test.  The tablet display worked immediately.

16. Reinforce the bend by adding several layers of Kapton tape ( I added some foam on each side of repaired flex cable for support).

DISCLAIMER: This worked for me and there is no guarantee that this will work for you. Displays use high-speed serial signals and patch like this could degrade the signal potentially causing the eye to close. I either had extra signal margin or I was working on power traces. I'm surprised it worked.

Follow-on note: Perhaps low temp solder would allow soldering the traces withoug de-laminating the flex plastic.

Read more ...

Circuit Board Bringup

May 18, 2017
A lot goes into bringing up a new design.  You typically think that everything was reviewed and double checked during design phase, but then something happens during the time when the board is sent off and when it is received.  Having the project canceled (leaving you with empty PCBs) to a simple BOM change (easiest) are just a few things that can happen.

I will review a new board that I brought up recently; it was the first version 1.1 (1.0 was never built) when it arrived which is the hardest to bring up.  These are the steps followed:

1. Visual inspection, usually under magnification.  Did the board manufacturer build it correctly?  Is it sloppy? Silkscreen readable? Are edge cuts far enough from traces? Copper properly tinned?

2. Check the power supply rails.  Are there hard shorts (before and after assembly)? Is the correct voltage at required pin locations (before and after assembly)?   Check the ripple at voltage in for the components once assembled.

3. Check the clocks. Are they at the proper voltage that the parts require? Frequency? Jitter?

4. Create a plan to test as you assemble; start with center of design and move out. Processor or FPGA working? Then is I2C eeprom working? Is SPI eeprom working? Is more complex SPI peripherals working?

5. More in-depth testing.  Can you Read and Write eeproms? Can you send a packet? Can your RAM pass memory testing routines.

6. Final system integration testing.  Can the full software and hardware stack run properly? Does long term testing pass? Does thermal, shock testing, etc (if needed) pass?

At the end of your testing you will have a list of issues and a log of what happened.
The issues (bugs, failures) are tracked so that as they are identified (and fixed),  An example of simple spreadsheet tracker Bringup Issue Tracker usually has a short description, long description, date opened, severity, open/closed/deferred and category (software, hardware, board, schematic). Complex systems can be a dedicated database with web front-ends that can create reports for management.

The bring-up log allows everyone to follow what is happening during bring-up an allows you to easily review things that you've tried in the past the worked or did not work.  The Bring-up Log in this case was a Google Doc that allowed me to keep track of results, brainstorm and all the steps. More complex systems can use Wiki's or other type of dedicated database (reports and such).

This project started with a bare board and a bag of Digikey parts.  I was able to build-check-go as I went.  This allowed me to start at the center of the design and work my way out the the peripherals of the design, developing new tests as I went.  Sometimes the test worked sometimes not, but I was always moving forward.  If the test didn't work I had to develop a "Plan B" until I could get that part of the design tested.

It was a long and difficult process, but in the end I was confident that everything I tested would work in version 1.2 (version 1.0 was never built). The next version should be easier, because tests are already created and the only new test to be made is the one part of the design I could not test because of a really-really bad board issue.

Let me know if this helped or if you need help bringing up a new board.
Read more ...