OctoPrint with OEM Hardware Tutorial (FlashNGo)

So, this is awesome! I just got my Zeepro dual-extruder today, and I’m trying this tutorial. I got the updated octoprint installed and seem to be able to access my printer, but I’m seeing some similar issues to what other people have reported

  • octoprint account zim/zim doesn’t seem to work for me
  • I can’t load a cartridge of filament, it appears that the printer is stuck hitting “http://192.168.1.23/printerstate/changecartridge_ajax”, and thinking I haven’t inserted the cartridge yet, so I’m trying to troubleshoot that.

Otherwise, really awesome, looking forward to using my printer with its original hardware :slight_smile:

edits: when I try to login, the octoprint log says:

# tail -F /config/tmp/octoprint.log  

2010-01-01 01:07:56,947 - octoprint - ERROR - Exception on /api/login [POST]
Traceback (most recent call last):
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1479, in full_dispatch_request
    response = self.process_response(response)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1693, in process_response
    self.save_session(ctx.session, response)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 837, in save_session
    return self.session_interface.save_session(self, session, response)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/sessions.py", line 326, in save_session
    val = self.get_signing_serializer(app).dumps(dict(session))
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg/itsdangerous.py", line 566, in dumps
    rv = self.make_signer(salt).sign(payload)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg/itsdangerous.py", line 409, in sign
    timestamp = base64_encode(int_to_bytes(self.get_timestamp()))
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg/itsdangerous.py", line 220, in int_to_bytes
    assert num >= 0
AssertionError

when I tail what I think are the webserver debug logs while loading a cartridge I see:

#
tail -F /var/www/tmp/debug.log

[2010-01-01T01:10:00Z]	MSG: missing cartridge	(application/helpers/printerstate_helper.php 859)

edit: for some reason it just let me login with zim/zim, wow that took a while, so weird! :slight_smile:

edit again: Okay, so now that I’m finally logged into octoprint, I see I can load filament there, giving that a shot, yay!

edit: Okay! Printing is working, turns out I didn’t wait long enough at first, and I needed to login to octoprint to get the filament loaded.

Thanks!
David

@middleca Yea. Octoprint takes forever to load. Glad it worked eventually. Ok. I have a bunch of feedback i need to address. Seems like many folks are able to get it working, but if youre on the fence, please wait for v2 coming in next day or so. Its tough to cover all cases, so its been amazing to get your feedback!
As for the cart load… I didnt try it. For me, i use the zim for setting up the wifi. But after that, octoprint for everything! The default garbage scripts try to apply rfid restrictions and are more pain than theyre worth. Theres filament load macros in the control tab of octoprint that should replace zim eqivalents. But right now, the two fight over control of printer, so i need to resolve that!

1 Like

Hi Waffles. I just ordered the Zim after reading this thread. A few questions:
Whats the difference between this route vs the raspberry pi route?
With this route, there are no hardware mods needed, besides swapping microSD cards?
If I wanted to use aftermarket filament and load from the top instead of from cartridges, what would I need to do?
Can I use both extruders and make a dual color print?
Once I do all steps 1-18, how do i get printing?
I know that last question is a newbie one but this will be my first 3d printer. Thats not to say I don’t know anything. Most of my friends have them and I’m a very quick learner so any help is greatly appreciated.

Thank You

Someone else would be better qualified to say what other advantages the rasp pi has over using the A10 board. For now, the main difference is that the rasp pi board is well understood, and this method is still working out a few issues in setup.

If you wanted to load from the top, there’s other threads on that around you can search for. Basically it’s just


printing that, cutting/getting a new feeder tube, and optionally disconnecting the lower steppers and adjusting the current that goes to the steppers. Or you can leave the lower steppers connected, and they’ll just move but not feed any filament.

To print: once the steps are done, you design/download a model (STL file) from thingiverse or wherever.
You use cura (free), Simplify3D (pay) software to slice the STL into a gcode file.
Then upload the gcode file to octoprint (theres a big button to do that)
Then press the little print button next to the file once its on there.

