Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 17 of 17

Thread: Simple/cheap PCB creation on Linux

  1. #1
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,921

    Simple/cheap PCB creation on Linux

    I tend to spend some amount of time designing Teensy designs for solderable prototype boards, bringing out various pin combinations, for example having 3.3v, ground, pins 0/1 for Serial1 all in a row to connect a serial device. But usually I get distracted in soldering up the large board with all of the connections, verifying that all of the connections are correct (and of course re-soldering connections that aren't), etc.

    I've been wondering how hard it would be to design simple PCBs that I could place the Teensy on. I would typically want to solder female headers into the board, so that I can move the Teensy to the next board.
    • I only use Linux (currently Fedora 33). Windows or MAC solutions are not interesting to me.
    • I don't anticipate large designs, figure maybe 3" x 3" (8cm x 8cm) or 4" x 4" (10cm x 10cm).
    • At least initially, I would prefer free to use design tools.
    • Auto-routing.
    • Easy for a beginner to use.
    • Produces designs that fabs like OSHPARK can make PCBs easily (preferably US fabs).
    • At least initially, I would primarily want through hole support, but over time, I might want support for SMT areas (SOIC, etc.).
    • While I don't need fancy graphics, I would prefer the ability to at least label the pin holes, etc.
    • External pinout libraries would be nice.
    • I don't anticipate needing more than 3-5 boards in a run.
    • Typically these days, I am only looking at Teensy 4.0 or 4.1 designs, but I do have some amount of Teensy LC, 3.1/3.2, 3.5, and 3.6s.


    For example, this is one of the layouts I did for the 4.1:


    The idea is to bring out several areas:
    • Serial1: UART, PWM, possibly CAN in the future
    • Serial3: UART, PWM, S/PDIF, or two analog pins
    • Main I2C bus
    • SPI0 bus, with toggle switches to either use fixed pins, or allow me to use other CS/Reset/etc. pins.
    • SPI1 bus, with toggle switches to either use fixed pins, or allow me to use other CS/Reset/etc. pins.
    • I2S1 bus
    • Each of the UART, I2C, SPI, and I2S pinouts have a pin to bring out VIN as well as 3.3v.
    • Two sets of analog pinouts so I can plug standard POTs in them
    • Two SN74AHC1G125DBVR level shifters for neopixel outputs (connecting 2 serial TX's for use with WS2812Serial)
    • Two leds
    • Two buttons
    Last edited by MichaelMeissner; 11-01-2020 at 06:26 PM.

  2. #2
    Senior Member
    Join Date
    Jul 2020
    Posts
    543
    KiCad is commonly recommended - I've not used it having started out with Eagle, but both are portable win/mac/linux AFAIK.

    You want auto-routing now, but having used these tools a while you'll probably give up on it - only the really expensive tools do
    this well.

    Some software limits abilities for the free versions, freeware Eagle gives only 2 layer and 8x10cm, but commercial version is
    fully featured (16 layer).

  3. #3
    Senior Member
    Join Date
    Jan 2015
    Location
    France
    Posts
    135
    Autodesk which own Eagle today recommand to NOT use the autorouter. Instead, it recommand to use it to verify if your component placement is good :

    They say that if autorouter can't complete 85% of the job, you have to look at your placement.

    Cheer,
    Manu

  4. #4
    Senior Member
    Join Date
    Apr 2020
    Location
    DFW area in Texas
    Posts
    168
    I have used KiCAD for quite a number of projects. I have only done one board for plugging in a Teensy 4.0 (it's currently a work-in-progress). The KiCAD parts library is quite good for what I have done, so as long as you can find a suitable library for the Teensy (I think the wiki has several references for such), you should have a relatively good chance of success. The primary complex projects (I've also done a bunch of very simple projects that probably aren't in the league that you're looking to do) that I have completed in KiCAD are as follows: 1) a single LED indicator of the relative strength of the audio coming out of the PC (PC audio in, LED out, & PC audio out, with adjustable audio threshold) - used in a noisy environment to allow our operators to know when an audible alarm is going off, 2) a power conversion board for an embedded processing box (28VDC aircraft power in, +5VDC high current out, +12VDC high current out, -12VDC low current out, LED power indication, & thermally controlled fan drive), & 3) an arduino-based CIV input to large screen LCD output to allow a (legally, not totally) blind radio operator to better see what frequency/mode/power level their Icom radio is set to.

    The latest version(s) of KiCAD include an autorouter, but there are also external routers available for use. In addition, you can always run the autorouter, then tweak the results to your liking (e.g. on the power conversion board, I was able to beef up the width of the traces carrying both the input 28VDC & the high-current outputs. Any changes that you make can then be passed back to the autorouter for more refinement of any remaining un-routed connections if/as necessary.

    Based upon my personal experience, I would definitely suggest that you at least take a look at KiCAD.

    Mark J Culross
    KD5RXT

  5. #5
    Senior Member
    Join Date
    Dec 2015
    Location
    LA
    Posts
    191
    KiCad for sure.
    If your a linux user most of the ease of use issues that Mac and Winoz users complain about will be upgrades for you

    The worst thing about KiCAD is managing the libraries where it hides them. Again your an expert with this as a linux user.

    Don't pass up the 3D capability either. In most cases all you have to do is click the 3D view menu and look at what you get with no extra effort. All the Teensy boards are already in there. Here's my latest creation for kicks:
    Click image for larger version. 

Name:	ShiftTeensyRevB3.jpg 
Views:	21 
Size:	101.0 KB 
ID:	22276

  6. #6
    Senior Member
    Join Date
    Mar 2016
    Posts
    254
    Kicad, definitely. OSHPark will take Kicad PCB files directly though generating gerbers is not hard.

    Do not fear manual routing. It may take a while to get used to it but it isn't that hard and you will have a better board for it. The trick is to place your components so you have as few crossings as possible. Play with it. It's basically a game. The latest Kicad has an interactive routing feature that really helps - wish I had it when I was learning.

  7. #7
    Member
    Join Date
    Oct 2019
    Location
    Calgary
    Posts
    90
    Put me down as another vote for KiCad on Linux. It's usable even on a Raspberry Pi.

  8. #8
    Senior Member
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    1,310
    I used Eagle since about 1985 and it always just worked. However, since it was integrated in AutoDesk (con)Fusion it gets more and more complicated to use. A couple of month ago I switched to KiCad and have to admit that I'm quite happy with it.

  9. #9
    Senior Member
    Join Date
    Apr 2020
    Location
    Tucson
    Posts
    135

  10. #10
    Senior Member
    Join Date
    Mar 2016
    Posts
    254
    Quote Originally Posted by luni View Post
    I used Eagle since about 1985 and it always just worked. However, since it was integrated in AutoDesk (con)Fusion it gets more and more complicated to use. A couple of month ago I switched to KiCad and have to admit that I'm quite happy with it.
    I started with Eagle about the same time and am making the same transition. Well, I've made the transition, now I'm just dealing with repercussions. I was so fast with Eagle - with Kicad I feel a bit like I'm doing brain surgery wearing ski gloves. Overall, Kicad is everything people have been saying. Some things are better than Eagle, some are worse. I'd put the whole library thing in the latter category. What a struggle coming from Eagle. I get the point of splitting symbol from footprint but man that adds complexity. And why did they think project specific libraries was a good idea to push up front??? (just say no! at least until you are competent at Kicad) Also, for windows users, never ever create file or folder names with spaces in them. That seems to break lots of things. On the other hand Kicad's interactive routing feature is super nice and their differential pair support is fantastic (or perhaps I should say Eagle's is a complete and utter piece of trash).

  11. #11
    Senior Member
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    1,310
    I started with Eagle about the same time and am making the same transition. Well, I've made the transition, now I'm just dealing with repercussions. I was so fast with Eagle - with Kicad I feel a bit like I'm doing brain surgery wearing ski gloves. Overall, Kicad is everything people have been saying. Some things are better than Eagle, some are worse. I'd put the whole library thing in the latter category. What a struggle coming from Eagle. I get the point of splitting symbol from footprint but man that adds complexity. And why did they think project specific libraries was a good idea to push up front??? (just say no! at least until you are competent at Kicad) Also, for windows users, never ever create file or folder names with spaces in them. That seems to break lots of things. On the other hand Kicad's interactive routing feature is super nice and their differential pair support is fantastic (or perhaps I should say Eagle's is a complete and utter piece of trash).
    . Yes, the library system sucks but I get slowly used to it. However, adding 3d to the parts is much easier than with Eagle. And the simple *.step export is fantastic if you need to design mechanics around the board. After all, one shouldn't look too closely into the mouth of a given horse as they say here...

  12. #12
    Senior Member
    Join Date
    Mar 2016
    Posts
    254
    Quote Originally Posted by luni View Post
    one shouldn't look too closely into the mouth of a given horse as they say here...
    essence of TruDat

  13. #13
    Junior Member
    Join Date
    Apr 2019
    Posts
    16
    Ive done exactly as you say on KiCad with no problems! Only hassle is finding the libraries and like installing them in the right place in the computer and loading it in KiCad, I had to fiddle a bit and made a few mistakes but then it has always worked nicely.

    Click image for larger version. 

