You do not know how to make a PCB unless you can make your own parts. [Jan] knows this, but like everyone else he checked out the usual online sources for a footprint for an SD card socket before making his own. It turns out, this SD card socket bought from an online marketplace was completely undocumented. Not only was an Eagle or KiCad footprint unavailable, but CAD files showing the dimensions of the part were non-existent. A solution had to be devised.
Instead of taking calipers and finely measuring all the pads on this SD card socket – a process that would surely fail – [Jan] decided to use a flatbed scanner to trace out the part. The part was placed on the glass and scanned at 300 dpi with a convenient reference object (a public transport card) in the same picture. This picture was imported into a CAD package, scaled to the correct ratio, and exported as a DXF. Since KiCad readily accepts importing DXFs, the CAD file was easily accessed, traced over, and a new part created.
From start to finish, making the footprint for this no-name, off-brand SD card socket took fifteen minutes. That’s nothing compared to the time it would take to manually measure each of the pads, draw a footprint, and print out the footprint at 1:1 scale to see if it matched up several times. It’s awesome work, and a great reminder that the best tools are usually right in front of you.
clever!
Definitely a good idea, but the article does read like one of those infomercials where someone can’t use a common kitchen implement. “Nobody can get their fork to stick into their vegetables! (fork stabbing, flying food) Introducing the fork-o-matic 2000! (smiles all-round)”
If caliper measurements are unreliable, you’re doing it wrong.
Very nice solution, but I still swear by calipers and experience … Being sure to print packages out to scale to test or even etching to copper if critical
It’s strange just how many things have documentation that’s either
A) non existent by any reasonable search
B) not in English
C) totally wrong
But I must add I do want some of these micro sd sockets … Looks far easier to hand solder!
B) not in English
Very common, almost epidemic, problem found in most non-English speaking countries
;-P
bahaha you sir are a true squire!
Though there’s
B) Not in English;
i) In some other language.
ii) In some language that has a passing resemblance to English in that English sounding words seem to be used as cypher symbols for some other meaning, inconsistently. c.f. Engrish.
or Chinglish, for this matter.
“Instead of taking calipers and finely measuring all the pads on this SD card socket – a process that would surely fail …”
Why would it fail? It would be error prone, sure, but it wouldn’t fail. That’s why its recommended to print out a new footprint on paper and check placement
Yep. The solution is a good one, don’t get me wrong, but the way it has been presented here is stupid.
Sounds like a horrible way to waste your time and introduce slight inaccuracy.
Just get the land pattern from the datasheet and draw it as specified.
Personally, the annoying thing about micro-SD card libraries is the extremely weird, non-intuitive way that the numbered pins correspond to the physical arrangement.
That’s what you get by tacking on extra pins to an old standard. They’re trying to keep the pin numbers for the MMC card part the same.
And while the flatbed scanner is a clever trick, the calipers are often your only option for through hole parts.
I used calipers to measure a 3D plastic part for a machine, then 3D printed it. It fit everything perfectly the first time. If you know what you’re doing and can run a calculator, there’s no reason to “surely fail”.
I have also scanned things for 2D re-creation and 3D modeling. When accurate measurements are required I put a small steel rule on the scanner. Then in editing the rule can be cut and copied and pasted to other locations.
On Github several EAGLE projects use this SD cardholder. Some time ago I scraped Github for EAGLE for schematics and boards, and extracted all the parts from it. Made a simple frontend to the database. Too bad I ended up with a superlarge Database otherwise I had hosted on my site (no big database). If someone knows a mega cheap reliable hoster with 5MB web space and 2GB database for I consider to make it public.
This method looks nice alternative to this (and way more reliable :)) Gotta try this
Hi! Contact me at crimier at yandex dot ru, got a DigitalOcean VM running just for reverse SSH shenanigans.
How did you scrape github? did you link crawl or is there some global list of all the repos ever?
Unfortunately not :(
It was a bit of a nightmare. Basicly you use the same search function as a normal user uses (with some tweaks) and parse that result into a list of repo’s. Then download the files and put that through a eagle parser.
For 2 GB you could easily create an account on Google and put everything on Drive and share it publicly.
Good idea! The same can be done in Eagle. Using Illustrator or ink scape, convert the scanned picture to vector, cleanup, export as dxf and use Eagle file->Run ULP->import dxf. Draw the proper pads and you’re done.
I didn’t know Inkscape did .dxf, thanks
Heck I’ve done it this way for parts with footprints in the datasheet. Sometime dimensions aren’t easily referenced back to an origin. Placing pads over the DXF layer while not perfect is good enough. Works great for silkscreen too!
If you make the pads large enough it isn’t a big problem. Always the pads larger if you hand solder boards.
Excellent idea, I’d love to try that myself sometime. Great post Brian!
Brilliant. I wish I knew this when I created my sim and sd socket footprints… It is pain even with datasheets.
Did a similar Thing with a pcb. I had some ps2 optical mouses from an Admin Job und wanted to put an arduino in it. Wanted to add autofire, and other Features for fps-shooters. So desoldered All component Off an Pat it on an flat bed Scanner. Got a Programm to make Eagle half transparent and the odd shape and component placements where easy Tasks.
I’m doing something similar at the moment. Did you use the optimouse library? I’m just going to hide a digispark in the mouse rather than make a board. Care to share the source code?
It was a cheap Typhoon mouse with an ADNS 2610. The main tasks of the pcb where to hold the components like the sensor, microswitch, mousewheel assemby and a arduino micro in place.
I wrote the driver with a datasheet but after comparison with the code of https://www.sparkfun.com/products/retired/10105 it was almost equal (ADNS 2620). The USB-Stuff was handled by the arduino libs from the micro/leonardo. The status lights like capslock are missing but mouse and keyboard inputs are very easy.
Overall it worked but wasn’t finished, couldn aim while a macro was running, macros where hardcoded, mousemovement was sh*tty (?unfiltered?). Still was one of my best projects and autofire was working better than expected. reaching high scores at speed clicking online games where easy. At some points the browser and even windows 7 crashed. The symptomes where really funny, it startet to do some sort of morsecode over the speakers.
I planned to do it again on my Logitech MX510 wich has much better specs but couldnt find the datasheets needed.
The source is on a flying hdd and i dont know which one, so sorry.
One last advice if you using a usb-bootloader: Add some sort of arming procedure at the beginning of your code, because hitting the programming button is hard when the mousepointer turns into an animal.
Thanks for replying. I have plenty of example source code from all the optical mouse camera hacks. I just want to add debouncing to my own mouse, and change the wheel encoder. nothing fancy. my mouse uses the 2610 also which is fairly low res nowadays for gaming.
I too have done this the hard way with calipers,
I also made a 3D model for this uSD socket which is available at http://twot.eu/bitsandbobs
Google search SD slot datasheet
No need of mesurement
Just build your part in less time and and error free
“You do not know how to make a PCB unless you can make your own parts.”
From the picture and that first line, I thought he 3D printed the micro SD card socket. ;)
parts = footprints.
I wiil try do that with Sketchup. I already do samo with photos and some rooms.
Nice, I did a similar thing with a PCB. We made a new “brain” for an old appliance. We Scanned the PCB, Made an outline and marked all the pads and holes we wanted (buttons, LEDs) Connectors. Then we imported it as a DXF and used it as a board outline and guide.
Can we have an article on how to suck eggs next please?
Why not use fine lined Graph Paper or graph lines on a transparency
That is a novel idea except that without a mechanical datasheet you don’t know the MMC of the various dimensions and if you are designing something that is packed it, the first part might fit and the hundredth part might fit but the next batch might not fit at all. Not knowing what the MMC is, give yourself room for other parts.
There may be merit to the process described, but I must disagree that this is completely undocumented.
http://www.wellco.com.tw/PDF/TF%20microSDcardConnector_TFWF1.pdf
http://www.dipmicro.com/?datasheet=CON-MICROSD1.pdf