OctoPrint with OEM Hardware Tutorial (FlashNGo)

Ok folks, think I solved the wifi timing out issue. It’s been a lot of long hours. Expect new version coming soon once I get it out for testing. Lots of new goodness in latest version! Well worth an update, even if you’re happy with older versions.

1.8.6 has been released!
Wifi issues resolved
latest octoprint
more fanciness!

lmk if there’s any issues. This one should be a keeper though, and recommended upgrade.

next up: updating from wheezy to jessie linux distro. Not much gain for common usage, but, let’s keep this in current versions!

1 Like

Have you also included the new firmware in this build?
compiling-error-solved-jpod-firmware-using-typedef-name-fpos-t-after-struct

BTW: Merry Christmas to all of you!

Yea. I fixed that in november in the octozim. Between 1.8.5 and 1.8.6, no marlin updates though.

EDIT: - So how’s this version working for everyone? Any issues, requests?

Is the empty Zim SD card image for idiots like me who accidentally formatted that master SD card in the A10?

yes it is @sflaggjr :slight_smile:

OMFG…
I FINALLY found what caused my Problems with the flash’n go software.

After @waffles´s advice with the missing empty card in my Cubie, I finally found the logs in the sdcard-folder. Right when I wanted to send the log file, I realised the problem:

2010-01-01 00:04:49,559 - octoprint - ERROR - Exception on /api/settings [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
AssertionError
2010-01-01 00:04:49,565 - tornado.access - ERROR - 500 GET /api/settings (10.0.0.156) 171.61ms
2010-01-01 00:05:07,873 - octoprint.server.util.sockjs - INFO - Client connection closed: 10.0.0.156

It´s the Time!
The Systemtime is January the 1st (what is right) in 2010
Damn.
Changed the date with Putty using
date -s "1 JAN 2017 14:00:00"
And rebooted with shutdown -r now, and it seems to work…

Good find. Its supposed to have NTP installed, but maybe if youre in another country its not able to communicate right? very odd
but glad you figured it out!

maybe it´s a connection issue because I´m in Germany, or it was blocked by one of the firewalls…
I usually use ptbtime1.ptb.de as NTP, which is directly connected to the atomic clock of the “Physikalisch-technische Bundesanstalt” in Braunschweig, Germany.
Not that I would ever need a clock that precise ever in my life, but… you know…
But I still haven´t managed to get the plugin manager running. Sais that the PIP command was not available or not configured.
So I tried this:
root@zim:~# mount -o remount,rw /
root@zim:~# wget https://bootstrap.pypa.io/get-pip.py
and then
root@zim:~# python get-pip.py
…unfortunately, it´s not that easy…

later: Okay, got it. Had to stop the octoprint daemon first, then set the Filesystem to RW, then start the octoprint daemon again… Worked.
Can´t wait to have some “Set R/W” and “Set Read only” buttons in the GUI…

Yea, setting RW/RO requires root access, and for security, i dont want to give general sudo privs to the zim user, but im pretty sure i can give the user just mount/unmount privs.
next version wishlist begins!

Edit: if you want these buttons to work now, just add zim user to root group, should work just fine. then add custom commands and stuff

Thanks! Would it also work if I made an account for the root user in octoprint? Or would it be a different user (are the users in octoprint connected to the users in the OS or is it independent?)? I think the zim user does auto-login into the operating system while starting?

Hi waffles. Is it possible to access and make changes to the marlin firmware like in the video. —> https://www.youtube.com/watch?v=3gwWVFtdg-4

For example, if I want to add a capacative sensor, sd support, or lcd screen. I would have to comment that out in the firmware. How can I do that without messing up the octoprint/wifi side of the printer?

Yes Ali, you can update your own marlin just upload it to /firmware then run the firmware update script mentioned in first post

And J Schmidt, the users are different between Unix and octoprint, so you’d need to add Zim user to root group for the moment or add summers access to mount command

How can I get to “/firmware” ? Do I access it once I ssh into the Zim?
Also, which version of marlin did you use? Is there a version made specifically for the zim?

yes, its on the box if you ssh over to it
you can scp files over to the box, just make sure theres only one file in the firmware directory, the .hex file you build with your mods.
be careful, you can screw things up :smiley:

there’s a version i have on github, but jpods also works. there’s links around.

Please start a new thread for it, and please document your progress so others can follow in the future!

1 Like

Thanks for the great tutorial, just got my zim yesterday and made my first calibration print today. I’ve just read through all the comments and noted that even though i downloaded and installed the newest revision, i’m still having the same problems the older versions had. after a print completes my wifi shuts off completely, and my second hot end current and target temperature each show as just a dash on the graph. any suggestions or should i just redownload it and install it again?

Did you manually update the ramps firmware? It’s one of the steps

ahh… that was the step I missed. apparently I forget to properly read instructions after 12am lol. thanks again, temps are showing correctly now. hopefully when this print is finished the wifi will remain connected as well. apart from the piss poor bed attachment method i’m pretty happy with this machine. I wish i had caught it when it was only 135-150 so i could have bought another one or two

nope… wifi kicked at the beginning of the print this time… very strange. I logged into my access point and its not just failure of the webserver, its completely disconnected from the network.

well… crap.

I had others say that the new driver build fixed the issue for them, so I was feeling like it was well tested.

I wonder why the wifi driver isn’t happy… mind telling me which router model you have? I might not be able to do much with the info, as im not about to go out and buy one, but maybe some googling will show something specific to certain router