Posted on Leave a comment

FLSUN Upgrade with AliExpress Volcano Knockoff

Volcano Clone Installed

Volcano Nozzle Upgrade on FLSUN Delta

I purchased a knockoff E3D V6 and volcano nozzle set on Aliexpress through Anycubic, because I wanted to upgrade my FLSUN Delta. The volcano upgrade is a nozzle set designed to allow significantly more filament to be extruded, so you can print tougher parts in less time. Genuine volcano kits are available for around $50 or more, but I’m a cheap bastard so I am going to use the chinese clone. It was around $11 for the entire kit when I purchased it in early March 2017. Shipping took a long time as expected with Aliexpress, but everything was there and it looked good. It came with a full clone J-Head assembly, including a 30mm fan, heating element and thermistor as well as a separate volcano kit. The volcano kit came with a larger heating block and four nozzles that range from 0.6mm to 1.2mm. Quality looked pretty good, and it’s definitely going to be an upgrade over my old, worn-in E3D V5 clone.


This slideshow requires JavaScript.


Upgrading my FLSUN delta was straightforward. Installing the new hotend was essentially the same process as removing the old one. I removed the old hotend by disconnecting the bowden tube, electronics and the two screws that hold it in place. I took the old hotend assembly out of the bracket. On the FLSUN delta, only two screws have to be loosened to remove the hotend assembly from the effector so it’s pretty easy. I put the new volcano hotend assembly into the bracket and tightened it into place. There is a screw that is used to adjust the auto-leveling function of the effector, and I had to make sure to readjust that to be accurate.

I soldered the fan to some extension wires so that I could run it down to the control board. The polarity of the thermistor and heating element don’t matter, so reconnecting them was easy. It took about fifteen minutes to install the new hotend, and run the wires. I had some trouble removing my old hotend assembly, because it melted into the plastic effector slightly over time.


This slideshow requires JavaScript.


Systems Check

Temp Graph

I accidentally overtightened the thermistor, which caused it to short and throw a temperature error. I checked the thermistor using a multimeter, and found that the resistance was 0Ohms which confirms a short circuit. I wanted a reading between 70k and 80k to confirm that it was working. I fixed my mistake by putting some kapton tape on the exposed wire, and then I carefully put it back into place. I wrapped the hotend in some ceramic insulation, and then I wrapped the insulation in aluminum tape.

I ran a quick self check, and then a PID tune. If you need to do a PID tune, I personally referenced Tom’s guide for configuring Marlin. Everything looked great, and the temperature was surprisingly stable after my first check. The temperature graph shown is from the purple vase print that’s coming up.



I loaded a scripted vase into Simplify3D, and sliced it in vase mode. I wasn’t sure was settings to use to start with, so I went with the following:

  • 0.8mm nozzle
  • 0.4mm layer height
  • line width of 1.0mm

I thought that using a line width of 1.0mm would cause the layers to squish together firmly, increasing strength. I primarily wanted the volcano to quickly print strong objects, so I thought that a vase would be a perfect way to test speed and the strength of walls/layers.

Right off the bat, there was some cooling issues due to the lack of a part fan. The thick lines were holding onto too much heat, and they started to sag. I added a small desk fan to help with air circulation, and the print quality increased quite a lot. Printing slower would also help. I have some blower fans coming in the mail that I will install on the effector for a more permanent solution. I stopped the vase print after 15 minutes to examine it. The surface finish is beautiful, where the part was properly cooled. The thick layers have a charming texture and the way that they line up nicely is quite satisfying. It’s also incredibly strong, the thick lines give the vase some real structure even though it’s only one layer thick. The infill left a lot to be desired, lots of missed gaps because of the huge extrusion width. I can fix that with settings, though!

Purple Vase 0.4mm Layers
Purple Vase 0.4mm Layers

I tried some cable chains at 0.4mm without any part cooling, at around 80mm/s print speed. I printed four links at once, to give each piece some time to cool down. They came out quite ugly with 0.4mm layers, but they functioned well enough and were very strong. Most importantly, they printed FAST. It only took about 2 minutes to print each link, which is at least two times faster than my original Prusa i3 Mk2s with the stock setup.

This slideshow requires JavaScript.

I started tweaking the settings a bit, and settled on the following for my next test:

  • 0.3mm layer height
  • 0.8mm line width
  • 25% overlap
  • 200C nozzle
  • 80mm/s print speed

