Fritzing Fab is finally here!

Fritzing Fab

Even though it didn’t take us as long as DNF, we are aware that we were a bit optimistic with our previous announcements. But now it’s finally here: Fritzing Fab is open for business!

You can now go to fab.fritzing.org and order a PCB directly from your Fritzing sketch. (Just use your Fritzing.org account to log in.)

We hope that you are pleased with how easy the process is. No long lists of parameters – no worries. The prices are very low, too, and the more you order the cheaper it gets.

This new video should also give you a taste how quickly you can turn your breadboard sketch into a sweet custom PCB:

With the opening of Fab we have now come full circle. When you look closely at the photo above, you can see that it is the realization of the original vision sketch that you can still find on our front page. :)

Why did it take us so long? Besides some technical issues, this is a bit of a risky undertaking for an open-source project like us. Because PCB production is only efficient when producing large quantities, this will only work when enough people are ordering. As with the starter kits, all profit goes back into the further development of Fritzing.

So let’s keep the fingers crossed and give Fab a try.

Comments from the old blog:

  1. isnoop #2. Aug. 2011, 19:26This is excellent! I can't wait to use it in the coming months.
  2. Jürgen B #7. Aug. 2011, 20:03Hi, sorry, have i understand it right? An PCB with 100 x 160 mm will cost about 80,- Euro? I can not believe :-( I think, it will be much to expensive :-( Bey Juergen :-( https://www.loetseite.de
  3. André Knörig #9. Aug. 2011, 15:37Hi Jürgen, remember that this is the price for a single, individual PCB. And even though we are really small, this is actually still cheaper than the best known pooling PCB service in Europe -- and the profit goes back into Fritzing. We'd be happy to learn how to offer an even less expensive service, while still delivering the same quality.
  4. darius #7. Okt. 2011, 13:14I read in the FAQ, that you might accept Gerber or eagle files at some point if enough interest raises. Is there a specific place where I can cast my vote for this?
  5. André Knörig #23. Okt. 2011, 09:54Hi Darius, You just did. :)

Fritzing 0.6 released!

Fritzing v0.6

Introducing the new Fritzing version 0.6 (actually 0.6.2 by the time of writing). With thanks to all the people who purchased Fritzing Starter Kits, plus our donors, and SparkFun, we added several major new features:

  • Support for SMD parts - You can now use those really tiny "Surface Mount" parts to make your PCB designs much smaller. In the parts inspector, you can simply change the 'package' of almost any part to 'SMD'.
  • SparkFun parts library - With SparkFun's generous assistance, we were able to bring a new bin of 74 SparkFun products to Fritzing! You can find them by clicking the little folder icon under the parts bin, and then Open > SparkFun.
  • Support for Stripboards - Not everyone works with breadboards, so by popular demand we added stripboards and perfboards. You can even cut and uncut strips! You can find the new boards right next to the breadboard, in our newly cleaned-up core parts bin.

We will discuss these features individually in future blog posts, but if they aren’t enough to whet your appetite, then have a look at our long list of new features, including a cleaned-up parts inspector, a document frame for schematics, text and graphics on copper, etc.

Plus we fixed a ton of bugs.

Download it here. Hope you like it!

– the Fritzing team

Comments from the old Blog

  1. Bret Comnes # 27. Juli 2011, 05:39 Wow, its like EagleCAD, but usable and free. Thanks!
  2. alkopop79 # 15. Aug. 2011, 13:03 It's everything I wanted: SMD and etchable mirrored export! Thanks!

A question for our ubuntu users

Hi Ubuntu-person,

We have been building our linux binary releases on Ubuntu 8.04.4 LTS.  Is it time for us to move to 10.04 LTS instead?  Please let us know–particularly if you still prefer 8.04.4–by adding a comment to this post.

Cheers.

  • j

