joeycastillo / The-Open-Book

Creative Commons Attribution Share Alike 4.0 International
7.48k stars 232 forks source link

Open Book PCB Migration to KiCad #38

Closed dcelectr closed 3 years ago

dcelectr commented 3 years ago

This is a set of KiCad files from the posted Eagle files. For this conversion, the latest version Eagle files were used (OSO-BOOK-A1-06).

The schematics were imported in three sheets, plus the cover sheet (total four). All text, net labels, global net labels, component values and references were adjusted to KiCad’s default size for consistency.

Some nets were imported with net labels (because they were present only on one sheet) and some with global net labels (because they were used in multiple sheets).

All duplicate global net labels were deleted from power nets (power nets are global nets by default).

The converted libraries (symbol and footprints) were examined for accuracy.

During this conversion, a great deal of effort was put to maintain the original PCB design as feasible, by adjusting the silkscreen size and its location. Also, the component designations (references) were oriented and placed in the same way as the original design.

Some footprints were modified to remove silkscreen from exposed cooper, and text orientation was unlocked to allow 180 and 270 degree rotation.

The generated net list from the schematic editor was read from the PCB layout editor and component placement and net connections did not change. Footprints were updated from the library without changing the footprint orientation (however, the component designation silkscreen orientation and/or location may change, and that is because some items have been placed at different orientation than what is in the default footprint).

PCB design rule check (DRC) passes with clearance limit set to 5.9mil (0.15mm) and all nets are connected (the only DRC alert is a "pad near pad" at the solder joint, which is intentional and can be ignored).

It would be nice to include 3D models (.step, .stp, or .igs) for the footprints. That would allow to better mechanically integrate the PCB assembly to an enclosure (KiCad can export the PCB assembly to a .step file). Please advise if there is any interest in that.

joeycastillo commented 3 years ago

This is awesome, thank you so much for doing this! One question: what version of KiCad should I be using to view these files? When I open the schematic in 5.1.7 I get a notice, "an error was found when loading the schematic"; just want to make sure that I'm viewing it correctly.

dcelectr commented 3 years ago

Updated Response:

The Eagle files were imported with KiCad version 5.0.2, and the imported files are compatible with version 5.1.7 (tested with Debian 10).

When opened the schematic files (downloaded from the repository) with KiCad version 5.1.7 (installed through backports) on a different computer, the following error message appeared: "An error was found when loading the schematic that has been automatically fixed. Please save the schematic to repair the broken file or it may not be usable with other version of KiCad." It's possible the schematic parser fixed errors due to bugs, so it warns the user that the schematic has been fixed (modified).

After acknowledged the error message, the schematics loaded properly. The PCB layout files were load properly with no error messages. The cross probing between schematics and PCB layout worked properly. The the library symbols and footprints were included the project folder and properly linked to the project files.

When saving the schematics after acknowledging the error message, the error message does not appear when reopening the files (because the schematic files are saved in version 5.1.7).

The files, which are saved in version 5.1.7, open properly (and without any error messages or issues) in version 5.0.2.

joeycastillo commented 3 years ago

Thanks for the update! This looks mostly great. The one issue I've noticed is that some of the solder jumpers on the E-Book Wing have silkscreen labels like TX1/RX1/ECS1 — there's a 1 after the original name, which crowds the labels and makes the text less readable. I'm not well versed enough in KiCad to know the definitive way to fix this; I can change the reference in the properties in the PCB, but then it's out of sync in the schematic. I hope to get to know KiCad well enough to be able to address issues like these in the future, but for now is there an easy way to fix these items?

Thanks again and if this is the only issue, I'd love to be able to resolve it and merge this PR. 👍

dcelectr commented 3 years ago

Excellent comment! Thank you!

Here is the deal. KiCad adds a number after each schematic symbol reference name (even when I try to hack it, and remove the appended number, it forces me to re-annotate the schematics while generating a netlist for the PCB layout). This (appending number 1) has occurred on several instances (neopixel, charge and full LEDs, switches, etc).

I was considering to make the footprint reference invisible and add a silkscreen text (which is my proposed workaround), but I wanted to avoid any confusion, where the schematic has TX1 and the PCB layout has TX.

I can certainly revise the silkscreen to indicate TX/RX/ECS for the solder joints (and anywhere else where there is a reference clattering on the PCB layout) and add a note in the schematic to make this clear. The cross probing between schematics and PCB layout (selecting a symbol in the schematic highlights the footprint on the PCB layout) will continue to work fine.

