Skip to main content
Topic: ATX breakout board v2 in KiCad (Read 10657 times) previous topic - next topic

ATX breakout board v2 in KiCad

[attachment=3]

Over the last week we re-visioned the ATX power supply breakout board in KiCAD, free of the confines of Eagle's 100mm by 80mm cell. We chose the ATX board because it's already at the limit, and it's fill of big connectors that can't be miniaturized.

This version builds on the already popular ATX Breakout Board v1.1, but adds new features and hackability. Stuff that simply wouldn't be possible without the unlimited routing area available from the open source alternative to our usual program.

Features of the ATX Breakout Board V2:

    Adjustable positive and negative power rails
    Fuse blown indicators on every rail, complementing the line good LEDs
    Ground terminals on every line
    1.25A polyfuses on all power lines, including the adjustable ones
    2nd ATX jack for easier enclosure design
    2x8 0.1'' header connected to all the power and control lines of the PSU, including the adjustable ones.
    Open source, designed in KiCAD open source software

We'll post a complete update tomorrow on the blog. Love it? Hate it? Give me your wost :)

[attachment=2]
Got a question? Please ask in the forum for the fastest answers.

Re: ATX breakout board v2 in KiCad

Reply #1
Ian:

THANKS! This is a useful  board and it keep simple, THANKS


Re: ATX breakout board v2 in KiCad

Reply #3
Yes now this ATX Breakout board is really useful I was waiting adjustable power !!
If there's any spare PCB i'm ready to buy one (with a box ;)
Best Regards
Benjamin
Best Regards
Benjamin

Re: ATX breakout board v2 in KiCad

Reply #4
I hope your KiCAD experience is going well, Ian. :-)

Re: ATX breakout board v2 in KiCad

Reply #5
The new breakout board looks good!

Since it's getting larger, you might consider adding a few extra sets of stand-off holes in the middle to combat flex when banana plugs are pushed in (or pulled out).

You may also consider providing a generous copper pour on the tab of each regulator to help with heat dissipation - possibly include some thermal vias to the secondary layer and mirror the pour there as well. These regulators will get pretty toasty if they're providing a fair amount of current at a low voltage (not too much of a concern since they're thermally protected).

I'm also curious how your KiCAD experience was :) - I'll be sure to catch the recap on the blog.

Re: ATX breakout board v2 in KiCad

Reply #6
It looks really nice, a fantastic step forward for the ATX breakout board,  different but nice.

I mean, I think that eagle has been in our life for a long long time, eight years in my case and I think that we are used to it, to its interface and with his weaknesses and strengths. Sometimes it's irritating, others is amazing, but for me the worst is its board size limitation if you want to stay with the free version (and not go for a pirate option with its associated problems).

I was reluctant with KiCad, however seeing your schematic, the result and option of converting libraries from eagle to KiCad maybe it deserves a try, so I think that it worths.

All the best, beth.

Re: ATX breakout board v2 in KiCad

Reply #7
Moin

First of all nice work with the board and it's also cool to finally see you trying kicad.

TitanMKD has just discovered a minor 'bug' in the Kicad Part library from http://dangerous-prototypes-open-hardwa ... rt_Library .

When loading the eeschema lib in stable we both got a bunch of errors starting with :
Code: [Select]
<undefined DRAW command #> occured at line 9368

When I tried with testing I got :
Code: [Select]
Library <dp_devices> component load error error <field 1 does not have the correct number of parameters> occurred at line 131

After some cross debugging via IRC using the stable (BZR rev. 3256) and the latest unstable (BZR rev. 3718) versions of kicad I could narrow the problems down to 2 things :