There are other steps. I cover my glass plate in blue painters tape for adhesion.
And then i level my board

So I restarted my printer this morning, and octoprint was crashing again and again

2010-01-01 01:44:22,509 - octoprint - ERROR - Exception on /favicon.ico [GET]
Traceback (most recent call last):
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1479, in full_dispatch_request
    response = self.process_response(response)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1693, in process_response
    self.save_session(ctx.session, response)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 837, in save_session
    return self.session_interface.save_session(self, session, response)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/sessions.py", line 326, in save_session
    val = self.get_signing_serializer(app).dumps(dict(session))
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg/itsdangerous.py", line 566, in dumps
    rv = self.make_signer(salt).sign(payload)
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg/itsdangerous.py", line 409, in sign
    timestamp = base64_encode(int_to_bytes(self.get_timestamp()))
  File "/usr/local/share/oprint/venv/local/lib/python2.7/site-packages/itsdangerous-0.24-py2.7.egg/itsdangerous.py", line 220, in int_to_bytes
    assert num >= 0

I eventually remembered that I had updated my system time yesterday, and did that again, and it immediately let me login and reload octoprint. I wonder if we can add a NTP client or something to the printer so it syncs the system time on startup?

# steps to fix if you have this

#ssh to your printer
ssh -l root 192.168.1.x

#update your system clock
date --set "2016/11/20 12:36pm"

#restart octoprint
service octoprint restart

@middleca - Weird! I’m not sure why your zim is losing time like that. Mine seems to keep time inbetween reboots. I’ll add setting up ntp to list of features for v2.

I’ve fixed a bunch of other issues, including network setup. I’m currently trying to track down where the printer freezes every now and then. If I press ‘fake aknolwedgement’ then it starts immediately, so I’m guessing something running on the zim wakes up now and then and eats the ack.

1 Like

So, I used to be a real suppoter of the RasPi solution, and read your tread a bit skeptical.
But four days ago, I decided to give it a try. Wrote the SDCard with your Image like I often do for the Pi, flashed the NAND with the card, and restarted without the SDCard… only connected with the LAN Cable and a Batterypack for Power (I soldered a Micro USB Connector to the original power cable, so can´t use it at the moment). And it works wonderful. :slight_smile:
A great Thank you to all who worked or still work on this.
BTW: If you have a Pi running your ZIM and just want to try, you can also connect the ZIMBoard with the USB Cable that you use with your Pi. You only have to connect it BEFORE you Boot the A10 Board. The serialport then is /dev/ttyACM0.
The great advantage over the Pi is the better performance. The disadvantage is the incompatibility to my Raspberry Display because the HDMI Port is missing.
I Wonder if I could simply solder a Port to the boad… :thinking:

Awesome! Maybe my clock battery died in storage or something (I also cut power to mine overnight because I’m paranoid about new gadgets that generate heat, so that might be my bad :slight_smile: ). Thanks again for your hard work on this!

1.8.4.2 released

Now has ntp
Uses SD card for storage
fixed up the stock firmware/wifi connection stuff

Let me know if there’s anything else we need!

1 Like

Ima testing it will post the result after 18 hours thanks i can use the cubie board and save my raspberry for other use. Clean looking printer ur a genius. Anyway can you figure out how to install the tmc2100 please see which pin outs needs to be modified for zeepro the pinout is soldered at the back of the board I don’t have time to unsolder and resolder the pin I test the default but it will overheat if not for my copper heatsink it would not work. Please test it and that would be an awesome mod to use the silent stick driver. thanks

Hi @canis_gee - let me know how your testing goes!

As for the TMC2100 drivers - I havn’t looked into it. In a standard ramps board, one would need to change some jumpers, then update the firmware --> the existing DRV8825 is setup, presumably for 32 microsteps, right? Then, we might not need to change anything.

the TMC2100’s definitely need heatsinks. But, I think if you started another thread and posted some pics of the RAMPS board that was included with the zim, I could better help you. This thread is already getting pretty long.