Please let me know if you want me to do the same (remove the 1) for the neopixel, charge and full LEDs, switches, etc.

Also, I noticed that the revision A1-06 for the Wing does not have the added headphone bias resistors, which were added in the revision A1-06 for the Book. I don't see an issue with that, but I was wondering why they were not added for the Wing.

I am glad to hear that you hope to get to know KiCad, and I am willing to help you with that.

joeycastillo commented 3 years ago

I believe the headphone bias resistors are present on the wing — R6 and R7? They had gone missing in the transition to the Open Book design — I think a botched copy and paste that I missed — and I added them back in in BOOK revision 06.

Anyway, I saw the updated silkscreen labels and it looks great! I'm going to merge the changes in now, but if you notice any other issues feel free to either continue in this thread or open a new issue. Thank you again for doing this migration! I've been wanting to do the next rev of tiny book in KiCad, and this will serve as great head start on that.

dcelectr commented 3 years ago

Yes, the Wing has the added headphone bias resistors, and what threw me off was that the Wing has mono audio while the Book has stereo audio. I was working parallelly on the three designs, and there are some subtle differences that I still need to digest. For example the Wing uses the SERCOM4 for the e-ink (because the SERCOM1 is connected to the XTAL), while the Book uses the SERCOM1 for the e-ink. I have not seen any other issue other that probably minor silkscreen adjustments to clear a hole or a via.

What follows is not an issue, but it's something I wanted to do (create a 3D model). OSO-BOWI-A1-06-KICAD-ASSY

Because of the mixed selection of the footprints between resistors and capacitors (which does not affect the electrical connections since the copper of the footprints are almost the same), I modelled both resistors and capacitors with a resistor 3D model in the library. Using the same 3D model for resistors and capacitors is a bit misleading, although some capacitors have black color instead of the typical brown. The resistors and capacitors are low profile components, anyway.

Attached is a STEP file of the Book assembly if you are interested (it's not uploaded on the repository).

OSO-BOOK-A1-06.step.zip

joeycastillo commented 3 years ago

@DCelectronics Thanks so much for this STEP model! I'm definitely interested in adding this to the repository. Would it be relatively easy to do something similar for the E-Book Wing? I ask because I haven't yet done a 3D printable enclosure for that device (there is a 3D printed Open Book enclosure, but the position of a few parts is slightly different on the FeatherWing).

And then, I'd love to know what tools you are using to work with these models. This sort of thing is a bit outside of my wheelhouse; I've been using Tinkercad to create enclosures thus far, and while it works okay, I know that there are more robust solutions out there for CAD work.

I worry less about Tiny Book right now, as that's still a bit of an experiment and will probably go through a big Feather-centric redesign before I consider it ready to be part of the Open Book family.

dcelectr commented 3 years ago

This weekend I did the Tiny Book, and it looks great (I did swap a few 0805 footprints to segregate the resistors and the capacitors).

Anyway, I saw this evening the the request for the E-Book Wing. Since I had gathered all the STEP files for the individual components, it took me a little over a half an hour to modify the library with a text editor and overwrite a few library files from the BOOK.

Creating a 3D model is a standard process at work while we are collaborating with the mechanical engineers (we use Altium Designer), so it is a natural habit for me to do it on KiCad as well. It helps me identifying issues with assembly, such as this interference of the Amphenol FPC connector locking tabs with the R11. You may have not run into that issue if you used the Hirose type of connector (H124725TR-ND or equivalent) with the rotary-backlock. interferance

I am testing these modified libraries on an older copy of the converted files form Eagle. I may just overwrite the libraries in latest files, which got merged with your repository, with these modified libraries once I feel comfortable that nothing breaks in this process.

Creating the step file of the entire assembly is done on KiCad, but it has some "hunting and gathering" process since most of the 3D models you need are not included in the standard KiCad library. I get most of the 3D models I need from Digikey, or the manufacturer's website, or websites with user-contributed models.

Attached are the step files for the E-Book Wing and Tiny Book (I moved the R11 slightly on the Tiny Book). OSO-BOWI-A1-06.step.zip OSO-TIBO-B1-00.step.zip OSO-TIBO-B2-00.step.zip

dcelectr commented 3 years ago

It just dawned on me to get the Feather M4 STEP file and add it on the E-Book Wing (the headers were sold added separately:-)

BOWI_w_FeatherM4

Attached is the step file for the E-Book Wing with the Feather M4. OSO-BOWI-A1-06_w_FeatherM4.step.zip