Install Kicad on Raspberry Pï Debian

Hello All, I try to install on my Pi the Kicad pacakge, following web sugestion : sudo apt install kicad this install an old release from 2014 not compatible with actual 4.0.7. Any Tuto / Idea to solve this ? Thanks.

I haven’t checked recently but Debian had the old package as default. You could get the recent version through ‘backports’. I have no knowledge of how the Pi Debian works though.

Thanks for answer, by default the Pi is recommended to be used with Debian, I saw on forums Ubuntu with Mate is available for PI and a release 4.0.7 is on Kicad download. I’ve another SD card then I’ll try with Ubuntu ! Thanks.

1 Like

KiCad will probably run on the Pi, but is likely to be a rather frustrating experience with limited RAM and lack of decent graphics accelerators

If the purpose is to actually do something with it, I wouldn’t even try with older than RPi 3. You might be interested about some experiments people have done with Pi/OpenGL, e.g. http://www.raspberryconnect.com/gamessoftware/item/314-trying_out_opengl_on_raspberry_pi_3.

1 Like

Hi eelik,

I’ll check and thanks for the link.

May I ask why you want to run KiCad on a Raspi?

My own PC is a 10 year old core 2 duo, which I got for free.
It has a passmark cpu index of 1490 and it runs KiCad fine, although a tad slow if projects get bigger.

Recently I’ve been thinking about upgrading my old PC and for around EUR450 I can buy a new Ryzen 2400G with about 6x the performance of my old reliable workhorse.

