Retirement Countdown Clock

IMG_2425

I’m still a few years away from retirement eligibility, but that doesn’t mean I can’t be getting ready. The problem is, it’s easy to get distracted. I was looking for a quick project and had the idea to make this retirement countdown clock, to remind me to stay focused on my retirement goals.

This is a cheap project, costs around $12 (not including the cost of the 3-D printed case), and is easy to make. The main components are:

  1. MAX 7219 8-digit, 7-segment LED display — you can find these on eBay for about $3.50, including shipping.
  2. DS 3231 Real Time Clock (RTC) module — about $2.50 on eBay. Don’t forget the 2032 coin battery.
  3. Arduino Nano Micro-controller — about $6.00 on eBay.

The basic design is simple, both the 8-digit LED display and Real Time Clock (RTC) module are wired directly to the Arduino.

IMG_2400

I was initially worried that the display would draw more current than can be supplied by the Arduino, but that’s not a problem at all. Just to be safe, you’ll see in the code that I’ve reduced the display brightness to avoid any issues.

Connect the following LED pins to the Nano:

VCC -> 5V
GND -> GND
DIN -> D2
CS -> D3
CLK -> D4

Next, connect these RTC module pins to the Nano:

VCC -> 5V
GND -> GND
SCL -> A5  Note: Arduino pins A4, A5 are dual-purpose; in this case
SDA -> A4  they're used for the I2C interface connection to the RTC.

Here’s a picture of the three components wired together. Because the Arduino Nano has only one 5V pin, I had to do a bit of soldering to create a Y-shaped connector cable, to provide power to both the LED display and RTC module from this single pin on the Nano. That’s the red and white shrink-wrapped cable.

IMG_2404

I designed the 3D-printed case using Autodesk’s free 123D Design software. Here’s a series of screen shots showing how the case is designed. I start by placing a 2 mm thick back “wall” of the case. An easy way to make the rounded corners is to merge 2 mm high half-circles into larger rectangle. Once the shape is correct, you can fuse the separate pieces to make a much more complex, solid shape.

Next, add 2 mm thick rectangle case “walls” to the back piece, and add quarter-cylinder shapes, the same height as the sides, to close the edges. With these pieces aligned precisely, you can continued to fuse or merge these pieces together to make larger solids. I haven’t noticed that keeping the component pieces separate or fused makes much of a difference in how the design is printed in 3D.

2017-03-31-5

The 123D Design software lets you merge pieces when exporting to .STL format, but combining pieces does make managing more complex designs easier.

Here’s the final case design.  I created the face plate in the same way, but adding the embossed lettering is much easier to do using Microsoft’s excellent (and free) 3D Builder app that is included with Windows 10. You can download the case files in .stl format here.

IMG_2406

The last step in this project was to write the Arduino sketch to run the clock. The code is almost trivial, so I haven’t bothered documenting it here.  The Arduino sketch file (.ino) is available for download here.

That’s it! Post any questions to comments.

Do you need a 3D printer?

No, of course not. Might you want one?  Possibly. The promise of home 3D printing has definitely been over-hyped; the 2014 documentary “Print the Legend” covers this well, by profiling the rise (and beginning of the fall) of MakerBot, one of the pioneers of the consumer 3D printing market.

Nonetheless, the hobbyist market is progressing; there are a number of excellent printers available. MakerBot is still around, the Kickstarter-funded M3D Micro offers an entry-level printer for $249 and, at the other end of the spectrum, Robo and Ultimaker sell excellent, almost “prosumer” class printers for significantly more.

I bought this 3D Systems 3rd-generation Cube printer, used, on Ebay, a couple years ago. It originally sold for $1000, but I got it for around $300.

IMG_2323This was 3D Systems last consumer model. It’s an excellent printer but suffers a fatal flaw: the filament is contained in non-reusable cartridges, the idea being to make replacement as easy as changing ink in a paper printer. The cartridges are prone to jamming, however, and originally retailed for $50 each, much more expensive than buying bulk filament. I’ve got quite a few cartridges, but when these run out, I’ll be looking for a replacement printer.

So back to the original topic: why have a 3D printer at home? If you like to make things, being able to create plastic parts, in almost any form you can imagine, is indispensable. weathercube_controller

