Tools - PatternAgents/Electronics_One_Workshop GitHub Wiki

Development Tools

In electronics, we use a variety of development tools for different purposes. Some tools convert Schematic representations to Layout representations; others are used to create three-dimensional (3D) representations for mechanical models, used for making 3D printed cases and enclosures. For microprocessor firmware development there are many different tools to chose from. We'll briefly talk about some of the more common tools that you might encounter working on electronics and embedded microprocessor systems.

Hardware Development Tools

Schematics and Layouts

The three(3) most popular Schematic Tools you might encounter in the maker space are:

  • EagleCad is a popular commercial schematic capture and layout tool that runs on a number of different platforms, including Linux, Windows, and MAC/OS. EagleCad offers a free version that supports limited number of components and printed circuit board sizes, which makes it very popular with the Open Source Hardware Community, even though EagleCad itself is a closed source program. Tools exist within EagleCad to create a bill of materials, artwork, Gerber files, and 3D views of the PCB and its components.
    Most of the schematic diagrams you will see from Sparkfun, Adafruit, and others were created using the [EagleCad] (https://en.wikipedia.org/wiki/EAGLE_(program)) package. If you are interested in learning it, check your local Hacker/Maker Space, they usually have an introductory class every few months.

  • KiCad is an open-source Schematic Capture and PCB Layout system. It facilitates the design of schematics for electronic circuits and their conversion to PCB designs. KiCad was originally developed by Jean-Pierre Charras, and features an integrated environment for schematic capture and PCB layout design. Tools exist within the package to create a bill of materials, artwork, Gerber files, and 3D views of the PCB and its components.

  • Altium is a popular commercial schematic capture and layout tool that runs on the Windows Operating System. It has a number of higher level, professional grade capabilities, including a better PCB router, mechanical modeling, and simulation support and is correspondingly more expensive to purchase.

Software Development Tools

Arduino

mBed

  • The name mbed was originally used for both a hardware platform and a development system for internet-connected devices based on 32-bit ARM Cortex-M micro-controllers. The commercial project is collaboratively developed by ARM and its technology partners, and only supports ARM brand microprocessors. Like the Arduino Software is now supports a number of different hardware boards, known as platforms, all of which use ARM brand microprocessors.

Eclipse

  • Eclipse is an integrated development environment (IDE), mostly written in, and developed for the JAVA Language. Using a Plug-In technology, the Eclipse IDE can add support for other languages, programming tools, visualization tools, and more. It is a highly extensible software development environment.

  • Eclipse has a good getting started guide.

  • GnuArmEclipse plug-ins allow you to create, build, debug and in general to manage ARM and AArch64(PowerPC) projectswith the Eclipse framework. The plug-ins run on Windows, GNU/Linux and Mac OS X. It is being actively developed and used in a number of commercial projects.

Combinations (Hardware and Software IDE)

One of the reasons that I mention the other Software Integrated Development Environments, like Eclipse, is that you might often see someone using them with Arduino Hardware, instead of using the Arduino Software to program them.

Next ->


Further (Links)