Test-bed Electronic card. This project permit to test if missing components on an electronic card.

Similar projects worth following
ScanComponentsPCB is a software available on Linux 32-bit/64-bit or Windows 32-bit/64-bit (it is also available on MacOS and Android ) programmed with Processing in Java, which can detect possible missing components on a electronic card. The project consists of a software part and hardware part.

Software part contains a database in which there is all the coordinates of components of the electronic card in millimeter. The mechanical/hardware part includes SolidWorks plans for the construction of the test-bed, which can be made with wood and used magnets for adjusting the webcam.

1) run the software for your OS, you arrive on the main window:

The main window consists of three parts mainly : a party selects its webcam (the list any webcam software, resolution and FPS (Frame Per Second) available connected to the PC of the test-bed). A second portion that allows you to select the type of card you want to test. The test-bed have been developped with the SmoothieBoard electronic card, so actually you can choose between the 6 versions of the SmoothieBoard electronic card. Then the part of the various buttons available for launching various software functionality.

2) selection of the webcam:

If the operator forget to select a webcam, the software defaults to the webcam plugged in first available port (USB webcam or computer) ('/ dev video0), and the resolution of 640 * 480. The ideal is to make a USB ('/ dev / video1') webcam with a resolution of 1920 * 1080.

3) select the type of card:

If the user does not select a reference card, when launching the "Check your electronic card "software be asked to upload the image (jpg preferred) reference by type card you want to test.

4) Adjust the webcam:

The first functionality allows you to position the webcam using different slides available on the test-bed. It was at this point that the operator must allow the software to find the reference point (0.0) of the electronic card by pressing "setting reference point ',There are two solutions currently implemented or commented in the code: the first was to light a LED controlled by an Arduino UNO, then take the position.The second is a simple manual calibration by clicking on the edge of the electronic card corressponding at (0,0) or the top corner left pictures taken (if you place the card in the direction of reading ahead on the bench, which leads the captured by the webcam image is to be an image in reverse of the card).

Then the reference point to set the conversion values Pixels to mm with the "configuration of the scale units of pixels / mm" option, he lightsled a second then takes the coordinates of the spot (possible accuracy with small LED (0.3)) or this it just necessary to pressing "setting reference point", and clicking on the edge of the electronic card at the opposite. then exit feature that closes the video stream.

5) Take a calibration picture:

This functionality should be used once the position of the fixed webcam, and for each type of card available (so 6 for the moment). Normally if there is no alteration to the position of the webcam, or the resolution. This functionality will be used at the initial start of the bench. It will then reused in the event of data loss (over reference images) or in case of another type of card. Pressing exit closes the video stream.

6) Take a picture of your card:

Here is the main function for each new card to be tested, the operator clicks on "take one picture of your card. " pressing exit closes the video stream.

7) Check your electronic card:

This functionality allows a first visual inspection of the various components missing. Pressing "List and url missing components" sent to the last functionality.

8) Find the components references:

This last window improves the visual inspection by a location of missing components followed by a list of names of the missing components. If the operator clicks on the name of the component, a web page to purchase opens.

  • 1 × An electronic Card For exemple SmoothieBoard
  • 1 × ScanComponentsPCB Donwload the soft on Github
  • 1 × test-bed see SolidWorks file into the project github
  • 1 × Arduino Card if you want to use the calibration solution with Arduino and led

  • 1
    Step 1

    If you want run the application on your PC :

    1) Download the .zip project on github or the website of the project.

    2) install Processing.

    3) With Processing, add a library -> install : Opencv for Processing, ControlP5 and BezierSQLlite.

    4) On Linux : install the Oracle'sJDK because the library is incompatible with OpenJDK and demands Oracle's JDK.

    5) It's work ! You can run the application at ScanComponentPCB/application.linux64/ScanComponentPCB for exemple.

View all instructions

Enjoy this project?



davedarko wrote 08/27/2014 at 22:36 point
I don't really get it, is it some kind of "scan a good board", "check another board against it" thing? Can you make a little video of how it works? Or does it take a picture of a board and will compare it to an eagle design file?

  Are you sure? yes | no

Christopher Sainsaulieu wrote 08/27/2014 at 23:08 point
Ok, I'm sorry because english is not my mother tongue, but in effect, the soft permit to find the missing components on a electronic card. It is based on a first picture of your card with all your components, then it allows you to check if it lacks other components on your other cards, just taking all the photo of it and making a pixel subtraction with your departure card. This software is quite useful in a company that manufactures electronic cards, to see if the circuit board is good or if missing components.

  Are you sure? yes | no

davedarko wrote 08/27/2014 at 23:15 point
ahhh, okay :) where do you get the data of what is missing?

  Are you sure? yes | no

Christopher Sainsaulieu wrote 08/27/2014 at 23:26 point
I get the data of what is missing, in a DataBase : The software retrieves the x and y position in millimeters of each component missing, and it sends a SQL Requet to a database, in which is the name of the component and its URL, based on its coordinates. Thus, we must complete the database depending on the card you want to test. Currently Database is used for SmoothieBoard card. And it is actually quite simple to retrieve the position of the components from a file EAGLE PCB to put this in the database.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates