Tuesday, September 29, 2015

On nozzle sizes

Someone just asked me the pros and cons of nozzle sizes.  I wrote this up in an email, but I may as well post it here. As always I welcome corrections.

On the nozzle, I'd look for a clone JHead with replaceable nozzles.

Like so
and so

At $3.99 each for nozzles, get every size and try them out.

I'm using a 0.4mm now, that seems a good compromise. The narrower the nozzle the more tiny detail you can get. If you plan to do things like dollhouse furniture or small figurines or game pieces, that may be more important. It doesn't change the resolution but it changes the detail. That is, if you want a wall that's exactly 2.25mm wide, any nozzle can do that, the software just moves the head back 1/2 the extrusion diameter from the edge of the wall.  But if you want to make a gear that has 0.75mm teeth, a 0.25mm nozzle will have a much better time of it than a 0.5mm nozzle will.  You'll get a mess with the latter, maybe a useable gear out of the former.

The downside to smaller nozzles is increased backpressure will limit printing speed, it'll have to extrude many more linear centimeters of bead to cover the same number of square centimeters (because the bead is less wide), you won't be able to print as thick a layer with a narrower nozzle (because you need to squish down the layer flat for good bonding - a 0.25mm nozzle should not be printing layers thicker than about 0.2mm, but with a 0.5mm nozzle you can get away with 0.4mm layers - immediately twice as fast, assuming that 0.4mm layers are OK for what you're printing.

All of that meaning that a 0.3mm nozzle will probably take twice as long to print something as a 0.4mm nozzle, for bigger objects.  For little stuff, it probably makes no difference in speed, and you'll get better accuracy with smaller nozzles.

Also, smaller nozzles are more prone to clogging if foreign stuff gets into the hotend.

Friday, September 25, 2015

Refrigerator repair

When I rolled my refrigerator out to clean the coils (something EVERYONE should do once a year - dirty coils can greatly increase the energy consumption), I found that the floor was soaked and rotten underneath. Subsequent investigation revealed that the evaporation pan had rusted through.

Fridge 101 - In modern fridges with automatic defrosting, on a regular basis (often every 8 hours) a heater comes on for a short time, melting the frost buildup on the coils in the freezer. The water then runs down to a tray, down a tube (usually down the back of the fridge) and into the evaporation pan at the bottom.  This pan sits among the fan and the condenser coils (which are hot when in operation) so the water is quickly evaporated.

I checked online and it turns out that this pan is no longer available (it's a 20 year old fridge). I came up with a plan to repair the pan. First I used an abrasive wheel to clean the rusty bottom of the pan:

My plan was to plug the hole with tape and then use a spray-on rubber coating to seal it. However, the hole was way too big, but I decided that the long bit of the tray only goes out under the heating coils to improve evaporation; the coils are hot and so should never be dripping water. So I cut it off, made two cuts and folded it up. I then put on about 8 coats of rubber lining (most of a can) over the course of a couple of days and reinstalled it.

I also installed a water alarm behind the fridge to monitor for further problems, especially since we're having hardwood floors installed in a few weeks.

I have an alternative plan in case this fails - I have a simple way that I thought up to form metal in to the shape of the pan.

Monday, September 14, 2015

Arduino experiments with the ESP8266 WiFi module

First post to start exploring the ESP8266 WiFi module

Back in late 2014, Chinese chip maker Expressif burst onto the western market with the ESP8266 chip, a very (VERY!) inexpensive chip that implements a pretty complete 802.11 2.4GHz WiFi interface. The first modules available were the one on the left in this photo, with an 8 pin header which provided a simple SPI interface to processors such as the Arduino using a slow but useable AT command set.

Very quickly, makers noticed that the chip incorporated a 32 bit ARM core and that there should be a LOT more I/O available if only it were brought out to pins on the board.  They started asking the company if this was possible. The company basically said "Sure, we just want to sell chips, here's the source code and the API!" and people went to town and the company is selling these chips by the bucketload now (take note, chip makers. Opening your API = more sales).

The chip is available in a bunch of configurations now.  The one in the center of the photos is designed to be easy to work with on a breadboard or development kit. The one on the right is designed for compactness. All three include an antenna for WiFi connectivity. The middle one (and others that are available) also include a coax connector for attaching an external antenna.

To begin experimenting, I bought this development board for a total of $15 with the above module on it.

You can program directly for the chip, and there are also a few languages and environments that have been ported to it, but I'm going to stay with Arduino for this article.

Here is a good page with a ton of good information on this chip, including a schematic.

Here's the schematic itself, again, borrowed from the above page.  Click to embiggen.

To get started, here's a page with the Arduino environment setup for this device.


I just followed the instructions on "Installing with boards manager" from the page above.

This page on github has a bunch of useful info on the Arduino port to the 8266.

I wrote a bit of code which is horrendously bad, but it does show using all of the stuff available on this development board and should be enough to get you going. I pulled in the DHT11 library from here:


Go to your Arduino installation, below Libraries create a directory called "DHT11", it's likely it will be here: C:\Program Files (x86)\Arduino\libraries\DHT11.  Put Dht11.h and Dht11.cpp from the above page into that directory.

Here's the code I wrote.

Before uploading, change the ssid and pass to match your WiFi network. Set the dip switches with 1 through 6 on, 7 and 8 off.  Also, to put the 8266 in bootloader mode, you must hold down S2 on the dev board when you turn it on. Then you can compile and upload the sketch.

Here's the video showing uploading the code and what it does, plus some rambling.