First Problem:
Some versions of kicad don't like #-line comments between then DRAW  and the ENDDRAW command.
For example this snippet (line 9348 to 9425) in the original dp_devices.lib :
Code: [Select]
#
# Dev Name: RESISTOR_ARRAY_8
# Package Name: CAT16-F8/CAT16-J8
# Dev Tech: ''
# Dev Prefix: RN
# Gate count = 8
#
DEF RESISTOR_ARRAY_8 RN 0 40 N N 8 L N
# Gate Name: A
# Symbol Name: RESISTOR
F0 "RN" -150 59 50 H V L B
F1 "RESISTOR_ARRAY_8" -150 -130 50 H V L B
F2 "dp_devices-CAT16-F8/CAT16-J8" 0 150 50 H I C C
DRAW
P 2 1 0 0 -100 -35 100 -35
P 2 1 0 0 100 35 -100 35
P 2 1 0 0 100 -35 100 35
P 2 1 0 0 -100 -35 -100 35
X 1 1 -200 0 100 R 40 40 1 1 P
X 2 16 200 0 100 L 40 40 1 1 P
# Gate Name: B
# Symbol Name: RESISTOR
P 2 2 0 0 -100 -35 100 -35
P 2 2 0 0 100 35 -100 35
P 2 2 0 0 100 -35 100 35
P 2 2 0 0 -100 -35 -100 35
X 1 2 -200 0 100 R 40 40 2 1 P
X 2 15 200 0 100 L 40 40 2 1 P
# Gate Name: C
# Symbol Name: RESISTOR
P 2 3 0 0 -100 -35 100 -35
P 2 3 0 0 100 35 -100 35
P 2 3 0 0 100 -35 100 35
P 2 3 0 0 -100 -35 -100 35
X 1 3 -200 0 100 R 40 40 3 1 P
X 2 14 200 0 100 L 40 40 3 1 P
# Gate Name: D
# Symbol Name: RESISTOR
P 2 4 0 0 -100 -35 100 -35
P 2 4 0 0 100 35 -100 35
P 2 4 0 0 100 -35 100 35
P 2 4 0 0 -100 -35 -100 35
X 1 4 -200 0 100 R 40 40 4 1 P
X 2 13 200 0 100 L 40 40 4 1 P
# Gate Name: E
# Symbol Name: RESISTOR
P 2 5 0 0 -100 -35 100 -35
P 2 5 0 0 100 35 -100 35
P 2 5 0 0 100 -35 100 35
P 2 5 0 0 -100 -35 -100 35
X 1 5 -200 0 100 R 40 40 5 1 P
X 2 12 200 0 100 L 40 40 5 1 P
# Gate Name: F
# Symbol Name: RESISTOR
P 2 6 0 0 -100 -35 100 -35
P 2 6 0 0 100 35 -100 35
P 2 6 0 0 100 -35 100 35
P 2 6 0 0 -100 -35 -100 35
X 1 6 -200 0 100 R 40 40 6 1 P
X 2 11 200 0 100 L 40 40 6 1 P
# Gate Name: G
# Symbol Name: RESISTOR
P 2 7 0 0 -100 -35 100 -35
P 2 7 0 0 100 35 -100 35
P 2 7 0 0 100 -35 100 35
P 2 7 0 0 -100 -35 -100 35
X 1 7 -200 0 100 R 40 40 7 1 P
X 2 10 200 0 100 L 40 40 7 1 P
# Gate Name: H
# Symbol Name: RESISTOR
P 2 8 0 0 -100 -35 100 -35
P 2 8 0 0 100 35 -100 35
P 2 8 0 0 100 -35 100 35
P 2 8 0 0 -100 -35 -100 35
X 1 8 -200 0 100 R 40 40 8 1 P
X 2 9 200 0 100 L 40 40 8 1 P
ENDDRAW
ENDDEF

Should actually look like this :
Code: [Select]
#
# Dev Name: RESISTOR_ARRAY_8
# Package Name: CAT16-F8/CAT16-J8
# Dev Tech: ''
# Dev Prefix: RN
# Gate count = 8
#
DEF RESISTOR_ARRAY_8 RN 0 40 N N 8 L N
# Gate Name: A
# Symbol Name: RESISTOR
F0 "RN" -150 59 50 H V L B
F1 "RESISTOR_ARRAY_8" -150 -130 50 H V L B
F2 "dp_devices-CAT16-F8/CAT16-J8" 0 150 50 H I C C
DRAW
P 2 1 0 0 -100 -35 100 -35
P 2 1 0 0 100 35 -100 35
P 2 1 0 0 100 -35 100 35
P 2 1 0 0 -100 -35 -100 35
X 1 1 -200 0 100 R 40 40 1 1 P
X 2 16 200 0 100 L 40 40 1 1 P
P 2 2 0 0 -100 -35 100 -35
P 2 2 0 0 100 35 -100 35
P 2 2 0 0 100 -35 100 35
P 2 2 0 0 -100 -35 -100 35
X 1 2 -200 0 100 R 40 40 2 1 P
X 2 15 200 0 100 L 40 40 2 1 P
P 2 3 0 0 -100 -35 100 -35
P 2 3 0 0 100 35 -100 35
P 2 3 0 0 100 -35 100 35
P 2 3 0 0 -100 -35 -100 35
X 1 3 -200 0 100 R 40 40 3 1 P
X 2 14 200 0 100 L 40 40 3 1 P
P 2 4 0 0 -100 -35 100 -35
P 2 4 0 0 100 35 -100 35
P 2 4 0 0 100 -35 100 35
P 2 4 0 0 -100 -35 -100 35
X 1 4 -200 0 100 R 40 40 4 1 P
X 2 13 200 0 100 L 40 40 4 1 P
P 2 5 0 0 -100 -35 100 -35
P 2 5 0 0 100 35 -100 35
P 2 5 0 0 100 -35 100 35
P 2 5 0 0 -100 -35 -100 35
X 1 5 -200 0 100 R 40 40 5 1 P
X 2 12 200 0 100 L 40 40 5 1 P
P 2 6 0 0 -100 -35 100 -35
P 2 6 0 0 100 35 -100 35
P 2 6 0 0 100 -35 100 35
P 2 6 0 0 -100 -35 -100 35
X 1 6 -200 0 100 R 40 40 6 1 P
X 2 11 200 0 100 L 40 40 6 1 P
P 2 7 0 0 -100 -35 100 -35
P 2 7 0 0 100 35 -100 35
P 2 7 0 0 100 -35 100 35
P 2 7 0 0 -100 -35 -100 35
X 1 7 -200 0 100 R 40 40 7 1 P
X 2 10 200 0 100 L 40 40 7 1 P
P 2 8 0 0 -100 -35 100 -35
P 2 8 0 0 100 35 -100 35
P 2 8 0 0 100 -35 100 35
P 2 8 0 0 -100 -35 -100 35
X 1 8 -200 0 100 R 40 40 8 1 P
X 2 9 200 0 100 L 40 40 8 1 P
ENDDRAW
ENDDEF