Case in point, to borrow from an earlier post: for the weather cube project, I needed something to hold the three circuit boards in place. Using Autodesk’s excellent (and free) 123 Design CAD software I was able to design, prototype and print a perfectly-fitting “cage” in a couple hours. UPDATE: Autodesk no longer makes this software available but you can still get the Windows version (and this is kind of odd) by searching for “123 Design” on Amazon.com. You’ll find it listed for $0. Add to your cart, check out, and you’ll get a download link to what appears to be a legitimate copy of the software.

Beyond hobbyist projects, I’ve found that, once you have a 3D printer, and understand what it’s capable of making, all kinds of applications around the house begin to appear. IMG_2309For example, this set of custom-designed stands for our TV, to accommodate the sound bar placed in front.  Without these risers, the sound bar would block the bottom of the screen. By designing curved stands that perfectly match the shape of the TV’s “feet”, the sound bar can be nestled in-between, for a compact appearance.

To get a better idea of what’s possible, check out Makerbot’s Thingiverse web site, a sort of clearing house of user-created models, all available for free download and printing, in standard .stl format, on just about any 3D printer.

Custom-fit brackets and holders are another application area where 3D-printing excels. You’ll want to investigate more durable plastics, like ABS, for some applications but for use around the house, PLA is often sufficient, and easy to work with. Here’s an example: a bracket to hold this flashlight in a convenient location.

IMG_2312

If you find any of this intriguing, but don’t want to commit to buying your own printer, there are online print services, Sculpteo and Shapeways are two of the more established service providers. Other options include local libraries that might have 3D printers available for free and UPS, which has offered print services at some locations.

Weather Cube

Tempescope is a project started by Ken Kawamoto, to create an “ambient physical display that visualizes various weather conditions…”  Here’s a video of his creation in action:

He’s also created an open source version, you can find more details here: https://www.tempescope.com/opentempescope/

If you want to create your own version of this device — I call it a “weather cube” — I’ll provide some pointers that might help clarify the build process outlined above. The basic idea is to create an acrylic cube made up of two compartments: a large upper chamber that will contain the “weather” — either rain or a mist that can represent clouds or fog — with a water reservoir at the bottom, and a second bottom compartment that will contain the power supply and controller for components that create the weather effects: a water pump, a water atomizer, a fan to exhaust water vapor from the upper chamber, and a multi-color LED that can represent sun or lightning.

tempescope_finished_exterior

Here’s a diagram from the (original) open tempescope site that shows the basic arrangement. The water reservoir and electronics compartment are in the white painted section at the bottom. You can see a spot at the top (on the “lid”) to hold the multi-color LED, and a clear plastic tube that moves water from the reservoir in the white section at the bottom to the top, in order to sprinkle water into the top (clear) chamber, in order to simulate “rain”.

The exact size of the weather cube isn’t critical. I made mine approximately 4.5″ (L) x 4.5″ (W) x 14″ (H). The white painted section at the bottom is 6″ high.  Here’s a video of it running, after I’d completed assembly, and had a first working version of the control software:

I started the build by creating a jig, basically a couple wood boards, glued together to form an “L”, at an exact 90 degree angle, to facilitate gluing the pieces of acrylic together, while keeping the angles square.

Here’s the almost complete acrylic cube, showing three sides glued together, divided into the two chambers. I added a small “shelf” in the water reservoir to hold the water atomizer at the right level, just below the water surface, in order to create the right amount of mist that sprays upward into the “weather” chamber.

IMG_20151124_152601466

You can also see the exhaust fan mounted just above the water reservoir, and holes drilled into one side to hold the push-button switch controls.

At this point, I started sourcing and wiring the individual components together, and connecting them to the controller. For this project, I used the Raspberry Pi 2 computer, since that eliminated the need for an external application, an iOS app in the case of the Open Tempscope Project. The basic idea behind the software is that a python script can call the Yahoo! weather web service to obtain a weather forecast for any of a set of pre-configured cities around the world, then switches (transistors) connected to the Raspberry Pi’s GPIO pins will switch the multi-color LED, pump, atomizer and fan on and off as required to create the desired weather effect: sunshine (with or without clouds), rain, fog, and lightning.

Here are the components, minus the multi-color LED (which can be powered directly from the Raspberry Pi’s GPIO pins): the water pump at top-left, the atomizer at left, the Raspberry Pi at bottom, and the exhaust fan on the right, connected on a breadboard.

IMG_20151103_213647266

