# OctoPrint on M3D

## Overview

https://www.youtube.com/watch?v=XvW3j-dI_Y0

![](https://cdn-learn.adafruit.com/assets/assets/000/029/650/medium800/raspberry_pi_m3d-fio-hero.jpg?1452544200)

## M3D Software

In this guide, you'll learn how to use OctoPrint with the Micro M3D. The Micro 3D ships with M3D slicing software, which requires a tethered USB connection. OctoPrint allows the Micro to run off a Raspberry Pi, essentially putting it on the WiFi networking, allowing remote hosting. With the&nbsp;M3D Fio plugin for OctoPrint, you can calibrate settings, level the bed and manage print jobs.

## M3D Fio

The [M3D-Fio plugin for OctoPrint](https://github.com/donovan6000/M3D-Fio)&nbsp;is developed by GitHub user [donovan600](https://github.com/donovan6000/). The plugin is a great alternative to the M3D official software if you’re looking to manage the Micro remotely. It’s easy to install and works with OctoPrint’s autodesk serial port and buadrate feature. M3D Fio allows you slice STLs, calibrate, load/unload filament, update firmware, manage EEPROM and more.r.&nbsp;

## Parts

If you're an own of the Micro M3D printer, you can get the parts below to get OctoPrint up and running.

- [Raspberry Pi B+/2](https://www.adafruit.com/products/2358)
- [WiFi dongle](https://www.adafruit.com/products/814)
- [Class 10 micro SD card](https://www.adafruit.com/product/2692)
- [microUSB 5V power&nbsp;supply](https://www.adafruit.com/products/1995)

We also carry an [OctoPrint pack](https://www.adafruit.com/products/2896)&nbsp;that has everything you&nbsp;need. It also ships with a&nbsp;preflashed&nbsp;SD card with the OctoPrint image for Raspberry Pi.

# OctoPrint on M3D

## OctoPrint Set up

To get started, we need to burn the OctoPrint image to an SD card. You can downoad the image using the link below and use an image burning&nbsp;app to burn it to an SD card. You can get a list of image burning apps and burning instructions here:&nbsp;[http://elinux.org/RPi\_Easy\_SD\_Card\_Setup](http://elinux.org/RPi_Easy_SD_Card_Setup)

The OctoPrint pack comes with OctoPi&nbsp;preburnt to the SD card.

[Download OctoPrint Image](http://octoprint.org/download/)
![](https://cdn-learn.adafruit.com/assets/assets/000/029/632/medium800/raspberry_pi_open-octopi-network.jpg?1452542327)

## Enter WiFi&nbsp;Settings

Before we boot up the Raspberry Pi, you’ll need to add your WiFi credentials to the **octopi-network.txt** file so it can connect to your network. Insert the SD card into your computers card reader and locate&nbsp;the file named **octopi-network.txt** , it’s in the root directory.

![](https://cdn-learn.adafruit.com/assets/assets/000/029/633/medium800/raspberry_pi_network-ids.jpg?1452542327)

## OctoPi Network Config

Open the **octopi-network.txt** in a text editor. Here we can enter our wifi credentials.

Look for the type of wifi network you have setup and enter your network’s name and password.

Remove the hashtag symbols from your wifi option like shown in the photo.&nbsp;

Save the config and close the&nbsp;file.

## Boot Up Raspberry Pi

Eject and remove the SD card from your computer and insert it into the Raspberry Pi. Plug in the microUSB cable from your power supply to the Raspberry Pi and it should automatically boot up.

![](https://cdn-learn.adafruit.com/assets/assets/000/029/636/medium800/raspberry_pi_ip-adress.jpg?1452542329)

Connect to OctoPrint webpage  
If you have a display connected to your Raspbery Pi, the IP address will show up in the terminal. Take a note of the IP address and enter that into the URL box in your web browser.

If you don't have a display connected to the Raspberry Pi, you can try hitting **http://octopi.local/**

![](https://cdn-learn.adafruit.com/assets/assets/000/029/637/medium800/raspberry_pi_login-setup.jpg?1452542329)

## Setup OctoPrint Admin Login

OctoPrint will prompt you choose a the username and password for accessing the interface. We recommend reading the description and choosing to " **Keep Access Control Enabled**". Choose a username and password and enter it into access window. Next, we need to install the M3D Fio plugin - this will communicate with the M3D printer.

# OctoPrint on M3D

## Add M3D-Fio

![](https://cdn-learn.adafruit.com/assets/assets/000/029/638/medium800/raspberry_pi_add-m3d-fio1.jpg?1452542333)

## Add M3D-Fio Plugin

Now we can install the M3D-Fio plug that allows you to control the M3D printer. In the top menu bar, click on **Settings** to open the **Plugin Manager**. Then, click on the " **Get More**" button.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/029/641/medium800/raspberry_pi_add-m3d-fio2.jpg?1452542337)

Search for M3D-Fio in the search filed and click on the **Install** button.

If the plugin doesn't appear, enter the M3D-Fio address in to the " **...from URL**" textfield. The address to install the plugin is:&nbsp;

[https://github.com/donovan6000/M3D-Fio/archive/master.zip](https://github.com/donovan6000/M3D-Fio/archive/master.zip)

Click **Install** to begin the installation process. Once the plugin is installed, you'll be asked to **restart** OctoPrint to use M3D-Fio plugin.

## Using Custom CURA&nbsp;Profiles

The M3D-Fio plugin includes a variety of different material settings. If you find yourself needing to edit profiles for different materials or choosing specific quality settings, you are free to customize your profiles! You can start with our base profile to edit from, which you can download load it blow:

[Download M3D Profiles](https://github.com/adafruit/Printer-Profiles/tree/master/M3D)
![](https://cdn-learn.adafruit.com/assets/assets/000/029/643/medium800/raspberry_pi_cura-profile-export.jpg?1452542452)

To export profiles that can run inside OctoPrint, use [Cura 15.04](https://ultimaker.com/en/products/cura-software/list)&nbsp;to export profiles and then import them into OctoPrint.

Danger: 

[Download Cura 15.04](https://ultimaker.com/en/products/cura-software/list)
![](https://cdn-learn.adafruit.com/assets/assets/000/029/642/medium800/raspberry_pi_add-m3d-fio-profiles.jpg?1452542337)

## Adding custom Cura Profiles

From the menu bar, click on **Settings** ,&nbsp;then **CuraEngine** on the left sidebar to add custom profiles. Add a name and description to the profile and you'll be able to select it next time you drag an STL file onto the UI.

![](https://cdn-learn.adafruit.com/assets/assets/000/029/645/medium800thumb/raspberry_pi_drag-stl.jpg?1452543029)

## Slice and Print!

To slice an STL file, just drag and drop it into the OctoPrint UI.

Choose your material profile and name for the gcode file. Select whether or not you'd like&nbsp;the print to start right away.

Once the " **Modify Profile**" window&nbsp;pops up, you are free to edit the text settings for each&nbsp;attribute before confirming the&nbsp;slice settings.&nbsp;

Inside the **Modify Model** window,&nbsp;we can position, rotate or clone objects before printing. Click **Slice** to&nbsp;process&nbsp;your model.

Slicing on the Raspberry Pi can take a few seconds to a couple of mintues depending on&nbsp;the size and complexity of the model.

After slicing is complete you can start the print!

![](https://cdn-learn.adafruit.com/assets/assets/000/029/915/medium800/raspberry_pi_control-tab.jpg?1453321008)

## Filament&nbsp;and Calibration

## &nbsp;

## Loading filament

To load and unload filament, click on the " **Control**" tab to access the **Unload** and **Load** buttons. Under the **Filament** column you can see the the buttons for **Unload** and **Load**. Select the operation you'd like,&nbsp;the nozzle&nbsp;will warm up and then start extruding or retracting.

You can also heat up the nozzle first&nbsp;and then type in a length (about 60mm to load or unload filament) to extrude or retract under the **Extruder** column.&nbsp;

## Calibration

Click on the " **home"** icon button&nbsp;under&nbsp; **X/Y.&nbsp;** The extruder will move to the back and to the right&nbsp;to find the orientation of the bed before resting above&nbsp;the middle of the&nbsp;&nbsp;bed.

We can use&nbsp;a piece of paper to gague the heigh of the nozzle. Lower the nozzle by clicking on the 1mm button first. Under the **Z** column, click the down arrow once or twice, until it almost touches the piece of paper.&nbsp;Under the **Calibration** &nbsp;column, click on the **.01&nbsp;** and then on the down button under the **Z** column until the nozzle grips onto the piece of paper.

Click on the " **Save Z&nbsp;as 0**" to save the nozzle height.

Now you can level each corner by clicking on diagnal&nbsp; **arrow buttons** &nbsp;for each corner. Repeat lowereing the nozzle by 1mm then .01mm until it slightly grips the piece of paper for each corner. Don't forget to click the&nbsp; **Save**  **Z** &nbsp;buttons for **front left** , **front right** , **back right** and **back left** &nbsp;after leveling&nbsp;each corner.&nbsp; **&nbsp;**


## Related Guides

- [Rack and Pinion Bot](https://learn.adafruit.com/rack-and-pinion-bot.md)
- [PiGlass](https://learn.adafruit.com/piglass-wearable-raspberry-pi-computer.md)
- [Trinket NeoPixel LED Longboard](https://learn.adafruit.com/trinket-neopixel-led-longboard.md)
- [Raspberry Pi YouTube Boombox](https://learn.adafruit.com/youtube-radio.md)
- [No-Code Pool Party Notifier](https://learn.adafruit.com/pool-party-notification-device.md)
- [Animated Scrolling "Mario Clouds" TFT Jewelry](https://learn.adafruit.com/scrolling-mario-clouds-tft-jewelry.md)
- [Adafruit Class Library for Windows IoT Core](https://learn.adafruit.com/adafruit-class-library-for-windows-iot-core.md)
- [Personal and Portable ESP32-S2 Web Server](https://learn.adafruit.com/wordle-personal-esp32-s2-web-server.md)
- [An Illustrated Shell Command Primer](https://learn.adafruit.com/an-illustrated-shell-command-primer.md)
- [Adafruit Desktop 3D Printer Buyers Guide](https://learn.adafruit.com/adafruit-desktop-3d-printer-selection-guide.md)
- [UV Manicure Lamp](https://learn.adafruit.com/uv-manicure-lamp.md)
- [Talking Musical NeoPixel Clock with Infrared, BLE and Touch Controls](https://learn.adafruit.com/talking-musical-neo-pixel-clock-with-infrared-ble-and-touch-controls.md)
- [eInk Slow Movie Player](https://learn.adafruit.com/eink-slow-movie-player.md)
- [Unibeam](https://learn.adafruit.com/unibeam.md)
- [Ultimate Youtube Live Camera](https://learn.adafruit.com/ultimate-youtube-live-camera.md)