Please clarify what you meant about the de-soldering? You mean for the step settings, or for some other config? It does look pretty plug and play with minimal looking. Which pins are you connecting on the TM2100s? It looks like you need to remove pin 3 at the least, and i’ve seen some remove 2,3,4 and then bridge across to ground. I’d have to look into it more.

Hi @waffles and @canis_gee I am having a little trouble with my prints. The main one is that it keeps pausing and the problem is that it’s in the first layer and also in some other times in the printing process. I open the terminal and it said its a communication timeout. Do you know how can I solve it?

@maxx - sorry to see you’re having that issue. I thought it might just be my board. I mention this a few times in original post and in this thread.

“Known Issues
It seems like somewhere in the firmware, it hangs on doing M105’s occasionally. This probably happens with using raspPi as well. I’m working on the issue. Some have mentioned it could be an overheating issue. After 90 sec, it will resume printing.”

To be honest, I’m not sure if its a firmware issue or what. I’ve tried turning off all processes on the cubie board that were original, but the pausing still happens. I don’t think its a cubie issue. I’m torn between taking the latest 1.0.2-RC Marlin firmware and applying the hacked apart Zeepro mods, and trying to track it down in Jpod’s branch. I thought I might go back to 1.1.15 original and see if it still occurs, then move forward through the changes (buffer sizes and whatnot) change by change to see if i can narrow it down. It’s a bit time consuming though.

It eventually continues the print, so I havn’t been too bothered by it personaly, but I would like to track it down. I’d be curious if anyone running a pi octoprint ever sees M105 hanging?

canis’ suggestion of “M94 S700 before the print starts on the gcode option” seems to fix it, and worth a try.

@waffles ok, thanks. My main problem is that it is something not specific or measurable, it can happen in the first layer or 20 minutes later. I am only concerned when it happen in the first layer because it mess the print but thanks for the great work. I will be posting my results.

EDIT: Yes, all the pauses that it makes it’s from a M105 command (at least in my printer).

just change your usb wifi dongle, I burn my own octoprint image to the cubie board with everything default too lazy to change color and picture but everythings works fine. try putting the code M94 S700 before the print starts on the gcode option. Il post a video of mine after work.

Thanks so much for your reply waffles. My Zim is on the way. Should be here by the end of the week. I will try to use the A10 board with your 1.8.4.2 fw and leave everything genuine and stock if possible. I already got Simplify3d, so thats out of the way. How does bed leveling work on this printer.? Is it manual with a business card or whatever? Also, once I upload gcode to the printer via wifi, does my computer need to be on or once the the file is sent, it’s stored on the printer?

Question for canis_gee:
What did you do to convert your white Zim to abs? and can you please send me links to which extra fans you installed on your printer. I think I know which one the gold colored one is (http://www.ebay.com/itm/161809092813) but I dont know which black fans you have. Also, did you print mounts for these fans or ziptied?
By the way, your videos are really nice. I like your setup, with the 3 printers side by side. Amazing.

@ALi Canis_gee made a tutorial, you can check it here ZEEPRO Hardware MOD for 24/7 printing SOLUTION

The bed leveling comes in the manual and waffles added 3 buttons on the octoprint software (A,B,C) positions so you can level the bed. Once you upload the code to your octoprint you don’t need to use the computer. @waffles made a really good job, this is my first printer.

Not sur if this goes here but I’m using octoprint as described in this thread, I printed a few calibration cubes that came out well but now that I try to print something different the printer heats up, gets ready to print then cools off, but it seems that it isn’t a broken thermistor or heater cartridge, but something with the octoprint software I believe

. If anyone could help, I’d greatly appreciate it

check the terminal @David
Actually, try this -->
"Add “M84 S700” to the gcodes before printer init, or before print starts

Per canis, this is required, and will be added to the next version. but you can work around for now.

btw, new version of f/w coming soon!

1 Like

1.8.4.3 released
1.8.4.3 - https://drive.google.com/open?id=0B18Pfa0uHUrMdXlqNzZJOGQzQWM

Scroll to very top for release notes and install instructions!

2 Likes