1. Introduction
"The Micro" is a quiet affordable 3D printer well suited for beginners. The company's printing software is available for Windows, Mac, and also Linux. But since I prefer using open source software (and the software was Mono based anyway), I was looking for other ways to print under Linux. Here's what I found.2. First connection
There is a small software M33 Linux to access the M3D printer. It is already superseded by the plugin M33 Fio for OctoPrint (which I will cover later), but it is a nice way to setup basic drivers and first connection test.- Download the latest snapshot, unzip it and enter the directory.
- Execute "make"
- If you see an error like this: "unrecognized command line option '-std=c++14'" edit the Makefile and change the compiler to a more recent one (like g++-6 depending on your linux distribution)
- do the following steps with root permission:
- copy (as root) the file 90*.rules file to /etc/udev/rules.d as mentioned in the file itself. It will setup a udev rule to allow all users access the printer. I recommend changing the permission though to 0660 instead of 0666 as the latter basically would give all processes access while the former only allows users in the users group to access the printer.
- let udev read the new rule: "udevadm control --reload-rules"
- connect the printer.
- check "dmesg" output:
usb 1-2: New USB device found, idVendor=03eb, idProduct=2404 usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-2: Product: The Micro usb 1-2: Manufacturer: M3D usb 1-2: SerialNumber: BK15050402100010 cdc_acm 1-2:1.0: ttyACM0: USB ACM device
- if you don't see the last line about the ACM device, you need to manually load the kernel module: "modprobe cdc_acm"
- check "dmesg" again to see the ACM device.
- execute "./m33-linux"
- it should connect to the printer and print out some settings.
- enter "quit" to exit the program again.
- if you experience problems like "printer not detected", check that the correct device file is used. The tool accesses /dev/micro_3d which is a symlink to the actual ttyACM* device as created by the udev rule.
3. OctoPrint with M33 Fio plugin
OctoPrint is a very nice printing software suite for a wide variety of 3D printers. It is python based and the user interface is the web browser which makes it quite nice to use.3.1. Setup prerequisites
- You need python 2.7 and python virtualenv. I recommend to install it via your distribution's package manager but you can use "pip" as well.
- OctoPrint is not very explicit about this, but you need to install
CuraEngine which converts
3D models to 3D printing instructions. OctoPrint currently works
only with an older version of CuraEngine which has the nice side
effect of requiring much less external libraries. In contrast to
latest version, you don't need to install protobuf or libArcus.
- To install, download the latest 15.04 version: https://github.com/Ultimaker/CuraEngine/releases/tag/15.04.6
- Extract the archive and enter the directory.
- Run "make" to compile it.
- On success, you will find the standalone binary in build/CuraEngine.
- Copy it anywhere you want, you later just need the path to the binary.
3.2. Setup OctoPrint
OctoPrint does not need to be installed system-wide, you can choose the location freely.- Download the software:
git clone https://github.com/foosel/OctoPrint.git OctoPrint
- Enter the directory OctoPrint
- At the time of this writing, there is compatibility issue with the
M3D driver M33 Fio
(https://github.com/donovan6000/M33-Fio/issues/216). The workaround is to use the older version 1.3.1:
git reset --hard 1.3.1
- Setup a python virtual env:
virtualenv venv
- Install OctoPrint into that virtual environment:
./venv/bin/python setup.py install
- Start OctoPrint:
./venv/bin/octoprint
- Point your browser to http://localhost:5000 and follow the initial setup instructions. You don't have to change anything but make sure you set the correct path to the CuraEngine. You can change it later though.
- In the top left widget "Connection" you should be able to select the ttyACM. If you see it as an option, everything is fine and you can leave it in AUTO.
3.3. Setup M3D plugin
- Go to the settings in the upper right menu bar.
- Select "plugin manager" and click on "more"
- In the search bar, enter "m33 fio" and install the plugin.
- Activate it by clicking on the circle in the actions column.
- Click on save.
- Now stop the server by pressing Ctrl-C in the terminal where you have started the octoprint command and start it again with the same command.
3.4. First test
Now since everything should be set up, you can start doing the first steps in printing.- Click on "connect" to connect the printer.
- The status should become "ready".
- A dialog might pop up asking for updating the firmware of the printer which is usually fine to do.
- Go to the control tab and you should be able to move the print head by clicking on the direction button. That's a nice test that the actual communication works.
- Download a 3D model (for example from this page: https://printm3d.com/3dmodels)
- Upload the file in the lower left widget and click on the eye icon to see the model in the model tab.
- Click on the right most button in the file list to "slice" the model. Follow the dialogues, you don't have to change anything except maybe for the printer model and printing material (ABS vs. PLA)
- The GCode viewer tab you should be able to see the different printing layers.
- Now you can click on print to start the printing process.
4. 3D modeling programs
There are many open source modeling programs available that can also create STL files, here is short list:- https://www.blender.org/
- http://www.artofillusion.org/
- http://ayam.sourceforge.net/
- http://www.k-3d.org/
- http://www.freecadweb.org/
- http://www.openscad.org/
tags: 3dprinting2