Comments from the old Blog:

  1. isnoop #1. Juni 2011, 04:22I'm all in favor for 10.04 and any other LTS as soon as the community accepts it.
  2. bweber #2. Juni 2011, 03:48So far I'm running fine in 11.04. Thank you for all the work on this software!
  3. jestin #10. Juni 2011, 20:21Most Ubuntu users who bother do design their own circuits are likely to be running the latest, or the second latest release (I'm still on 10.10). And by release, I mean regular releases, not necessarily the LTS release. I would recommend building on the latest, regardless of whether it's LTS or not. Thanks for the great software.
  4. tmberthold #11. Juni 2011, 23:05because it is free, there is no motivation NOT to upgrade Ubuntu when a new version comes out. In fact, every new Ubuntu version seems to use less RAM and disk space, plus has newer versions of software. So I think many people will use the latest versions of Ubuntu, and I vote for moving to version 10.04. Thank you for your great software!
  5. cqexbesd #13. Juni 2011, 10:10A common practice (in my limited experience), when it comes to internal support for Ubuntu in large organisations, is they support the last LTS and on a best effort basis, the most recent release, LTS or otherwise. You may have no wish to support 2 releases in which case I'd say go for the most recent LTS only. It will be easier for users on a newer release to run something build for the previous LTS than if things were reversed.
  6. inizul #17. Juni 2011, 23:56I vote for moving to version 10.04 Thank you for this great software!
  7. Angus Pearson #23. Juni 2011, 00:17If you must use 10.04, but 10.10 is great, although at the moment Unity and 11.04 haven't got my respect (Especially as it didn't work with my desktop cube!!!). But thanks for the great work, and go for the 10.04 LTS.
  8. Entropicus #23. Juni 2011, 22:01When you install software for circuit design, most likely your interest is more in applications than in the operating system itself. As long as your applications run nicely, you wish stability in the background OS. For this kind of person, Long Term System version is best. However, I have seen more software development oriented people like the ultimate version, a never ending story about making programs to fit the new one. I balance between renew and stability, is the latest LTS. Honestly, I expected you already had a Fritzing version for 10.04, because an Ubuntu user rarely had any reason for not upgrade a LTS version (it took five years its development).
  9. Chris Bristol #19. Juli 2011, 01:48I agree with the majority that an LTS version is best. I've been using 11.04LTS without any problems so would vote for that.
  10. LightScape66 #20. Juli 2011, 12:14@Angus: 11.04 will also use Gnome if you configure it. I don't like Unity, too! Unity may be okay for beginners, but experienced users and those, who will use a lots of applications may prefer Gnome 2.x.
  11. Jonathan Cohen #22. Juli 2011, 18:00Hi, As you probably know, the binary release for Fritzing 0.6 was built using 10.04.2 LTS. Cheers, - j

A new autorouter

At last, a new release of Fritzing.  Sorry it’s been such a long time since the last one–partly this is because there is no full time Fritzing staff (we all have to work for a living), and partly because I had the mistaken notion that I knew a fast way to implement an autorouter.  But let’s go straight to the before-and-after:

autorouter compared

The spiders-on-drugs image on the left is from Fritzing 0.4.3; the image on the right is from Fritzing 0.5.0, and they are each the result of autorouting the barebones arduino example.  The one on the left took 30 seconds on a 2.80 GHz dual-core laptop, the one on the right took 3  seconds (yes, on the same machine). This video might make the difference clearer:

Why should I care?

If you are still gamely reading at this point, and don’t know what an autorouter is, I commend your courage, and will now attempt a definition.  Once you’ve placed your parts and wired them up in breadboard view or schematic view, and you’re ready to make a pcb, you’re faced with a new task.  This task is to draw out or route the electrical circuit–the connections between parts–in copper on your pcb.  The orange-colored lines in the above images represent copper routes (also known as traces) on a pcb (green), where the white shapes represent the outlines of parts. Routing can be done by hand, but it can be tedious and tricky (though some people find it enjoyable, like doing a puzzle).  An autorouter is a piece of software than can do the routing task for you, and some routers are very sophisticated–able to handle millions of connections.  Fritzing’s new router is not the brightest star in the galaxy, but as you can see from the two images, the new router is not so dim a bulb as the old one.

Some background

Here are the details on the new router:

  • It's a "manhattan" router--all new traces will be drawn at 90 degree angles.  If you draw your own non-manhattan traces, the router will respect them, but you will probably make the routing job more difficult.
  • It only takes a finite (and usually short) time for the router to determine whether it can trace a path between two points (no more waiting for endless futile line-probes).
  • DRC (overlap checking) comes for free, giving clear feedback about what's overlapping, so the old crazy DRC code has been replaced.
  • There is a rudimentary rip-up-and-reroute feature, meaning that if the router can't successfully route the whole board, it will automatically try routing again with a different ordering of connector pairs.  This is usually quite speedy, and you can limit the number of retries: the router will keep the best result.
  • As before, when drawing a trace fails, the router will attempt to place a jumper.  The new router's jumper placement code is much improved over the 0.4.3 code.
  • The router does not guarantee a shortest path when routing between two points.

