April 25, 2016

Thermal Expansion and Photo Etch Railings for Model Ships

Over the years I’ve read numerous tips to avoid attaching long, continuous lengths of photo etch (PE) railings. The reasoning usually follows that it’s easier to work with railing no longer than 3 inches. I also recall that I would occasionally read a warning that a long length (> 3 inch) of railing may break away from the model due to changes in temperature. As I’m about to start work on a model ship, I thought I would first examine this effect and share what I learned.

The property of materials to expand and contract with changes in temperature is a well-known physical phenomenon. We can estimate how much a given material’s length will change using a simple correlation:

Δl=α·l0·ΔT

Where Δl is the change in length, α is a coefficient of thermal expansion for the material of study, l0 is the initial length of the material, and ΔT is the change in temperature (Tfinal-Tinitial).

Given the equation above, we can now study the dimensional changes in both the styrene plastic as well as the brass PE railing. Experimentally derived values of α for styrene and brass are 70x10-6m/m∙°C and 18.7x10-6m/m∙°C, respectively; values for other materials are also available.

Let’s consider a model ship stored in two different locations: one where we control temperature and one where we do not. In this analysis I’ll say that a room with and without temperature control has a change in temperature of 11°C (27°C-16°C or 80°F-20°F) or 35°C (35°C-0°C or 95°F-32°F), respectively. We can then calculate the change in length for various materials and for different lengths of each material. See Figure 1.

Figure 1a. Linear thermal expansion for different lengths of
styrene and brass heated from 16 to 27°C and 0 to 35°C, respectively.

Figure 1b. Same as Figure 1a in English units.

The figure illustrates the following:
  • Styrene expands nearly 4 times more than brass. So, it's not that you need to worry about movement of the railing, but rather the model to which it's attached. You can calculate this as a ratio of the coefficients of thermal expansion (70/18.7 = 3.7).
  • Expansion/contraction is 3 times less in a room with temperature control compared to one without. You can calculate this as a ratio of the changes in temperature (35/11 = 3.2).
  • Despite the calculated differences, the magnitude of the change in length is always small (<< 1 mm for most conditions). This is true for all storage conditions, materials, and lengths examined.
  • It’s worth stating that this basic analysis lacks insight on several notable issues, including the adhesive strength, construction technique, and effect of repeated temperature cycling. There may very well be compromises where spots of a PVA adhesive offers mechanical flexibility or perhaps a continuous bead of CA glue proves quite rigid and strong. One may even speculate that years of seasonal temperature changes could cause small cracks to form and allow the railings to break away from the ship - it’s unclear.

    For short lengths (< 3 inch) it would appear that you have little to worry about regarding changes in temperature. However, for longer lengths (< 6 inch) it may be worthwhile to slightly overlap the ends of the railing to allow for seasonal movement and avoid the potential formation of gaps between each run.

    Good luck!

    January 2, 2016

    Firmware for Naze32 rev6 using Cleanflight on Mac OS X

    Update (25-Apr-2016): Check out the video on Flite Test. If their instructions don't work, feel free to try what I did listed below.

    Here's a short guide for anyone using a Mac to install the latest Cleanflight firmware in a new Naze32 rev6 flight controller. At the time of this writing, Cleanflight Configurator is version 1.1.0 and the Naze32 firmware is version 1.11.0.

  • Solder a bridge across the two pads marked "boot" on the board. See Figure 1. I did this simply using a bare wire; very easy to remove later.
  • Figure 1. Solder bridge across Naze32 boot pads.


  • Do not attach the Naze32 to your Mac. Be patient.
  • Download and install the USB to UART Bridge VCP Driver.
  • Download and install the Cleanflight Configurator at the Google Play store.
  • Restart your Mac.
  • Open the Cleanflight Configurator app in Chrome.
  • Do not make any changes to the Welcome screen. Switch to the Firmware Flasher by clicking the tab in the sidebar.
  • Figure 2. Switch to Firmware Flasher.


  • Choose the most recent, stable NAZE firmware from the drop down menu.
  • Switch on the options for "No reboot sequence", "Flash on connect", and "Full chip erase."
  • At the bottom of the window, click "Load Firmware [Online]".
  • Figure 3. Options in Configurator.


  • Connect a USB cable to the Mac and then the Naze32. The flight controller should only illuminate the blue LED.
  • Click "Connect" at the top of the window. The firmware will now transfer to your Naze32. An orange progress bar appears at the top of the window (sorry; no screen capture). LEDs on the Naze32 will not flash to indicate a file transfer. Instead, expect the LED to remain a solid blue.
  • Once transfer is complete (requires less than a minute), close Cleanflight Configurator and then disconnect the Naze32 from your Mac.
  • Remove solder bridge that connected boot pads in the first step. Desoldering braid works well for these small pads.
  • Re-open Cleanflight Configurator.
  • Connect a USB cable to the Mac and then the Naze32 rev6 board. The board should illuminate blue, gree, and red LEDs. Once the Mac has recognized the Naze32 (within a few seconds), the red LED will stop flashing and you will see a solid blue LED and a flashing green LED.
  • Click "Connect" at the top of the window and have access to the many configuration screens for the Naze32.
  • Since your Naze32 now has Cleanflight installed, you will not need to solder a bridge again in the future. If you choose to later install a new version of the firmware, do not choose "No reboot sequence" from the Firmware Flasher.

    Good luck!

    January 14, 2015

    Want to learn Linux? Try playing with a Raspberry Pi.

    I’ve been playing with a Raspberry Pi (RPi) for some time now but haven’t made much headway until recently. I originally thought it would be a fun little device for mundane tasks like web browsing or simple coding. What I learned, however, is that it has some serious limitations so aspiring to be a simplified desktop environment is really asking too much.

    I now appreciate that the RPi is a great way to learn Linux and develop simple circuits paired with scripted logic. The RPi makes this attractive by giving you the freedom to hack anything without fear you’ll do damage to the computer. If something runs amok, with a few keystrokes you can wipe out the memory, operating system and all, and just start over. Sure, you can do all that with your PC or Mac but the reinitialization is far more time consuming.

    If you want to get your own RPi up and running quickly, here are a few resources that I found helpful for a fresh install. Beyond a keyboard and mouse, you’ll also need a WiFi USB dongle.

    • Start by formatting your SD card with SDFormatter.
    • Download the latest Raspbian image.
    • Flash the uncompressed image onto your SD card. This is surprisingly more complex than merely moving the image from your computer to the card itself. Well-written instructions are available from Adafruit for both Mac and PC.
    • Insert the SD card into your RPi and boot (i.e., plug in the power!).
    • On your initial boot, the raspi-config tool will open. This is the best time to modify configurations that will make your life easier. Overall instructions are listed here but the highlights are as follows:
      • Expand root partition to fill SD card.
      • Open the “internationalisation options” submenu.
      • Change your locale. Use the spacebar to turn off/on locales. For the US, turn off GB (en_GB.UTF-8 UTF-8) and turn off US (en_US.UTF-8 UTF-8).
      • Change your timezone.
      • Change your keyboard. This is a very important step. Unless you change these setting, your keys may be incorrectly mapped and cause you an amazing amount of frustration!
      • Reboot the RPi upon exit.
    • Connect the RPi to your wireless network by editing wpa_supplicant configuration file.
    • Now that you have a wireless internet connection, update and upgrade Raspbian.