Author Archive

Tevo Tarantula 3D Printer’s Large Dual Extruder Auto Bed Level Sensor Firmware Upgrade

July 17th, 2017 No comments

What a title. Just a quick update on the Tevo I am reviewing. I didn’t want to upgrade the firmware, but I read so many posts on Facebook about it I took the plunge. I didn’t like was the firmware that came with it. It only did a 3 point level, and seemed to go outside the build plate dimensions. The first 2 printers I have reviewed were Marlin, so it was what I am most familiar with.

I used Jim Brown’s Marlin fork as a base. It was missing dual extruder and auto level sensor in the pre-configured profiles. It took a while, but I was able to add the extra features. The auto bed level sensor connects to where the normal Z end stop sensor is connected. I would like to warn you to warm your bed for 5 minutes for the best reproducible results. I tested several times from cold to hot, and can see variances. After it is warm, it does well and only varies in the thousands of a mm. I also found out I made and dumb mistake, and I never set the power supply to my country’s proper voltage. It was messing everything up including the auto level.

Testing the auto level as it warms up. You can see variances and the metal expands.

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.340 +0.292 +0.317 +0.380
Recv: 1 +0.418 +0.342 +0.338 +0.392
Recv: 2 +0.494 +0.408 +0.381 +0.396
Recv: 3 +0.545 +0.457 +0.442 +0.499

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.307 +0.277 +0.308 +0.379
Recv: 1 +0.392 +0.327 +0.336 +0.372
Recv: 2 +0.492 +0.390 +0.367 +0.391
Recv: 3 +0.519 +0.447 +0.446 +0.488

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.302 +0.254 +0.298 +0.367
Recv: 1 +0.369 +0.313 +0.321 +0.369
Recv: 2 +0.459 +0.376 +0.348 +0.380
Recv: 3 +0.492 +0.431 +0.424 +0.473

Here you can see after letting it warm up they are relatively consistent.

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.019 -0.302 -0.492 -0.598
Recv: 1 +0.108 -0.259 -0.490 -0.618
Recv: 2 +0.186 -0.202 -0.468 -0.625
Recv: 3 +0.221 -0.171 -0.444 -0.606

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.013 -0.302 -0.488 -0.591
Recv: 1 +0.097 -0.261 -0.488 -0.615
Recv: 2 +0.173 -0.206 -0.466 -0.614
Recv: 3 +0.205 -0.177 -0.442 -0.601

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.004 -0.299 -0.483 -0.576
Recv: 1 +0.094 -0.255 -0.490 -0.615
Recv: 2 +0.163 -0.210 -0.466 -0.612
Recv: 3 +0.190 -0.186 -0.445 -0.600

This is a 16 point level so it takes a little bit of time but I think it is worth it.

To help with setting your sensor height you may want to look here. But in retrospect it might not be necessary. Set your sensor height just barely above the nozzle height and adjust with the Z offset in the menu’s. First initialize your EEPROM under Control at the bottom. Then go to Control -> Motion Z-offset. A negative number brings the head down and positive up. Print a small cube see how much closer to the bed you need to be. Adjust the offset until you get a good distance. Then store with Control -> Store Settings to lock it in.

I tested movement in X, Y, and Z directions, and they were spot on as well as the extruders. I homed then did a 100mm move and checked with my caliper. This was done in all directions. For the extruder I disconnected the bowden tube, then heated up the hotend due to protection then extruded 100mm of filament.

Here are the 2 separate files. Full is full Arduino 1.6.8 portable setup and ready. Pretty much run it, connect printer and upload. The second is just the configuration files. If you need the configuration I assume a write up is not necessary.

  1. Full
  2. Only Configuration

First connect your printer to your PC, and let Windows find the drivers. In device manager you should see it show up under comm ports. The first time I plugged it in I had to right click and tell windows to update the drivers. It went to the web, and found and updated them. Next, start Arduino then navigate to the Marlin directory, then open Marlin.ino. Ensure you have the correct board, processor, and port selected, then press the arrow pointing to the right to upload.

Once uploaded add G28 to home then G29 in your slicer.

You’ll find the first part of review in “2017 Tevo Tarantula Dual Extruder 3D Printer Review – Part 1: Assembly and First Prints” post..

I would like to thank Gearbest for sending this printer. If you are interested, you can purchase it on their store for $418.59 includding worldwide shipping. If you use TEVODUAL coupon, price will go down to $349.99. Note that there are various models of Tevo Tarantula with 200×200 or 200×280 (large) beds, single or dual extruder, with or without auto-leveling, and the one reviewed here is the higher end model with all a large bed, dual extruder for bi-color prints, auto-leveling, and flexible filament.

How to Use Octoprint on Orange Pi Lite Board, Amlogic S905X and S912 TV Boxes

July 11th, 2017 7 comments

Karl here. This was article originally going to be how to setup Octoprint 3D printer server on an Orange Pi Lite. But after looking and running through the instructions it seemed like it would be too much so I created an img to simplify things. I also explored running Octoprint on an Amlogic S905x or S912 device and it turned out to be an even better solution. You get a case, power supply, and eMMC flash storage.

