KiCad, o software open-source que o movimento open-hardware merecia.

Um dos principais softwares na vida de um hobbista de eletrônica / estudante de engenharia de computação, é um EDA, o software responsável por auxiliar no desing de de cirtuitos e PCB’s. É nele que passamos horas a fio, sempre procurando o melhor desing para nossa PCB e procurando não cometer um erro que vai gerar arrepedimentos depois. O software EDA mais popular entre hobbistas quando comecei a procurar por um, era o EAGLE, um software proprietário então desenvolvido pela CadSoft Computer, disponivel gratuitamente para uso não-comercial, com diversas limitações, principalmente dimensão da placa e quantidade de layers.

Tempos depois, a empresa Autodesk anunciou a compra da CadSoft, só que agora exigindo uma conexão constante com a internet, tanto no modo freeware, quanto na licença paga, que agora adota um modelo de assinatura. Procurando sempre adotar softwares open-source e multiplataforma, decidi largar o conforto do Eagle e procurar uma alternativa, que foi extremamente bem sucedida (não à principio) quando encontrei o KiCad.

O motivo da primeira experiência com o software não ter sido tão agradavel, é o fato do workflow do KiCad ser bem diferente do EAGLE, e o software é muito mais técnico e um pouco menos polido que as soluções alternativas. No entanto após o investimento forte que o CERN fez no software, ele já possui capacidade técnica equivalente a softwares proprietários consolidados na industria, e suas idiossincrasias estão sendo ao pouco corrigidas para facilitar o uso.  A seguir é um tutorial básico de como instalar e entender o funcionamento básico do software.

INSTALAÇÃO

Como o KiCad possui como licença a GPLv3+,  o mesmo se encontra no repositório oficial da maioria das distribuições linux. Isso é uma vantagem muito grande sobre qualquer outra alternativa proprietária, pois para instalar na maquina basta usar o gerenciador de pacotes da distribuição, ou até mesmo uma ‘store’ como a Gnome Software Center !

No Ubunto e em distros derivadas de debian, basta digitar no terminal:

sudo apt-get update
sudo apt-get install kicad

No fedora e RHEL :

sudo dnf install kicad

O site também possui um executavel e imagem de disco para a instalação no windows e OSX respectivamente.

Além claro do source code e instruções de como compilar e instalar na sua maquina.

LIDANDO COM LIBRARIES

Uma das coisas mais confusas do KiCad, e que foi recentemente re-estruturada é como o software lida com bibliotecas. Isso se torna confuso pois o KiCad precisa de basicamente 3 componentes separados para descrever um componente, um simbolo para se usar nos esquemáticos, um footprint representando o componente já na pcb, e um modelo 3D para simulação do produto final.

O KiCad possui uma rica biblioteca de todos esses componentes pública e construida pela comunidade. Essa biblioteca está disponivel online no Github e o software como default utiliza o endereço do repositório remoto git como principal para todas bibliotecas, isso é, o software já vem com uma biblioteca extremamente rica pronta para ser usada. No entanto, existe um problema muito sério com isso, uma vez que os componentes dessa biblioteca pode ser alterados (e vão ser…) após você terminar seu projeto, isso signifca que, todo aquele esforço de precisão na construção do software, vai ser bagunçado por um fator externo.

Porém, isso não é muito um problema caso você ou sua empresa decida criar e manter sua própria biblioteca, afinal, existe uma variedade finita de componentes utilizados em projetos. Apesar de ser muito trabalho, de forma alguma significa ter que criar cada simbolo existente na eletronica, footprints e modelos 3d, guarde isso para componentes exóticos, basta começar sua biblioteca copiando componentes já existentes.

Basicamente é armazenar em um diretório arquivos .lib (simbolos de esquemáticos), .pretty (footprints) e .wrl (modelos 3d) e configurar o KiCad para procurar os componentes nesse diretório. Todos esses arquivos são arquivos de texto, isso significa que é extremamente simples fazer um controle de versão por git, e compartilhar projetos open hardware via github, bitbucket, gitlab etc.

WORKFLOW

O workflow do KiCad se diferencia um pouco da maioria dos EDA’s pelo fato de todas as etapas do projeto é feita por programas especificos, e tudo isso é controlado pelo usuário.

Primeiramente se cria um esquemático utilizando o Eeschema, após isso se faz a anotação dos componentes (dê um ‘nome’ para cada componente), e faz a associação de cada componente no esquemático com um footprint utilizando o CvPCB.

