Octoprint (3D print server) on Omega2+

  • This looks really good, I am going to begin the implementation tonight. Did you manage to get a webcam working with the Omega2+/OctoPrint?
    I am using an Arduino + RAMPS and Marlin to run my printer. Are you aware that there is an Arduino dock for the Omega2+? I will post a picture when it has arrived.
    Great work. Thanks

  • So I have finally gotten around to putting my electronics into an enclosure and was attempting to connect to my RAMPS board though the USB+ and USB- on the expansion board due to space constraints as seen below.

    Red => 5V
    Grey => GND
    blue =>USB-

    Mega USB A
    Red => 5V
    Grey => GND
    blue=> pin 2 (USB -)
    Green=> pin 3 (USB +)

    I power everything up through the Green Terminal Block on the Ramps Shield.

    I am not able to connect to the Ramps board with this setup. The issue I have come across is that I cant seem to find any documentation on using the USB pins. Anyone have a resource I could read up on to get this working in this fashion?



    After attempting to connect through the normal USB A to the ramps it seems that the Omega is seeing the serial port

    • [ 169.668429] usb 2-1: new full-speed USB device number 3 using ohci-platform
      [ 169.903385] cdc_acm 2-1:1.0: ttyACM0: USB ACM device

    but Octoprint is not when connected through the pins.

    So I am currently attempting to solve this issue in hopes that will also alleviate the above issue.

    The error I am getting in the Octoprint Terminal is:

    • Changing monitoring state from 'Offline' to 'Opening serial port'
      Connecting to: None
      Unexpected error while connecting to serial port: None SerialException: '[Errno 2] could not open port None: [Errno 2] No such file or directory: 'None'' @ comm.py:_openSerial:795
      Changing monitoring state from 'Opening serial port' to 'Error: Failed to open seria...'

  • @Phil-Heuy Your picture doesn't explain what the issue is. You just connect USB+ to the other devices USB+, USB to USB-, 5V to 5V and GND to GND.

  • @WereCatf I do have things set up as you stated. Thank you for letting me know I didnt really state my issue. I have corrected my original post and added my wiring configuration.

  • I was able to get Octoprint 1.3.1 installed with minimal effort. It requires python libs that require compiling with GCC so you need to install GCC.

    You will need more RAM for this to work. You can do this by creating a swap file. I put my swap file in the root (/) folder which resides on the SD card when following the instructions here. I also made my swap file 512 megabytes, 256 was not enough.

    Follow the instructions above and stop at step 3.

    Un-comment this line in the /etc/opkg/distfeeds.conf
    src/gz reboot_base http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base

    opkg update
    opkg install gcc python-dev --force-overwrite
    pip install --upgrade setuptools

    Replace step 3 with the following steps...
    cd /root
    wget https://github.com/foosel/OctoPrint/archive/1.3.1.zip
    unzip 1.3.1.zip
    cd OctoPrint-1.3.1
    pip install -r requirements.txt

    Follow the remaining steps but replace OctoPrint-1.0.0 with OctoPrint-1.3.1

  • Tried installing 1.3.1 with cache & gcc. Got stock on a netifaces error. Either upgrading pip or installing python-dev seemed to get past that.

    pip install --upgrade pip
    opkg install python-dev --force-overwrite
    pip install netifaces

    When I make it gives this error and it is not an IP conflict problem. Why do I get this error? How do we fix it? I'm waiting for your help

    link text

    alt text0_1489356373995_photoo1.png

  • @ayhan-uçar Stop spamming in every single thread you can find, you twat

  • @Jason-Allred I did forget to add the opkg install python-dev part. I'll run through everything else I did on a clean system to figure out what else I missed. I will point out that netifaces is where the hangup was. Whatever I am missing here got it to install.

  • @Jason-Allred Try running pip install --upgrade setuptools then netifaces should work.

  • @Jeff-Karney Also having troubles with netifaces installing (for Octoprint 1.3.1), all versions 0.10.X wont install (thought i would try it out), followed all the steps mentioned in this post. What firmware are you using on the omega 2+?

    Im currently running b160. If your interested the output from pip is http://pastebin.com/pCyhgxpP it looks like python cant find the compiler as its missing the cache_cc directory. Did you set any environment variables to point to the GCC compiler?

  • Is it ok if I power my omega2+ via the USB A port? In other words, it's getting its power form the 3D printer's USB connection. It's working just fine, I'm just wondering if I am setting myself up for problems later on. It certainly makes for a cleaner install.
    I originally had it powered via the microUSB from my laptop but then I went to power the omega2+ from a USB power adapter plugged into the power bar. I noticed that when I unplugged the microUSB power cable, it stayed on.

    My printer is the Kodama Trinus3D which is running a proprietary variant of Marlin (I think).

  • administrators

    @Jason-Taylor: It seems you have a non-standard USB port on your 3D printer. Usually an USB client port does not feed back power to the host. Assuming your 3d printer can provide enough current, you can totally run you Omega2 off the printer power without an extra power supply.

  • @Jeff-Karney Like @Ben-Murphy from a month ago, I'm having issues installing OctoPrint 1.3.1 - first when doing the pip install --upgrade setuptools, and then when when running pip install netifaces. I've just updated to b160, on an Omega2+. Any ideas as to what's going wrong?

  • @Jason-Taylor I have finally soldered up an adapter board so I can use my Omega2+ as a OctoPrint server, and since the Omega2+ consumes around 180-250ma, and the Kodama Trinus is a bit naught and backfeeds down the USB line (have they not heard of a diode?), I decided to have it power from the Trinus's USB, since I was connecting to it to control the printer. Seems to be coping just fine! Now I just have to work out how to upgrade OctoPrint, as I'm current stuck with the v1.0.0 as the alternate instructions for 1.3.1 didn't work for me.

  • Hi,
    I also have the problem with netifaces installing OctoPrint 1.3.1or OctoPrint 1.3.2.
    There's a solution?

  • This post is deleted!

  • See if this fixes the compile problem.
    ln -s /usr/bin/gcc /usr/bin/ccache_cc

  • This is amazing!! Can't wait to try it out!

  • @Alan-Brand Well, I ran that command, but I'm not sure yet. I was initally getting out of memory errors, so I added a 256MB swap file, and then kept going, and now I'm getting a "IOError: [Errno 28] No space left on device"??? Hello... there's only 13.3G of free space on the micoSD? :-O :gun:

    Edit: Monkey behind the keyboard then realises that he had stupidly and willfully skipped instructions from earlier, and said error message was a result of not enough space in /tmp. Error message could have pointed that out though! :-O

    Later Edit: I can now confirm that after a) adding some swap memory b) following the instructions properly and possibly c) doing the ln -s /usr/bin/gcc /usr/bin/ccache_cc suggested by @Alan-Brand that I have OctoPrint 1.3.1 installed and running. I see 1.3.2 is now out and about, but I haven't tried it out just yet. ;)

    Even Later Edit: Ok, decided to download and roll out OctoPrint 1.3.2 since I'm fiddling around with stuff. Configured without a hickup, and is now running happily. Instead of the root user patch, you are better off using the bypass option that is present now in OctoPrint... so instead of adding octoprint & to /etc/rc.local you want to add octoprint serve --iknowwhatimdoing & The same would apply to 1.3.1, and as far back as whenever that option was introduced.

    root@OctoPrint:~/OctoPrint-1.3.1# pip install -r requirements.txt
    Processing /root/OctoPrint-1.3.1
    Requirement already satisfied: flask<0.11,>=0.9 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-r requirements.txt (line 10))
    Collecting Jinja2<2.9,>=2.8 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached Jinja2-2.8.1-py2.py3-none-any.whl
    Requirement already satisfied: werkzeug<0.9,>=0.8.3 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-r requirements.txt (line 10))
    Collecting tornado==4.0.2 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached tornado-4.0.2.tar.gz
    Requirement already satisfied: sockjs-tornado<1.1,>=1.0.2 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-requirements.txt (line 10))
    Requirement already satisfied: PyYAML<3.11,>=3.10 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-r requirements.txt (line 10))
    Requirement already satisfied: Flask-Login<0.3,>=0.2.2 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-r requirements.txt (line 10))
    Requirement already satisfied: Flask-Principal<0.4,>=0.3.5 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-r requirements.txt (line 10))
    Collecting Flask-Babel<0.10,>=0.9 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached Flask-Babel-0.9.tar.gz
    Collecting Flask-Assets<0.11,>=0.10 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached Flask-Assets-0.10.tar.gz
    Collecting markdown<2.7,>=2.6.4 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached Markdown-2.6.8.tar.gz
    Collecting pyserial<2.8,>=2.7 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached pyserial-2.7.tar.gz
    Requirement already satisfied: netaddr<0.8,>=0.7.17 in /usr/lib/python2.7/site-packages (from OctoPrint==1.3.1->-r requirements.txt (line 10))
    Collecting watchdog<0.9,>=0.8.3 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached watchdog-0.8.3.tar.gz
    Collecting sarge<0.2,>=0.1.4 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached sarge-0.1.4.tar.gz
    Collecting netifaces<0.11,>=0.10 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached netifaces-0.10.5.tar.gz
    Collecting pylru<1.1,>=1.0.9 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached pylru-1.0.9.tar.gz
    Collecting rsa<3.3,>=3.2 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached rsa-3.2.3-py2.py3-none-any.whl
    Collecting pkginfo<1.3,>=1.2.1 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached pkginfo-1.2.1.tar.gz
    Collecting requests<2.8,>=2.7 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached requests-2.7.0-py2.py3-none-any.whl
    Collecting semantic_version<2.5,>=2.4.2 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached semantic_version-2.4.2.tar.gz
    Collecting psutil<3.3,>=3.2.1 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached psutil-3.2.2.tar.gz
    Collecting Click<6.3,>=6.2 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached click-6.2-py2.py3-none-any.whl
    Collecting awesome-slugify<1.7,>=1.6.5 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached awesome-slugify-1.6.5.tar.gz
    Collecting feedparser<5.3,>=5.2.1 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached feedparser-5.2.1.zip
    Collecting chainmap<1.1,>=1.0.2 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached chainmap-1.0.2-py2.py3-none-any.whl
    Collecting future<0.16,>=0.15 (from OctoPrint==1.3.1->-r requirements.txt (line 10))
      Using cached future-0.15.2.tar.gz
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
        status = self.run(options, args)
      File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 324, in run
      File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 380, in prepare_files
      File "/usr/lib/python2.7/site-packages/pip/req/req_set.py", line 620, in _prepare_file
        session=self.session, hashes=hashes)
      File "/usr/lib/python2.7/site-packages/pip/download.py", line 821, in unpack_url
      File "/usr/lib/python2.7/site-packages/pip/download.py", line 663, in unpack_http_url
        unpack_file(from_path, location, content_type, link)
      File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 605, in unpack_file
        untar_file(filename, location)
      File "/usr/lib/python2.7/site-packages/pip/utils/__init__.py", line 578, in untar_file
        shutil.copyfileobj(fp, destfp)
      File "/usr/lib/python2.7/shutil.py", line 52, in copyfileobj
    IOError: [Errno 28] No space left on device
    root@OctoPrint:~/OctoPrint-1.3.1# free
                 total       used       free     shared    buffers     cached
    Mem:        125748      35696      90052       7392        660      15984
    -/+ buffers/cache:      19052     106696
    Swap:       262140      15060     247080
    root@OctoPrint:~/OctoPrint-1.3.1# df -h
    Filesystem                Size      Used Available Use% Mounted on
    /dev/root                 5.5M      5.5M         0 100% /rom
    tmpfs                    61.4M     21.1M     40.3M  34% /tmp
    /dev/mmcblk0p1           14.5G    510.7M     13.3G   4% /overlay
    overlayfs:/overlay       14.5G    510.7M     13.3G   4% /
    tmpfs                   512.0K         0    512.0K   0% /dev

Log in to reply

Looks like your connection to Onion Community was lost, please wait while we try to reconnect.