What is Octoprint?

I use Octoprint mainly for its ability to start and stop prints without having to use an sd card. Time lapse is also a nice feature. And one last thing is that I setup a pushbullet notification when it is complete. For a full list of features check out

What is needed?

Orange Pi Lite Kit – Click to Enlarge

Octoprint Setup

Common Instructions

  • Download Orange Pi Lite img from here and Amlogic img from here.
  • Burn to your micro SD card with Win32DiskImager, dd, or Etcher..


Login: root password: octoprint
Login: cnx password: cnx


Orange Pi Lite: orangeocto.local
Amlogic: amlogicocto.local

Amlogic Instructions

  1. Boot and find the update app
  2. Click Select
  3. Choose the
  4. Click Update
  5. Then Update again
  6. Once it boots log in with root and run “sudo /root/”
  7. Now we need to see if WiFi is working. Run “nmtui”. This should be self explanatory, and if you see your access point stop. Don’t bother to connect. Exit run “shutdown” wait for it shutdown, remove the SD card, and pull the power and power back on. You can skip the next few steps in this section.
  8. If you did not see your access point exit out of “nmtui” and run the command “sudo modprobe wifi_dummy” repeat looking for access point in step 7.
  9. If you still don’t see your access point run the command “sudo modprobe dhd” repeat looking for the access point in step 7.
  10. If you have to modprobe either to get wifi working once you boot from the internal storage log in with root and run the command “sudo nano /etc/rc.local” and add your “sudo modprobe xxxxxx“ command before exit 0. Cntrl X then y then enter to exit nano and save. Reboot and continue.

Orange Pi Lite Instructions

  1. Connect a keyboard and connect to a monitor or tv
  2. Login with root
  3. Run the command “sudo cfdisk /dev/mmcblk0”
  4. Delete /dev/mmcblk0p1 with the arrow keys
  5. Make a new one and it should fill in the full size of your sd card.
  6. Then finally write. It will prompt you are you sure and type out yes.
  7. Arrow over to quit and enter.
  8. Reboot with the command “sudo reboot” and wait for the Orange Pi to reboot.
  9. Log back in with root and run the command “sudo resize2fs /dev/mmcblk0p1
  10. Reboot again with the command “sudo reboot” and wait for the Orange Pi to reboot.

Remaining Octoprint detup instructions common to all devices

  1. Log back in and run the command “nmtui” to connect to your network. This should be self explanatory. After connecting to wifi if you choose to set a static IP address quit and go back in to nmtui and edit the connection to set the IP address. When setting the IP address suffix the IP address with a /24 to denote a subnet mask
  2. Finally quit and run the command “shutdown” and wait for it to turn off.
  3. Move the Octoprint server and connect to your printer.
  4. To log in open your browser and navigate to http://x.x.x.x:5000 or orangeocto.local:5000 or amlogicocto.local:5000.
  5. Run through the setup it is self explanatory and in settings add /home/pi/OctoPrint/ as your git update path.


I really recommend setting static IP addresses through your router if it has the ability. Or you can use the .local address above if you have zeroconf/avahi on your machines .

I also recommend the Amlogic server. You get a board, enclosure, power supply, and eMMC flash to run off of. You still need an SD card to get started, but it is not permanent. I ran into trouble on Orange Pi Lite, but it does work. I think the Orange Pi Lite board I received is flakey.

You have a lot of headroom on these to provide other services, e.g.. home automation, media server with no transcoding, NAS, Minecraft server, or anything else that runs on Linux.

Big thanks to balbes for making Linux work,  Jean-Luc, and Armbian forum members who tested Orange Pi Lite version.

Tested on

  • X96 1/8 S905X with wifi dummy
  • X96 2/16 S905X with wifi dummy
  • Tanix TX 5 Pro S905X with dhd
  • Yoka KB2 S912 with wifi dummy

It looks like Realtek (RTLxxxx) WiFi chips need the wifi dummy, and Ampak (apxxxx) chips need the dhd.


Cura 2.6 came out just just recently with the ability to connect directly to Octoprint. It is really cool feature.

To setup login to octoprint and grab API key.

Then open Cura 2.6 and go to manage printers. Highlight printer and press Connect Octoprint.

Add an Octoprint instance, set preferences, and input API key.

Now you can start prints directly from Cura and monitor prints.

Click to Enlarge

I would really like to thank Gearbest for sending the Orange Pi Lite board, power supply, and SD card, as well as Amlogic boxes and 3D printers from previous reviews. If you decide to do this project yourself, please think about ordering from Gearbest through our links. It helps us out to continue to experiment with different hardware and provide these articles.

Raiscube R2 3D Printer Review – Part 3: How to Install E3D Hotend Clone For Faster Prints

June 26th, 2017 3 comments

Karl here with the final article on Raiscube R2 3D printer for now. Going to talk about the challenges of this upgrade, and how to do it yourself. This has been one of the most frustrating projects that I have worked on. I set 3 goals for this upgrade:

  1. Simple as possible
  2. Least amount of modification to the printer
  3. ability to revert back

