3D Scanner Software Edition: Wheezy as always.

Hardware requirements

  • 1 raspberry pi or alternatively raspberry pi2
  • 1 raspberry pi 5megapixel camera.
  • 1 Wi-Fi dongle, (Used the Tenda W311Mi Wireless N Pico USB 2.0 Adapter)
  • 1 SD card 4G or bigger, I used a 32G car, but an 8G card would work well here (Micro SD on raspberry pi2)

Software Setup

  • First off you need some software. This article assumes you are using windows.
  • Download RASPBIAN As a zip file. ~1G of disk space
  • Download Win32DiskImager and install it.
  • unzip RASBIAN to a known folder. This is a IMG file.
  • Using Win32DiskImager flash your SD card. (PIC Below) Once you open the IMG file click on write.

Congrats now you have a bootable card!

Pi Setup

Well taking screenshots of the pi while setting it up is not exactly easy. So I took a few and am going to walk you through the config. At this point you take your SD card which acts like a HDD in a normal PC and insert it into the pi. Then you take the following hardware and plug it into the pi.

  • USB charger with at least 1AMP capacity micro USB is the standard for the PI 2.
  • USB keyboard
  • Wifi Adapter
  • HDMI or ANALOG cable to your screen of choice, I used my TV.

Once you plug everything in you should be greeted with the following screen.

The setup of the PI is easy based on the menu base.

The following steps should be observed

  • expand_rootfs option expands the file system to use your whole card.
  • configure_keyboard Select the type of keyboard you use.
  • change_pass (changes the password for the PI user)
  • change_locale sets the region you live in.
  • change_timezone (this also has an impact on the pi as it will use UTC time by default and the pi has no clock built in, it relies on NTP)
  • ssh (you should enable ssh server as we need it for the rest of the guide)
  • boot_behaviour (I use command line only option as the GUI is putting unnecessary load on the system)
  • update (skip this as we will be doing that on the next steps)

Once you are done with the above steps (remember this is menu base, so all you really need is a keyboard)

Wifi Setup

Setting up wifi on the pi can be tricky if your using a third party Wi-Fi NIC. My particular NIC is supported out the box, but a whole bunch of others are not. Which will require you to do some additional things such as pulling in drivers etc etc. In the interest of time I will not go through that.

  • Once you rebooted your pi and it came back online you login as the user "pi" and the password you setup above. Hope you remember it.
  • The pi should by now have the Wi-Fi NIC plugged in.

This is the configuration of said NIC. lsusb command will give you what is currently plugged in your pi. What we are looking for is the NIC. The drivers should already be loaded for this particular NIC “Ratlink Technology RT5370 Wireless Adapter”

Next up we want to change directory to /etc/wpasupplicant/ and create a backup of the wpasupplicant.conf file. To do this observe the screenshot.

We are going to have to use either nano or vi to change the configuration. I use vi so the syntax is.
sudo vi wpa_supplicant.conf

Note I use vi, to learn how to use vi please refer to the vi_Manual

The 4 lines need are.
network={ ssid="yourssidgoeshere" psk="password-or-passphrase" }

Save the config and reboot your pi. You should be online now. Simply ping google ping www.google.com

Update and upgrade.

Now it is time to update and upgrade your pi. You can also do this via the ethernet provided with the pi.

sudo rpi-update

sudo apt-get update

sudo apt-get upgrade

Next up reboot the pi after the updates and upgrades. sudo reboot is the command.

With these steps get ready to wait a while. These can take quite a bit of time and the variables depend on network speed, pi speed, SD card speed. Once you have gone through and completed these steps I suspect you will have eaten dinner.

Network access

At this point your pi should be upgraded and updated and on the network. To see what the IP of the Pi is all you need to do is execute ifconfig -a

I am interested in the IP marked in red. Which happens to be wlan0. And an IP of is what I have.

If you’re looking for the IP of the wired connection that would be eth0 marked in green above. Since I am not wired in I can ignore that.

At this point you may also want to remote into the pi. I use PuTTy to remote into my pi so as not to have a huge jumbled mess of wires hanging off of it. It happily boots with no other peripheral plugged in than the USB NIC and the phone charger.

Finally installing FreeLss.

If you wish to follow the instructions on git please head over to this page.

The next few steps I will simply condense the commands to code you can copy and paste. You should not need to run any of the update or upgrade commands as we have already done so above.

Install dependencies.

sudo apt-get install libpng-dev libjpeg-dev cmake vlc git-core gcc build-essential unzip sqlite3 libsqlite3-dev libmicrohttpd-dev libcurl4-openssl-dev

Install wiringPi

git clone git://git.drogon.net/wiringPi cd wiringPi ./build

Install Camera

wget http://downloads.sourceforge.net/project/raspicam/raspicam-0.1.3.zip

unzip raspicam-0.1.3.zip

cd raspicam-0.1.3

mkdir build

cd build

cmake ..


sudo make install

sudo ldconfig

# Install freelss

git clone https://github.com/hairu/freelss

cd freelss/src


If all went well then tap yourself on the back and you have installed freelss.

# Starting freelss

login as user pi, then cd freelss/src then execute the following to start it. sudo ./freelss

This is it! just open a browser on your network and point it to your pi's ip....

Making Freelss start on boot.
  • This is optional. You can chose to skip it. If you do you have to login to the pi and execute cd freelss/src then sudo ./freelss and I am not keen on having to login via my cellphone every time my scanner boots. Being that this machine has no gui the boot up time is around 10 seconds.

  • I have been using the freelss directory to install freelss. /home/pi/freelss/src With that being said the gui for freelss also includes a shutdown button for stopping the pi gracefully.

Simply navigate to the /home/pi/freelss/src directory and create a file. sudo vi launcher.sh The file should contain the following code.



cd /

cd /home/pi/freelss/src

sudo ./freelss

cd /

  • Next up you need to make this file executable. sudo chmod 755 launcher.sh

  • Create a log directory. mkdir /home/pi/logs

  • Add the launcher script to the crontab. crontab -e and then add the following line at the end of the config. @reboot sh /home/pi/freelss/src/launcher.sh >/home/pi/logs/cronlog 2>&1

To test if this worked, sudo reboot if you can reach the gui after the reboot the script worked.

Happy 3D scanning, if you like my tutorial drop a tip in the bucket or subscribe to my youtube channel.


Bruno M.

Engineer, Tinkerer, Technologist, Maker.

New York

Subscribe to engineerd3d

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!