Sunday, March 23, 2014

Printrbot Simple Build Volume Upgrades

I received a Printrbot Simple (late 2013 version) as a (wonderful!) Christmas gift this year. Everything assembled nicely and the prints have been great so far. One thing that's bugged me since day one, however, is the very small build area (roughly 4" cubed). I set out to change that and have decided to detail my process so far and post updates as I continue.

First Upgrade

The first upgrade I did was to print out Thingiverse part number 215294 to increase the build volume from 100mm on the X-axis to 160mm. This was a huge step forward as it greatly increased the number of useful object I could print. It was a relatively simple print (everything was oriented to print on the stock bed) and only required a few parts to be purchased. These parts were:

  • 8mm smooth rod (McMaster-Carr part# 88625K67 or on Amazon)
  • 608 skate bearings (McMaster-Carr part# 5972K222 or on Amazon)
  • Printrbot GT2 Kit (From Printrbot)
  • Miscellaneous M3 screws (Hardware store, McMaster-Carr, Amazon, etc.)

I followed the instructions from the Thingiverse listing and everything went quite well. I cut the 36" rod that I bought in half and only used a small portion of these with the original bed. I used this setup for a couple of weeks before starting to get the itch to grow the printer further. 

A few notes of caution: this build isn't for the feint of heart - it involves dismantling most of the bottom of the printer since the motor plate has to be replaced with a printed piece. Also, don't make the mistake I did and let the nut fall out for the top screw on the left side. It took me quite some time to wiggle that guy back into the right place using a magnetized screwdriver, a steady hand and many attempts. Also, make sure you clean the extra plastic off of the protuberance that hits the X-axis limit switch. I didn't do this at first and was greeted with a very sickening (although not damaging) noise as some of the layers separated.

Second Upgrade

The second upgrade I did was Thingiverse part number 257841 which is a beefier version of the first, but without the adjustable piece that would allow usage of the original bed. If I were to start over from the beginning, i would print just that piece from the previous build and the rest of this build. That would allow the better end-pieces with the adjustable nature of the original. Live and learn! Since I didn't do the adjustable piece and I had planned from the beginning to make a super-big bed, I replaced the stock bed with a piece of Lexan that I cut with a jigsaw and drilled for the screws. I would definitely thing about having this laser cut if that's an option and am considering getting a second piece and having that done. The result would be a lot cleaner and more precise, but this is working for now on the cheap. I've been printing directly on the Lexan, which produces nice shiny first layers and the adhesion has been quite good.

I changed the way the timing belt is attached by using one tension block on each end instead of just on one. I also used Thingiverse part number 275874 to wedge into the opening on the tension blocks so that I could use the timing belt without cutting the belt. This has worked great for giving extra control over the tension and to prevent having to modify the belt in case I ever decide to go "just a little bit bigger"

The keen-eyed reader will notice that the bed is quite a bigger along the Y-axis than it would need to be for the standard Y carriage and the keen reader would be right! This is all the farther I've gotten so far, but there will be more to come (one piece of the next upgrade is on the printer as I type this).

Monday, October 29, 2012

Robot Halloween Costume

I decided it might be time to revive my old electronics blog.

My wife and I built this robot costume for our four year old son this year.

The main part is made from a diaper box spray-painted silver with a detachable front 'control panel'. The hat is made from a wipes box with a plastic fire hat modified to allow visibility out of the hand hole in the box. With 18mo old twins, we have lots of nice cardboard boxes from baby products around our house that make fantastic building and storage products. Leftover foil tape from some duct work helps complete the look and holds everything together.

All of the electronics are driven by an Arduino Diecemila. I salvaged a slick little VFD from some scrap equipment - it's a Noritake GU112X16G-7000 (details) and is driven via the serial interface at 38400 baud. Since the Arduino serial levels are inverted from RS232, I had to build an inverting board based on a design I found online. The LEDs at the bottom are 10mm RGB and are driven by a pair of daisy-chained 74HC595 shift registers to save i/o pins on the Arduino. This makes it very easy to add lots of LEDs to a project without a lot of hassle and are quite expandable without a lot of effort. Normally the LEDs cycle through a shifting spectrum with a narrow 'window' to show a nice range of colors at all times. The buttons are arcade style buttons sourced from Sparkfun; they temporarily switch all the LEDs to whatever color is pressed, singularly or mixed to match whatever buttons are pressed (red, green, blue, yellow, cyan, magenta, or white). A small piezo speaker beeps out random 'robot noises' to add another dimension to the costume. I have an ultra bright 10mm red LED in the ball on top (hollowed out Styrofoam) that blinks out 'HALLOWEEN' in morse code. I outlined the front in green EL wire with a commercial EL driver that lets it stay solid, blink slowly or blink quickly; quickly looks the best in my opinion.

On the software side of things, the 'loop' portion of the Arduino code checks the current millis() and performs a modulo to see if it's time to run the various portions of the code (changing the image on the display, checking the buttons, cycling the colors on the LEDs, blinking the red LED, and pushing sound to the speaker). This allows for all of the components to update without blocking so everything runs smoothly. I'm sure there's a better way to accomplish this, but for a quick (ha!) Halloween hack, this seems to be working pretty well. Once I get the code cleaned up a little bit, I'll post it and link it here.


(I apologize for the vertical orientation - it worked well for the vertical orientation of the costume and I originally shot them to share on my phone)

Early test - no sound - closeups on the VFD to show the images.
Further along - this time with the sound effects working (still no paint).

Thursday, March 16, 2006

Alphanumeric LED Display

Alphanumeric LED Display
Originally uploaded by DanWake.
HPDL-1414 Alphanumeric Display

I recently acquired a little gem from an old piece of equipment we were throwing away at work - that gem is the HPDL-1414 four character alphanumeric display. It is a small chip manufactured by Hewlett Packard that contains four tiny, red LED alphanumeric displays behind glass magnifying lenses. The chip itself is CMOS, however it runs at TTL voltages, making it easy to interface with. Interfacing is very simple from a logic level as well - simply set the write enable pin high (disable writing), set the 2 bit character address via the address lines, set the 7 bit ASCII value of the character via the data lines, pull the write pin low (enable write), rinse, lather, and repeat for each character. The only disadvantages that I have seen with this display are that it does not support full ASCII (capital letters and some symbols only), the characters are not very bright (although this could be because I'm not giving enough voltage to VDD (I'm currently running it off of the 5v from the parallel port to save wires), and the letters themselves are fairly tiny. Otherwise, this is a great little display that is very easy to work with and tons of fun to write software for.

Currently I have a few functions written in C to put characters at individual addresses, scroll a text string at arbitrary speed (from super, mind-numbingly fast, to as slow as you want), and just for fun a function that switches all of the segments from '1' to '/' to '-' to '\' fairly fast, producing a rather interesting and attention-grabbing spinner effect.

The physical aspects of the construction were fairly straight-forward: I hacked up an old parallel printer cable for the computer connection by using trial and error with a multimeter to find which wire goes to which pin; the case is, fairly obviously, an old Altoids tin which I Dremelled out to make a window and lined with electrical tape. I initially tried to make my parallel cable using a 25-pin header that I tried soldering phone cable to. I would not advise trying this, as phone cable insulation tends to melt at fairly low temperature making it very not-fun to solder. And - after I eventually did get all the little wires soldered at each end, one of my lines was goofed up preventing all of the characters from appearing, and generally frustrating me to the point where hacking up an old printer cable was rather cathartic. Just a word of warning.

So - if you can get your hands on one of these, by all means go for it - I'm sure that it would be very useful in any project for which you can spare a few data lines and want to add a really neat retro looking display to get some data to the user.

Tuesday, December 06, 2005

Fun Little Project: Minty Mouse

First off - I'll admit - others have used the same name for their projects like this. And no, this really isn't directly related to electronics. But, it is related to fabrication which is usually the last, and most overlooked, step when doing a project. You've got a wonderful little circuit that amplified headphones, charges your iPod, and squeezes fresh orange juice, but how do you package it? Radio Shack sells some nice project enclosures at fairly reasonable prices ($2.29 - $6.99 right now) that give a nice finished look to a project.

You can also use items that aren't necessarily designed for the hobbyist, but which work very well. As in this project, the Altoids and Altoids-like tins are fairly popular for their small size, durability, and cheapness; you also get mints as a bonus! Gladware, Ziploc, and other similar containers are relatively cheap and can provide an assortment of sizes for various projects. They can also be made water-tight fairly easily and are made from thin plastic which is fairly easy to work with. For my Christmas light project this year, I'm building everything into a cheap Stanley tool box that I picked up for around $10 at Lowes.

With all of that out of the way, here are the details on the construction of my version of the Minty Mouse. I started with a pseudo-Altoids tin and an old mouse that I found at work. I opened the mouse, discarded the top piece, removed the circuit board, and cut the sides off of the bottom piece to make it slightly smaller than the circuit board. I then sanded what I thought would be the thickness of the tin from the bottom of the bottom piece (later, it would turn out to be too much...) I then drilled a hole through the tin at the location where the mouse ball would need to protrude and smoothed the edges with sandpaper. The circuit board just fit inside the case without wiggle room, but the enclosure for the ball was a touch too tall - sandpaper took care of this and still left everything workable. The buttons were probably the trickiest part of the entire project - both in adding them to the top of the tin and in getting them to interface properly with the switches on the board. I cut three notches in the top of the tin using a Dremel (a tool which I would highly recommend!) with a grinding wheel. I also had to cut a notch out of the top edge of the bottom of the tin so that the buttons would have a place to move downward when they are pressed. Once I had finagled the buttons so that they operated clenaly, I used the trial and error method of determining how far above the switches the bottoms of the buttons were and bent two 'U'-shaped pieces of aluminum which I super-glued to the buttons.

[edit] I forgot to mention what I did to fix the fact that I had sanded too much off of the bottom of the mouse. This fix was accomplished by cover the bottom of the tin with a packing label (also procured from work...) and building up a bar at each end of the bottom with thin strips of labels. The other advantage provided by this is that it makes the bottom look uniform (and covers up the lousy hole that I cut in the tin...) and helps to elevate the ball so that it rolls better. [/edit]

All in all, this was not a terribly difficult project, just time-consuming, but I think the results are neat, and it's always interesting to see the looks on people's faces when the see you mousing with a small tin - especially if you open it up and offer them a stashed mint!

Tuesday, November 22, 2005

Computer Setup

When building electronic projects, it's sometimes nice to have a PC around - for looking up datasheets online, pulling up schematics, or even for providing I/O while testing a circuit. My recommendation for a machine would be to use an older computer with a Pentium II 233 or so processor and as much RAM as you can cram into it. The older machine is nice in that it is fast enough for most simple things that it will be used for on a bench, but old enough that it can support all sorts of old cards and should have most of the "legacy" ports built into it.

These "legacy" (I hate that word - these are such good ports, they're just old - call them classics or something) ports are the standard parallel, serial, and MIDI. The parallel port, which long-time readers of this blog should know is my favorite, provides 12 digital output lines and 5 digital input lines. The serial port is another handy one which provides a TX (transmit) and RX (receive) line which can be used for programming, data-acquisition, and other similar uses. The unsung hero in my opinion of these classics is the MIDI port which provides 4 analog inputs which are each converted to an 8-bit value and 4 digital inputs.

In addition to ensuring that these ports are present, the machine should have a network interface card (NIC) if you are planning to get online, or at the least a modem and a phone line. It might also be wise to look for some of the older ISA cards that are available that provide extra ports and connectivity - check eBay, local auctions, or old computers that people might be willing to part with for these.

For software, I would suggest running either Linux or a version of Windows prior to Windows 2000 - Windows 98se is a good choice as it is the latest version before 2000 that isn't ME (I would advise no one to run ME...). The old versions are suggested because the versions of Windows that are NT based have security to prevent low-level access to the hardware ports. Also - it's nice to run real DOS sometimes for older applications and command-line based programs that you might write. Linux is also a very nice choice since it is so open, easy to program for, and lots of people who do hardware work run it.

Programmable Integrated Circuits

A highly useful component for all sorts of projects is the Microchip brand PIC (programmable integrated circuit). The chips contain a microcontroller, some RAM, and some storage space (quantities and speeds depend on the particular model). Basically - one chip can act as a tiny stand-alone computer with inputs and outputs for controlling other circuits. Most are programmable in-circuit allowing for updates to the code that is run. To program one, you will need to build or buy some sort of PIC programmer (specifics again vary by model of chip to be programmed). You will also need some software for compiling code (unless you want to write assembly - your choice!) and sending it to the PIC. Microchip itself provides a free integrated devolpment kit (IDE) called MPLAB that works very well.

If you are having troubles coming up with uses for this highly versatile devices, there are many ideas and projects out there. Good luck!

Thursday, November 17, 2005

Etching a Circuit Board

You've got a circuit that you've prototyped on a breadboard, built using perfboard, and now you want something a little more professional to sell/give away/use/whatever. Or maybe you don't. Either way - you might want to take the next step with a good circuit and etch your own circuit board. This makes construction easier, the circuit potentially more compact, and it looks a lot nicer to boot. There are a few different ways to go about making the board - the most common is to apply some sort of a mask to a copper-clad board and then soak the board in a solution that dissolves the non-masked copper. Laying out the mask can be done by hand with a resist-ink pen (RadioShack sells a decent kit for doing this), ironing on a printout from a laser printer, or by using a special photo-resist board.

Another method which is somewhat popular (but much more difficult) is to make (or buy) a computer numerically controlled (CNC) mill. This is basically a drill press that has some method of either moving in two dimensions or moving the board in two dimensions that is controlled by a computer. This allows the piece to move past the drill bit, which is controlled vertically by the computer. If the bit is just below the surface of the piece as it is moved, a line will be cut out of the copper cladding. If the piece stops and the drill bit goes down, a hole is drilled through the board where a component will go. This whole setup, while complicated, allows for nearly complete automation of the process and can produce very nice boards.

Thursday, November 10, 2005

Computerized Christmas Lights

Yup, you heard (read?) right... computerized Christmas Lights! Why? Why not?! The last two Christmas seasons I have gone to see a very interesting light display in Winona Lakes that was put together by one of their Computer Science professors. It consists of a lot of strands of christmas lights - some on trees, but most on a large conical "Christmas Tree" that is against his garage. All of the lights are controlled by a computer running Linux and some custom software (actually, custom programming language - the guy is a CS prof...) that controls when the lights are on and off, which allows the tree to change colors and display patterns. All of this is set to music that is broadcast via a small FM transmitter, so you can tune in on your car stereo to hear it.

This got me to thinking about how cool it would be to build my own version, on a much smaller scale at first. I looked around and came across a website that dedicates itself to and calls itself Computer Christmas. The layout leaves a bit to be desired, but there are plenty of circuits and great ideas available. This circuit provided the inspiration for me to begin putting my own together using twelve of this circuit and the twelve output lines of the (wait for it...) parallel port. I've had all of the parts ordered since summer and have just been working on getting around to putting them all together. This is where Monday's post comes into play - the boards that they sell work with the parts I already have, making assembly very very easy.

So - be watching for further updates on this project, and hopefully around Christmas time some pictures/videos of my light display.