I don’t feel like I met my goals but I feel like I made it 90%. Trying to meet the simple as possible with least amount of modifications is what caused me so much grief.

What is needed

E3D Installation Steps

  1. Print 3 parts from Thingiverse above with 50% infill and .2 mm layer height
  2. Remove all the spiral wrap around all your wiring.
  3. Remove the tape for the fans, and disconnect all the wires going to them.
  4. Remove all the hardware off the x carriage and remove the metal x carriage bracket.
    1. First raise your x carriage most of the way up.
    2. Remove 3 screws holding on the cooling fans: 2 on the front 1 on the back.
    3. Remove the fan of stepper motor with 2 screws holding the fan on.
    4. Remove 2 on the bottom of the carriage to remove the stepper motor and hotend assembly.
      1. Remove the hotend from the stepper motor with the 2 setscrews on the front of the stepper motor the hotend will fall out.
      2. Follow heater cartridge and thermistor back to the board and disconnect.
    5. Remove the x belt from the carriage by cutting the 2 zip ties
    6. Remove the 9 screws on the back holding the bracket
  5. Now with your rotary tool remove a 32mmx20mm rectangle to make space for new hotend. Leave the 2 screws holes that mount the stepper motor in the event you want to revert back. Direct drives are sometimes easier with flexible filaments.
  6. Take the fan that was used to cool the stepper motor and install on the parts cooler.
  7. Assemble the E3D clone and bracket
    1. Disassemble the parts into bowden connector, heatsink, heat break, heater block, and nozzle. Leave the heater cartridge, and and thermistor in the heater block.
    2. Tighten the nozzle all the way into the heater block and back off between and ¼ and ½ a turn.
    3. Hand tight the heat break until it reaches the nozzle and take 2 pliers and tighten snugly. Be careful not to damage heater cartridge and thermistor. Don’t over tighten.
    4. Put some thermal paste on the top part of the heat break and screw on heatsink hand tight.
    5. Screw on bowden connector.
    6. Wrap the kapton tape around the heater block to insulate it from cooling fan. Wrap several times covering top bottom and sides.
    7. Mount on 3D printer bracket from thingiverse. Use some screws and bolts leftover from build. Sandwich between mount and clamp.
  8. Make the modified x carriage bracket and reinstall.
    1. Screw in all 9, and install the E3D assembly in bottom 2 left most screws.
    2. Install fan that came with the hotend with notched part up ensuring the fan is covering the bottom most fin.
    3. Install the new parts cooler in the left most screw hole that held old cooler.
  9. Run a new wire from the main power terminals feeding the board and connect to the fan that is cooling the hotend. It is imperative that this is running 100% at all times.
  10. Connect the parts cooler fan to the wire that goes to the fan terminal.
  11. Velcro the stepper motor to the top of the printer on the right side in the orientation that suits your needs. I feed mine from above.
    1. Lower the x axis by hand while screwing the Z couplers together and set the hot end the furthest away from the extruder stepper motor.
    2. Cut the bowden tube to suitable length to allow free movement and not bind. Keep in mind it will need to move all the way to the top.
    3. Install the bowden connector in stepper motor.
    4. On the end of of the bowden tube going to the hotend, bevel the outside edge with a knife and measure back 45mm and make a mark with a pen.
    5. Insert the marked end with the bevel into the hotend until the mark is as close as you can to the connector
    6. Press the other end into connector on stepper motor.
    7. Connect stepper motor wire.
  12. Either reinstall spiral wrap or use velcro to manage all your wires back the board and connect the hotend, and thermistor to the terminals.
  13. Adjust endstops and relevel the bed.
  14. Print


I have found I need to lower my print temperature from stock, and keep retractions down around 2.5mm. E3D recommends 2mm for direct drives and slightly longer on bowden setups. 2.5mm has worked well for me and turning down the temperature.

Wrap up

I don’t have anything that can weigh these small weights accurately but going by specs I removed about 184 grams or .4 lbs. Not too shabby. That is quite a bit of weight not being thrown around allowing faster speeds. It should be able to print at higher temps as well with an all metal heat break and allow more kinds of filament.

I wanted to explain why I had so much trouble with this upgrade. The step where removing a bit of the bracket is what caused it. I really didn’t want to do such an invasive modification to the printer and I tested several different mounts. I could never keep the heat break cool enough and it caused the heat to creep up the heat break and jam. It would work for about an hour then it would jam. Having an hour between iterations, and all that filament made this take a long time.

I would keep the piece that was cut out in case you need to go back to stock for some reason. The fan cooling the extruder stepper motor will blow down on your part and might cause issues. Some metal tape should be fine. Not a lot of heat should be transferred, and the glue should not burn.

I would really like to thank Gearbest for sponsoring this upgrade. If you do decide to perform this upgrade please think about purchasing from them (Coupon: CNXPrusa may help).

