Michael Silverman documenting innovation at work


Nixie Clock Update: Prototype


I wanted to give an updated on my nixie clock. I've been very busy with classes the last few months but I have had some time to work on the clock. I have created a prototype that will effectively test the majority of the circuit and all the microcontroller related functions.

I'm using a 7SEG display in place of the nixie tubes. This is because the nixie tubes do not fit in the protoboard easily. This substution still replicates the final design in implementation because all the displays are hooked up the same as the nixie tube. Each digit has a transistor connected to it's anode. The 74LS chip which drives the digits also has a BCD input, the same as the 74141. One of the ICs are comprised of NOT gates. I needed to flip the output of the 74LS driver to work correctly with the active low inputs of the 7SEG displays. The displays are hooked up all multiplexed and turned on individually in the same manner the nixie tubes will be.

You can also see the two pushbuttons which are used for setting functions. The MAX232 which is used to convert the RS-232 voltages to TTL level for the PIC. The clock OSC on the PIC is using the simple RC method as outlined in the datasheet. I wanted to get some testing done and have yet to determine which crystal/cap combo I will be using.

Also the programmer I am using is from a company called Cana Kit and functions the same as the PIC Kit 2. Here is the link on SparkFun, although I purchased it on eBay for cheaper. It is working great for programming and in-circuit debugging (ICD).

I am going to be sparse with the details but I am getting closer and closer to ordering a real prototype PCB and getting things started!

Filed under: Hardware No Comments

Yahoo! Groups – An Outstanding Resource


I wish I had joined Yahoo! Groups earlier. For a while I have been researching Nixie Clocks. Along the way I heard of a newsgroup mentioned a couple times, but I never gave it much thought. I've recently completed many milestones into the design of my clock. And of course, as engineering projects always seem to go, there comes a point where research and implementation don't quite click in my head, and I need some specific help. I started having questions which I couldn't answer on my own and couldn't find asked elsewhere. I decided to give Yahoo Groups a try.

I joined the group NEONIXIE-L. At first I was a bit confused. I requested to join the group but I was not accepted. I got an e-mail from an administrator. He told me that in an effort to avoid spammers, I need to re-request to join, and I need to include a reason why I was joining the group. That was easy: "I'm an EE student building a Nixie clock playing with high voltages. I want to make sure I don't break anything/myself." That in itself was a good sign. You can't just join a million groups for no reason. When I started reading the posts I was even more impressed. I had no idea what these guys were talking about. I understand the terms they were using, but the actual logic, what? This was great! It was reminiscent of the saying, "You always want to surround yourself with people that are smarter than you." It was like reading a textbook, but directed towards the question at hand. For example, I recently asked a question related to reading serial data (tx/rx) on a PIC microcontroller. Not only was I given the abstract process, but also a code example in both C and Assembly. This is a response from member "nixiebunny" in NEONIXIE-L. I feel this is a good representation of the quality answers you will receive:

