Creality WiFi Takes On Octoprint

A very common hack to a 3D printer is to connect a Raspberry Pi to your printer and then load Octoprint or a similar program and send your files to the printer via the network. [Teaching Tech] noticed that Creality now has an inexpensive WiFi interface that promises to replace Octoprint and decided to give it a quick review.

You might wonder why you’d want this system when Octoprint exists? Mainly, the value proposition is the price. You can buy the Creality box for about $20. A Raspberry Pi with a similar case would be at least twice that price. In addition, the box integrates with a Thingiverse-like library and does cloud slicing, which is attractive when you have a very small computer connected to your printer.

However, [Teaching Tech] found some issues. The box was pretty picky about connecting to printers and there were many other problems. The 3D model library wasn’t very comprehensive, although that could change if the thing got very popular. Worse, the slicer didn’t really produce stellar results.

We have to admit, an attractive network interface for $20 would be of interest. But it is hard to see how this would be a better value than Octoprint unless you were very short on cash and had no Raspberry Pi surplus laying around. You still need an SD card and a power supply, so those extras are a wash.

On the other hand, if Creality fixes the problems and expands the 3D model library, we’d buy one. But it remains to be seen if either of those things will happen, much less both of them. We do wish [Teaching Tech] had opened the thing up for us. Maybe next time.

We like Octoprint (and the similar Repetier Server). We also like that there are many plugins for it, something that is not likely to happen with a closed-source box like the Creality. If you really want to have fun with a Raspberry Pi and a 3D printer, consider Klipper. That’s a very different approach to using the Pi with a printer, but it does have some advantages.