But recently I stumbled into 2n hand PC’s. There are a bunch of copmpanies that buy big lots of old PC’s and resel them.
For example, This: https://www.nowthatsit.nl/sale/hp-elite-8100-sff-19878.html has a Core I5 650 with a passmark score of 3105, which is more than 2x of my own PC. https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i5-650+%40+3.20GHz&id=767
Those old HP machines have plenty of life left in them.
(The shop I linked to is just an example. There must be lots of similar shops around
the world. With such a 2nd hand PC you can easily run some current & up to date linux distro of your choice and enjoy working with programs, instead of fiddling with software. When I grew up, you started saving for the next PC on the day you bought a new one. My first PC was a 80386 SX @16MHz. PC’s were always to slow. Now I’m in no hurry to upgrade my 10 year old PC. It still runs just fine for almost all software I trhow at it. (Freecad is the biggest exception here. For Freecad I would like a faster PC whe working with big drawings.)

If you want to toy with ARM architecture and/or small single board PC’s then the Odroid’s from Hardkernel might be worth looking into.

Just for the fun of it? I understand it’s not very useful, but as someone who has some hacker mentality, I see how people want to play with things. Actually you could ask many users of KiCad “why do you want to design such and such boards, they are not useful?”

Unfortunately my Pi is broken and I can’t try KiCad with it myself.

Also:

  1. I want to gradually learn Linux without having to dual boot my main machine.
  2. The pi is tiny and very easily portable. I can easily take it to the maker space, along with a wall wart, and portable wireless keyboard and mouse, while using the onboard Bluetooth into the main viewing monitor(television) to do a KiCad presentation to others.
  3. I already have it for another project; and if I could get KiCad to run on it I would not have any need for yet another computer.

The version of KiCad you get with “sudo apt install kicad” does not depend on the hardware (Raspi or otherwise), but on the distribution you run on your hardware.
You could (probably) try: “sudo apt dist-upgrade”, which might pull a lot of newer versions of installed programs from your repositories.

But doing something like that may have risks of introducing incompatibilities.
A better way is probably to go find a newer distribution that runs on the Raspi.
An advantage of (systems like) the Raspi is that (if you have another PC working) you can easily clone the uSD card and revert to that working version if you mess things up seriously.

I have some Beaglebone’s and Cubie Boards, and I tend to have a backup uSD card with a known good Linux version wrapped in some paper and stuck to the hardware with some tape, or on the inside of the box. Then whenever I have serious problems (uSD cards also wear out, etc) I can just reboot from the backup uSD card without even having to search for the tiny thing.

But for me, most of the fun in playing with those things has eroded over the years, and I tend to use more mainstream hardware on which current Linux distro’s simply work without too much hassle. Which was the reason I suggested a 2nd had PC in post #6.

If you “just want to have fun”. You ca always comile it yourself, with some programs it’s easy, with others … your results may vary.

3 Likes

@paulvdh That is really good advice; and I could only click to add one thanks to your post.

Ubuntu MATE supports the Rasp-pi and I may try that. However, the core of what I really want to do with the Rasp-pi is based upon quite a bit of Python scripting.

In the end, I may end up gaining one feature to lose the other feature. Multiple SD cards seems like an answer, but I’ve experienced that micro SD cards are not very mechanically sturdy.

Hopefully I’m not the only one learning from the discussion.

I had one of the Pine64.org Pinebooks that runs an ARM chip. I wanted to see how Kicad ran on it, and it wasn’t readily available in their distro, so I built from source. It took ages but it did work once I had installed all the dependencies.

I just got a Pi 3B+ and was also disappointed to see an old version of Kicad - so I might try building from source on that as an experiment.

1 Like

I like the way Hardkernel has designed the eMMC module with a connector.
You get the reliability & speed of eMMC, but with the easy exchangability of uSD.
They’ve also gat a uSD adapter to program the eMMC module in any programmer that supports uSD cards.

Years ago I also saw a hack where wires were dicectly soldered to a uSD card.

If you don’t want to use multiple µSD cards (due to expected mechanical and/or electrical issues), the RPi3 can boot off a USB device (thumb drives, USB hard drives, etc). See this RPi documentation page:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md

There is also information on the RPi documentation GitHub page:

YMMV.

Edit: I’ve never done this myself so I don’t know what pitfalls there are. I just remembered hearing that this capability was available so I just searched for it.

1 Like

I accidently broke a µSD card in half, and I did not feel that I was being overly forceful with it. I spent a little extra money to get a faster µSD card with 60MB/s write speed and I don’t want to break it in half; it is not made in China so the odds may be ever in my favour for this one.

Thanks for the links. This is going to be a learning experience for me.

$ vcgencmd otp_dump | grep 17:

I’ve done nothing other than to instal the Noobs OS at this point in time. My RaspbPi responded to this query with

17:3020000a

Is the expected response without doing any of the prior steps in the links.

My plan is to install Ubuntu Mate onto the Raspb Pi and see if KiCad V5 is already available on that distribution.

Ok well I just thought I’d report some success here.

So the big problem seems to be the amount of memory required to do the compile.

My RPI3B+ is configured to run from a proper SSD on the USB rather than an SD Card, and I had to enable a decent sized swap file. I changed the configuration for dphys-swapfile to use CONF_SWAPFACTOR=8 rather than CONF_SWAPSIZE=100. The swapfile is on the SSD. I really wouldn’t recommend doing that on an SD Card!

I also found it necessary to boot into text mode (no gui desktop) to help conserve more memory. If you don’t then it goes into swapfile oblivion at about 84% complete.

The build dependencies took a while to figure out (some of the below may not be required, but it is what I installed to get it working) and I had to sudo-apt-get install the following:

cmake
git
libwxgtk3.0-dev
wx3.0-headers
gle-graphics
glew-utils
libglew-dev
libglm-dev
libcurlpp-dev
libcurl4-openssl-dev
libcairo2-dev
libboost1.62-all-dev
liboce-visualization-dev
licoce-ocaf10
liboce-ocaf-dev
swig3.0
python-wxgtk3.0-dev
doxygen
libssl1.0-dev

So then I could follow the linux build instructions loosely…

I had to add a couple of options to the make command line to disable spice, as the ngspice library i couldn’t find for RPi and the scripting also had to be disabled.

Left it running for most of the day and overnight. Quite surprised to see it worked.

Only wrinkle left was that when you do “make install” you actually need to do “sudo make install” so it can put everything in its place.

Once that worked I reconfigured Raspbian to get the gui desktop back and found KiCAD in the desktop programs menu under “Programming”

If I run them, they report as version 6.0.0 rc1 so it looks like git picked up the latest sources.

It has only just worked and I haven’t tested anything out beyond starting KiCAD and EESCHEMA and noting they they run… but its a start and shows it is possible.

For the sake of completeness and future reference I’ll cross-reference this with the other relevant thread:
KiCad V5 on a Raspberry Pi 3 B+? (this was already linked above).

See especially the link which was in the other thread, SOLVED: Compiling V5 RCs on Debian. “apt build-dep” makes finding and installing dependencies easier. In this case it uses the dependencies of v4 so it’s not complete, but it’s much easier to install the missing pieces when most are already there. The list by @kirbyan will probably be useful after using apt build-dep.

You might also be interested in cross-compiling, see e.g. https://hackaday.com/2016/02/03/code-craft-cross-compiling-for-the-raspberry-pi/.

Cross compiling is probably the way to go if you want to do this with any regularity.

So I did some more testing - EESCHEMA works but PCBNEW throws an error about a missing kiface library.

TBH I am not going to persue this further since it was just an experiment, and I don’t really have the time.

IIRC the Pi only has OpenGL ES, while KiCad uses full OpenGL. There is a long-standing feature request to port the renderer to GLES since we don’t really use any of the non-ES features anyway.

1 Like