Re: [NEONIXIE-L] RS232 for GPS on PIC (help!)
 On 6/29/2010 8:12 PM, msilv3r wrote:
 > Now my question to you guys, on the PIC side of things.
 > -From my current understanding, I will have a byte by byte buffer.
 > This means I will have to do some type of compare with each  character.
 > I'm not sure how to do this.

 I've done serial communication with the 18F4520 in MCC18, but not with a
 16F in C. I have programmed a 16F873 in assembly language to do serial I/O.

 The serial port is simply a data register that contains the last byte
 received, and a status bit in the status register indicating that a
 data byte is  available in the data register.

 When the data register is read, then the status flag is automatically
 cleared until another byte is received. So you only have to test the status
 bit and read in the character to move data into your string array.

 Here's a rough idea of the C code:

 char the_char, string[80]; // storage for the string
 char *p; // point to where the next char goes

 p = string[0]; // point at first character's location
 while (!timeout) { // prevent hanging on missing EOL
 if (USART_status_bit) // reads the status register bit
 the_char = *p++ = USART_data_reg; // get the character
 [some timeout code]
 if (the_char == '\n') // detect end of line

 Don't assume that this will compile - it's rather off-the-cuff.

 The timeout code can just increment a counter and trigger the timeout thing
 when the count hits some big value corresponding to more than a second of
 real time. Without a timeout, your code will hang forever if there's a
 communication error.

 David Forbes, Tucson, AZ"

Another group I joined is called Homebrew_PCBs. Have you ever wanted to etch your own circuit board? This a great resource on how you can do that. I will be posting my success story on this process soon.

Here's why you should investigate Yahoo! Groups as a resource for you:

-Each post is moderated to keep out the spammers/nonsense.

-The contributing authors are often experts in the field. It seems to be an older crowd. Some are professionals in fields relating to the topic at hand.

-You will likely get an answer with more information than you need.


How To Create a New Device in EAGLE


As you can see in my previous post I want to build a Nixie Clock. The tubes I have are model Z573M. I plan on designing a circuit, testing it, and having the final product manufactured. I only plan on making two clocks, but I want to do it professionally. The problem is, to my knowledge the Z573M does not exist as a part in any circuit designing program. So even for my initial schematic I was running into issues. I decided to use EAGLE because I've heard it's powerful, fairly easy to use, and they have a version that is freeware.

When you are creating a new part in EAGLE you may want to create a new library. This will make it easier to share your part, should you choose to do so.

To create a new library in EAGLE go to File > New > Library.


Z573M Nixie Tube and Arduino Counter


Nixie tubes are awesome. Nixie tubes are the LEDs of the past. They were used in devices such as calculators. The inside of the tube is filled with gas, usually neon. To ignite the neon you need a high voltage, usually 150VDC or more. I plan on making a nixie clock. I've had these tubes for a while but have not had the time to play around with them. I really wanted to see the nixie in action, so I made a counter with the supplies I had on hand.

I will run through the devices and what they do, starting from the power source.

Power Source: The AC outlet is hooked to a transformer that outputs 12VDC. I chose 12VDC supply because it's perfect for driving the high voltage power supply (HVPSU) as well as the Arduino.  There is a potentiometer in the schematic which I used to drop the voltage down to 5V. This is because the 74141 and its inputs are powered by 5V. Each common ground in the picture is connected to the 12VDC ground.

High Voltage Power Supply: This was purchased from All Spectrum Electronics. The input comes from the 12VDC and the output connects to the anode of the Z573M. WARNING: HIGH VOLTAGES ARE DANGEROUS AND CAN HURT/KILL YOU. If you don't know what you're doing, find someone who does before playing with high voltages.

Schematic for Z573M Nixie Tube Arduino Counter

Arduino Nano: This is where the binary count comes from. In the program I made a simple function called output which would output the number given to specific ports on the Arduino. You can view the code here.

2N2222A: The Arduino Nano outputs do not have sufficient power to drive the 74141 inputs. To make the outputs of the Arduino actually do something I had to hook them up to transistors. Each transistor is set up as a switch. There is 5V going into the collector of each transistor. When there is current going through the base it will turn on the transistor. Each base is hooked up to the outputs of the Arduino. The emitter is connected both to a 1kΩ resistor and the input on the 74141. The 1kΩ resistor is called a pulldown resistor. The pulldown resistor is used because the 74141 can not have a floating voltage. This way, when the transistor is off, the input on the 74141 will be coming from ground, which is 0V. When the transistor is turned on, the 5V will go from the collector to the emitter. The remaining voltage of 4.3 (~0.7V drop over the base of the transistor) at the emitter will be dropped over both the pulldown resistor and the input of the 74141.

74141: This IC allows you to input a number in binary format. You input the number in Binary Coded Decimal (BCD) format and it outputs in decimal format. The IC is designed to drive HV nixie tubes which have decimal cathodes. I will explain how this works a little bit more. We have 147V going into the nixie tube anode. Current flows from the anode to the cathode. Each cathode of the nixie tube connects to a pin on the 74141. Remember, you need a difference in voltage potential through a device for current to flow. So for example, when we want the number zero to display on the nixie tube, the only pin we want to have a voltage difference at is pin zero. That is why, as you can see in the datasheet, when an output is ON, it's at ~3V, all other outputs are at ~70V. Therefore the only pin with a large enough voltage drop to ignite the neon is the number zero.

Z573M: The cathodes are k0 through k9. These are all hooked to the 74141. The anode is hooked to the HVPSU through a current limiting resistor of 10KΩ. In the datasheet you can see there is a pin for IC and dp. The dp pin turns on the decimal point which is to the bottom right of the number. The IC visually does the same as dp. I'm not sure if there is any other purpose for it.

Datasheets: 74141





How to get your website listed under major search engines: Part I

Do you want your website to be on the first page of Google? Me too. The first step is to get your website submitted to the search engine(s) you want your website to appear on. Some of these "submission URLs" can be found easily while others are difficult. Here are the submission URLs for a few major search engines: Google - Bing!

There is no guarantee that after one submission your page will show up. I check the search engine every few days. If my website does not appear when using the domain name in the search (i.e www.msilverman.me) then I will resubmit the URL.

Now that you have your website indexed you want to increase your ranking. Of course you will attract more visitors being on the first page of Google rather than the tenth. There are many factors that contribute to your ranking.

Is it helpful to have your website linked to from other websites. For example, I'm currently working on Mark's Boxes Now. Now when Google searches my website it will see a link to Mark's Boxes Now. This will give Mark's Boxes Now a few points.

Another contributing factor are meta-tags. Meta-Tags are keywords. When a search engine crawls your website it will look for Meta-Tags. For Mark's Boxes Now I used the meta keywords: moving boxes, massachusetts, westborough, move, mover, moving supplies, book box, apartment move, packing supplies. You also want to include a Meta Description: moving boxes delivered within 24 hours! everything you need for moving! You can view your website's tags and others using this free Meta Tag Analyzer.

Google Webmaster Tools Dashboard shows a summary of your website.

Google Webmaster Tools is a great free service worth checking out. With Google Webmaster Tools you are able to view your website through the eyes of a search engine. You can see what users are searching for when they click your website via the "search queries" tool. It will also show you the most commonly used keywords on your website. As you can see, "boxes" is currently the most commonly used word on my website. That is a result of this post and all of the tags along with it. This is something which I will change because "boxes" aren't really what my site is about. It is important that you ensure that your sitemap is listed in the "site configuration." If not, you can submit it. The sitemap helps Google to index your website. I have my RSS Feed acting as my sitemap.

Another interesting statistic that you can see is what Google calls an impression. To view this, click on "Your site on the web"  and then "search queries."

"Search Queries" page shows extended information on how users are accessing your website.

At this page you can see useful information such as what queries have led to people clicking your website. Impressions are the number of times someone accesses a search page with your website listed. For example, someone typed in mobileme alternative and my website showed up. The avg position is 40 so it probably wasn't listed until a few pages in, lets say page 3. Now if you scroll through onto page 3, my link will show up. Whether or not you click on my link it will count as an impression.


Stream PC Music to iPhone Over Any Network With Simplify Music

Simplify Media was recently featured in Gizmodo's Essential iPhone Apps: Fall Edition 2009.

This wonderful application allows you to stream your entire music library over the EDGE, 3G or WIFI network.

No need to upload your tracks anywhere! Download the desktop client (Mac & PC compatible) and you will be set up within minutes. You can share your iTunes library, a music folder, Winamp library and even specific playlists. You can also invite up to 30 other Simplify Media users to access your shared library for free.

The iPhone client, Simplify Music 2, cost $5.99 and can be purchased through the app store.

I tested the software in my backyard today as well as traveling on the highway in my car. It's awesome being able to access my 50GB+ library on my iPhone. Never again will I sit in dissapointment thinking "I wish I could hear that song right now, I have it on my PC at home." The sound quality is great and the few second buffer keeps it playing without any interrupts. Definitely worth the money!


Free Alternative to MobileMe: Sync Calendar, Contacts and Files

Google and SugarSync. They will be be our "cloud in the sky."

If you don't already have a Gmail account, Sign Up for one. You will not have to use the account for e-mail. We need it for it's calendar and contact features.

You can use all or parts if this article. Just want calendar synced? Just follow the Calendar part.

On the computer:

Email: .Keeping e-mail in sync between all of your devices is easy with the Internet Message Access Protocol (IMAP). The other commonly used protocol is POP3. POP3 downloads each message locally which is an advantage in case of outages and archival purposes. However we want synchronization. IMAP is great because all the messages are stored and retrieved from the server when requested. If you use a web based email provider then IMAP is already set up although it may need to be enabled in the settings. If you don't, check with your e-mail provider for IMAP settings. When you create an account in Outlook you have the option to select POP3 or IMAP as the protocol, choose IMAP.

Contacts: GO Contact Sync is a free open source program that will automatically sync all of your Outlook contacts with Gmail. Download and install the program. It's use is self explanatory. Enter your account information and which Sync option you would like.  I have Sync Deletion on. My sync option is set to "Merge Prompt" to prompt me before syncing the modifications.

Note: Although the Contact Sync works functionally the Merge options are a bit confusing. I personally don't use it anymore because Google automatically formats contact names (Last, First) which annoys the formatting on the iPhone.

Calendar: Google Calendar Sync. This program automatically syncs your Outlook calendar with Google.

Hard Drive: SugarSync is a website which provides a free 2GB of online space. Their have a utility for Mac, PC and the iPhone. This allows you to share between computers and the iPhone.

the iPhone:

Email: The account will already be using IMAP if it's web based. If not, set up the account as you normally would and select the IMAP protocol. Or if you already configured Outlook to use IMAP, sync the iPhone e-mail accounts with your computer.

Calendar and Contacts: Google has a great guide on setting up the iPhone for Calendar and Contacts Sync.

Note: The phone defaults to show you all of your contacts. That includes ones already on your iPhone, so you may be seeing double. You want to make sure you are using and modifying the Exchange contacts.

When viewing contacts, click the Groups button in the top left corner. You will see your Exchange account listed and select Contacts. Now any adding you do will be synced with your computer.

Hard Drive: Download SugarSync from the appstore.


DIY 500 bottle wine cellar for $1000

My dad is a fan of wine. For his 51st birthday (20 at heart) I built him a wine cellar in our basement.

There are a few things you want to consider when building a wine cellar.

  • How many wine bottles do you plan to store?
    • Optimally the room should be <65°F. Do you need a unit to heat or cool the room? For this to be possible you must have an unfinished room with no drywall installed. In order to install a cooling unit you need to have a vapor wall. Vapor walls must be installed behind the studs. Alternatively, you could monitor the temperature of a room in your basement to determine if it remains cool enough.
    • What type of racks do you want to purchase? There are many ways to showcase and store your wine. You could get the simple grid. You could get a diamond rack. Do you have full boxes you want to store? Do you want a glass rack?
    • How will you light the room?

    My basement stays at a steady 68-70°F. Some might say this is on the warm side. There are plenty of contradicting opinions on what the ideal temperature is. I'm comfortable saying that as long as the temperature is 70 or below with no major fluctuations the wine should be fine. Humidity was not considered because we can't have a cooling unit anyways.

    The racks were purchased from Rosehill Wine Cellars. They sell all kinds of wine racks at an affordable price. All of the racks pictured below came to a total of around $500. The best part was putting them together, with a nail gun. The assembly for all the racks took about 6 hours. We did a couple of unplanned adjustments with the setup which added some time to this. Nail guns are fun. I spoke with a representative from Rosehill over the phone, she was very friendly. They are based in Canada so I was surprised to see the items arrive a few days later. I highly recommend them.

    The track light was purchased from a local lighting store. We have three lights which are used for ambient light and two that are more directionally focused. The track light is great because it allows for easy addition, removal or adjustment of the fixtures. The light and motion detector switch was easy to install because there was already a fluorescent light wired to the room.

    The pictures are from a local Bed Bath & Beyond. The four on top were sold together the other two were sold singularly.

    The glasses and decanter were purchased at Crate & Barrel.

    The walls and ceiling were painted with Olympic latex paint.

    The leftmost rack actually blocks off about three feet of the room. This is because there are pipes immediately behind the rack. I cut a piece of plywood, painted it black and attached it to the back of the leftmost rack. I really like the way the angle turned out.

    The whole project took roughly 30 hours of construction time.  The painting was the real chunk of the time. To paint the walls and floor took about 15 hours. Now onto the wine!


    msilverman.me is up and running!

    Welcome to my blog!

    Bookmark this site.

    Lately I've experimented with designing iPhone applications. I'm currently working on building a Nixie clock. Last month I built my dad a wine cellar for his birthday. Our central vac is broken and I've determined a relay is at fault so I ordered a new one from Digi-Key.

    I want to share my experience and insight with you. If I help one person better their understanding of a transistor, or inspire someone to build a wine cellar on a budget, then mission accomplished!


    Filed under: General No Comments