Após isso, basta executar o PCBnew, onde deve-se gerar uma netlist (especifica todas as ligações que existem entre os componentes), e após finalizar o desing da placa utilizando o KiCad, gerar os arquivos gerber para mandar a PCB para fabricação.

Fontes:

  1. http://kicad-pcb.org/about/kicad/
  2. https://home.cern/about/updates/2015/02/kicad-software-gets-cern-treatment
  3. https://www.autodesk.com/products/eagle/blog/autodesk-acquires-eagle-qa-look-future/
  4. https://www.ohwr.org/projects/cern-kicad/wiki/workpackages
  5. https://github.com/KiCad/kicad-library
  6. http://hackaday.com/2017/05/18/kicad-best-practises-library-management/
Anúncios

Fedora – um sistema livre patrocinado por uma corporação.

Uma vez que descobrimos que o mundo GNU/Linux é repleto das chamadas distribuições, inicia-se uma jornada para testar várias distros e descobrir qual é a que mais se encaixa no seu gosto/workflow. Comigo não foi diferente, e esse post é a história da minha distro de escolha, fedora.

Para entender a história do Fedora, é necessário entender antes a história da Red Hat. A Red Hat surgiu no começo dos anos 90, quando a ideia de software livre e aberto começou a se espalhar para diversas areas graças ao surgimento do Linux. Nesse contexto, a Red Hat foi umas das primeiras empresas a ver um potêncial economico na utilização de software livre, tornando-se assim pioneira na distribuição e suporte de software open source³.

Assim, o sistema operacional GNU/Linux criado pela Red Hat (RHL), foi uma das primeiras ditribuições linux criada. O tempo passou, e o tamanho da empresa e popularidade no meio corporativo só aumentava, criando uma necessidade cada vez maior de um sistema mais robusto, de releases mais conservadores e fácil suporte. Por outro lado, a demanda por um sistema operacional linux para usos diversos (computadores pessoais, pequenas empresas, faculdades, etc) com um software mais moderno e fácil de se utilizar também crescia. Esse cenário marca a descontinuação do Red Hat Linux, e o surgimento de dois novos sistemas, Red Hat Enterprise Linux(RHEL) e o Fedora Core.¹

O Fedora foi uma iniciativa com o objetivo de ter um sistema com tecnologia de ponta, cujo o desenvolvimento feito de maneira colaborativa com a comunidade, e com uma atenção especial para que seja composto apenas de software livre (com exeção apenas de alguns firmwares que são distribuidos na forma de binários, para aumentar a compatibilidade de hardware do sistema, por esse motivo a FSF não reconhece o Fedora com um software 100% livre)². Dessa forma, os desenvolvedores da Red Hat são um dos principais contribuidores para o projeto, não só isso, o Fedora é o upstream do RHEL, isso significa que o software comercial da Red Hat é uma derivação do código do Fedora, com um tempo de suporte e correção de bugs maior.

O que mais impressiona no Fedora, é o fato de ser um sistema estável, possuir seu software extremamente atualizado e ser como um todo um sistema bastante sóbrio. Atingir um equilibrio assim é extremamente dificil, uma distribuição rolling release vai te dar te dar sempre o que existe de melhor em software, mas esteja pronto pra algo dar errado de vez em quando. Um sistema de Long Term Support, pode parecer a principio tentador, instalar uma vez e deixar lá por alguns anos só recebendo suporte de segurança, mas uma hora você vai se perguntar oque tá perdendendo em não usar o software novo, e sofrendo sempre com os mesmo velhos bugs.

Além disso tudo, existe um interesse muito grande tanto por parte da comunidade quanto por parte da RedHat em apoiar outros projetos que compõe o sistema  operacional. O exemplo mais nítido que se pode ter dessa relação do Fedora com outros projetos é  o do projeto GNOME. O Fedora por default vem com aplicativos do ecossistema GNOME, incluindo o ambiênte gráfico GNOME Shell. O fato de ter uma corporação bilionária ajudando no desenvolvimento não só do kernel (a RedHat é a segunda maior contribuidora para o Linux, atrás apenas da Intel)⁵, mas como dos software que compões o sistema operacional, além claro da manutenção e distribuição do mesmo.

Fontes:

  1. https://www.redhat.com/en/technologies/linux-platforms/articles/relationship-between-fedora-and-rhel
  2. https://www.gnu.org/distros/common-distros.en.html
  3. https://fedoraproject.org/wiki/History_of_Red_Hat_Linux
  4. https://en.wikipedia.org/wiki/Fedora_(operating_system)
  5. https://www.linux.com/blog/top-10-developers-and-companies-contributing-linux-kernel-2015-2016