Raiscube R2 (Prusa I3 Clone) 3D Printer Review – Part 2: 3D Print Samples, E3D Clone Installation, Tips & Tricks

June 20th, 2017 No comments

Karl here with part 2 Exploring Raiscube R2. That is the official name by Raiscube. Gonna look at some more prints. Some mistakes I made in first part and some simple mods. Maybe not so much mistakes but an oversight.

Oversight / Mistake

So in the first part of Raiscube Prusa i3 review, I mentioned there were not very good instructions, and they sent a blank SD card with the kit. I was wrong. On first inspection, it looked like a factory sealed SD card but it is not. It is an 8 GB card with videos, instructions, pictures, parts list, STL, and gcode files as well as an old version of Cura. Not blank at all with about 1.5 GB of files. It didn’t include settings but if you install the latest Cura, it just takes a little tweaking to print well.

Official specs from SD card

Model No. R2
Extruder Qty Single
Machine Size 450 x 420 x 480 mm
Printer Size 210 x 210 x 210 mm
Package Size 423 x 430 x 200 mm
Machine Weight 8.0 kg
Gross Weight 9.0 kg
Filament Colors White ,Red,Black,Blue,Green ,Yellow etc.
Filament Diameter 1.75 mm
Precision Z axis: 0.004 mm;  XY axis: 0.012 mm
Printing Precision 0.1-0.2 mm
Layer Thickness 0.1-0.4 mm
Nozzle diameter 0.4 mm
Power Supply 110/220V, 250W
Max Control Temp. Extruder 260 °C
Max Temp. of HotBed 100 °C
Recommend Temp. ABS:    Nozzle:235 °C  Hot Bed:100 °C
PLA:    Nozzle:200 °C  Hot Bed:50 °C
Printing Format STL/OBJ/G-code
System Compatibility Windows XP/Win7/Win 8/Linux/Mac
Language English
Connecting SD card/ USB

YouTube Videos

RAISCUBE R2 Leveling&Printing

RAISCUBE R2 Installation Video

RAISCUBE R2 Installation DEMO

With that being said I am not sure I would have struggled as much had I known the videos were available. I watched some of the videos but it is hard to know if I would have made the same mistakes.

Free mod

One of the complaints I had in the first part was that I had to level the bed after every print. I have been watching and reading a lot on 3D printing, and I ran across a video that was talking about placing a nut between the screw and the build plate and after trying myself it makes so much sense. Not only is it going to help make a moving plate more rigid it will compress the springs more. There were extra nuts in the kit so this one is a simple welcome freebie. I haven’t leveled the bed much at all after this. I also think it improves quality as well keeping the build plate more rigid.

Prints Before E3D Upgrade

New filament I just received. Some Blue WYZworks Blue PLA. I was tweaking at the bottom, so please ignore the under extrusion at the feet. I changed the flow back as soon as I noticed. All these prints are stock unless otherwise noted.

Another pre sliced file on sd card. Little trouble with overhangs. Overall prettygood. New tool holder

Last and final print on SD card. Kids liked this. Prints in one piece and moves as soon as removed from the print bed.

Moved into new office/work space, went onto thingiverse and printed off some hangers.

Orange Pi Lite development board case.

Joined the fidget spinner crowd, and printed off a bunch of these for son’s birthday party as gifts in different colors. About $1.30 each spinner.

E3D Clone

I have been working for a while on converting to a bowden style E3D clone. I have it mostly working but want to make sure I have a good working solution. My goal is to make it a simple upgrade with the least amount of work and modifications. It worked with the first iteration, until I started longer prints. I am pretty sure it is due to heat creeping up the heartbreak. I think with some Kapton tape insulating the hotend and new mount with bigger fan I can fix the issue.

1st mount with stock E3D fan.

This printer prints really well stock without any modifications, but you have to print slower to avoid ringing. Ringing happens when the print head is accelerating and decelerating and reducing the weight of the x carriage helps reduce this. The R2 is a direct drive type printer. Which means the stepper motor that pushes the filament is on the x carriage. This can be changed to a bowden style and weight can be reduced substantially.

In addition, this converts to an all metal heatbreak. The stock R2 has a short PTFE tube in the heatbreak which limits your temperature to max of 245 deg. Above 245 the PTFE starts to burn and melt and release bad fumes.

Example of Ringing. Stock left E3D Clone Right. Printed same gcode. This was short enough print that finished with E3D clone. Printing slower also reduces ringing.

I think this is a winner. Using 40mm fan instead of 30mm, and not obstructing airflow.

Filament Reel

One additional benefit changing to a bowden style is that you filament reel doesn’t have to turn as freely to get better prints. If you are printing stock you can improve your prints just by making the filament flow better to the hotend. Initially I raised the spool holder to above and behind the printer to improve the flow. With the stock setup when the direct drive is moving around if there is friction on the spool it will slightly twist the hotend as it is moving. I am talking about .1mm variance but you can see this on your prints. There are several spool holders on thingiverse, I am using this one with some bearings that I modified for my needs.

3D Builder

