hiletgo 3.2 ips tft lcd display ili9481 fritzing made in china
I decided a couple of months ago to run with the RF remote control project as a test-bed to try to learn how to lay out a custom PCB and have it manufactured. I had tried taking Chris’s class in EagleCAD and had found the interface to be pretty annoying and difficult. Chris had suggested looking at another tool, called Fritzing, but it took me a couple of months and seeing a couple of articles online about it before I finally downloaded the (free) software and tried it out: Bingo!
Fritzing is a very easy to use tool that let’s you capture (or design up-front) a breadboard circuit. With a breadboard, you just stick jumpers in holes to make connections; no soldering needed, easy to make changes until you get it working right. Fritzing lets you just drag wires into place with your mouse, on a graphic display that looks just like your breadboard:
[I actually used two different Arduinos during this project: the Boarduino version is very handy for breadboard work, as it plugs right into a breadboard for quick & easy prototyping. For the actual PCB, I wanted to make an Arduino shield, so in Fritzing I used a standard Arduino Uno. Plus, Fritzing doesn’t have a predefined part definition for the Boarduino…]
Fritzing includes predefined parts definitions for hundreds of common parts, including multiple Arduino versions and most of the parts in the the Sparkfun catalog. It also provides a “mystery” chip feature (the black box with the question-mark above) that lets you define the number and names of an arbitrary set of pins.
I was overjoyed to even get this far: just using Fritzing to document a breadboard design is incredibly valuable. I had been struggling to find some easy way to capture and document projects; Fritzing meets that need beautifully, even if you never need the schematic or board-layout features.
Since I tend to not use the schematic view at all (personal preference), this schematic is a default, non-prettified view. You can easily drag the chips around and reposition the wires to “look nice”, if you care to…
This shows my final design, omitting some intermediate steps. Fritzing has an “auto-route” feature that tries to lay out all the traces on the board so that they don’t overlap each other, using a double-sided board design if you need it (as this one did). Most likely it will fail to find a workable route for a few of the connections, but easily allows you to manually shift things around until you get a workable design. It can feel kind of like doing Rubic’s Cube at first, but with a little practice it isn’t too hard, at least for relatively simple circuits. Plus, Fritzing has a “check design rules” feature that validates nothing’s crossed and things are far enough apart to actually build and function properly.
I identified two leading vendors: one in Germany (http://fab.fritzing.org/fritzing-fab) would make me one (1) PCB for 28 Euros. The other in China (http://iteadstudio.com/) would make me ten (10) PCBs for $26. I couldn’t convince myself to spend more money for 10% as many boards, so I emailed my Gerber files off to China on New Years morning. And 22 days later, the mailman had me sign for a small box of PCBs.
Fritzing is an open-source initiativeCAD software for the design of electronics hardware, intended to allow designers and artists to build more permanent circuits from prototypes. It was developed at the University of Applied Sciences Potsdam.free software under the GPL 3.0 or later license, with the source code available on GitHub and the binaries at a monetary cost, which is allowed by the GPL.
Fritzing can be seen as an electronic design automation (EDA) tool for non-engineers: the input metaphor is inspired by the environment of designers (the breadboard-based prototype), while the output is focused on accessible means of production. As of December 2, 2014 Fritzing has made a code view option, where one can modify code and upload it directly to an Arduino device.
Fritzing allows for creation of printed circuit boards. Fritzing provides access to a commercial service known as ‘FritzingFab’ to order PCBs created with designs made on the Fritzing software.
I don’t think inkscape is quirky, I get along with it quite well considering I am a newbie at it. I think the inkscape to Fritzing interaction needs work and I think most of the problems can be solved on the inkscape side of things.
This is slightly misleading in that copper1 is actually under copper0 not silkscreen, but the order should be silkscreen, copper1 with copper0 as a group under copper1 (at present copper1 and copper0 are reversed.) I don’t know of any problem this causes other than Fritzing will prefer to select silkscreen if it is the lowest group (thus a warning rather than an error.)
While this shows as an error (because in schematic it likely is one), in this case it is ignorable, because Fritzing will use the center of the pin as the termination point as was intended. Technically you can and should remove the connectorxterminal elements in breadboard, but it won’t hurt anything. repeats for all the pins on breadboard.
With that done and no major problems, load the part in to Fritzing and test it. This is to catch errors that the script can not (such as a terminalId existing but being in the wrong place). Here is a sketch of a typical test:
Doing that points out the problem. The diameter of your pads is slightly too small, they are around 0.075in (when they should be 0.078in) and the stroke width is 20.00025558. If I reset the diameter to 0.078 and the stroke-width to 20, the holes will be the correct 0.038in. However changing the diameter via the tool bar will move the center of the pad slightly (causing misalignment) so the trick to do is to change the w and h parameters to 0.078 in the tool bar and then record the radius from the xml editor window (which will be 29.) Now undo the w and h changes to restore the pad to its original position and instead change the radius from its current value to 29. This changes the diameter relative to the center of the circle leaving its x y position the same which is what we need in this case. As a side issue the radius is currently an ellipse not a circle (because of floating point roundoff during the rescaling) and thus has a rx and ry in xml editor. We want to change both to be 29 which will make it a circle with r=29 again. Then change the stroke-width to 20 and you are done. Alternately you can do the scale mathematically like this to calculate a new radius and stroke-width at the current scale (but I find rescaling easier):