Evolution of a Blog

This blog has evolved as I have as a maker. It starts at the beginning of my journey where I began to re-tread my tires in the useful lore of micro electronics and the open-source software that can drive them. While building solutions around micro-electronics are still an occasional topic my more recent focus has been on the 3D Printing side of making.

Wednesday, February 25, 2015

New 3D Printer Needed Here!

I have decided that I want, nay need, a new 3D printer to replace the Prusa I3 that I built some time ago.   My requirements for this new printer are as follows:
  • Be able to print ABS as well as PLA.   The Prusa I3 can print both but the 12V build platform, combined with it being an open printer, makes it problematic.
  • Be enclosed.   Making it both quieter and better able to deal with ABS.
  • Be quieter. See above!
  • Be capable of easily printing .1mm resolution.  The Prusa I3 can do this but it takes care and feeding.
  • Be more dependable.  The Prusa I3 has been reasonably dependable but it seems there is always something that I am doing to it or that it is doing to me!
  • Have two extruders.  At first so I can print ABS and PLA without switching reels but ultimately so I can print with dissolvable supports.
  • Include more ease of use features.  Such as the two extruders but also including a more easily adjustable build platform and easy loading extruders.
  • Large build platform.  Large enough to print any of the cases that I have designed.
I do actually, really, have a reason for needing a new printer.  Honest.  I am ready to start selling a couple of my designs and while print quality on the Prusa I3 would probably be acceptable I want what I "might" sell to be better.  Obviously the dependability requirement plays into this as well.

In my next post I will talk about the printers that I am considering.

Friday, February 20, 2015

Monday, February 16, 2015