I had been using TinkerCAD to make modifications to parts, but I just noticed windows 10 has a program called 3D Builder built in. It is working OK for what I do most of the time. It is rudimentary for 3D modeling but I find it useful for what I need. TinkerCAD still seems better for slightly more complex stuff but for some simple changes 3D Builder opens quickly and I don’t have to log in. It might be that I have used TinkerCAD more.

Closing Thoughts

Wow! This has been challenging for me to work through the troubleshooting on the E3D upgrade. Stock printing with this printer yields good results. Only if you want to print faster is the E3D really necessary. As long as jamming doesn’t happen with this new design I should be able to share on Thingiverse, and final short write up and comparison. If you would like to purchase this printer you can use this code CNXPrusa on Gearbest and grab it for $179.99.

After the next E3D upgrade article, I’ll be working on TEVO Tarantula 3D printer next sold on GearBest for $418.59. Pretty excited about this one.

Creality CR-10 3D Printer Review – Part 2: Tips & Tricks, Octoprint, and Craftware

May 5th, 2017 8 comments

Hey Karl again with part 2 of my 3D printing experience with the CR-10, after the first part describing CR-10 3D printer setup and first prints. The intent is to share my experiences with the CR-10 with the perspective from a noob. I have to say if you are hard heading like I am, and do a lot of research but don’t fully listen to what you are reading, you are going to waste a lot of filament and time. I spent a couple hours a day for weeks with trial and error and watching the printer and how it works adjusting about a billion settings and testing. I am hoping this will help any current or future CR-10 owner speed up the learning curve.

Measuring Filament Diameter

The single biggest thing to improve my print quality I found was measuring the filament. I read about this several times but just didn’t do it. On some prints it didn’t matter they came out great. On others I had terrible zits and under and over extrusion. Depending on the model the effects are more pronounced.

Click to Enlarge

I purchased a cheap plastic caliper that only goes down to tenths right now so I have to do some trial and error. I plan on getting a metal one in the very near future to cut down that time that goes to the thousandths.

Before vs After – Still trying to figure out why gaps are in the print…suspect z rod issue maybe need to increase driver potentiometer. This print was done before zrod mod and I haven’t printed enough since to be conclusive)

The Batman on the left is before and batman on the right is after. It really hard to show in pictures but the one on the right is 200% better. You can see it really well on his face. Overhangs on both are a little rough. Overhangs are places in the print where you’re printing in mid air with no supports. Eventually I will look at changing the parts cooler to help with this. A different parts cooler can cool the filament faster and it will sag far less. For now on these, I can do some post print cleanup.

Here is a seem on the round part of the batman head that is just barely noticeable.

To measure unroll about 3m of filament and measure at 10 points. At each of those points measure then rotate caliper around 90 degrees. Average the 20 points and set it in your slicer filament diameter. I purchased 3 different brands and none seem close to 1.75. I been running between 1.65 and 1.69. My caliper bounces between 1.6 and 1.7. I will probably pick this one up for $27.

Extruding Temperature

The nozzle temperature calibration is the second most important procedure I found to affect prints. This one is pretty easy to do. I downloaded a customizable temperature tower. I set mine up from 225-170 at 5 deg increments with highest temp at the bottom. Then set Craftware nozzle temperature to 225 then used set this code in the layer script box to adjust the temperature at different heights. Craftware didn’t like the the STL generated by Thingiverse for this particular object. I imported into MeshMixer and exported to an OBJ to fix.

Depending on the filament you are using you can adjust the temperatures. I highly suggest testing outside the manufactured suggested temperature. The wood filament that I purchased from GearBest works best for me 10 degrees cooler than the suggested lowest temperature.

Click to Enlarge

At first I printed with trial and error. After doing a temperature tower I was way off, and noticed a difference in quality. Although this particular temperature tower doesn’t seem perfect. On the red PLA, I ended up going slightly higher than the one that looks best. On the picture, below it is really obvious with the wood filament which is better. The red and black are not as obvious. I will try some different temperature towers in the future.

Click to Enlarge

CR-10 Hardware Upgrades:  Mirror and Spacer

I made 2 modifications. I replaced the glass printbed that came with the printer with a mirror. I read mirrors have to be extremely level in order to not cause distortion. I purchased a 10 pack from a local hardware store for about 10 dollars. This gave me a good flat surface and as a benefit I didn’t have to use paper to level. I didn’t realize this for a long time, so I tweaked all kinds of settings trying to get the first layers looking better.

After trying to get a perfect first layers, I did a bunch of reading on bed leveling. I ended up purchasing some feeler gauges (ended up being a waste). It is really for me hard to level while sliding something between 2 slick surfaces. I had read a really long post in a forum about just eye it if you have a mirror. This worked really well for me. It is surprising how well you can level with the naked eye. I set the level as close to the bed as possible without touching. When I move the nozzle to the 4 corners above the glass if there is any pressure on the filament it will leave just the slightest line.This is something that you just have to do and experience to perfect.

