Date: 2012-12-21 ---------------- Intro ----- WARNING: This whole specification is preliminary and any enhancements are welcomed! I haven't created yet any boards/cards according to this spec physically, all is only modeled in DipTrace till now, so there can be problems not solved - if you like this BUSduino idea, feel free to contribute and help to push it. There also isn't yet any well-written full specification or precise drawings and designs in DipTrace aren!t optimized for manufacturing, so everything what can be done to complete this is welcomed too; diptrace files also can have hard-coded paths to library/3d models, this will be solved ASAP. At least, there are exported images/models (PNG, WRL) At least, I dreamed about something like this, so I created it for everyone who find this useful too. Enjoy! -falken Imagine... ---------- You have some tiny SMD interface chips and you want to "unit test" them. More complex chips have usually more power domains and need regulators and also bidirectional level translations to 5V or even 3.3V (in case even lover voltage logic - 1.8V etc). So, you can draw schematic in your favorite software and then convert it to SMD-based PCB with help of ratlines, for small prototypes even by using manual routing and jumper-wires (R0 resistors of various physical sizes). Once you have this, you can get some UV-sensitive PCBs, cut them to required size (not so easy always without very professional large tools) OR you can obtain ready-made smaller raw UV-sens boards, also with pre-milled grooves for easy breaking them to even smaller variants, by hands or small tools. They can even have pre-drilled holes matching to some standard footprint, so you can start your UV lamp with laser-printed PCB masks on them, matching perfectly in size by aligning to defined board edges or pre-drilled holes. Then you develop/etch/clean the board, place good solder paste and pick&place SMD parts on board and finally solder them either manually one by one, or by hot-air rework station or hot-plate/skillet or the best(?), suitable oven - processes are described on the internet and it can be even faster than working with through-hole parts, not to mention some are available ONLY as SMD variants today and are often also cheaper etc. So - now you have soldered SMD parts on board and now, you can connect the board to genuine Arduino(TM) by using their "Proto Shield" (modified by placing 2 DIP sockets, 32pin/600mil and 8pin + optionally 1 8pin angled 100mil header + few (40) jumper wires, soldered manually - this all is sufficient to connect your SMD board to Arduino(TM) easily, by placing SMD "card" on top of DIP sockets and inserting/cutting raw short pins/wires into required board+DIP holes and solder them on top of SMD board - you obtain small removable card on universal reusable Proto Shield adapter. Later, if you wish, you also can convert such SMD boards to vertically mounted "cards" by attaching thinner backplane traces "overlay" boards on back side of SMD "cards" and soldering already inserted pins even on the back side (so you virtually make "metalized holes" this way, and then by mounting either 100mil double-row or 50mil single-row male-pins connectors and solder them also on back side of SMD "cards" (in fact to "overlay" board) and use this "unit" on also really simple passive backplane "bus" board, where you can use 8 custom extension bus pins to address more such cards to tri-state/select them (if your unit chips supports this) and/or also to pass more power domains to cards you want to make directly powered by lover voltage than usual 5V/3.3V, without logic level convertor circuits on cards, (only if your processor board/card connected supports it too). This is the core idea of BUSduino - to make such small "unit testing" prototypes at home cheaply by using standardized sub-components (breakable raw cards of various sizes, breakable ready-made backplane bus traces "overlay" boards, only few extra components to build universal reusable "cards" adapter, connecting SMD cards by cheap 0.5mm wires/pins to precision DIP sockets, but with possibility to build even larger system from few of such tested "units" / "cards", before you go to professional multilayer PCB design done rather by your far more experienced PCB manufacturer, who can address even RF/noise issues, for final products - usually with custom sized PCBs. Purpose/Features ---------------- - MAINLY tiny single-sided/jumper-wired SMD prototyping boards/"cards" inserted in DIP32/8 socket on extended Arduino(TM) Proto Shield - DIP32 socket is mapped to Arduino(TM) latest standard pinout, DIP8 socket allows custom extensions (power domains, cards selects, ...) - connecting cards to precise DIP sockets by regular SIP headers (0.5mm pin diameter) OR also cheap 0.5mm pins/wires (may be even some solderable resistive alloys for more harder/solid wired "pins" - such wired pins can be after prototyping phase shortened and soldered on backside to GLUED thin overlaid backplane traces boards/planes OR to ready-made traces on profi-PCB from manufacturer. - expecting UV-sensitive PCB pre-cutted and eventually pre-drilled with defined DIP32/8 footprints (or DIY only "really needed" holes) - possibility to use even double-sided UV-sensitive PCBs with custom backside circuits etched (also regular backplane traces) - defined set of standard rectangular card sizes: SX, S, MX, M, L, XL, XXL, XXXL (all fits inside "shield" as low-profile / stackable) - possibility to make even multilayer cards by PCB maker (but here not for simple prototyping, of course, they can be VERY custom) - easy converting of all raw "shieldable" cards to vertical mountable "passive backplane" by gluing/sticking/soldering "overlay planes" - supported 2 backplane pins/headers connector options - 2.54mm (100mil) double-row or 1.27 (50mil) single-row - cards and backplane traces overlays available as "breakable" chocolate-like; reusing more standard sizes remaining or even nonstandard combinations, as needed (also very tiny boards under 1x1", fitting even on top of half DIP32 using holes or even smaller side-bended pins/wires using 0.55" DIP width (very tiny circuits only - but its up to you what you can squeeze to them) - as prototyping expects single-sided SMD usage, SMD jumper-wires and R0 resistors are expected to be used quite often (usually no problem if you can fit all parts to board, it can be soldered in ONE-STEP by skillet or oven, impossible by THT process!) - single-sided SMD cards will allow easy hot-plating and of course also ovens etc. (even when you ask sour PCB maker for custom/layered!) - no unnecessary boards cutting - many card sizes options available by "chocolate" concept for basic single-sided usage - no unnecessary drilling if not required, by using SMD parts mostly (today, often cheaper than THT, some available ONLY as SMD too) - small card sizes allows to use as few chemicals as possible, in small etching/cleaning containers, less space needed for all this. (is generally good to design PCBs covered by copper pour, also to reduce FeCl pollution for its reusability) - etc etc etc :-) Basic requirement ----------------- - Ability to obtain defined card sizes of "undeveloped" UV-sensitive boards from PCB manufacturer, with milled grooves as break-guides and also with pre-drilled DIP32/8 holes; of course even as "panelized" for lowest cards price, ideally as panelized "chocolate" cards/planes. - set of standard connectors (when backplane bus required) or only 0,5mm wires to connect cards to modified "Proto Shield" (cheapest) History ------- Few years ago - universal board for flexible prototyping of AVR/DIL28 + RS485 + VREG + ADC/GPIO connectors (maximum peak-detectors as sensors, as example) - made with only few base capacitors, AREF inductance and precision DIL28 and DIL8 sockets + few precision headers to allow testing of different voltage regulators/capacitors/inductances, XTALS/capacitors, 485 tcvrs, using five analog sensor female header connectors (A-input,D-clear,VCC,GND) and serial 485 bus powered 4/6 pin flat cable connector - did few such boards + another few sensor boards with TL072, everything now still as "through-hole" - standardized RS485-support MCU board can be announced soon too, as "remote" variant of BUSduino using one of its layouts Few weeks ago - finally need to start tests of my SMD project peripherals (1.8/2.8 V), somehow, with genuine Arduino UNO R3 and Proto Shields - idea to reuse properly placed precision DIL32 socket on the Arduino Proto Shield as my own SMD ""shields"" adapter (for their easy changing and testing, I will need ONLY very small boards, few components to test, test in system, and finally squeeze for even smaller custom designed target product) One week ago - buyed "blue" single-sided photoresistive PCBs (size 100x50mm and expected to be cutted to more smaller, fitting ""somehow"" - not yet decided, on DIL32 socket) Wed, Dec 19, 2012 5:00 PM - idea progress, arranging placement of DIL32 socket, testing short precision pins cutting for my "hybrid proto SMD boards" - idea to define set of few standardized SMD proto shield sizes (for easy and cheap mass production to support few PCB designer templates) - idea to use dual-side PCB alternatively to connect SMD proto shields vertically to common passive backplane bus, even for "production" use - idea how to replace quite expensive gold-plated precision headers cheaply - everything must be done at bargain price in everys home shack Thu, Dec 20, 2012 8:00 AM - done: ExpressPCB design of genuine arduino proto shield DLI32 adapter connections (trivial one-to-one shield pins) - done: ExpressPCB templates for standard "BUSduino" PCB sizes and variants (PROTO vs BUS) - its easy, tiny, clean, reusable and cheap - its single-sided (PROTO - for easy home hot-plating, with cutable "proto" pins before production) or double-sided (BUS - through-hole connector soldered + "proto" pins cutted) - no unnecessary mess "BUSduino" - official name - website http://www.busduino.com (TBD) =================================================================== - is intended for "as cheap/small as possible" SMD prototyping using regular Proto Shield and cheap adapter socket connection with great flexibility of following options even for production use on common extensible backplane bus, also with different MCUs and power supply domains (my MAIN objective was to connect low-voltage peripherals to 5V arduino by MOSFET adapters now, but as backplane allows to connect even low-voltage arduino or more power domains through it, proto boards can be made even without on board converters to save space etc. - but this is not needed now, I haven't low-volt CPU module yet and I also currently don't have any usage for backplane bus, only it seems natural to extend the concept this way - fully "open source hardware" approach bound to genuine arduino and his proto shields - I don't want to make boards for money just now, only defining specs for standard sizes/templates and connections to proto shield + backplane - BUSduino website is planned as central place for specification docs maintenance (trac+svn), dedicated forums, registry of manufacturers of related boards, components, assemblies, customer contributed designs on standard card sizes etc... - BUSduino name is not reserved, it is expected to be linked to all designs which conform to this specification and the official website This whole BUSduino spec conforms to CC-BY-SA-3.0 license (Open Hardware) ========================================================================= - http://creativecommons.org/licenses/by-sa/3.0/ Really, night of creative fun! Now welcome, end-of-world :-D (created at 21.12.2012 by falken(at)busduino.com) Updates: -------- 121226 - all designs redrawn in DipTrace because its really the best, IMHO :-), using it only from now, but it has great features and nice learn curve, up to library editing/design and adding VRML20 3d models (STL => Wings3D => WRL) 121226 - additional DIP8 socket positioned on genuine proto shield to support extra 8 pins on "extras" connector, which will allow any CUSTOMER specific extensions (backplane card-selects or extra power domains for example) - BTW surface pads/holes for DIP32/8 0.5mm diameter pins/wires have mandatory positions, but some don't need to be used at all (so UV-sensitive "cards" can be made in specified sizes with all holes or without any hole - to be drilled at home, after etching process, where only really needed rectangular/square pads with tiny drilling "guide holes" will be etched) 121227 - sent several inquiries to local PCB producers for possibilities of production of pre-cutted/pre-drilled UV-sensitive boards, mainly to ensure technology feasibility of such approach - not confirmed all details yet, but concept seems feasible 130104 - backplane traces "overlay planes" concept added such standard ready-made "overlay planes" will allow to apply backplane traces even on single-sided PCBs or allow to use fully multilayer/metalized-holes boards for production usage on passive backplane bus (this effectively means 3-layer card designs by using cheap 2-layer base PCB or even backplane traces for fully custom multilayer production cards) - "overlay planes" will be standard and made in large quantities too, as 16-way (32-way as using 2 pcs) and as "breakable" 8-way/4-way for S+ cards sizes (proper traces specified, allowing also very thick/power traces on 2 pins) 130105 - "proto" card template variants was removed as unnecessary to lower total portfolio of manufactured kit parts 130105 - XXXXL card size added, with enough room on right side even for large 32bit MCU processor cards or additional chips 130105 - BUSduino card adapter mod for genuine Arduino(tm) Proto Shield - final drawings with extra DIP8 and traces to optional external 8-pin SIP connector 130107 - BUSduino card adapter board/shield (simplest/cheapest single-sided template) added, TODO: traces width increase (because of pass-through shield female headers 3D models unavailability, something near to them is used now, so I even don't name this board as "shield" yet, it also has not shields board layout/requirements, but can be considered as "shield" - BTW, because of low-profile SMD BUSduino cards, they can be inserted into DIP32/8 footprint in such shields, either custom or modified genuine "Proto Shield" and stacked on bus by this regular "Arduino-way", but for better access to them during prototyping, I expect working with separate boards on top of card-adapter and then working with completed system on backplane bus (if even required)- although, there IS NOT currently any BUSduino processor board specification, as primary purpose of BUSduino was using prototyping cards on top of genuine Arduino(TM) Proto Shield) 130107 - BUSduino backplane board added - TODO: traces width increase + additional power traces by double-side PCBs and metalized holes 130108 - BUSduino card CHOCO (breakable) added + card sizes modified in his design for best flexibility (TODO: tweaks sizes everywhere) - standard cards sizes and their naming modified slightly, XXXXL replaced by XXXL max variant, MX (reduced) card added - standard card sizes (from smallest): SX, S, MX, M, L, XL, XXL, XXXL - in fact, "proto-only" card variants are back by this "chocolate" concept and even more size combinations too, to allow best use of chocolate "remainders" - basic XXXL "CHOCO" can be divided to L + M or even smaller combinations and also "nonstandard" sizes; TODO: tweak breaking guides positions of "chocolate" to be as much flexible/reusable as possible 130108 - BUSduino FLAT/1.27 backplane specification added (straight single-row 0.4mm square-pins soldered (as SMT) on "overlay planes" of cards + SMT single-row 40 hole headers backplane board) TODO - 3D models !!! - also, true SMD single-row pins header variant (bended pins) will be possible, but till now hard to find it, not to mention 3D model 130108 - backplane traces "overlay planes" - added better also as "chocolate" breakable boards too - thickness cca 0.4mm ? 130108 - TODO!!! specification draft as PDF with all dimensions/images, packed in single ZIP specification package !!! => PUBLISH !!! 130109 - cards vertical area descriptors added (TOP, DIP (= 0.55"), CENTER, BOTTOM) "M*" cards "combinations" added as base/comb => M/XL, MX/XL etc ... complete card size descriptor: base[/comb]-height => L-TC, L-CB, M-C, MX-D, MX-TD etc ... (*-TCB as default = max height) (various nonstandard card sizes can be emphasized on CHOCO layout drawings by placing solid rectangle (MX-D is nice example) - but this isn't crucial and such sizes are really nonstandard and unsupported for possible to some extent standardized modules 130109 - DipTrace "BUSduino.lib" file added, will contain all related parts and sub-assemblies, now only few parts here. 130109 - FLAT "XL" (as EXAMPLE, all standard card sizes will have "FLAT" variants) with 1.27mm pitch connector added (but may be, individual drawings disappear from specs - universal CHOCO drawing is good enough ???) - FLAT cards also have whole top UV-layer space available for custom prototype design 130109 - backplane board for FLAT cards with 1.27mm bus pitch added 130109 - FLAT CHOCO added (TODO - both FLATs have no traces yet and breakage lines on overlay planes must be readjusted !!!) 130110 - tweaked "overlay planes" sizes and break guides to match FLAT 1.27mm pitch bus pads (generally, if possible, no copper) + modified backplane traces on both CHOCO card designs, may be they stay as only one drawings finally (till now, other "cards" aren't updated to latest specs, there aren't drawings of latest version backplane traces etc... but its OK - as backplane traces will be BY DEFAULT "separate boards" GLUED on backside and soldered with 0.5mm diameter pins (or wires!) through-hole to DIP32/8 footprints - in special production cases, custom multilayer cards with ready-made backplane traces on backside can be created for more complex designs) 130110 - corrected CHOCO and overlay planes (both standard+flat variants) backplane traces to match breaking guides - TODO: increasing traces width, for POWER connector pins mainly, but generally for ALL traces on "bottom" proto shield connectors 130110 - emphasizing breaking guide (groove milling) lines width to 0.3mm (real groove widths? technology? as narrow as possible) 130110 - expecting standard card board thickness as 0.7mm with grooves depth 0.2mm-0.3mm ?? - expecting standard overlay plane board thickness as 0.3mm with grooves depth 0.1mm-0.15mm ?? (so total thickness of glued card+overlay assembly to 1.0mm - matching to dimensions of flat 1.27 connector) TODO: exact parameters to settle during manufacturing tests ?? also, consider lowest prices of board thickness ?? 130110 - increased traces width on some boards - backplane overlays + adapter board/shield for Arduino(TM) TODO: on all remaining cards drawings (really have them in spec? why not only CHOCO drawing?) - backplane boards also will be far thicker as 1.5mm or even more, with thicker copper for higher currents, together with additional metalized-holes for double-sided power and ground traces, up to possible multilayered design with dedicated power domains + GND; no problem as this is standard layout expected in larger quantities 130110 - original ExpressPCB image exports deleted and replaced by DipTrace, latest, continuously updated 130111 - some tweaks to naming (ie. CHOCO FLAT, instead of FLAT CHOCO etc) - added "FLAT" to names of all 1.27mm pitch boards 130111 - models3d folder modified to be mergeable into "c:\Program Files\DipTrace\models3d" path - all drawings updated to use this common path (works on both native 32/64bit DipTrace setups) 130111 - till now, pins 1,2 on DIP32 footprint are still UNSPECIFIED - but naturally, there can be I2C/TWI SCL+SDA pins - the reason for unspecifying this now are smallest "SX" cards, but as they are very small and intended only for connecting I2C or SPI things on them, its obvious to use SCL+SDA here - but such pins are also available as A4 + A5 on other pins - this is the reason why I still think about this, may be will be good to allow mapping of MORE options here for CUSTOM prototypings, idea is to allow either SCL+SDA or either signals from other pins not available for "SX" cards, as TX/RX or possibly two analog inputs; this can be done on "card adapter shield" by switches or jumpers, but then it will be bound to custom designs and unavailable for standardized modules generally - fortunately, even that SX cards have such few pins, I2C/SPI devices are usually addressable inside of their serial protocol (I2C) or by chip-selects (SPI - few GPIO pins are on SX 16 pin connector too) this will be settled soon, I hope, may be even with help of community??? (may be its "too much buzz for too few features", but, simply, its not settled yet, BTW there are Arduino(TM) Due and Leonardo, which may not have TWI ALSO on A4+A5 ... so, finally, BUSduino is for CUSTOM prototypes mostly, isn't possible to expect some very reusable cards with this so much limited bus specification :-) 130112 - manual tests of ""milling"" into 1.5mm thick PCB confirms, that we can probably go up to half of PCB thickness or even more, as copper layer on top will increase solidity of boards no matter on milled grooves so, as this allows easier breakage, will be good to find best groove depths yet (truth is, that solid copper supports solidity of undeveloped cards, but as generally is good to left PCB covered by "copper pour", there still CAN be enough metalized layer ... but it then depends on customer designs) - glued backplane traces overlay planes will also increase thickness of boards and in case they will be made panelized too, they can be used in group to increase solidness of cards, if needed at all (their breaking guides aren't on the same positions as guides on the cards too) - for best results of boards breaking, will be good to print some parallel silkscreen guides also on top of blue UV-layer cover (if some technology allows this accurately), because for sure will be good to split such blue cover film by sharp knife before boards breaking by hands or tools 130112 - drilled rectangular card pads matching to DIPs have now expected size 2.54x1.27mm (100x50mil), to allow solid connection of through-hole soldered pins/wires, but may be their height size can be even reduced a bit to 150mil; height is important as there is almost no headroom for width (we want to allow thin traces to be routed between such pads too), to allow easy manual soldering of pins into already hotplate/oven soldered SMD cards. - in case of double-sided PCBs for cards are required ("chocolate" concept also usually not good here), there will be good to place some drilled isolation layer (another breakable component) on back side of cards to prevent electrical shorts of back side traces by metal holes on very flat precise DIP sockets 130112 - DIP pads holes will be drilled precisely for 0.5mm pins/wires, to fasten them through card PCB as much as possible, on the other hand, holes in backplane traces "overlay planes" can be slightly larger to allow as easy as possible mounting such planes on back of cards with pins/wires already inserted/soldered - pure-copper 0.5mm wires are quite soft, so some harder material (alloy) for pins is expected from start, but exact source of cheap pins must be found yet (no problem to cut some cheap connectors with enough pin lenght; of course, easier work can be with continuous inserting/cutting pins/wires form one piece of longer wire) - cards can be stored with pins inserted into antistatic foam of enough height, similary as ICs 130112 - honestly, more than 100 spelling errors corrected here :-) 130113 - backplane board FLAT 3D images corrected (invisible SMD pins on pads) 130114 - as technology wouldn't probably like(?) drilling/milling through plastic blue UV-layer cover of boards, I expect that everything can be done from back side of single-sided board only to some DEPTH, so NOT THROUGH - which will allow precise guides for manual breaking and also precise positioning of DIP holes, from which can be "finished through" by end customer ONLY those he really wants here. So DIP holes can be milled this way on ALL parts of CHOCO cards too, so also on right side of XXXL, which is breakable into L+M (and then even smaller) cards. - as already said, front side (blue) plastic needs printed guides for "sliting" it by sharp knife before board breaking, this slit is absolutelly necessary to do to prevent unsticking blue cover from UV-sensitive layer when breaked ! 130206 - yep, further consulting with manufacturers clarified some more things: - first, if I didn't sed it already, its all about "presensitised" boards, and almost sure there will be preffered "positive" photoresist which has great storage reliability (years) and I am in contact with best producers of them - for "negative" dry photoresist, there is up to 6 months guaranteed storage of unprocessed, not yet laminated and in case somebody has access to smaller pieces of them, then other option is to produce/sell boards without any photoresist, where end customer can laminate on-demand pieces to them ("negative" can do better etching results, but its another complication of steps to make BUSduino prototypes as quickly as possible - the main objective) - even that somebody tells that FR4 isn't so good for breaking, my tests with specific presensitised boards are very good, so no problem to use it, no problem here - as I am personaly quite busy with paid things in .NET software development and system maintenace, it takes some time to prepare everything well for some samples production, but stay tuned - its on the right way :-)