I noticed that the volcano nozzle has significantly less oozing than the stock nozzle, so I reduced my retraction from 6mm to 3mm. I put a desk fan in place to act as part cooling, and printed some test nuts & bolts. I printed two bolts and two nuts at the same time, with the bolts spaced apart to test retraction. I added a 2-layer brim to the parts to make sure they stayed put on the bed. They came out looking pretty nice, and the total print time was only around 10 minutes! Retraction seemed perfect. They worked right off of the build plate and they are incredibly strong. There are some minor banding and over extrusion issues, but for the third print after upgrading the quality impresses me.


I adjusted some acceleration settings to help compensate for the heavier hotend, and then I ran another vase mode print. I printed another scripted vase, this time at 160% scale. Still using the 0.8mm nozzle, and a layer height of 0.3mm. An hour into the print, my filament ran out, so I had to stop the print. I managed to print about 85% of the vase, so I’m not calling it a total failure. The vase came out incredibly strong, and the surface finish is getting better with every print.

This slideshow requires JavaScript.



I’m quite happy with how the upgrade went, and I’m surprised at how low the cost was considering the quality of components. It took forever for the parts to arrive, but when you consider the incredibly low cost you can’t beat it. The seller ANYCUBIC also refunded me on a set of 5 nozzles that took an extremely long time to arrive, and they were responsive to questions. A genuine volcano setup would most likely produce higher quality parts, and it’s going to be made with higher quality materials and more stringent quality control. On the other hand, you really can’t complain about the knock off when you basically get two functional hotend setups for around $11 Canadian. It was basically a straight replacement for the stock nozzle on my FLSUN delta. There was some minor fidgeting to get the fan attachment on with the stock effector, but it ended up working out fine. It took about 30 minutes to change the hotend and get printing. Half of that time was spent doing a PID tuning.

The strength of printed parts and increase in speed is awesome. I primarily use my original Prusa i3 for prints where quality is important, so it’s great to have this option on my delta to rapidly produce tough parts. The volcano clone still produces high quality prints under the right conditions, and it will only get better as I tune in my settings. It’s also nice to have a higher quality hotend assembly on the Delta, so that I can reliably print materials other than just PLA.


I seriously suggest this upgrade to anyone that’s considering it. The monetary investment, and time spent is so small compared to the time it will save when printing. Upgrading from a 0.4mm nozzle to a 0.8mm nozzle immediately cuts print time in half. Thicker lines also mean less layers and stronger layer adhesion, which results in much stronger parts. Plus, bigger individual lines means less individual movements and it results in smaller gcode files that are easier to process! The only downside ( other than aesthetic quality ) is that the upgrade doesn’t come with a dedicated part cooling fan, so I’m going to have to improvise. I’ll probably just hot glue a blower fan onto the effector and call it a day.


Posted on Leave a comment

ProGrow Update #5 – Bluetooth using HC-06

Progrow Side - Feb 16 2017. HC-06 visible in the top right

I’ve been severely neglecting the ProGrow the past couple of weeks. The cat grass died a while ago, but I’m planning on planting some catnip in the future. Right now, I’m going to try to focus on getting some wireless functionality into it. I have an ESP8266 module that is capable of adding Wifi to the system, but I also have an HC-06 Bluetooth module. I’m going to test out the Bluetooth for now, so that I can send commands to it from my phone or PC.

The HC-06 and HC-05

HC-06 with Breakout Module Front View
HC-06 Bluetooth chip with breakout module, Front View

The HC-06 and HC-05 are inexpensive and easy to use Bluetooth modules. The 05 and 06 are virtually the same, but the HC-06 is only capable of acting as a slave, while the HC-05 is capable of acting as a master/slave. The blue board in the picture above is a breakout board with a voltage regulator for the primary chip.

Adding the HC-06

It’s incredibly easy to wire up the HC-06. All I had to do to connect it to my Arduino UNO was:

  • VCC to 5V
  • GND to GND
  • TX to Pin 2
  • RX to Pin 3

If your module has a breakout board attached, then it will be 5V tolerant. If it is a bare module, you’ll need to make a voltage divider in order to provide 3.3V to the chip.


HC-06 with Breakout to Arduino UNO Schematic
HC-06 with Breakout to Arduino UNO Schematic

Connecting with the HC-06

I’m using the library SoftwareSerial to utilize my digital pins 2 and 3 as RX/TX,  instead of 0 and 1. This is because when you have something connected to pins 0 and 1, and try to upload to the board via USB, it can cause a communication issue. At least it did that for me.

All I had to do was include the SoftwareSerial library, and then initialize pins 2 and 3 using:

SoftwareSerial HC06(2,3); //RX, TX

That way I can use “HC06” for serial functions on different pins. It has to go before the setup function.


I’m using a Bluetooth dongle on my PC to send commands to the HC-06. I can connect to it with the Windows Bluetooth interface, using the default password of 1234. I’m using PuTTY to connect to the COM port that is associated with sending data to the HC-06, and then I send commands through the PuTTY terminal.

I can read data that is sent to the HC-06 using:

btData =;

Then I can use a simple if statement to make decisions based on whatever value I sent to the module. For example:

if (btData=='1'){
    displayData(); //displays all sensor values on screen


What’s Bluetooth needed for?

Right now I use the Bluetooth to issue basic commands wirelessly. I can send commands to the ProGrow from my computer using Putty. I can have the system output to the display, water the plant, write to the SD card, change the automatic sample delay and force a measurement.


What’s next?

I want to use an HC-05 module instead, which will give me many more connectivity options.

I am going to design new cases for all of the modules. My goal is to create a single box that will house all of the primary components, instead of having them distributed across the front or side of the container. I also want to get some catnip planted.





Posted on Leave a comment

ProGrow Update #4 – SD Card, Analog Buttons & 3D Printed Enclosures

ProGrow Version 1.0

ProGrow Update #4

ProGrow Version 1.0
ProGrow Beta


I completely revamped the layout and configuration of the modules on the front of the ProGrow. I designed and printed some basic enclosures for all of the different little modules to help isolate each unit and tidy it up. It’s still a mess of wires, but I’m making progress on the overall design. I used 3DS Max to design the basic enclosures, and then I used my Kossel Delta printer to make them. Most of the things were printed using white PLA, but I ran out and used black PLA to print the 9V battery enclosure.

3D Printed Enclosures

This slideshow requires JavaScript.


I’ve successfully added an SD card module to store data for the long term. I have a spare 16gb MicroSD in there right now, so I have a few years worth of samples that I could store. I’m going to change the SD card to a smaller, more robust one to help avoid catastrophic accidental corruption. I use the SPI.h and SD.h libraries in order to read/write to the SD card and I store the sensor data in a .txt file. I’m working on graphing the data automatically, but it’s not a priority right now.


4 Buttons Connected To One Analog Output
4 Buttons Connected To One Analog Output

I removed the 4 digital buttons that I was using for manual control. I made a circuit that outputs an analog signal instead of a digital one, and connected the buttons to a free analog pin. This freed up 4 digital pins for future use. I use a few series resistors to create different analog signals that gets sent out through the purple wire in the image above. The buttons are placed so that they will see different levels of resistance from the chain of resistors when pressed. The programming simply reads the analog value and then makes decisions based off of the value. Much more pin-efficient than before!


The LED display made the old RGB indicator light obsolete, so I removed it. This gives me even more digital pins for future use.


I’m going to work on reducing the power draw, and implementing batteries next. I’ll be publishing a parts list sometime soon.

Posted on Leave a comment

ProGrow Update #3 – Growth, Batteries and Mold

ProGrow Update #3

The ProGrow has been exploding with growth over the past few days. Some of the blades are over 6″ now, despite Ozzies constant attempts to eat all of it. The soil started to develop a very small amount of harmless white mold. I assume the mold is due to the consistently high moisture levels. I treated the mold by adding a trace amount of potassium bicarbonate and cinnamon to the soil, and to the water. The mold vanished in less than two days and the grass seems to appreciate it. I also reduced the frequency of automated watering to once every 6 hours at the most, and changed the moisture threshold that turns on the pump. This should help reduce the moisture levels of the soil, to discourage further mold growth.

ProGrow Update #3 - Batteries and Stuff
ProGrow Update #3 – Batteries and Stuff



I tested the 18650’s that I had laying around, and only two of the batteries were still functional. The other two seemed to be almost completely discharged and are most likely at the end of their life. I’m going to use these two to create the new battery pack for the system. I still need to test the Macbook battery that I have to see if it’s a potential solution, but I prefer the 18650s due to their profile. I’m still waiting on the charging modules from Aliexpress, and it could still be a while. Once the charging modules arrive, I’ll charge up the batteries and do proper measurements to get an idea of their health.

18650 Batteries
18650 Batteries


I am considering moving the system from an Arduino UNO to an Arduino Nano. I believe that it would let me reduce the footprint of the project as well as reduce idle power consumption. I’ve received my SD card module in the mail and intend to implement it into the ProGrow as the next step. I am going to remove the RGB indicator LED in order to free up GPIOs for the SD Card. Ozzie seems to like hanging out right next to the ProGrow. It’s like a grass buffet for him!

Ozzie chillin' next to the ProGrow
Ozzie chillin’ next to the ProGrow
Posted on Leave a comment

ProGro Update #2 – USB Battery Bank

ProGrow Update #2 – Battery Bank

ProGrow with USB battery bank
ProGrow with USB battery bank


I’ve upgraded the system to include a USB battery bank. I’m using a cheap 4400mAh battery at the moment, but intend to upgrade it to a better system. I have a bunch of spare 18650’s and a MacBook battery that I could use, and I’ve ordered some charging and voltage step-up/step-down modules from Aliexpress to build a custom charger. I’m also going to invest in some solar panels to make the system recharge during the day, but I will need to find out my current draw and other things before I buy them. Right now the system requires too much power to have a realistic solar panel recharging system.

ProGrow Powered On
ProGrow Powered On


I ran into some initial difficulties using the battery bank to power the Arduino. The bank is designed for charging phones, it has an automatic shutoff feature if the output current is very low. During normal operation of the ProGrow, the battery shuts off after approximately 10 seconds if current draw is under 50mA. I had to make the automatic sampling time ~5 seconds, so that the LED display would turn on and draw enough current to keep the battery active. From 1/4 charge, the battery bank was able to power the system in its current state for ~18 hours. Not bad for a first run I suppose, but future versions will be much better. I’ll have to make a better battery bank and find out my current draw before I continue.



Posted on Leave a comment

ProGrow is under development… again!

ProGrow Development

I’ve just started work on my ProGrow system after quite a long period of inactivity. Surprisingly, everything on the ProGrow still worked when I first plugged it in after so long. The moisture sensors didn’t seem to accumulate too much corrosion, and everything was still reading properly. It even had the program still loaded. Pretty crazy, considering it’s made using the cheapest parts available, went through a move and has sat idle for 6+ months. The plant that I used to have in the system was very dead. I replaced the soil, added a layer of cat grass seeds and then put an inch of soil over top. I chose cat grass because it’s super cheap, grows like crazy and I have two cats.

ProGrow Day 7 Growth From Front
ProGrow Day 7 Front

DC Pump

I bought a 3V-6V submersible pump from Aliexpress. It cost approximately $2 for one pump! That’s pretty darn cheap. I tested the pump by connecting it directly to a ~6V 18650 battery bank, and it pumped like crazy. It seems to work fine with a 9V battery as well, so I ended up using one of those because I had plenty of spares. I’m going to implement a more permanent rechargeable battery bank soon, possibly with some kind of solar power.

3V-6V DC Water Pump
3V-6V DC Water Pump

Relay Module

I added a double relay module to the project ( also bought on Aliexpress ), and connected the inputs on the module to digital pins 12 and 13 on the Arduino. It gets 5V and a ground connection from the nearby breadboard that holds the button inputs. A 4 digit segment display was added to the front to display the current sensor readings, instead of sending the information through the serial connection. I bought the display from RobotDyn on Aliexpress ( big surprise ), and it uses the arduino-tm1637-master library. Currently it displays the temperature, air and soil moisture, ambient light, run time and the delay between automatic samples. It also displays the project name and some other stuff while turning on.

ProGrow Day 10
ProGrow Day 10 with relay & LCD


I attached a mason jar to the side of the container in order to act as a water reservoir. With some hot glue and double sided tape, I attached the pump to the inside and ran some wires. I attached the pump to a 9V battery, and connected that to the relay that is controlled by pin 12 on the Arduino. I use the values read from the moisture sensors in order to control power to the pump. When the soil moisture falls below a certain threshold for a certain length of time, the pump will engage and water the plant until the average moisture rises back up. I plan to add another sensor to indicate when the water level is low in the reservoir, so that it won’t burn out the pump if there’s no water.

ProGrow Day 11 Status
ProGrow Day 11 Status


I intend to remove the RGB LED on the side to free up 3 more GPIOs. This will give me extra pins for future use. I am also going to move the relay modules to different pins.

I’m going to try to design and 3D print some customized enclosures for the modules that I have added. When my wireless chips and SD module come in the mail, I am going to implement wireless data logging and communication. I’m also looking into purchasing a sensor expansion board, and some silicon boards to clear up the wiring a bit. Not sure if the name “ProGrow” is going to stay.

I’m also going to try to make more detailed posts about the individual steps at a later date.