After a quick sed -i '/^#/d'  dp_devices.lib it worked fine in the stable version (3625), but had other errors in testing.

Second Problem:
Since testing was still complaining about line 131 (which became now line 75 due to deleting comments), I took a closer look at the parameters.
The F1 call is supposed to have 8 parameters as far I can tell from editing kicadlibs in vim.
Code: [Select]
F1 "CAPACITOR_NPOL-PTH_0.1"" 100 100 50 H V L B
It has 8 parameters here as well, but there is a double "" at the end of the string, leading the parser to think that there were only 2 strings given.
Modifying the line to :
Code: [Select]
F1 "CAPACITOR_NPOL-PTH_0.1" 100 100 50 H V L B
Did solve this.
I'm not sure whether it is possible to escape " characters there, so the best is possibly to use a double ' instead.

I've uploaded the version with both problems fixed here : http://www.sebastians-site.de/homepage/ ... evices.lib

It's a nice library and I'm looking forward to use it (especially the SOB pcb outlines).

Sebastian
DIY-electronics ... eating all my money and free time since 1998

Re: ATX breakout board v2 in KiCad

Reply #8
Looks great, any idea when it will be available?

Re: ATX breakout board v2 in KiCad

Reply #9
THanks Sebastian, we're looking into it.
Got a question? Please ask in the forum for the fastest answers.

Re: ATX breakout board v2 in KiCad

Reply #10
@LongHairedHacker

Kindly update your kicad libraries to rev 2005, these were created using eagle2kicad-0.9d.ulp and those errors were fixed. The first commit was made using 0.9b ULP

Digging on 1st error:

I've investigated the first error that involve a '#' comment in between DRAW and ENDDRAW, these error occurs on converted devices containing multiple symbols in one device. e.g. those chips having separate supply pins (In eagle, you use 'invoke' command to get the supply pins). Another one, those array resistors containing 4 or 8 resistors in one device, in which you use invoke to use the other elements. same for those 4 in 1 and 2 in 1 package op-amps. The ULP seems having difficulty converting these devices and repeatedly creating script on the same element composing that device.

Re: ATX breakout board v2 in KiCad

Reply #11
Looks like you still have lots of space (can't see the back) to add these two suggestions:
  viewtopic.php?f=50&t=4963
and from http://dangerousprototypes.com/2012/06/ ... ments-wrap arhi's comment:
"ATX supply is extremely dirty with incredibly high ripple. If you already made a PCB to get the 3,+-5,-+5 and +-12V (wait, where’s -5 ?!) out why didn’t you add some capacitance on each rail? some combo of 2x10nF + 100nF + 1uF ceramic + 10uF ceramic on each rail would improve things significantly, and adding a LC filter to 5V and 3V3 rails would be additional bonus. On top of this, at least 2 more output should exist, one 9V 1A (simple 7809 would suffice) + one VAR voltage 1-2A (317 or something similar) With regards to 5V load, I found that using a resistor is really too much of a waste of energy so I power a light from 5V. It provides proper load + can be used as backlight for a PSU case. A regular car headlight lamp can be used. It will not be as bright and hot as when it’s running at 12V (nor you want it that bright/hot), it will be cooler then the 10W resistor and will be a super useful add-on."

For the rest of the layout, I'd suggest moving the VAdj+- connectors up and into the middle of the board to cut the width of it down...looks like there might be enough space to do this too.
But definitely *LOTS* better than the ATX V1.x layouts.  Get a nice SoB case for this and it'll be a best seller :-)

voltage adjustment range?

Reply #12
Any idea how far the voltage can be adjusted?

It'd be useful if it went to 15V to simulate a 12V battery being charged by a solar panel...