This release mainly focuses on optimizations, but brings a couple of new features that were now possible due to these optimizations. And Copper now comes with extensive Through Hole Part support in 3D with many more parts and a few more generators.

Through Hole Parts and Generators

Very important for quite a lot of our users: Through Hole Parts. In 1.2 we added quite a lot of them. And we have added procedural parts, too. Procedural parts are great as the whole geometry, materials, textures is created by software. This is especially useful with through hole parts like resistors, where you have thousands of different body length, wire length combinations. And in dense designs you have vertically aligned through hole parts, too. All this is now done by Copper. And that is so cool. If you don’t have a PTH design, grab one from the net and test this out ;-).

We have axial resistor and diodes and radial capacitors, too. With and without polarity mark. Resistors show the correct color bands if you have entered a value in typical notation like “4R7” or “1K”.

This is now possible without a lot of effort. Can you see the different color bandings on the resistors? Nice feature, isn’t it!

Optimized 2D Rendering and Live Mode

And we have optimized 2D rendering in every single point. We got a feature request (thanks Mick) for live zooming in 2D mode like it’s possible in 3D mode. Press and hold the option (ALT) key and then “scroll” with your Magic Mouse. This triggers the new live mode which renders the board with a bit less detail but with very fast framerates and let’s you zoom in and out of your board and schematics. Live mode is also triggered when you change window sizes which is a much more fluid experience, now.

Completely reworked Octopart API (under the hood)

We must admit, that the whole Octopart Implementation didn’t work out as we have intended (from a technical perspective). We implemented the Octopart API in our own cloud servers. Copper App talked to the Copper Cloud Server, and Copper Cloud Server talked to Octopart. We did that to have our client code base independent from external resources. But this constrained us in our development and our users with bad request and long load times. So we dropped that completely and built Octopart API right into our application. Part Sourcing is now much faster and more fluid. And we only have to query prices once for each part. The BOM module is so much faster now, too.

More Preferences

We started to add more and more Application features to the preferences. We hard coded a lot of settings but it’s clear a few things must be configurable to your liking to be of any use. Copper automatically searches part data like pricing, specs, images and various other information though the Octopart interface if Copper finds an attached part number as an attribute to your part. Till 1.2 Copper only searched for the attribute named “MPN”. In 1.2 you can now set the attributes that Copper should use to search for part numbers and manufacturer information. We will continue to add preferences to make Copper more configurable in the next versions.

Filter by Package name

In Part Browser you can now filter for packages. This has not been possible before.

Bugfixes

We have fixed various bugs and increased stability. This is a short list of the most important fixes:

  • Selecting a part now jumps to the correct position in schematic viewer
  • Fixed a few issues when calculating the board outline. This should be much more robust now
  • Copper shows a nice alert instead of crashing when a binary (pre Eagle 6) formatted file is opened.
  • Fixed a bug with selected parts not refreshed when switching board orientation
  • Fixed bugs with layer visibility settings not saved

What’s next

With every new version I give an outlook what to expect in the next release. And we try to keep up the pace of one minor (i.e. 1.1, 1.2, 1.3) release every 4-6 weeks and a patch release (i.e. 1.1.2, 1.2.1) in between.

There are quite a lot of things that I have on the roadmap. These are (in no specific order):

  • More and better export options
  • Importing and customizing your own 3D models
  • Support for more file formats like KiCAD and DIPTrace
  • More tools to get your board actually produced
  • Footprint editor
  • Schematic Capture
  • Layout editor

Well, this is the master plan. But there are a few things in between. And if I have the choice to improve an existing module with interesting features or by optimizing performance or bugs or build a new one, I will always decide to improve on what (we) have now. I don’t want an application that does a lot, but doesn’t do anything really good.

Copper is useful in a variety of ways today, and I got awesome feedback on graphics, 2D as well as 3D. Copper generates wonderful images and models of your PCB, but there is only very limited functionality to actually share that with the world. You can export images and 3D scenes, but the options to do that are very limited and frustrating. So this is one of the next things I want to address in the next release.

Another thing that is really important for me is 3D model import. You should be able to import your own 3D models instead of requesting them from us. And you should be able to modify existing parts (i.e. materials) and you should be able to share 3D models with other Copper users, so we build up a comprehensive, high quality library of photorealistic looking 3D models of electronic components.

There are times where I have to do some creative programming. I.e. doing something that is new and refreshing instead of constantly refining and rebuilding of what is already implemented. In these days I work on schematic capture and layout editor. On that full EDA suite we all want to have. And I made good progress here. I think software should help and not just digitize analog input. It will take (a lot of time) to actually get there. But I am working on this vision every free minute I have!

Thanks so much for your awesome feedback and support. And if you didn’t already rate Copper in Mac App Store it would really be helpful if you would do that ;-). Thanks!