The second thing I did was insert a washer between z axis servo and frame. After reading a few posts on the Facebook forum I decided to take a look at mine. Sure enough z axis rod was in a bind. I didn’t even realize this. But one symptom is that before this I was only able to push the z axis down. Now I am mostly able to move up and down with the stepper motors disabled.


My SD card slot on the control box stopped working. I was able to get it working by bending in the outside of the reader inside the box to force the card to make contact with the pins. I knew this solution wouldn’t be a permanent solution. I can solder a new one but haven’t got to it yet. Luckily I had a Raspberry Pi my brother gave me. I never found a good use until now. There is no way I would trust a Windows box for this task. I would cry if I was in a long print and windows decided to update or some other Windows thing. I loaded Octoprint with Win32DiskImager on an SD card. Set my network settings in a text file, SSH’ed over and expanded the partition to the SD card size. I set a static IP address through my router and now back in business. I kinda wish that I started with Octoprint. It is very handy. It is much easier than constantly swapping SD cards around. One other benefit is I hooked up a webcam and I can see progress in any browser while at home… If I wanted to check from anywhere I could VPN to the house as well. It is really straight forward and easy to use. I also setup a pushbullet notification to send me a picture when a print is complete. I just started doing time lapses in Octoprint which is really a cool feature. I did have a few issues where prints would fail randomly and get a communications issue. It is a known issue on the Octoprint wiki. There were a few causes so I covered them all, and haven’t had an issue since. I did end up charging my phone with the USB cable that I was using to power the Raspberry Pi with, and I definitely attribute it to the cause of the issue. Phone charged much slower over this cable on a charger I know typically charges much faster. More on this issue in previous article here. I also replaced the long USB cable that came with the printer with a very short 4” one. While it was turned off I also installed a heat sink.

Click to Enlarge

Click to Enlarge

Click to Enlarge


Let’s talk about slicers. Slicers take the 3D object and makes a file that the 3D printer reads, and it tells the printer how exactly to print the object. Every single move, temperature change, etc… is controlled. After much trial and error I found that Craftware works best for me as a slicer. I have not tried Simplify 3D because it costs $150. The single biggest reason IMHO is the automatic placement of the seams. Seams practically disappear in turns. Craftware will choose the seam placement in the corner over a flat surface on its own. I have some really clean prints. Right now, I am focusing on finish with as little post print cleanup. Another feature is in the slicer settings there is window that visually shows how the settings are affecting the print. One final noteworthy feature is the ability to manually place supports. Automatic works as well but I believe automatic puts too many.

I started out with default settings and did some test prints. I only tweaked very few settings.

Below are some screenshots.

Main Screen with a benchy – Click to Enlarge

There is a bug. When installing the first time, load the second to last version, and set your build volume. Then upgrade to the latest. Otherwise the size will have to be set every time it is launched.

Click to Enlarge

After placing and scaling your parts, press the slice button and change all your settings.

Click to Enlarge

Now you can inspect the print, and see how each layer is printed. Press Save to save your gcode.

I find myself changing settings for every print after dialing it in. There is no one size fits all. I look at these every print:

  • Layer height
  • Draw speed
  • Infill
  • Top and bottom layer count

Gotta have LED’s

I have a couple feet left…will probably stick a few to the nozzle frame and power by a fan.

More 3D Print Samples

Here are just some of the prints that I have done.

Click to Enlarge

Cortana Chip. One of first prints for buddy of mine for CosPlay. I was still tweaking settings but turned out OK.

Click to Enlarge

Box I designed in Tinkercad, so friend can mount his NEO TV to bottom of his wall mounted TV. This was before I measured filament and still had bad zits.

Vase. Printed after started measuring filament. Flawless and is water tight.Printed in vase mode.

One of many Baby Groots printed. My buddies went wild over this one. I have printed it several times. About a 30 hours print at .1 layer, and slow.

Designed this in Fusion 360 to fix my ice dispenser in my Fridge. Printed really fast because I didn’t care if it looked bad. 6 outer layers for strength with 20% infill. Really surprised this is holding up in freezer. I was a little off on center hole measurement and enlarged with a drill. Dumb cheap calipers.

Click to Enlarge

First print with supports. Auto-generated in Craftware. Second is after bulk cleanup. Need to take tweezers to get remaining bits. Keep in mind this thing is tiny. .2 layer height.

Final thoughts

The only complaint that I really have are the noisy fans but they could be replaced, and the faulty micro SD card reader. This is my first printer, but I still think they could be less noisy. Other then that, I have enjoyed my time with the CR-10. I would like to thank Gearbest for sending the CR-10 to review, and if you are interested in the printer you could purchase it from their website for $309.99 plus shipping using GBCR10 coupon. I plan on 1 more article. Some bigger prints and some mods I would like to try (but running out of filament). If you have any questions or comments feel free to post below.

Karl’s Home Automation Project – Part 4: MQTT Bridge Updated to Use YS-IRTM IR Receiver & Transmitter with NodeMCU

April 20th, 2017 1 comment

