pcb-rnd knowledge pool


Hobbyist vs. professional use

pro_vs_hobby by Tibor 'Igor2' Palinkas on 2018-02-26

Tags: insight, hobby, hobbyist, professional

node source



Abstract: The professional and the hobbyist use cases differ. pcb-rnd is shifting from a hobbyist-centered UI and data model to a more balanced one that tries to suit both professionals and hobbyists. These changes make some hobbyist-centric actions somewhat harder to achieve while make many things professionals need easier to achieve.

  The two use cases are very different in almost every aspect of editing, but sometimes you can combine the two. For example board outline is about the same thing in both worlds.

But a lot of things differ.

For example as a hobbyist, you want direct control of individual objects and work with a lot of exceptions (hacks). Like you figure it's hard to solder a pin because the ring is too small, compared to how much heat the component drives away so you go there and increase the ring on that one pin. Or you shrink the pin a bit at one place so 2 wires can pass between 2 pins.

In the professional setup you do not want to have random, per object differences: you want all your 1206 resistor pads to be exactly the same, else mass production will suffer.

Original PCB had a model that was perfect for the hobbyist: every object is an individual instance you hack in random ways as easily as using a hotkey 's' over it. Of course you could then write a script that checked the board (for pro use cases) if all your vias had the same drill size (see also: vendor drill). I consider this one extreme, the hobbyist extreme.

Other extreme is what KiCAD does, if I am not mistaken: there are exactly two, board global via drill sizes, and there is simply no way to use a via with a different hole. A via is either a normal via or a microvia, and there's no reason to have a 3rd hole size. AFAIK clearance is global in many EDA tools, you can't set it up per clearing object, only per plane or even globally, per board! These is the other extreme, the for-pro extreme.

It is possible to make a compromise and support both:

pcb-rnd started to move from the hobbyist extreme of gEDA/PCB into some middle-ground compromise. It started to have a lot of unified things and it started to give up some of the easy 'go there and manually tweak the size of this one via' operations. I know this will be unusual to some of our hobbyist users, but I already get positive feedback from pro users.

At the end, pcb-rnd won't lose too much functionality, if any. It's just that some of the hobbyist manual local tweaking gets a bit more complicated to do (will require more user input) while the professional unified use is getting simpler. For vast majority of the functionality we will support both, it's just the 'how easily it is achieved' that changes.