Arduino Nano / LCD Projects Platform - Assembly

    1. Cut the header strips (10) into four segments of 15 pins each.  It
      is easy to cut these strips to size using a small wire cutter.  Simply
      position the jaws of the wire clipper over the pin where the cut is to
      be made (e.g. 16th pin from end in this case) and squeeze.  The cut
      should be pretty even as it will follow the cavity where the pin was
    2. Carefully solder the four header strips from above to the front of
      the PCB (side with labels).  Make sure that the header strips are flush
      with the PCB and that the Nano will fit into the inner two strips (see
    3. Double check that all the contacts have been cleanly and neatly
      soldered as the display module will cover these solder points once it is
      installed!!! Continuity test with a volt ohm meter would be a good thing.
    4. If you are planning on using the 5v power plug (3) then a two pair
      wire (not provided) should be soldered to the front of the board at this
      time as the solder points for the power plug will also be covered by
      the LCD once it has been installed. Note that the power plug can
      actually be installed after the fact but the ideal case is to do it now.
    5. Install the three pin jumper (6) for the LCD power option.   The
      default is to have the jumper on the PWM side but if you need every PWM
      pin then you can drive the backlight from the 5v power (though without
      brightness control). 
    6. The TFT LCD (2) module should have electrical tape covering the
      metal underside of the SD card slot.  Do not remove this!  If the
      electrical tape is missing then it should be replaced before proceeding
      as contact between the pins coming through the PCB and the metal SD card
      slot is bad!
    7. Install the LCD (2) and the three push buttons (5) on the reverse
      side of the PCB from the headers.   Make sure these items are mounted
      flush to the board and that the buttons are perpendicular to the PCB
      surface.  The bends on the button contacts should be facing long ways
      relative to the PCBs long dimension (Image 3).   It is important that
      these buttons be mounted at the same heights so the protroud evenly from
      the case!
    8. Finally, on the other side of the board from the LCD and the pushbuttons, there are spots where four 10k resistors should be mounted.  More about this in another aticle but these resistors create a three legged voltage divider, that in tandem with the pushbuttons, allow one input on the Nano to be used for three buttons.
    10. Here are images of the PCB ready to be inserted into the case.
    11. The PCB can now be inserted into the front of the 3D printed case
      (13) with the two wires for the power socket exposed through the power
      socket hole and soldered to the socket (if you are using said socket).
    12. If you are planning on using the six pin header (7) to expose pins
      to the outside of the case it should be mounted now (a little epoxy does
      the trick).   The left most pin of this header, when looking from the
      outside of the case, can be bent down and soldered to the PCB ground
    13. The back of the case can now be attached using the four screws
      (14).   The posts on the back of the case (12) should firmly press the
      PCB against the front of the case.   The reset button extender (15) can
      be used to make it easier to reset the Nano though this has the
      disadvantage of making an accidental reset possible!
Once assembled all pins of the Nano are available via the two headers.  Note, however, that a number of pins are used by various functions!   The pins that are available without caveat are D2, D3, D6, and D7 as well as pins A1 to A7.  The serial port pins, D0/Rx and D1/Tx are also available.  D5 can be available if you use jumper the Backlight to use constant 5v lighting rather than variable PWM lighting from pin D5.  Pins D4 and D12 can also be available but only if the SD Card functionality is sacrificed.

    Sunday, February 15, 2015

    Arduino Nano / LCD Projects Platform - Overview

    The "Arduino Nano / 1.8" TFT LCD Projects Platform" consists of a 3D printed case that wraps a custom designed PCB on which is mounted an Arduino Nano, a 1.8" TFT LCD with an SD Card Reader, and three push buttons which are exposed to the front of the enclosure.

    This kit is intended for someone that already has an Arduino based project in mind or underway that can benefit from a compact and flexible package that provides a small LCD, a user input capability, an SD Card Reader, and access to the Arduino's pins (of course).   It could also serve as a platform for a new Arduino user to experiment with the LCD display and SD functionality.
    The PCB is designed such that headers can be used to access all of the pins of the Arduino Nano for jumpers.  Alternatively the solder points for the header can be used to directly connect leads.   The enclosure is designed to allow for either a six pin header through the case or the void for that header can be used for a ribbon cable.  There is also a port for a power connector.
    The Nano shipped with the kit comes loaded with a program demonstrates the use of the TFT LCD, the SD Card Reader, the three buttons connected to a single analog pin, and a Temperature Sensor that is provided with the kit for purposes of this example (as well as to illustrate general capabilities of the enclosure).

    More about this project can be found in these posts:

    Parts List
    Demo Software

    There is also a video overview on You Tube:

    Another Project Example

    Here is a picture of another project in the platform.  This one leverages the configuration shown above, but with the addition of a voltage divider and thermistor, to monitor operating termperatures of a 3D printer.

    The first photo shows the wiring inside the case with the second showing it connected to the thermistor inside the 3D printer.  At this point in the experiment the DHT-11 was not needed.

    The sketch that is running has been modified from the one that comes with the kit and displays, and records, the voltage generated from the voltage divider that includes the thermistor as one leg.

    Arduino Nano / LCD Projects Platform - Demo Software

    The Arduino Nano shipped with this kit comes with a demo program already installed that assumes you have connected the enclosed DHT-11 temperature and humidity sensor with the data lead connected to digital pin 3 of the Nano.   The included jumper wire can be used for this purpose.   If you have not installed the externally facing six pin header then the jumper wire can be run through the case using the slot provided for that header.

    The demo program ilustrates the use of the TFT LCD, the SD Card Reader, the three buttons connected to a single analog pin, and a Temperature Sensor that is provided with the kit for purposes of this example (as well as to illustrate general capabilities of the enclosure).
    The program displays a menu that allows for selection of four functions:
    • Display Current Temperature and Humidity
    • Display Historical Graph
    • Adjust Backlight (with setting saved to EEProm Memory)
    • Close Log File and Stop
    Note that this is a pretty large sketch and that it consumes 97% of the Nano's memory.   This is probably (at least partially) due to coding techniques that could be improved, however, more memory can be made available if the bootloader is deleted from the Nano with programming of the Nano then done via the ICSP pins which are exposed through the enclosure.  This gets 2K back but is an advanced topic!

    Link to Source Code

    Arduino Nano / LCD Projects Platform - Parts List

    1. Two layer Printed CIrcuit Board (PCB)
    2. 1.8" TFT LCD with SD Card Reader/Writer
    3. Power Socket
    4. Arduino Nano
    5. Pushbuttons
    6. TFT LCD Backlight Jumper
    7. Six Pin Header (can be used to exposing connections through the case)
    8. DHT-11 Temperature/Humidity Sensor (for demonstration project)
    9. Three Connector Patch Cable (for demonstration project)
    10. Four Sixteen Pin Headers (once broken into pieces, used to mount the Arduino Nano and/or to expose its pins)
    11. Resistors for three buttons on an analog pin
    12. Back of 3D Printed Case
    13. Front of 3D Printed Case 
    14. Screws for Case
    15. Nano Reset Button Extender 
    Below are the parts needed for to assemble an Arduino Nano/LCD Projects Platform assuming you have purchased the PCB and printed your own case but are sourcing the rest of the parts yourself:

    ITEM eBay Link (UK) Search Terms
    1.8" TFT LCD with SD Card Reader Link 1.8" Serial SPI TFT LCD Display Module +128X160 PCB Adapter Power IC SD Socket
    Power Socket Link 2.1mm x 5.5mm Round Panel Chasis Mount Female Socket DC Connector Jack Plug
    Arduino Nano Link USB Nano V3.0 ATmega328P 5V 16M Micro-controller Board For Arduino
    Pushbuttons Link Quality Momentary Tactile Push Button Switch SPST Miniature/Mini/Micro/Small PCB
    Six Pin Header Link Stackable Si Pin Header for Arduino
    Breakable Headers Link Gold Breakable 40 Pin Header Male Female 2.54mm Socket Connector Way SIL Single
    Resistors Link 0.25W Carbon Film Resistor 10kΩ
    DHT-11 Link DHT11 Digital Humidity & Temperature Sensor
    Screws for Case Link Stainless Steel No2 x 1/2" Pozi Countersunk Self Tapping Screws M2.2 x 13mm
    Backlight Jumper Link 2.54mm Circuit Board Shunts Short Jumper Cap
    Connector Patch Cable Link Male to Female Jumper Wire Ribbon Cable Pi Pic Breadboard Arduino

    1. The links are from the eBay in the UK and may not work with the passing of time.  Hence the search terms which should return the right product regardless of what source.
    2. The Arduino Nano is shown as a China Clone but you can go more expensive!  Remember that a lot of the clones do not have a bootstrap loaded.
    3. The "Breakable Headers" are used as the source for the four 16 pin headers for the Arduino -AND- for the three pin Backlight Jumper (female for the former and male for the latter).
    4. There are a number of different 1.8" TFT LCD modules out there.   The only one that fits the PCB and case are the ones marked with "HY-1.8 SPI" below the display.