In a previous article, I wrote about an MQTT bridge by 1technophile. I added a DHT temperature and humidity sensor as well as a light sensor. Previously it included a software decoder to decode the IR signal. I never did test the IR transmitter on the gateway, as I didn’t have the parts. But thanks to IC Station, who sent me over a small YS-IRTM hardware based decoder and NodeMCU that I am writing about today. I have replaced the software based version with the YS-IRTM module in the latest update.

Click to Enlarge

Click to Enlarge

I found this project challenging. I admit I am a little weak in my programming skills. It was difficult to find documentation but I found a forum talking about this device and basics of how it works. When an IR code is recognized it sends 3 hex codes via serial connection on the transmit pin. To transmit, it expects 5 hex codes: A1,F1,xx,xx,xx. A1,F1 tells it to send the following codes. You can also set the baud rate but I left default 9600.

It is simple wiring wise. It only takes 4 dupont wires. It took a bit of coding to get it working but I finally got it to communicate via software serial. I started on a Arduino Uno with the code and then migrated it over to the ESP8266 board. I did have a little trouble when I first moved to the ESP board. I initially thought I might need a level shifter but that didn’t help. I am a little surprised I didn’t need a level shifter because the ESP needs only 3.3 volts. I was getting some weird responses and finally figured out I had to put in a slight delay. Maybe the ESP’s speed comes into play.

The way to use this is fill out your SSID and password and your MQTT server with credentials. Flash the device. You will need to add the necessary libraries. 1technophile has good documentation in his wiki.

Once flashed and ready to find your IR codes you will need to subscribe to the topics with the Windows command below. Give the gateway a moment to connect and point your IR remote at the sensor and press a button to find out code.

In your window, you will get something like this “home/sensors/ir 4,fb,8,” which is my power button for my TV. To test the code:

With this code, the TV will toggle on and off.

Click to Enlarge

After this you can use your favorite home automation project and control your IR devices with automations. You can omit any sensors that you don’t need. You will get some erroneous MQTT data if not all sensors are used. Below are the bits of Arduino code added for the IR module, and here’s the link to the github code:

I plan on 3D printing an enclosure with CR-10 I am reviewing, and I will remove the IR LED, and move it to a more suitable position, as both facing the same way isn’t ideal for my setup.

I would like to thank IC Station for sending the NodeMCU ($5.81 shipped) and IR transmitter and receiver ($3.39 shipped) for review. You can get 15% discount with coupon Karics. I finally have a complete gateway.

Creality CR-10 3D Printer Review – Part 1: Unboxing, Setup, and First Prints

April 4th, 2017 11 comments

Today we are going to take a first look at the Creality CR-10 3D printer. This is a multipart series with the first part being unboxing and initial setup. I have no experience with 3D printing, and when I found out I would be doing this review I was ecstatic. It took a while to get shipped because of the wild popularity at Gearbest. I believe supply has caught up with demand. While waiting I read as much as I could about 3D printing. and I am glad I did.

Creality CR-10 3D Printer Specifications

  • 300 x 300 x 400mm build volume
  • Nozzle diameter: 0.4mm
  • Memory card offline print: SD card
  • Prints up to 80mm/s (but slower is better)
  • File format: G-code, JPG, OBJ, STL (I have only done g-code)
  • 1.75mm
  • Software – Cura; octoprint compatible

CR-10 3D Printer Unboxing and Setup

Click to Enlarge

Click to Enlarge

Click to Enlarge

I had the CR-10 assembled and printing in about an hour. I had a completed successful cat a couple hours later. There is one file of a cat on the sdcard pre-sliced. It was just a handful of bolts and some electrical connections. I read a couple other reviews and some beds were loose and wobbly. I didn’t have that issue. I did go over and tighten them after a week when I noticed a couple were not making good contact.The printed instructions were not complete but detailed instructions were on the sdcard. I loaded the assembly instructions on my cell phone and worked off of it. All the tools to work on the printer are included including some extra parts. Really the only thing I had to do is level the bed. To do this, I turned on the unit and told the printer to “autohome”. X and Y were good but Z wasn’t. Z was not triggering its limit switch, which I installed. I turned the controller off and adjusted the Z limit switch. Then told it to home again. In the settings, I disabled the stepper motors and took a regular sheet of paper and I leveled the bed. This is done by moving the print head around to the 4 corners and turning the thumb wheels until friction is felt. I went around 4 times to make sure it was level and I felt the same friction at each point.

I don’t have a good place to print that is ventilated. I do want to try abs so a warm ventilated box is necessary, so I built this box and is the final resting place for the CR-10.

Click to Enlarge

Inside the Control Box

It’s neat and orderly inside the control box. Wires seemed adequately sized. I read reviews of some lower cost printers not using proper gauge wire and rated connectors and wires charring. These pictures are after 2 weeks and I didn’t notice any visual indication of issues. There is also a mosfet included which was one of the upgrades on the more intense DIY kits.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

First prints on CR-10 3D Printer

