{"id":16009,"date":"2020-02-16T10:49:06","date_gmt":"2020-02-16T15:49:06","guid":{"rendered":"http:\/\/scruss.com\/blog\/?p=16009"},"modified":"2021-11-21T11:46:45","modified_gmt":"2021-11-21T16:46:45","slug":"freecad-on-raspberry-pi-4","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2020\/02\/16\/freecad-on-raspberry-pi-4\/","title":{"rendered":"FreeCAD on Raspberry Pi 4"},"content":{"rendered":"\n<p class=\"has-text-color\" style=\"color:#fe00ff\"><strong>Hey<\/strong>! This is really old! FreeCAD 0.19 is in the Raspberry Pi OS Bullseye repo now:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt install freecad<\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"701\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/2020-02-16-101659_1067x730_scrot-1024x701.png\" alt=\"FreeCAD window displaying red and white traffic cone model\" class=\"wp-image-16010\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/2020-02-16-101659_1067x730_scrot-1024x701.png 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/2020-02-16-101659_1067x730_scrot-320x219.png 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/2020-02-16-101659_1067x730_scrot-160x109.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/2020-02-16-101659_1067x730_scrot-768x525.png 768w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/2020-02-16-101659_1067x730_scrot.png 1067w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>FreeCAD 0.18.4 running on a Raspberry Pi 4<\/figcaption><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.freecadweb.org\/\">FreeCAD<\/a> and the Raspberry Pi haven&#8217;t always got on too well. For complex technical reasons the standard package would load and immediately crash on a Raspbian system. For user reasons, this was just another annoyance.<\/p>\n\n\n\n<p>Recent releases seem to run fairly well on a Raspberry Pi 4, though, but only after building them from source. Here&#8217;s a method that got FreeCAD 0.18.4 running for me. It&#8217;s lightly modified from FreeCAD forum <a href=\"https:\/\/forum.freecadweb.org\/viewtopic.php?p=340159&amp;sid=ece85d22fad2819e8f3ab2b3216eabdf#p340159\">MartijnD<\/a>&#8216;s post:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install cmake build-essential libtool lsb-release swig libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-serialization-dev libboost-signals-dev libboost-thread-dev libcoin-dev libeigen3-dev libgts-bin libgts-dev libkdtree++-dev libmedc-dev libopencv-dev libproj-dev libvtk6-dev libx11-dev libxerces-c-dev libzipios++-dev qt4-dev-tools libqt4-dev libqt4-opengl-dev libqtwebkit-dev libshiboken-dev libpyside-dev pyside-tools python-dev python-matplotlib python-pivy python-ply python-pyside libocct*-dev occt-draw libsimage-dev doxygen libcoin-doc dh-exec libspnav-dev\n\nwget https:\/\/github.com\/FreeCAD\/FreeCAD\/archive\/0.18.4.zip\n\nunzip 0.18.4.zip\n\nrm 0.18.4.zip\n\nmkdir freecad-build\n\ncd freecad-build\n\ncmake -DPYTHON_EXECUTABLE=\/usr\/bin\/python2.7 -DPYTHON_INCLUDE_DIR=\/usr\/include\/python2.7 -DPYTHON_LIBRARY=\/usr\/lib\/arm-linux-gnueabihf\/libpython2.7.so  -DPYTHON_PACKAGES_PATH=\/usr\/local\/lib\/python2.7\/dist-packages\/  ..\/FreeCAD-0.18.4\/\n\nmake -j4<\/code><\/pre>\n\n\n\n<p>Notes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The only modifications I made to Martijn&#8217;s method were in the Python paths in the cmake command. Some of the paths given aren&#8217;t valid any more on an up-to-date Buster system<\/li><li>I built this on a Raspberry Pi 4 with 4 GB of RAM. It takes quite a bit of free storage: I wouldn&#8217;t attempt to build this with less than 4 GB free<\/li><li><em>make -j4<\/em> took <strong>95 minutes<\/strong>, and even with a fan my Raspberry Pi 4 was at 70\u00c2\u00b0C<\/li><li>Yes, it&#8217;s using Python 2.7, but it works<\/li><li>I&#8217;ve got no idea how to make it install properly, but it runs from the <em>freecad-build\/bin<\/em> directory.<\/li><\/ul>\n\n\n\n<p>If you want to learn how to use it, look at the <a href=\"https:\/\/www.freecadweb.org\/wiki\/Tutorials\">tutorials<\/a>: even the Raspberry Pi Foundation have <a href=\"https:\/\/github.com\/raspberrypilearning?utf8=%E2%9C%93&amp;q=freecad&amp;type=source&amp;language=\">written some<\/a>. The <a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/02\/UK-Traffic_Cone-FreeCAD.zip\">UK Traffic Cone<\/a> model you can have: it&#8217;s what I made to learn a bit more about FreeCAD. Don&#8217;t worry, I&#8217;m still on Team <a href=\"https:\/\/www.openscad.org\/\">OpenSCAD<\/a> \u00e2\u20ac\u00a6<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey! This is really old! FreeCAD 0.19 is in the Raspberry Pi OS Bullseye repo now: sudo apt install freecad FreeCAD and the Raspberry Pi haven&#8217;t always got on too well. For complex technical reasons the standard package would load and immediately crash on a Raspbian system. For user reasons, this was just another annoyance. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"FreeCAD on Raspberry Pi 4: it builds!","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2],"tags":[2145],"class_list":["post-16009","post","type-post","status-publish","format-standard","hentry","category-goatee-stroking-musing-or-something","tag-obsolete"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-4ad","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=16009"}],"version-history":[{"count":3,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16009\/revisions"}],"predecessor-version":[{"id":16936,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16009\/revisions\/16936"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=16009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=16009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=16009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}