Note the separate 24V (for the water pump), 12V (for the atomizer) and 5V (for the exhaust fan) power rails. Also, I’m using transistors, connected to the Raspberry Pi’s GPIO pins, to control the external devices that can’t be powered directly from the GPIO pins, due to high current demand. I’ve copied my notes below, showing how voltage regulators are used to provide the 12V and 5V from an external power adapter that provides 24V DC output. Also shown is how the transistors are wired to act as switches for turning the pump and atomizer on and off.
weathercube_controllerThese transistors and other components are mounted to a breadboard, then wired to the Raspberry Pi using terminal connectors. I needed a “cage” to hold everything together, so I 3D-printed the assembly shown above. The top board is the power supply, with heat-sink attached voltage regulators, the Raspberry Pi is mounted in the middle, and the switching transistors for the fan, atomizer and pump are mounted on a perforated (“perf”) circuit board at the bottom.

IMG_20151205_120257499

Here’s a view of the completed case, all the sides are glued and sealed. It took a few tries to find a type of silicon sealant that bonded well to the acrylic plastic. You’ll find that bonding the sides together with acrylic glue alone won’t create a watertight seal, and that you’ll need to use a silicon sealant to make everything watertight.

IMG_20151213_144040696-1

The bottom six inches of the cube are painted last, with a small clear portion left for the OLED display, mounted inside the case using a custom 3D-printed bracket. The display is wired directly to the GPIO pins on the Raspberry Pi.

As you work with the plastic, you’ll invariably scratch the surfaces (I gave up trying to protect it early on); the good news is that a polishing kit will fully restore the original clarity.

The weather cube is controlled by a Python program that “listens” for a button press that selects between a fixed set of cities. For a selected city, Yahoo’s weather web service is called to obtain forecast conditions, then a procedure is called that simulates that weather via some combination of LED lighting, water and mist from the atomizer.  The simulated weather is displayed for 30 seconds, then the fan is run to clear water vapor from the upper chamber.

Contact me via comments if you need more information or want a ready-to-run Raspbian image for the Raspberry Pi.

A better iPod…from the past

The highest capacity iPod you can buy today is the 128 GB iPod Touch for $399.  Apple discontinued the “classic” iPod in 2014. You can still buy a new, last-generation iPod Classic on eBay, but it will cost you: over $400 at the time I’m writing this post.ipod_5th_generation

Fortunately, there’s a way to get a high-capacity iPod for much less. Go back to eBay and find a used, good condition iPod 5th Generation (also called the iPod Video, since this was the first generation player with video playback capability). Prices for these devices are reasonable; I was able to pick up a good quality unit for around $50.

Next, head over to iFlash.xyz and pick up one of their iPod flash memory adapter boards.  They offer several models with varying storage capacities; I bought the iFlash-Solo for $33.  This board turns a regular (and cheap!) SD card into a replacement hard drive for your iPod, up to 128GB capacity. Other slightly more expensive versions of this board offer much higher capacities.

Directions for installing the iFlash card into your iPod are on the same page as the specific iFlash adapter card you’re interested in. You’ll need a “spudger” tool like this one from iFixit to pry apart the case halves on the iPod and be warned: you’ll also need iFlash-Solo_500some patience and time to open the case without damaging the easily scratched plastic face on the iPod. There are useful guides on YouTube for doing this. If you do damage the iPod, both halves of the case are available new on Amazon for very reasonable prices.

Also, while you’ve got your iPod open, you might want to replace the Li-Ion battery. These are available on Amazon for around $17, and include a plastic tool for opening the iPod case.

With this conversion, you’ll have a classic iPod with 128 GB (or much larger!) storage capacity, that is noticeably faster with a flash drive than the mechanical hard drive used in the original player. Even better: your new iPod is lighter without the hard drive and runs longer, too.

A $35 WordPress Server

Raspberry_Pi_3

The Raspberry Pi is a bargain PC. In its 3rd generation you get a tiny PC the size of a credit card with a 1.2 GHZ quad-core ARM CPU, a 400 MHz Broadcom VideoCore IV GPU (which is experimentally supported in the latest Raspbian build, meaning openGL support), 1 GB of RAM, 4 USB ports, an Ethernet port, 802.11n Wireless networking, Bluetooth 4.0 and whatever decent size microSD card you want to use for storage – for $35!

So to start this blog off, and to give this blog a home, I figured why not try to use this little PC as a WordPress server? It’s easy enough to do: start with the above-described $35 Raspberry Pi model 3, install Raspbian Linux, Apache web server, PHP script processor, MySQL database software and you’re up and running!

Here’s a great tutorial for doing this yourself.