The new router–like the rest of Fritzing–is a work in progress. You will probably have to do some tidying up after it runs.  However, it’s already such an improvement over the previous that we decided not to wait any longer to release it. Here’s what’s still on the to-do list:

  • Placing vias in double-sided routing.
  • More intelligent rip-up-and-reroute strategy.
  • More intelligent overall routing strategy.
  • It misses some routes that it should find.
  • Some traces violate DRC.
  • Running the same autoroute twice in a row won't necessarily give the same result.

Despite the to-do list, we think you’ll be pleased.

Cheers,

  • j

PS.  For those of you interested in the technical details, the new router uses a “tiled” data-structure.  The technique was invented by John Ousterhout, and in fact Fritzing uses a modified version of the basic corner-stitching code from Ousterhout’s Magic VLSI Layout Tool. I’ve also incorporated ideas for improvements from a paper describing the Contour router and from another paper describing an ECO router.

In general, tile-routers are more complex than maze-routers, but I felt that a tile-based approach was suited to Fritzing because we don’t enforce a grid.  It was also much easier to get my head around tiles than steiner-tree approaches (see a random sample of the latter).  In theory, tile-based routers scale up better than maze routers because the number of tiles doesn’t expand so quickly as the working area increases (on the other hand, maze routers do guarantee a shortest path between connections).  You also get some freebies with tile routers: the DRC and jumper and via placement are all variations on the same underlying code.

Ratsnests: less mess

Can you spot any difference between the two images below?  The one on the left is from Fritzing version 0.4.2; the one on the right is from version 0.4.3.

ratsnest comparing

The difference is that in 0.4.2 a ratsnest displays every possible connection in a net.  In 0.4.3 we show only one possible path–one set of connections–through the net.1  What is a ratsnest?  If you already know, then feel free to skip ahead a couple of paragraphs.

A ratsnest displays a set of connected connectors (a “net”), and it can suggest potential paths for routing between those connectors. In the simplest case, if you connect two parts (well, really two connectors) in breadboard view, a ratsnest in PCB view will show that those connectors are connected by drawing a line between them, and thereby suggest where you might draw a trace.This image displays a single net:

traces

In a more complex case, we have multiple connectors connected, but not directly. Here, an individual ratsnest line can act as a “virtual wire”, drawing a line between two connectors that are electrically connected, but not directly wired to each other; for example, the connection between the resistor and the LM358. There are four nets in this image, as you can see from the four different ratsnest colors:

ratsnest colors

Starting with release 0.4.2 and continuing with 0.4.3, we have reimplemented ratsnests in Fritzing. The overall goal was to make them more useful–more like an interface widget than a wire–by adding functionality and improving their diagrammatic quality.   In 0.4.2, we worked on the functionality, and added a couple of features:

  • double-click a ratsnest to create a trace between its connectors
  • delete a ratsnest to electrically isolate its connectors 2

With 0.4.3, we have concentrated on the diagramming–you can see the results in the initial pair of images above.  Clearly PCB and schematic view are more readable, and better suggest where you might want to draw your traces.  Another change is that in 0.4.2, as you drew traces between connectors, ratsnest lines would dim to let you know that that connection had been routed (directly or indirectly).  In 0.4.3, routed ratsnest lines simply disappear (reappearing as necessary as traces are removed).

This leads us to another difference between 0.4.3 and prior versions: “jumper wires” are now obsolete.  Their purpose was to show unrouted connections, which is what ratsnest lines are now doing.  (Note that jumper items are not obsolete, just jumper wires–the former are basically a pair of connectors with nothing in-between, the latter was essentially a Fritzing UI construct).

There are two pleasant side-effects with the new approach.  First, we no longer save ratsnests in sketch files, which means that Fritzing file sizes typically shrink anywhere from twenty to eighty percent.  But do not tremble, your old Fritzing sketches are completely compatible with 0.4.3 (though the old ratsnest lines and jumper wires will be replaced by new ratsnest lines), and if you save the file back out, only its ratsnest and jumper wire elements will change.  The second side-effect is that since the program is no longer keeping track of so many objects, there’s been a noticeable improvement in Fritzing performance.  If any of you were driven to use the “speed hack” in Fritzing 0.4.2, Fritzing 0.4.3 is that fast, or faster.

Cheers,

  • j

PS.  Thanks to Jim Bollensée and Olmo Claessens for permission to use their sketch to illustrate the changes.