Name:	Screenshot 2020-11-03 at 11.03.24.jpg 
Views:	15 
Size:	76.9 KB 
ID:	22296

  14. #14
    Member
    Join Date
    Feb 2020
    Location
    Dublin, Ireland
    Posts
    52
    I use EasyEDA. It was recommended to me by a colleague with lots of experience, and I've had no problems with it.

  15. #15
    Senior Member
    Join Date
    Jul 2014
    Posts
    2,990
    What I not like on KICAD (or have not understood) is to properly evolve a project.
    Say, I develop a board, and wanted to make some changes without destroying the previous version.
    What I would expect to have is save-as option where one can change the whole project under a new name.
    not sure if the zip/unzip option is what I wanted

  16. #16
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,921
    Thanks everybody, I probably will look at KICAD first and then EasyEDA. On Fedora 33, they have KICAD in the repository, while EasyEDA is a separate package, which means I don't see updates automatically, and possibly new system updates might have compatibility issues.

    In terms of projects, I always keep everything under source code control. I started keeping things under CVS control in 1995, and at some point I probably should move to GIT (though I am annoyed with certain features of GIT). And I will clone directories at times too, and put the new directory under CVS control.

  17. #17
    Senior Member
    Join Date
    Mar 2016
    Posts
    254
    Quote Originally Posted by WMXZ View Post
    What I not like on KICAD (or have not understood) is to properly evolve a project.
    Say, I develop a board, and wanted to make some changes without destroying the previous version.
    What I would expect to have is save-as option where one can change the whole project under a new name.
    not sure if the zip/unzip option is what I wanted
    Yes, in Eagle a new version is had by saving with a new name. Simple and intuitive. In Kicad, you have to rename a whole bunch of files, some of which are obscure.

    What I do is keep all the file names the same and make a full copy of the directory. The directory name denotes the version. And don't make/use project only libraries.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •