Page 1 of 2

Tools for Electronics on Linux

PostPosted: Thu Jul 03, 2014 4:10 am
by Tom Maier
This is just a list of tools for electronic development on linux...

As you probably already know, microchip pic development toolkit of mplabx and the XC series of compilers (XC8, XC16, and XC32) runs just as well on linux as on windows (I've heard rumors, unverified, that it actually runs better on linux).

Analog circuit simulation can be done with QUCS.
http://sourceforge.net/projects/qucs/

Pcb CAD can be done for free with KiCAD.
http://www.kicad-pcb.org/display/KICAD/ ... ware+Suite
The libraries that come with it are small, so you either have to make a lot of your parts or hunt around on the web for them.

If you want a pcb cad package that has larger libraries, but costs some money, then check out CadSoft Eagle for linux.
http://www.cadsoftusa.com/

Any packages I've missed here?

Re: Tools for Linux

PostPosted: Thu Jul 03, 2014 6:40 am
by jtemples

Re: Tools for Linux

PostPosted: Thu Jul 03, 2014 1:17 pm
by Tom Maier
That project is using Code::Blocks IDE and SDCC compiler.

When it comes to the SDCC (Sandeep Dutta Compiler Collection), it is well known for generating good code for 8051 family, but the pic support has been rather poor. Here's a comment that is in their documentation on the latest release and has been there for almost 15 years:

This port is not yet mature and still lacks many features. However, it can work for simple code.


It won't be able to compete with the XC compilers. The SDCC pic support is "not ready for prime-time".

The problem is that the compiler writers LIKE to write support for the more "standard" architecture chips like 8051, but the pic16 architecture is pretty funky to write a compiler for. The pic16 seems to have been designed to frustrate compiler writers. :lol:

The Code::Blocks IDE might be good and might be made to work with the XC compilers. It wouldn't have all the bells and whistles found in mplabx, like simulator and such, so it would only give barebones support for writing, compiling and managing files. It would be one step up for people who would want to use XC compiler in comand line mode, with their own make file.

Re: Tools for Linux

PostPosted: Thu Jul 03, 2014 1:36 pm
by Tom Maier
Also, I should mention that I have used all the programs I described in my first post and found them usable. All of them also run on windows.

Eagle CAD used to have a version that was totally free for non-commercial use, but when I check the CADSoft website I see that they charge $69 for the non-commercial license now.

A good plotting program is gnuplot
http://sourceforge.net/projects/gnuplot/
It also runs on windows, as well as linux. This program is "the standard" for generating 2D and 3D data plots for publication in peer-reviewed scientific and technical journals. It's a scripted data manipulator and plotter, so you button clicker people will not be pleased with it, but it makes beautiful plots with outputs in many different file types. The software comes with a generous supply of example scripts and you will find many more posted on the web.

A package for scripted computation is scilab.
http://www.scilab.org/
It also runs on linux or windows. It is similar to matlab. It has plotting features, but I don't like them as well as gnuplot.

I've never found a good engineering calculator for linux, they all seem to be stuck in scientific mode. :D

Re: Tools for Linux

PostPosted: Thu Jul 03, 2014 2:04 pm
by Tom Maier
Oh yeah...

There is a linux distribution that comes with many of the electronics support packages already installed. it is called FEL (Fedora Electronics Lab). It has the KiCAD and QUCS already installed, and a bunch of other open source interesting stuff.

http://spins.fedoraproject.org/fel/
http://www.youtube.com/watch?v=3b18Tm0OIMo

Install mpabx and the XC compilers on top of the default FEL distribution, and you end up with a pretty good system.

Re: Tools for Linux

PostPosted: Thu Jul 03, 2014 3:08 pm
by Tom Maier
Serial port terminals for linux... for talking to your embedded devices.

You hyperterm users in windows will like cutecom...
https://help.ubuntu.com/community/Cutecom
It has a gui and has communication logging feature.

gtkterm also has a graphical interface for setup.
https://apps.ubuntu.com/cat/application ... c/gtkterm/

minicom is an old comand line standard
https://help.ubuntu.com/community/Minicom

The links above are if you are using ubuntu linux. If you are using a different flavor of linux, then search for a good install package by search google thusly:
"install fedora <ver number> cutecom"

Re: Tools for Linux

PostPosted: Thu Jul 03, 2014 5:45 pm
by vloki
Tom Maier wrote:Eagle CAD used to have a version that was totally free for non-commercial use, but when I check the CADSoft website I see that they charge $69 for the non-commercial license now.

I think the light edition is still free
(found no hint that it is not at the download page)

Re: Tools for Electronics on Linux

PostPosted: Thu Jul 03, 2014 5:50 pm
by vloki
Tom Maier wrote:As you probably already know, microchip pic development toolkit of mplabx and the XC series of compilers (XC8, XC16, and XC32) runs just as well on linux as on windows (I've heard rumors, unverified, that it actually runs better on linux).

Just a note:
The name of the (free) C18 compiler linux version wich is no longer supported (upgraded)
is "mplabc18-v3.40-linux-full-installer.run"

If your PIC18 is supported by this version -> you'll get full optimization ...

Re: Tools for Electronics on Linux

PostPosted: Thu Jul 03, 2014 6:02 pm
by Tom Maier
The Eagle CAD "lite" version is now 69 dollars also.

http://www.cadsoftusa.com/shop/pricing/

Looks like no more freebies...

The lite version can be used for commercial development, but is limited to 1 schematic sheet and two sided boards and a board size about the size of a pack of cigarettes. The "Hobbiest" version has fewer constrants of boards, but can't be used for commercial products.

Re: Tools for Electronics on Linux

PostPosted: Thu Jul 03, 2014 6:52 pm
by jtemples
I use ckermit, primarily because it does file transfers and doesn't have a GUI.

http://www.columbia.edu/~kermit/ckermit.html