76 thoughts on “Creality WiFi Takes On Octoprint

  1. “You can buy the Creality box for about $20. A Raspberry Pi with a similar case would be at least twice that price”
    Wrong: you absolutely don´t need a Raspi 4 to run octoprint. A second hand Raspi2 for less than 20USD is plenty enough.

    And not depending on this damn cloud is a plus.

    1. Maybe you don’t need a Pi 4, but the damn thing is ridiculously slow for what it’s doing – shuffling data between wifi, sdcard and usb with little modification. I’ve tried to use OctoPi on a Pi 1 and gave up – it takes over 10 minutes to boot. I’m too lazy to write a replacement so I’m back to shuttling sd-cards, and the Pi runs only mjpg-streamer with little effort (ironically, this is the only part which actually might require some compute power).

      Hardware aside, maybe creality actually wrote a decent alternative to octoprint?

      1. It actually does not run that slow, but it does take forever to boot. Part of it is that OctoPrint does use vanilla raspbian which is not optimized for fast boot in the slightest. The other part is the OctoPrint code itself, it does some silly operations on the saved gcode files at startup and that takes forever (10+ minutes). The justification from the OctoPrint developers is “it a server, does not need to be rebooted”. IMO it is quite silly.

        Once it boots, it works ok even on Pi Zero, with camera and all.

        1. I very much disagree. With the Zero and a camera, the printer would regularly seize up printing from the Pi. Hell, it would even sabotage prints from the SD card if you did any more than monitor the print from the C&C menu.

          1. I ran a Pi Zero W with Octoprint for a year and it worked fine. It was slow and had a pi camera streaming low res, and I didn’t ask much of it. It printed, no problems. Is slow to boot fair for a system of uptime typically in weeks? Didn’t bug me as much as the overall slowness. Pi4 ftw.

    2. But they’re not going to be selling a second hand product. A new raspi2 will cost about the same as a raspi4, once you account for recouping the engineering required to make the rest of the saleable product

    1. Yep mt7688 chipset running openwrt, an actually decent sized antenna and a 4 pin switch programming port, ssh is disabled out the gate working on getting a bootloader flashed via the jtag rn

    1. After further research its a common Mediatek 7688AN with 512MB RAM. It Runs OpenWRT and in the photos from FCC I think I see a serial port. Not bad for $15 and it even comes in a nice box. Funny enough my Roomba uses the same SOC.

  2. When the RPi or Creality box can remove a print, clean the bed, and load the filament, adding remote print control might be useful, but as long as I have to go to the printer to do all that, I may as well plug in an SD card.

    I don’t know why anyone would want to slice on a RPi except to say that they can. Just because you can do something doesn’t mean it’s a good idea.

      1. IMO my impression of it is that it’s a public beta.
        But then again, 5 years ago every 3D printer a mere mortal could afford were the same in that regard.
        If it wasn’t for slicer finangling and the fact it essentially prints at an angle, I can see them being popular for “3D print farms” in the future.

    1. Just print yourself a remote controlled or autonomous servant robot that can walk/drive over to your printer, plug in the SD card, clean the bed, swap the right filament in, and press print… easy solutions for easy problems…

    2. Are people really using octoprint to slice? I Slice in Simplify3d and then just save the .gcode via a Samba share to the watch directory and it just prints. No need to have my printer in the same room as me, especially when you have a web cam to keep an eye on it. Add to that terminal access and time lapse.

  3. however you can also use a raspberry pi zero w with octoprint which works really well. i have been using octoprint now for a few years with my prusa mk3s. i used an external pi3 for awhile and finally installed the pi zero w.

    1. Which version of octoprint do you use?
      It worked well in my memories but I tried it recently and it was veeeeery slow. To the point it was unusable..

      I have to mention I tried it on a Pi A, but it has the same processor as the pi zero, so it shouldn’t be the problem.

          1. I can’t tell you how I just know it works I use a Webcam to view video and it works also I was just informed not to use the pi cam as it would cause problems with the print

          1. Have done Octoprint on a Pi Zero. It struggled with video — bottleneck was the WiFi. Upgraded to a Pi3, which is plenty.

            Ironically, stopped using the webcam because I don’t really need it except for making cool build videos which I watch once and then delete anyway…

    2. I ran Octoprint on a rpi zero for a few years, and then one day just upgraded to an rpi3 a+. Don’t get me wrong, it worked, I never had a problem which tracked back to rpi zero. But it was often slow to respond, and after awhile I figured that spending the extra $15 was probably worth a snappier UI.

  4. The biggest cost of Octoprint is putting firewalls around it so it’s vaguely safe to connect it to the Internet. Anything from Creality is going to need at least as many firewalls, because you’d be out of your mind to trust the security of anything from a company like that. WIth Octoprint, you can put the isolation stuff on the same hardware as the printing software. If I were somehow to go crazy and try to use Creality’s box, I’d have to dedicate a Raspberry Pi just to *babysit* the thing. And no way am I using any Creality cloud service, either.

    1. That’s assuming you want to connect to it from outside your LAN. And even outside LAN you can easily use some OctoPrint plugins for basic notifications and interactions through Slack or similar tools.

  5. I believe the OrangePi I was using came in around 15$ (although with shipping increases it might be 20$ now).

    Also created an Octoprint image for it. Although at this point I’d have to re-create it before I’d be comfortable releasing it to the wild.

    The full Debian install on a dual or quad core Allwinner SOC would probably offer a bit more utility.

  6. I hope Creality support for it is better than their regular customer support, because that’s non existent.
    I recently discovered that the CR10s PRO effectively doesn’t have a warranty :(

    Octoprint is an amazing product. I won’t be ditching it.

  7. I don’t understand why there has been so little work on developing the ESP32 into a compelling 3D printer controller, either as a octoprint style USB controller or direct stepper/relay controller replacing the ATmega or tiny arm chip user by most boards. The ESP32 should have plenty of oomph for sending Goode commands while maintaining a basic web GUI, especially the dual core version. I know there has been some small projects playing with it, but given it’s a $5 microcontroller with excellent open source toolchain support and WiFi, I would expect a stampede.

    Maybe I need to convince some company to issue a press release that they are developing a closed source version, and the collective indignation of the hacker community will finally get things started.

    1. You sound like your opinion is based on a 4 years ago snapshot. You just need to upgrade your view / convince yourself.

      Marlin supports ESP32, Grbl too.
      There are even some commercial printer controller boards based on ESP32

      Also I´m pretty sure i´ve seen a 3d printer controller quite close from what octoprint can do, with very decent web display of g-code layers etc.

      1. I am aware that Marlin has ESP32 support, but if there are commercial boards based on it, I can’t find them, please post a link. The only implementation I have seen is a bunch of stepper drives, power supplies, and other circuits glued to a piece of MDF, which is hardly a commercial integration.

        GRBL isn’t a 3D printer controller system, it is for CNC applications.

  8. Boot log from the device: https://pastebin.com/jeYvvJ8P

    It has a 16MB SPI Flash ROM on the bottom side of the PCB. Four test pads next it are a UART, working from the pad next to J4 towards the flash rom: 3v3, TxD, RxD, GND.

    Haven’t been able to crack the root password yet. But it looks like it should be easy to root: The /home/http_dfile process looks for /media/mmcblk0p1/cxsw_update.tar.bz2, if that exists it invokes /sbin/upgrade.sh which will untar it, and then if it contains a file named ‘installfile’ it will make it executable and execute it.

    1. “installfile” is incorrect. It looks for a file named “install.sh”. So to root the device, put a file named “install.sh” in the root of an SD card. Give it these three lines:

      #!/bin/sh
      /sbin/chpasswd.sh root creality
      /usr/sbin/telnetd

      Plop the card into the device, wait a second, and now one can login with root/creality via the UART or telnet. (Note: I’ve only tested via UART, but that works and I see the telnetd process running)

      The file isn’t removed, so it will re-execute each time the unit is brought up.

  9. Boot log from the device: https://pastebin.com/jeYvvJ8P

    There is a 16MB SPI Flash on the bottom side of the PCB. Next to it are four test pads for the UART. Starting from the pad next to J4: 3v3, TxD, RxD, GND

    Haven’t cracked the root password yet. It looks like it might be easy to root: The /home/http_dfile process does something with /media/mmcblk0p1/cxsw_update.tar.bz2 and then invokes /sbin/upgrade.sh. That script will untar the file, and if it contained a file named `installfile` it will make it executable and execute it.

  10. Personally, I’m very surprised that there are no printers that directly interface with the CM3+ on the motherboard. They’re a fantastic way to add smart capabilities, especially since the CM4 is way overkill for most setups. You can add two CSI cameras (one with 4 lanes for better resolution), and 2 DSI displays if you feel inclined. Hell, Gumstix’s CM4 UpRev AI board integrates CM4 with a Coral chip, to give your printer AI failure detection with the right code. The Pi 4 could even slice files locally without the need to send your info to a Chinese server somewhere. I wonder if I could slap a motherboard together in Gepetto…

    1. Raspi CMs are more expensive compared to regular boards. You’ll have to provide the WiFi and antennae on the board, which would need FCC certification. Also the CM connector is not exactly economical. Connecting to a regular Pi via USB is much more economical and less headache. You can provide a pin header receptacle like Prusa.

      There is the Duet2 WiFi and alike boards, which do that in an affordable way with ESP8266.

      1. I understand that to an extent, but I would still buy a printer motherboard with it now for one simple reason: Gumstix came out with a CM4 UpRev AI board. Not only does this allow the CM4 to be used in place of a lower-spec CM3+ module, it also comes with a Coral Edge TPU that can accelerate TensorFlow Lite models. I’m currently doing research into retraining one of Google’s models to do onboard failure detection of prints; with a belt 3D printer, being able to detect a failure and then advancing the Z axis to try again from scratch would be a game changing capability. Sure, you’d need a fan for the generated heat, but the CM4 has built in WiFi now. With the eMMC on board, dual CSIs (one at 4 lanes for high res timelapse footage, the other for AI image analysis) and dual DSIs (one small touch screen for printer management, the other on an enclosure to indicate the status/progress of prints) a single USB 2.0 for external storage devices (exporting video/importing STL/prints) and finally, enough processing muscle to run Cura onboard for a truly all in one printer that has zero reliance on the cloud, enhancing reliability.
        Hell, the 4GB/32GB CM4 should have enough memory to run neural inferencing/Cura slicing at the same time. That’d be the dream right there.

  11. I’ve managed to get OpenWrt on it! No hardware mod required. That said it isn’t possible to run octoprint out of the box, you’d need to compile a bunch of python dependencies. Here’s a link: you’ll need to compile it yourself for now, just follow the standard OpenWrt procedure and flash with the instructions in the commit note. https://github.com/figgyc/openwrt/tree/wb01
    Will probably upstream at some point. Do bare in mind I havent quite figured out how to revert to stock using only the U-Boot tftp, I think you will need to use serial, but what I did is took a backup of the flash on stock with the telnet and just flashed the SPI with a CH341A programmer.

  12. “You can buy the Creality box for about $20. A Raspberry Pi with a similar case would be at least twice that price.”

    I’m going to take a wild guess and say that most people interested in reading about Creality vs Octoprint already own at least one pi, and likely more than one. And if you have a 3d printer, the box for the pi is irrelevant to this conversation.

  13. The opening sentence of this article is basically, “A common hack is to hook the 3d printer up to a computer, and load the software to control it.”

    Octoprint on a Pi is not a hack, it’s a fully developed point and click software package, just like any of your favorite slicers or presumably the cloud thing Creality is selling now.

    1. I think you are taking this the wrong way. We think anytime you change the function of something as a hack. The hack isn’t Octoprint. It is a hack on the printer to add wireless capability to it.

  14. I’m using an 8 year old netbook running ubuntu 18.04 to run octoprint, I installed octoprint using pythons pip manager, pretty easy, though I did need to look at some systemd docs to get the service to start automatically.
    it cost me 30 minutes and 0 dollars

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.