The supplied cat already sliced and ready to print was perfect. The next night I loaded I wanted to get my kids involved so I pulled in Thingiverse. Thingiverse is a website where people upload 3D files that you can download for free. I had my kids each pick out something to print. Daughter picked out an owl. Son picked a pirate ship. So one print down I was confident to start slicing my own. Loaded latest Cura from their website, because it was newer than the one supplied on the SD card. Cura has profiles to tweak settings and I found a profile on the Facebook user group page. Loaded it sliced the owl first and started printing. It was looking good so I went to bed. The next morning I woke up to a mess. About a quarter of the way up broke loose, and first failed print. I didn’t think too much about it. Started again and it kept on coming loose. I tried new tape that was provided. No go. During my research I read hair spray works. It didn’t for me. Then I found a purple glue stick from kids stash which I read works. Boom stuck hard. Works the best and every time for me. I only use a very light and sticks very well. I also didn’t want to use hairspray because it is messy. I was afraid it would gum up the printer with over spray. I could take the bed off bet then have to level every time.

After getting sticking issue resolved I went on to print to print everything successfully​ with the supplied filament.

Click to Enlarge


When you have a 3D object that you want to print it needs to be sliced. Slicing takes the 3D object and puts it in a file format the printer uses called Gcode. There are many slicers out there. The printer comes with an older version of Cura. I opted for a newer version to get more features. More features is better? There are a ton of tweaks you can change to adjust the print quality as well as dialing in filament. Not all filament is the same. I will go more in depth later.

Facebook Group

Although I wish it was a real forum I have found the CR-10 Facebook group helpful. I really recommend joining and reading through the posts. It helps to see what other people are doing. As of the last couple days, the firmware is starting to be modded to the latest. This is a really good sign. It’s a pretty large group with 1,800 members and overall I found it very helpful. It is kinda hard to tame all the variables in the slicers.

Final Thoughts

I have some red, black, and wood filament I have been printing with for a couple days now. I am sticking with small prints to gain confidence and conserve filament. I have run into some blobs and zits on the filament that I purchased. I will go more in depth when I find out how to overcome this. I will also go deeper into the slicer and settings and troubleshooting once I figure it out. I know it can print well with this white PLA provided. I feel like 3D printing is an art form and need to be able to tame these settings. I have been watching it print trying to become one with the printer.

So far I am really happy with the results. I am calling these prints with the white PLA perfect . The printer is extremely easy to use. Big build volume. Unlike some other kits where it takes 8-9 hours to put together and you have to print some modifications to print good quality prints. This one is pretty much plug and play so far.

I would like to thank GearBest for sending the CR-10 3D printer to review, and if you are interested in the printer you could purchase it from their website for $405.99 plus shipping. [Update: using coupon 3DCR10 will bring the price down to $401.99; Update 2: GBCR10 coupon brings that down to $399.99]

Continue reading “Creality CR-10 3D Printer Review – Part 2: Tips & Tricks, Octoprint, and Craftware“.

Categories: Hardware, Testing Tags: 3d printing, creality, review

Karl’s Home Automation Project – Part 3: Adding Light Detection to a Motion Sensor

March 27th, 2017 No comments

This is the 3rd part of my Home Automation light project. In the first part, I wrote about basic setup with basic Sonoff Wifi MQTT switches and setting them up. In the second one, we added some 433 MHz motion sensors and a 433 MHz to MQTT bridge. And finally in part 3, we are going to modify the 433 MHz motion sensors to only work when it is dark in the room.

Motion Sensor

Click to Enlarge

The motion sensor I linked in part 2 is run by a common chip called a BISS0001. We are interested in pin 9. If voltage is below .2v it will not trigger a motion. This solves the problem discussed in part 2, when we have a gloomy day or if blinds are closed etc.

By adding an GL5537 LDR (Light Dependent Resistor) shown as R3 in the diagram above, you will achieve the desired effect. Extend the LDR with some wires and solder between ground and pin 9.

The GL5537 is extremely sensitive. You can adjust your sensitivity by placement. I put mine right next to the PIR sensor so it sees outside the window. It works perfectly. If you wanted it to get a little darker you can use the mounting hole on the back or make a new on the top or sides. Direct access to the outside light would mean it would need to be darker in the room for it to trigger. You have to be careful with the motion sensor placement or your light being triggered might cause the motion sensor not to trigger because there is too much light. I get this if the motion sensor is too close to the lamps I am triggering.

Home Assistant

Before modifying we had 2 automations one for before sunrise and one for after sunset:

Now that we’ve added the logic for light and dark at the motion sensor itself, we can simplify these 2 down to one automation, and only specify the time. The rest of the home assistant configuration can be found in 2nd article here.

That is all I have for now. If you have an idea or a product that you feel that meets the cheap and DIY criteria leave a comment below. I will test it out. I know you can do a ton of things with Home Assistant and a lot seem over the top. I want to focus on mundane things like turning off lights. I am also going to get some 433 MHz moisture sensors for my house to place in crawl spaces, and under the sink but that is pretty basic.

Continue reading “Part 4: MQTT Bridge Updated to Use YS-IRTM IR Receiver & Transmitter with NodeMCU“.