Yes, it needs the EEPROM to be called a Hat. I’m using the one they recommended: the ON Semi CAT24C32WI. There isn’t any requirement on where it has to go on the PCB, just that it has to be connected to the EEPROM clock and data pins of the I/O header.
FYI: OSH Park says:
2.56x2.21 inch (65.10x56.11 mm) 2 layer board.
3 boards at $28.30 per batch of three. $28.30
Thanks, can hardly wait.
Hi, Paul. Glad the template was useful for you. What is your Hat going to do?
FYI, if you get to the point where you need a dozen or so of your board, Itead, Seeed and Dirty PCBs can all do that for about $25. There’s also a site called PCB Shopper that will provide fairly accurate estimates for a bunch of low-cost PCB fabricators.
This is part of a learner project.
- Install dev tools on the PI 2 and build Rockbox done
- Learn KiCad and add iPad style scroll wheel done
- Add eeprom done
- Write gpio keyboard code
- Program eeprom and learn device tree
The eeprom was the major time item in the hat.
I only plan on one board. I picked Laen’s OSH Park because I live nearby here in Portland.
About 23 minutes into this video Laen says KiCad is outpacing Eagle in his shop.
Sounds like fun, Paul!
As for KiCad outpacing Eagle, I remember Laen saying that happened once a few years ago, but then Eagle went back to being far in the lead. He couldn’t explain the one-time bump. I couldn’t find the date of the video, so maybe KiCad is surging again. Regardless, I’m glad I made the move from Eagle to KiCad.
Fixed or broken, depending on how you look at it. In the past the unspoken convention was to place the center at the geometric center for symmetrically arranged pins; this makes sense especially for SMD since the IPC standards recommend to do it that way. With the reworking of the pckages, the THT components like that header were redefined so that the (0,0) reference is Pin 1. I haven’t checked to see what has been done with the SMT components. There is no approved standard for specifying placement of the THT components so it doesn’t matter so much except of course that your older projects will require an offset to correctly position the new models. On the manufacturing side no one really cares since the specification of positions is such a mess that an operator often needs to instruct the automated assembly software how to deal with each component anyway.
But in what way is Eagle ahead? Eagle requires a ULP just to export IDF; KiCad exports IDF with no such extra software. Soon KiCad will export IGES solid models of the PCB and its components; to export IGES from Eagle you need to pay an annual license fee for third party software. With KiCad if you want to view the IDF models and don’t want to install FreeCAD, or if the FreeCAD IDF importer fails, you can create a VRML model with the idf2vrml tool and then view the model with free software. KiCad has 32 copper layers (and 32 technical layers), Eagle is limited to 16. KiCad lacks an autorouter but thanks to Alfons, freerouter works very well with KiCad. Kicad supports slots, and if you wish even slotted arcs. Eagle represents slots as multiple drill holes, something which no mechanical engineer or manufacturing engineer would ever consider a good idea.
By “ahead”, I was referring to the percentage of boards done using Eagle versus KiCad in Laen’s OSHPark panels. That’s just a (biased) sample point to get a feeling for how many people are using Eagle versus KiCad, not a judgement of which package is technically better.
I forgot to mention I removed the slot in the template and later found out the fabs OSH Park uses do not do that narrow a slot anyway
I meant iPod scroll wheel, above, of course.
http://www.digikey.com/product-search/en?mpart=TSWA3NCB11LFS&vendor=108
Footprint from ShareBrain git for the portapack hack_rf add on project.
https://github.com/sharebrained/portapack/tree/master/portapack_hackrf Thanks to Jared Boone of ShareBrain, my KiCad instructor.
A new PI hat project showed up on OSH Park. I didn’t do the slot because I didn’t think it met the OSH Park Specs. This guy has an interesting way to do the slot and notch.
The YouTube video title says “Streamed live on Feb 11, 2014”
Hi devbisme,
thanks for sharing your work with the community.
I am trying to use your template this way:
Downloading the zip file from github.
Extracting it to a new created subfolder like …\KiCad\share\kicad\template\RPi_Hat_Template.
Opening KiCad , clicking “new project from templace” , selecting subfolder \RPi_Hat_Template\meta and selecting RPI B + HAT.
When opening Eeschema I receive some warning:
"The following libraries where not found:
- special
- xess
Clicking on “close” and then clicking on the file in the sheet opens the schematic.
Starting there I delete the not wanted smt connector.
Everything seems to be OK.
Opening pcbnew, I just followed your advise on the pcb board and delete socket J1 (smt) and the corresponding board edges.
Ignoring the error message while opening the 3dview I get a nice view of the bare board (without the socket part).
Now: How can I add the library for the footprint of the socket?
Thank your for your answer in advance.
Best regards,
Aquila
You can find the xess.lib file in this Github repo. Don’t worry about the special library.
But I think you shouldn’t need the xess.lib file, either. You should be able to get the schematic parts from the RPi_Hat-cache.lib file.
As for RPi_Hat.kicad_pcb, the GPIO connector footprint should already be stored in that file, so the footprint shouldn’t be missing in pcbnew.
Maybe I’m misunderstanding. Are you missing the PCB footprint? The schematic symbol? Or the 3D model of the connector?
If all you’re missing is the 3D model, then it should be in the Pin_Headers.3dshapes/Pin_Header_Straight_2x20.wrl file. If you don’t have that file, then that’s why the connector isn’t showing up in the 3D view. But that should be a standard 3D model provided with KiCad, so you must have it somewhere.
Hi Dave,
thanks for your quick response.
Yes, I am missing the 3D model, although I found it in the standard library.
It seems that I am still struggling with KiCad. Somehow the path to this library does not result in showing the desired 3D model.
Instead I get a strange io error message saying, that KiCad cannot find the next boundary segment and spectra.cpp throws an error at line 144…
I will give it another try tomorrow.
Cheers
Aquila
sounds like the outline/cutouts aren’t properly done (=no closed loops) or stuff is intersecting/on top of each other…
@devbisme, if I was you I would define the different upper outlines on another layer and let the user change the layer per segment/arc to edge.cuts or don’t offer that kind of option at all.
Maybe even define it not as a board template but as a footprint (with the cutouts on some other layer, so people would have to redraw them)?! - would make moving the board outline less prone to errors.
I made something like that for a 100x100 base where I put my sub-boards onto - z_Nutzen_100x100.kicad_mod (2.6 KB)
Hi,
I managed to see the board including the pin header part in 3D view.
I edited some outline/cutouts.
Still there is one IO_ERROR message left: "Unable to find the next boundary segment with an endpoint of (111,76 mm, 77,1906 mm). Edit Edge. Cuts perimeter graphics, making them contigous polygons each. "…
Somehow KiCad does not accept my corrections at that coordinates, although all other editings worked fine.
Any guess?
At present I get a square shape, no round edges an no cut outs. If this ist not due to the io_error, is there a way to see the shape of RasPi HAT with its real outline in 3D view?
Cheers
Aquila
The top cut out contour has got 2 cut-out edges defined for different pin headers… decide for one and delelte the other option… you have to delete some of the upper edge.cut segments/arcs and make sure that the outline is closed after still…
As long as you get this error it means your edge.cuts layer does contain unclosed loops or segs/arcs on top of each other… KiCAD is not able to draw you a pcb outline from it.
Yes, I noticed the double cut-out edges and deleted one. I could close the outline on the right side of the board but not on the left. Sigh…
I don’t know, but that seems like it would be even more prone to error than the operation of just deleting a few segments.
Again, that seems to make things harder for the average user for the slight advantage of moving the board outline. Plus, it makes the board outline uneditable within pcbnew.
Probably the best thing to do is what was recommended by kammutierspule: make two separate templates.
As you can see up there with Aquila it’s confusing and not straight forward for noobs
Hm… have you had a chance to look at the footprint I attached up there for a 100x100 board?
I find it very easy to follow the outline on the drawings layer with segments/arcs on the edge cut layer.
This then also can be pulled in an existing project where much of the layout has been done already (for conversions for example)… and messing up the mounting holes/cutouts is pretty hard that way also, as they’re fixed on the footprint and dimensional fit of the board edges can always be checked visually by just looking at the lines ( no need for measuring anything)
On the other hand, if somebody likes different outlines better (chamfered edges, some other cutout, etc…) he can easily incorporate them without loosing the reference outline for the ‘standard’ hat, nor does he need to do calcs or measurements while modifying.
I whipped up the RPi-hat footprint just for demonstrating the concept for the PTH version…z_RPi_Hat_PTH.kicad_mod (7.3 KB)
Would probably need to be centered on the connector though for the 3d model placement without offset, but that is details…
The end of the story is, you can treat the shields/capes/hats as you treat any other connector footprint (like a uSD card slot for example) and you won’t be able to mess up mounting holes if they’ve been done right first time.
Looked at it from this angle your customized symbols for the SMT and PTH 2x20 pinhead connector would make more sense too, as those would be really symbolizing footprints of those hats (SMT and PTH).
That’s a pro and you won’t get edge cuts out of the footprint in the first place anyway - have you actually tried to get edge cuts into a footprint file? Text-editor only… and even then, don’t load that footprint with the footprint editor as he will complain and move them to some other layer.
Already hard enough that the footprint editor doesn’t allow direct drawing on Dwgs.User and Cmts.User layers…
Admitted you can put edge cuts into a footprint (did a Nokia 5110 display backward and had the cutout in the footprint) but after a while I decided against it and just kept the cutout info on the dwgs layer and redid the cutout on the board the display got onto:
So the edge cuts wont be in the footprint, everybody would have to ‘redraw’ them according to the footprint outline/cutout lines. And as I said, that’s a plus.
- it’s fully customizable (sharp corners, chamfered corners, different cuts, etc pp)
- people learn to do edge cuts/cut outs properly (show a man how to fish
- people don’t lose the reference dimensions/forms by manipulating the edge cut drawings as they will always be there with the footprint (no need for those dimension sizers also)
- if really needed the footprint on that board can be manipulated (pads changed, etc…) either in-situ just for that board or for all in the FPeditor
- can be loaded into existing projects/boards to save on layout time
- less clutter/easier to manage (just 1 symbol and 1 footprint per version), no need for a project template that you have to use from the beginning and with all that is contained
- no chance of accidentally altering any of the sub-components positions without noticing (mount holes, pin header, edge cuts, etc…)