This Instructable is to serve as the how-to guide for a 3D-printed electronic circuit library implemented in OpenSCAD, 3D-PCB. I recreate the full replication process of a simple analog circuit of a blinking LED made from a few transistors, capacitors, and resistors, a single LED, and a AAA battery. I will review how to import the library, and use it to place components in OpenSCAD in a grid, and teach you the basic wrapping techniques for all the included features.
Also included is a more useful example of an LED flashlight.
What do you need? The code base was developed for use by the MakerBot Replicator. Besides the basic electronic components, you will also need conductive thread. I have tried several types of conductive thread, and the best so far (by a wide margin) can be found here.
I have also found it useful to have fine point tweezers and small scissors, to aid in the wrapping and placing of components.
Links: -- www.carrythewhat.com
- Library for 3D-PCB
- Example printed electronic -- the Cutaway LED Flashlight
- 3D-PCB Github if you would like to support the project directly
- Or visit our etsy shop for other info and to support indirectly
Why? We are entering an age where physical goods increasingly have a digital representation (eg www.thingiverse.com) -- and the means production of such goods are increasingly accessible (eg reprap, makerbot, etc..). The success of Open Source Software speaks for itself. Open Source Hardware has also seen many achievements in conventional firms (eg with arduino). But future success might lie in distributed manufacturing.
While the data can be ubiquitous and free, the machines are not, and there will always be some material cost in replicating physical goods. To those without, we want to provide access to the fantastic creations these machines are capable of. To the developers of these creations, we hope to provide a valuable user base. And the economic activity generated will drive extra resources into the technologies that power it.
At CarryTheWhat? Replications, we are acting as a case study for the independent, distributed manufacturing of physical open source goods, and there are a number of other makers doing similar things.
The goal of this project in particular is to increase the scope of what can be replicated on a commodity machine. Better solutions some day might be sort of conductive putty or ink, or even a printable conductive plastic or semi-conductor material. But for now, you can print basic electronics using a plastic PCB and conductive thread. So give it a try!
Step 1: Constructing the Circuit
Unfortunately, there is not yet a way to automatically place the components, so you will place each component manually. Spend a few minutes analyzing the circuit, and think about how to arrange it into a grid. I have found the grid layout the easiest for placement and wrapping, but it's by no means the only possibility!
I recommend you sketch out the circuit by hand, roughly how you intend to place them (orientation and relative locations). Also, it might be a good idea to test the circuit with the components you have on a conventional breadboard.
If you prefer Blender or SketchUp, then you can import each component separately (STL files), and place them manually. If you do this, make sure you maintain the orientation so that they will print nicely.
If you are building the circuit in OpenSCAD, download the library file '3D-PCB.scad' via thingiverse or github, and put it in the same folder as your project. You will also need to do the same for the MCAD library. At the top of your .scad file, import the library, along with the MCAD dependencies (with the paths appropriately altered if necessary):
Each component in the library has a standardized spacing: the pegs that make up a component are a set distance from that component's center. This value can be accessed by a call to 'get_component_distance()'. If you arrange your components in rows and columns like the example, the distance between the rows and columns should be 2 times this distance. Then if components are placed next to each other on this grid, they can share a peg. Do this where possible, and you will minimize the number of threads you need to wrap. The caps that go over the pegs will hold your components to a snug connection.
Place your components with calls to the library, along with translate and rotate about z, with as many components sharing pegs as possible. Tip: OpenSCAD has two rendering options: a quick render and a full render. I suggest using 'quick render' (F5) to preview while placing components. But do not try to rotate or move the rendered 3D model, this only works well after a 'full render' (F6) which in this example took around 10 minutes!
When you are finished, render and export the STL circuit.