developer notes on tools we use or thinking about
Eagle project management:
We have found that each eagle project needs it's own library files, otherwise we get problems now and then as the library files are updated. As an example it's hard to remember that a certain pad was shrunk on a specific design a year later when you need a slightly bigger pad on an other design. The problem would not come at once but maybe when you update the library because of some other change to the first project!
In the project file (epf) eagle stores which libraries are used for a specific project. Those libraries are the ones that show up in the 'Add component' dialog. It is important that these libraries are copies of the main library files in the Eagle program directory.
The copies are made from the eagle sch and board files with the use of a script. Kieth usually handles this now and then, only he has understood how Eagle has to be used in a multi project enviroment before.
Remember to close the project when you stop working with it.
As the 'Add component' Dialog only has the components already used when we work this way we have to add all new components form the Eagle control panel:
If there are more then one possible footprint this dialog will then be popped up for you to choose from.
It's a bit backwards to do it this way but it has to be done this way to avoid problems in the future.
- via drill: 0.4mm (16mil) recommended. We use 12mil on designs that need it. 8 and 12mil has same cost (anything under 16mil), but only use 0.2mm (8mil) when absolutely necessary
- clearance and min linewidth: 8 mil (6mil possible for extra cost)
- 0603 or 0805 components are most common. 0402 is possible, but avoid it (little gain if you consider the packing clearance). Consider heat where necessary, and capacitor voltage limits for given size and value.
- the mlf32 and similar package middle pad size must have 1/4 of the area solder-pasted. This is very important, since more paste would lift the component. This means a square of 70x70 mil out of the 140x140 mil for the solderpaste layer.
- 4 layer via arrangement is (1*2) + (15*16), so any via that is not all the way through can only be
- between top layer and next or
- between bottom layer and next
Note that normal PCB send-in daily deadline for our main PCB manufacturer changed to 08:30 CEST (from earlier 10h).
We have an alternative PCB manufacturer, http://www.satronik.hu that makes PCB in 1 week (but max 2 layers, min via drill=16mil and last time they only liked traditional gerber format vs. gerber_rs274x), but we like the better solderprotect strength of the main manufacturer. On the other hand, starting-batch costs of this manufacturer is incredibly small. Therefore, if you want to manufacture with small total PCB area, because of small size like 150 pieces * 30mm x 40mm or because of small series, and no other design (of same layer-count) to merge with (they merge the gerbers), it's a good choice. MembersPage/MarcellGal can help you with
- quality control
- mailing the PCBs
- possibly with other components we have in stock (which is significant, like many types of chips, total 6000+ DPAK components of 4..5 types - IGBT, 2 types of logic-level FETs, regulators, PNP darlington, etc...)
- optionally soldered on with PNP machine (SMD reflow soldering; starting-batch cost is not cheap for this) or manually.
During sch + layout design there are often compromises. Sometimes designer hesitates to add some board optimization that would increase BOM linecount, such as using both BAV99 and BAW56 instead of just BAV99. BOM linecount and partcount has related manufacturing costs, naturally, but usually fairly small. In general I recommend to make optimizations, a few added BOM items are no problem.
Some notes: think about parts below and use them with cheers:
- SOT23 diodes BAW56 common anode and BAV70 common cathode besides the BAV99 (clamping 2 signals to GND and +5V) often lays out better with a common anode sot23 and a common cathode sot23 instead of 2 BAV99
- SOD80 diodes: these can be picknplaced as well (eg. LL4148 or the 5V1 zener)
- DPAK FETs and IGBTs (instead of TO-220)
- sot89 and DPAK voltage regulators
- jumpers and headers: 2x7 header instead of 2x6 seems to be more common. DIP14 layout is also useful to get signals out of the board through a cable or to an elevated baby board (there are nice sockets. We use 2x6 connectors made from quality DIP14 sockets cut to half and 1+1 pin cut to test the LCD operation on boards that have no LCD header). For flying loom (which works very nice with some hotmelt glue and sealing rubber ring to get cable through frontplate), random pad placement also works.
- ULQ2003 and similar lowside drivers (marvellous part. We avoid TPIC6A259 in future)
- 74AHCT... chips with 6V supply drive FET and IGBT gates nicely (max 2 gatedrive per chip preferred). TSSOP package is nice (but we also use SOIC)
- NPN and PNP (sot23, DPAK) transistors are also welcome. Some (PDTC...)have internal base resistor.
Spice and clones (eg. acs) for simulation
- free spice clones (like acs)
- http://focus.ti.com/docs/toolsw/folders/print/tina-ti.html Texas released TINA-TI, a new free spice (with GUI and libraries)
- national.com has an online power-switcher design facility (register)
Eagle schematic and PCB editor (and it's license terms!) from http://www.cadsoft.de/
I use the Eagle 4.11 professional license, but eagle with any license can view sch or pcb, and any can edit the one-page (therefore a bit clumsy looking) schematic. Eagle is a relatively shitty program. The lack of some very simple functions make your life hard.
- when editing libraries, you cannot select a symbol or package from another library. Just drag and drop the package to the library you are currently editing. I tried drag and drop (that was the first way I tried), it did not work. However opening one destination library for editing, and browsing source lbr in the control panel treebrowser helped: right click on the symbol: copy to library
- eagle should show the component values (not just name and package) in the status bar when component is viewed (with the eye icon), this brings us to:
- shared highlight functionality between brd and sch (without typing the show command)
- eagle should show the name of the routed trace (!!! unbelievable how they forget this, maybe they use PADS for their own work)
- it's really stupid that we cannot declare 2 subnets are connected (without merging the names, because merging names is irreversible. Grouping supplies nicely on sch helps somewhat, because rename "segment" on sch works. )
eagle working list:
- Separate clearance for polygon fill (eg. 12 mil, the keyword is edit-isolate) and minimal DRC clearance (eg. 8mil) is available.
- Copy sch sections to other design: found it in cadsofts support channel. The procedure is very odd, First close the board!!! Then make selection, cut it, then delete it. Now paste to new sch sheet. Open board again, run ERC. If not all devices in a package is moved a new component will be added and the ERC will fail.
GEDA GNU electronic design automation.
These software are good for simple design. VEMS team mostly uses Eagle. Autorouter functionality is poor, but 2 layer boards must be routed manually for sane result anyway :-)
do you know how to share info between PADs and Eagle schematics and layouts? Have links? A friend insists on PADs (which he paid serious money for) and would make smaller boards (eg. stepper-driver for a special app, special form-factor).
- [stringray] very mobile pc-scopes, but only 1Msps (12 bit)
- Seems to be dropped, in favor for the [PicoScope 2202]
- Velleman PCS-64 http://www.globalfocus.hu/actions.php 32Msps 2ch scope with parallel-port interface, 60000 HUF=$270 similar to PCS-32 (~old K7103 Marcell has one of. http://sourceforge.net/projects/k7103 has Linux software for it)
- not a new design, just slightly newer than Vellemann K7103, allows 64Msps when only 1ch is used
- We purchased some [PCS500] under $298. It also contains supply and 2 x probes (probes are usually $60 / pair). The supplied PCLAB-2000 software can also save data in numeric (3 column TAB-separated text-file, can easily be imported to spreadsheet just rename the file to .csv) Optimal for development (desktop PC-s all have parallel printer-port), but the smaller USB stringray with signalgenerator might be better deal for engine-workshop use (50 Mhz / 1Gsps not needed there)
- ...1 piece (maybe) MembersPage/GergelyLezsak Marcell will show his scope in operation sometime
- also Bitscope has some interesting devices.
- fex. Bitscope DSO / BS310N (Etehrnet, Usb).
- 100 MHz analog + 8 logic, 40 MS/s A/D, 256 kB buffer, 1.2 Mb/s, built-in AWG.
- (logic pod - active (+extra logic probe pack, analog probe) around 100 eur.
- fex. Bitscope DSO / BS310N (Etehrnet, Usb).
Sly, you recently collected info about PC-scope, where can your research be found ?
Signal generators - PC soundcard is enough for most of our tasks
Virtual trigger signal generator by Ray Hall, handles the most common stock trigger arrangements:
- http://www.e-lab.de/index_en.html Lab equipments
- http://www.tecstar.co.uk/fga2030.htm another function generator that is space-rocket to the common needs of engine tuner / developer.
- if I'm not mistaken, this could output low resolution PAL signal. Just update (through RS232) would takes ages.
- Btw, a videocard can do that too (or even 3 channels, not just 1). I wonder how freely videocards can be programmed (like R/G/B signals active during blank period) (the question is which card can be programmed this way;).
Interesting links, practices, examples:
4.11 Eagle Lite Sources
AVR simulation (should have it's own page?)
- AVRstudio works quite well, reads objects in coff format. However it is winblows only and not suitable for automatic regression-tests (only manual stepping of code)
- simulavr and gdb should be OK for measuring cycles while everything happens in memory: the IO port (and timer interrupts etc..) handling is very incomplete for Atmega128
- http://compilers.cs.ucla.edu/avrora the new canon, check this out!!! Should be nice and powerful.
- [soundcard-scope softwares]
- [PCB tracewidth wisdom1]
- [ PCB tracewidth wisdom2]
- [useful Texas lectures] - free; including TINA-TI tutorial
- [free gerber viewer] (that understands the old gerber274D format, unlike gerbview that likes the new gerber274x)