<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10669466</id><updated>2011-11-27T15:31:36.671-08:00</updated><category term='linux'/><category term='arduino'/><category term='elektor'/><category term='microcontroller'/><category term='panel'/><category term='avrisp'/><category term='freeduino modern device'/><category term='rbbb'/><category term='CTCSS'/><category term='8051'/><category term='circuit. board'/><category term='CAM'/><category term='Diavolino arduino clone'/><category term='server'/><category term='linux asus atheros atl1e'/><category term='gerber'/><category term='ipx idprom prom'/><category term='ubuntu supermicro'/><category term='simpleparse'/><category term='PCB'/><category term='gerbmerge'/><category term='ghosttalker'/><category term='bbb'/><category term='merge'/><title type='text'>bhargavaz.us</title><subtitle type='html'>
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://bhargavaz.blogspot.com"&gt;My other BLOG&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10669466.post-1073569977290042807</id><published>2011-09-20T14:26:00.000-07:00</published><updated>2011-09-21T10:19:29.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='rbbb'/><category scheme='http://www.blogger.com/atom/ns#' term='avrisp'/><title type='text'>Programming Arduino Bootloader on Mega8 using an Arduino</title><content type='html'>While building a couple of arduinos, I found out that I had a few Mega8 chips left. I thought I might use them as Arduino and wanted to program them with arduino firmware. Tried researching about arduino as ISP and burning the boot-loader using arduino GUI but it was for Mega328. The process miserably failed because the device signatures didn't match. Anyways, came up with a combination of arduino isp and avrdude for rescue. First convert a working arduino into AVRISP programmer and then use it to program a blank AVR.&lt;br /&gt;&lt;br /&gt;For this I used &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-j4VK9PbvB-4/TnoWhLDSBTI/AAAAAAAAD3g/IokTSIxpWqk/s1600/023.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-j4VK9PbvB-4/TnoWhLDSBTI/AAAAAAAAD3g/IokTSIxpWqk/s320/023.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Prerequsites:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ubuntu 10.04LTS machine or VM&lt;/li&gt;&lt;li&gt;Install arduino gui from arduino.cc. I downloaded arduino v22 so I installed it in ~/arduino-0022&lt;/li&gt;&lt;li&gt;Download and unzip Mega-ISP sketch from http://code.google.com/p/mega-isp/downloads/list. I downloaded version .04 (latest at the time of writing)&lt;/li&gt;&lt;li&gt;A fully functional arduino board setup will be required. This will act as the ISP programmer.&lt;/li&gt;&lt;li&gt;Target arduino board with blank ATMega8 chip.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Here is the procedure:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&amp;nbsp;Wire up the arduino boards using the instructions at: http://arduino.cc/en/Tutorial/ArduinoISP. If you have a non standard pinout arduino clone, connect following pins of source to target&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Source Arduino Pin&lt;/th&gt;&lt;th&gt;Target Arduino Pin&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;RST&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;+5v&lt;/td&gt;&lt;td&gt;+5v&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;gnd&lt;/td&gt;&lt;td&gt;gnd&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;Install avrdude on the operating system:&lt;/li&gt;&lt;/ol&gt;&lt;blockquote&gt;&lt;blockquote&gt;sudo apt-get install avrdude&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;3. Load your Programmer Arduino baord with Mega-ISP sketch. Make sure that sketch is written properly to the board.&lt;br /&gt;&lt;br /&gt;4. copy ATMegaboot from arduino installation (in my case ~/arduino-0022)&lt;br /&gt;&lt;blockquote&gt;cp ~/arduino-0022/hardware/arduino/bootloaders/atmega8/ATmegaBOOT.hex  ./&lt;/blockquote&gt;&lt;br /&gt;5. Copy and paste the following code on your linux shell prompt. This will create a file flash.sh and will make it executable:&lt;br /&gt;&lt;blockquote&gt;echo '#!/bin/bash&lt;br /&gt;cmd="`which avrdude`"&lt;br /&gt;chip="atmega8"&lt;/blockquote&gt;&lt;blockquote&gt;options="avrdude -p $chip -c avrisp -P /dev/ttyUSB0 -b 19200" &lt;br /&gt;&lt;br /&gt;# Erase chip write lock and fuses &lt;br /&gt;$cmd $options -e -U lock:w:0x3f:m -U lfuse:w:0xdf:m -U hfuse:w:0xca:m  &lt;br /&gt;&lt;br /&gt;# Upload bootloader code &lt;br /&gt;$cmd $options -D -U flash:w:ATmegaBOOT.hex:i &lt;br /&gt;&lt;br /&gt;# Lock boot section &lt;br /&gt;$cmd $options -U lock:w:0x0f:m &lt;br /&gt;' &amp;gt; flash.sh; chmod u+x flash.sh&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;6. Check your wiring again and execute&lt;br /&gt;&lt;blockquote&gt;./flash.sh&lt;/blockquote&gt;&lt;br /&gt;7. If things go well you will see successful avrdude messages and your Mega8 will be programmed with arduino boot. This procedure can be used to flash other hex files as well.&lt;br /&gt;&lt;br /&gt;I have built a small ISP pcb that I plug my arduino into if I need ISP capabilities to program other AVRs, just use the right AVR device with avrdude options.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-1073569977290042807?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/1073569977290042807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=1073569977290042807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1073569977290042807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1073569977290042807'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2011/08/programming-arduino-bootloader-on-mega8.html' title='Programming Arduino Bootloader on Mega8 using an Arduino'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-j4VK9PbvB-4/TnoWhLDSBTI/AAAAAAAAD3g/IokTSIxpWqk/s72-c/023.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-5656973168772081844</id><published>2011-08-06T00:25:00.000-07:00</published><updated>2011-08-08T00:10:43.687-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diavolino arduino clone'/><title type='text'>Arduino Clone Review: Diavolino</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Yt3kyHXNwR8/TjJW7Q2R7UI/AAAAAAAAD2o/4vkoMMBshnE/s1600/1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="53" src="http://3.bp.blogspot.com/-Yt3kyHXNwR8/TjJW7Q2R7UI/AAAAAAAAD2o/4vkoMMBshnE/s200/1.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Few days back I got a chance to build one Diavolino for one of my colleague. Evil Mad Science lab being local, he picked up a kit of Diavolino. Diavolino is offered by "Evil Mad Science".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm2.static.flickr.com/1199/4727511688_2d683e3e5f.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://farm2.static.flickr.com/1199/4727511688_2d683e3e5f.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;Layout: The board outline matches the authentic (original) Arduino designs. I see that the designer has used standard components. The footprints of power connector, resistor, xtal, caps are standard whereas the reset switch footprint is less common. The silk-screen layout is pretty good and looks pretty artistic. The track layout is not professional; I talked to the scientist regarding the layout. She mentioned that she feels that use of GEDA auto-router on this (non-experimental) board is accepted by GEDA community. I feel that a commercially available board should not be a victim of a personal experiment. I totally don't agree with the traces on the board.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Schematic:&lt;/u&gt; The schematic and number of components used is much simpler that the previously reviewed (RBBB &amp;amp; BBB) designs. The board can be powered up using a barrel connector (not supplied with kit).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Overall:&lt;/u&gt; I like the form-factor and aesthetics of this board. I personally have built two of these units (at the time of writing). I would build it again if I have no better alternatives available. This is the lowest cost locally available board at the time of writing.&lt;br /&gt;&lt;br /&gt;I don't have access to other Arduinos available in the market so I might not be able to comment on them but I might come up with my own design.&lt;br /&gt;&lt;br /&gt;I would like to invite RFC (Request for Comments) on what conveniences end user would want on on their perfect Arduino kit / PCB if they had a choice? Please comment freely!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-5656973168772081844?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://evilmadscience.com/productsmenu/tinykitlist/180' title='Arduino Clone Review: Diavolino'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/5656973168772081844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=5656973168772081844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/5656973168772081844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/5656973168772081844'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2011/08/arduino-clone-review-diavolino.html' title='Arduino Clone Review: Diavolino'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Yt3kyHXNwR8/TjJW7Q2R7UI/AAAAAAAAD2o/4vkoMMBshnE/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-7096798125171596346</id><published>2011-07-28T23:33:00.000-07:00</published><updated>2011-08-08T00:12:59.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='freeduino modern device'/><category scheme='http://www.blogger.com/atom/ns#' term='bbb'/><title type='text'>Arduino Clone Review: BBB</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NS8ljXsUAy4/TjNzHicVfFI/AAAAAAAAD2w/fsG2k98q3dI/s1600/BBB-small.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="139" src="http://1.bp.blogspot.com/-NS8ljXsUAy4/TjNzHicVfFI/AAAAAAAAD2w/fsG2k98q3dI/s200/BBB-small.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Next up for review is another Arduino clone from Modern Device designed by Paul Badger. In my earlier review, I &lt;a href="http://blog.bhargavaz.us/2011/07/arduino-review-rbbb.html"&gt;reviewed RBBB&lt;/a&gt; from Modern Device. The PCB I received was not a white solder-mask as pictured on the site. The PCB revision being reviewed is "c"&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Layout:&lt;/b&gt;&lt;/u&gt; The size of the PCB was good. The PCB outline is straight rather than odd original design. This keeps the manufacturing costs low. This PCB is also of a poor design with arbitrary angled tracks and acid traps. Tiny vias still exist in this design that could have been avoided. The track width are pushed hard even where 12 mil tracks could have been used. Despite of space, a non standard (not common) power connector is used. The 15uh inductor could have been made optional. To bridge the inductor it takes a big blob of solder due to solder mask being present. A ground-plane is present on the analog area of the PCB which is a plus. The header layout is not compatible with the standard Arduino expansion boards (shields).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Schematic:&lt;/b&gt;&lt;/u&gt; The schematic could be simplified a bit. Power options provided are good. Two diodes are provided for protection of the LDO and other components on the board. It could mean that this design was done for students. Good building instructions.&lt;br /&gt;&lt;br /&gt;Overall: A board with a poor layout. There are more cons to this board than pros. I would not spend my time building another one of this board.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-7096798125171596346?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://shop.moderndevice.com/products/bbb-kit' title='Arduino Clone Review: BBB'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/7096798125171596346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=7096798125171596346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/7096798125171596346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/7096798125171596346'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2011/07/arduino-review-bbb.html' title='Arduino Clone Review: BBB'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NS8ljXsUAy4/TjNzHicVfFI/AAAAAAAAD2w/fsG2k98q3dI/s72-c/BBB-small.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-8516007069406876808</id><published>2011-07-27T22:00:00.000-07:00</published><updated>2011-08-03T00:35:56.893-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='rbbb'/><category scheme='http://www.blogger.com/atom/ns#' term='freeduino modern device'/><title type='text'>Arduino Clone Review: RBBB</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YoT-MFxmXYg/TjN06adRVUI/AAAAAAAAD24/MhU4YOWXkGQ/s1600/rbbb1-small.JPG" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="67" width="200" src="http://4.bp.blogspot.com/-YoT-MFxmXYg/TjN06adRVUI/AAAAAAAAD24/MhU4YOWXkGQ/s200/rbbb1-small.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;I have built several versions / clones of arduino. In this post I'm reviewing the first one I built in 2009, the "RBBB". This board is offered by Modern Device and has been designed by Paul Badger. I exchanged emails with the author, it seems that the author had used some archaic PCB software on Apple platform. The PCB revision I'm reviewing is Rev "C".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Layout:&lt;/b&gt;&lt;/u&gt; The first thing I noted was a very unprofessional PCB layout with acute  and badly angled tracks. Some of the vias are so small that could have drove the overall PCB costs high. The power connector size is not standard the author has used small power connector. Both R1 &amp; R2 are narrow packages, they are probably meant for 1/8 watt resistors. The 1/4 watt resistors barely fit on those positions. Vertial resistor footprints could have been used to save space. I like the use of standard push button for reset. These tactile buttons are low cost and are freely available.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Schematic:&lt;/b&gt;&lt;/u&gt; The schematic is simple and I'm glad the USB/Communication hardware (FTDI - expensive chip) is decoupled with the board. In this bare Arduino PCB, I think that the power LED should have been avoided. If there was enough space for an LED, why not connect the LED to pin 13?  At least blink and PWM experiment could have been feasible without connecting any extra hardware. The Power circuit could have been simplified and could be improved.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Overall:&lt;/b&gt;&lt;/u&gt; I like the small sized PCB and unusual white solder mask. The PCB was  priced economically and was electrically sound. Good soldering instructions. If I was a serious Arduino builder, I would stay away from this design. If I was a novice in a hurry and space crunch, I would build this otherwise not.&lt;br /&gt;&lt;br /&gt;In my next post I will review next Arduino Clone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-8516007069406876808?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://shop.moderndevice.com/products/rbbb-kit' title='Arduino Clone Review: RBBB'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/8516007069406876808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=8516007069406876808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8516007069406876808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8516007069406876808'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2011/07/arduino-review-rbbb.html' title='Arduino Clone Review: RBBB'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-YoT-MFxmXYg/TjN06adRVUI/AAAAAAAAD24/MhU4YOWXkGQ/s72-c/rbbb1-small.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-6360514067947824478</id><published>2010-12-22T20:08:00.000-08:00</published><updated>2010-12-22T20:10:24.586-08:00</updated><title type='text'>Mass Email Tips</title><content type='html'>Tips to send mass emails to friends and groups&lt;br /&gt;&lt;br /&gt;Sometimes people like to send mass emails to friends &amp; relatives for holiday greetings, invitations, jokes, events, etc to a group of people. If these emails are sent by putting email addresses in TO: or CC: fields all the recipients can see the email addresses of the other recipients. It is okay to do this if there is a discussion going on. Some people including myself mind sharing their email addresses to other people who they don't know. The perfect reason for this is spams, viruses and worms. There are many mass emailing worms that harvest email address from the victim's mailboxes, address-books, and other areas of hard drive. After harvesting and assimilating the email addresses, they email themselves to the email addresses in the list of harvested emails. Further they also email the list of harvested emails to the creator of the worm and then the creator sells those harvested emails to the spammers and bulk mailers. That list propagates among the spammers and you start getting junk mails. If you would like to learn more about email worms, please visit http://www.symantec.com&lt;br /&gt;&lt;br /&gt;I think, I have given a pretty good explanation of why the mass / group emails have to be protected and sent properly :-)&lt;br /&gt;&lt;br /&gt;When sending messages to multiple people, put their email addresses in BCC field. This will protect the recipients' email address. When the email addresses are in the bcc field no one will know the final recipients of the email and only the sender's email address would be known.&lt;br /&gt;&lt;br /&gt;My intention on putting this page is to educate the people about the new worms and spammers' schemes. I hate spams. If you would like to add something to this document, please leave a comment.&lt;br /&gt;&lt;br /&gt;Thanks.&lt;br /&gt;&lt;br /&gt;Highly Recomended Links:&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.mailmsg.com/bcc.asp"&gt;http://www.mailmsg.com/bcc.asp&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.private.org.il/harvest.html"&gt;http://www.private.org.il/harvest.html&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.onguardonline.gov/stopthinkclick.html"&gt;http://www.onguardonline.gov/stopthinkclick.html&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.onguardonline.gov/spam.html"&gt;http://www.onguardonline.gov/spam.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-6360514067947824478?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/6360514067947824478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=6360514067947824478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/6360514067947824478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/6360514067947824478'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/mass-email-tips.html' title='Mass Email Tips'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-7008389043148997586</id><published>2010-11-07T20:16:00.000-08:00</published><updated>2010-11-07T20:16:24.347-08:00</updated><title type='text'>Ubuntu Upgrade - Don't do it!</title><content type='html'>Couple of days back I received notice from update manager that the support for the OS has ended and I should upgrade. Apparently I was running Ubuntu 9.04 and support had ended October 23rd. I decided to upgrade to the next release and started the upgrade process. I left the machine on overnight and upgrade was successfully finished. The installer had upgraded my OS to Ubuntu 9.10. Still I was one release behind so I decided to upgrade to 10.04LTS release. I did the same thing as I did for the previous upgrade and left the machine on overnight not knowing that I would not be able to log-in next morning!&lt;br /&gt;&lt;br /&gt;My machine was upgraded to 10.04LTS but unfortunately I was not able to login via GDM. It appeared that GDM was not able to write to my home directory. I switched to pts/1 and logged in normally and found all my files missing! Appropriately I had encrypted my home directory when I initially installed the OS! I had saved the ecryptfs pass-phrase but it was not handy. All my files have gone missing because of two reasons, I did not keep my pass-phrase handy and secondly due to installer scripts being not transparent!&lt;br /&gt;&lt;br /&gt;So here is a warning for Ubuntu users who have encrypted their home directories, DO NOT UPGRADE TO 10.04 LTS! Install a brand new system!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-7008389043148997586?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/7008389043148997586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=7008389043148997586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/7008389043148997586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/7008389043148997586'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/11/ubuntu-upgrade-dont-do-it.html' title='Ubuntu Upgrade - Don&apos;t do it!'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-6955120411412668142</id><published>2010-10-30T21:25:00.000-07:00</published><updated>2011-01-11T12:13:32.982-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux asus atheros atl1e'/><title type='text'>Installing Linux Ethernet drivers on Asus P5QPL-AM</title><content type='html'>Once again, I was overwhelmed with un-availability of drivers for Linux. In recent past I had bought Asus P5QPL-AM motherboards to use with Linux. I tried Ubuntu 9.10 and centOS 5.4 without any luck. Waiting a while, CentOS 5.5 came out and I even tried that. None of the Linux distributions I tried, provided the drivers for it on default install.&lt;br /&gt;&lt;br /&gt;Hoping it to be L1 chip, I tried l1-linux-v1.2.40.3.tar.gz driver from Atheros partner site but that didn't work either.&lt;br /&gt;&lt;br /&gt;Looks like I needed AR81 series driver (AR81Family-linux-v1.0.1.14.tar.gz) from here:&lt;br /&gt;&lt;br /&gt;http://partner.atheros.com/Download.aspx?id=162&lt;br /&gt;&lt;br /&gt;I installed CentOS 5.5 x64 on the hardware, download the AR81Family-linux-v1.0.1.14.tar.gz and did the following.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Untar(gz) the file AR81Family-linux-v1.0.1.14.tar.gz&lt;br /&gt;&lt;li&gt;cd AR81Family-linux-v1.0.1.14/src&lt;br /&gt;&lt;li&gt;Did a make to see if it was compliling ok&lt;br /&gt;&lt;li&gt;It compiled ok so did a make install&lt;br /&gt;&lt;li&gt;Rebooted the machine and all was well&lt;br /&gt;&lt;br /&gt;Hope that this helps someone in Linux Domain. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-6955120411412668142?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/6955120411412668142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=6955120411412668142' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/6955120411412668142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/6955120411412668142'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/10/installing-linux-ethernet-drivers-on.html' title='Installing Linux Ethernet drivers on Asus P5QPL-AM'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-8844735529430383963</id><published>2010-10-10T15:44:00.000-07:00</published><updated>2010-10-10T15:50:57.742-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='ghosttalker'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu supermicro'/><title type='text'>Server Removed</title><content type='html'>As of binary date of today (10/10/10), My server that hosted my email and web has been decommissioned. It was up for a long time courtesy of www.servergod.com. Thanks Servergod / Clickman for all that uptime. The server was running Ubuntu Linux and had an uptime of &gt;1100 days. Hardware is Supermicro 1U rackmount server.&lt;br /&gt;&lt;br /&gt;The website has been re-directed to this blog. I'm still trying to forward my emails to another service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-8844735529430383963?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/8844735529430383963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=8844735529430383963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8844735529430383963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8844735529430383963'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/10/server-removed.html' title='Server Removed'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-1620245698840272237</id><published>2010-05-05T23:16:00.000-07:00</published><updated>2011-01-11T12:22:49.577-08:00</updated><title type='text'>Iambic keying with Norcal Keyer and WB9KZY touch paddles</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRL3IHT1fhI/AAAAAAAADT4/IOxT-8HeOyI/s1600/NorCal_Keyer.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRL3IHT1fhI/AAAAAAAADT4/IOxT-8HeOyI/s200/NorCal_Keyer.jpg" /&gt;&lt;/a&gt;Very Easy to build.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRL3VzZltPI/AAAAAAAADUA/QWphoGsfbYM/s1600/Touch_Paddles.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRL3VzZltPI/AAAAAAAADUA/QWphoGsfbYM/s200/Touch_Paddles.jpg" /&gt;&lt;/a&gt;Easy to build paddles too!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRL5B9LbcWI/AAAAAAAADUI/S3f5wekSWB4/s1600/Touch_Paddles_NorCal_Keyer.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRL5B9LbcWI/AAAAAAAADUI/S3f5wekSWB4/s200/Touch_Paddles_NorCal_Keyer.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-1620245698840272237?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/1620245698840272237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=1620245698840272237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1620245698840272237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1620245698840272237'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/iambic-keying-with-norcal-keyer-and.html' title='Iambic keying with Norcal Keyer and WB9KZY touch paddles'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRL3IHT1fhI/AAAAAAAADT4/IOxT-8HeOyI/s72-c/NorCal_Keyer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-6782316998060682379</id><published>2010-05-05T23:05:00.000-07:00</published><updated>2011-01-11T12:23:03.620-08:00</updated><title type='text'>Aquarium Controller</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL1ULA_FzI/AAAAAAAADTQ/MMiuZmbIlqw/s1600/aqua.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="200" width="164" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL1ULA_FzI/AAAAAAAADTQ/MMiuZmbIlqw/s200/aqua.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;The idea came to reality while I was planning for a long vacation :-). This single board computer was built to control aquarium appliances like air pump, filter, heater, etc. The heart of this computer is AT89C2051 chip. This project is a derivative of an idea by Wichit Sirichote from Thailand. The original idea was redesigned to fit the need of my fishes :-). The output is driven by ULN2003A chip. The board has a RS232 interface for downloading the programs. MAX232 is used to do the TTL&lt;-&gt;RS232 level conversion.&lt;br /&gt;The unit has three relays connected to ULN2003. More relays can be added as needed. There can be a maximum of 7 relays connected to ULN2003.&lt;br /&gt;&lt;br /&gt;More pictures of the unit can be seen here&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL1sGmHwbI/AAAAAAAADTY/OKHAGbpk29c/s1600/aqua1.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL1sGmHwbI/AAAAAAAADTY/OKHAGbpk29c/s200/aqua1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRL1wZor7hI/AAAAAAAADTg/o3CEUSXBL4E/s1600/aqua2.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRL1wZor7hI/AAAAAAAADTg/o3CEUSXBL4E/s200/aqua2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL2AfNGDEI/AAAAAAAADTo/flULGnPe7VA/s1600/relays.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL2AfNGDEI/AAAAAAAADTo/flULGnPe7VA/s200/relays.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRL2IVuUXvI/AAAAAAAADTw/B2zXiseOTW0/s1600/connector.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRL2IVuUXvI/AAAAAAAADTw/B2zXiseOTW0/s200/connector.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-6782316998060682379?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/6782316998060682379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=6782316998060682379' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/6782316998060682379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/6782316998060682379'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/aquarium-controller.html' title='Aquarium Controller'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRL1ULA_FzI/AAAAAAAADTQ/MMiuZmbIlqw/s72-c/aqua.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-3736850420508191927</id><published>2010-05-05T23:00:00.000-07:00</published><updated>2011-01-11T12:23:17.696-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CTCSS'/><title type='text'>CTCSS Encoder For Transceivers</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRLzV74LHAI/AAAAAAAADS4/xtS_JEhMDi0/s1600/CTCSS-Top.JPG" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRLzV74LHAI/AAAAAAAADS4/xtS_JEhMDi0/s200/CTCSS-Top.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;This CTCSS tone encoder was designed for use with my Kenwood TM201B 2m transceiver. It uses the most *inexpensive* microcontroller on the planet; AVR Tiny11-6PC. The microcontroller is an AVR core microcontroller with minimum number of peripherals. Although this micro has an in built 1 MHz oscillator, the micro is clocked using a 32KHz XTAL to generate a stable clock. The internal oscillator is not calibrated and the clock varies with voltage and the temp of the device.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRLza6h9z_I/AAAAAAAADTA/_2LtBs3tqVQ/s1600/tCTCSS-Bottom.JPG" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="150" width="200" src="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRLza6h9z_I/AAAAAAAADTA/_2LtBs3tqVQ/s200/tCTCSS-Bottom.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;The unit is right now programmed to generate one tone but there is an option for four tones. The two IO pins of the micro are left aside for tone selection input. The tones can then be selected by the jumpers.&lt;br /&gt;&lt;br /&gt;The Kenwood TM201B transceiver has an option of adding a tone board TU-3. The module is hard to find and expensive. After doing a lot of digging, a Kenwood engineer helped me with the TU-3 Datasheet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-3736850420508191927?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/3736850420508191927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=3736850420508191927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/3736850420508191927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/3736850420508191927'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/ctcss-encoder-for-transceivers.html' title='CTCSS Encoder For Transceivers'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRLzV74LHAI/AAAAAAAADS4/xtS_JEhMDi0/s72-c/CTCSS-Top.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-8167472557720174294</id><published>2010-05-05T22:56:00.000-07:00</published><updated>2011-01-11T12:24:43.273-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elektor'/><title type='text'>Elektor Electronics: Basic Computer Mark II</title><content type='html'>Back when I was a kid, I was a big fan of Elektor Electronics. In 1994 (January 30, 1994 to be exact) I built this BASIC Computer from a PCB bought from Elektor. I bought the microcontroller from Jameco Electronics (Belmont, CA).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLyYaemk2I/AAAAAAAADSw/KozVNl-OsmM/s1600/basic1.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="126" width="200" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLyYaemk2I/AAAAAAAADSw/KozVNl-OsmM/s200/basic1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It was fun to build this one. I still have it in storage!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-8167472557720174294?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/8167472557720174294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=8167472557720174294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8167472557720174294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8167472557720174294'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/elektor-electronics-basic-computer-mark.html' title='Elektor Electronics: Basic Computer Mark II'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLyYaemk2I/AAAAAAAADSw/KozVNl-OsmM/s72-c/basic1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-1691467335179916635</id><published>2010-05-05T22:50:00.000-07:00</published><updated>2011-01-11T12:23:34.333-08:00</updated><title type='text'>99 Minute Timer</title><content type='html'>Originally published on www.bhargavaz.net in year 2000.&lt;br /&gt;&lt;br /&gt;There is a cute little appnote on using 12C508 to replace electromechanical timers. The appnote can be found on Microchip's site.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ww1.microchip.com/downloads/en/AppNotes/1_001.pdf"&gt;Get Appnote 1_001.pdf&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;It is a timer circuit that gives times up to 99 minutes. The hardware is slick but the code has too many bugs. I built the hardware with one display (Units) only. The software assembled with trivial warnings. Like, I had to replace RETURN with 'retlw 0'.&lt;br /&gt;&lt;br /&gt;I plan to use this circuit with my home brewed EPROM eraser :-) I'm looking for an enclosure now.&lt;br /&gt;&lt;br /&gt;The main problem with the code was improper timing and the one minute lag in turning relay on and off. The problem found was the code started counting TMR0 before the user started the timer. So the timer would display the value that user entered but counted from the middle.&lt;br /&gt;&lt;br /&gt;When the user started the timer the relay would turn on after one minute of counting and turned off after one minute the timer stopped.&lt;br /&gt;&lt;br /&gt;I have also modularized the code so that the parts may be reused. The modified code is here - timer.zip (no place to put on blogger - ask me in comments if you want it).&lt;br /&gt;Here is the hexdump of the corrected code&lt;br /&gt;&lt;pre&gt;:10000000680AE20103089F0825080D0899084908B5&lt;br /&gt;:1000100041081F08010819086F006D006E0070008C&lt;br /&gt;:10002000680069006A006B006C0000080E022D0079&lt;br /&gt;:100030000602180E2E006E024D012F006F061005ED&lt;br /&gt;:10004000F0058F063005F0050008000C2600180C9E&lt;br /&gt;:1000500006006100430C020000081007360A100475&lt;br /&gt;:10006000A802A6050A0C88014306680030073E0A6C&lt;br /&gt;:100070003004A9020A0C890143066900090201093A&lt;br /&gt;:100080003300080201093400090208014306A40AEA&lt;br /&gt;:100090002B024307A40AFE0C740150096F0A0008E2&lt;br /&gt;:1000A000100C3200740373030306580A0604590A3D&lt;br /&gt;:1000B00006050000000026050000000026040000E0&lt;br /&gt;:1000C0000000F202520A4605000046040604000839&lt;br /&gt;:1000D0000C092509FA0C31001609F0076C0A110207&lt;br /&gt;:1000E000810143076F0AFA0CF101AA02190C8A0177&lt;br /&gt;:1000F00043076F0A6A00AB020A0C8B014307940A9C&lt;br /&gt;:100100006B00AC023C0C8C014307940A6C00280283&lt;br /&gt;:1001100043078E0A090C2800E9008F0AE80009024B&lt;br /&gt;:1001200008014307940A9D0A16090B024306A60A12&lt;br /&gt;:10013000050F43076F0A2D096F0AA604FE0C330052&lt;br /&gt;:10014000340050090300680A50096F0A2D0950094C&lt;br /&gt;:020150006F0A34&lt;br /&gt;:021FFE000A00D7&lt;br /&gt;:00000001FF&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLxRcYS0YI/AAAAAAAADSo/IG4Uvhk0mWc/s1600/1.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="200" width="138" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLxRcYS0YI/AAAAAAAADSo/IG4Uvhk0mWc/s200/1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-1691467335179916635?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/1691467335179916635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=1691467335179916635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1691467335179916635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1691467335179916635'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/99-minute-timer.html' title='99 Minute Timer'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLxRcYS0YI/AAAAAAAADSo/IG4Uvhk0mWc/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-8940784264763688997</id><published>2010-05-05T22:03:00.000-07:00</published><updated>2011-01-11T12:23:54.157-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='8051'/><title type='text'>Mini51 :: Single Board Computer</title><content type='html'>This post was initially published on my website on 05/03/2002.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRLmuxAGk-I/AAAAAAAADRw/y4biorLvlNs/s1600/mini51-1.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="149" width="200" src="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRLmuxAGk-I/AAAAAAAADRw/y4biorLvlNs/s200/mini51-1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Specifications:&lt;br /&gt;&lt;br /&gt;* MCS51 Compatible - Can use 8051, 8052, 8751, 8752, 89C51, 89C52, etc. (DIP Packages)&lt;br /&gt;* 8K onboard RAM, expandable to 48K&lt;br /&gt;* Size: 52.5mm x 97.79mm&lt;br /&gt;* Current consumption: &lt; 100 ma* Speed: 11.0592 MHz Crystal (To enable various baud rates)* 8 I/O lines available (Port1)* More I/O lines can be made available using Expansion Connector* Onboard UART for PC communications* 34 pin expansion connector brings out full Address Bus, Data Bus and Control Bus* Standard power connector. Uses 5V Regulated wall adapter.5V regulator can be built on prototyping area for un-regulated wall adapters* Monitor Program and Assembler available for easy code development* Power LED and Reset Switch* Power-On-Reset circuitry* Power isolation jumper* Prototyping area* Excellent choice for learning 8051 programming and code development* Applications: Learning, Robotics, Home Automation, Process Control, Prototyping, etc.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLnH4H0dXI/AAAAAAAADR4/bDDa05mF5NU/s1600/mini51-2.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="194" width="200" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLnH4H0dXI/AAAAAAAADR4/bDDa05mF5NU/s200/mini51-2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRLnQAVtx7I/AAAAAAAADSA/Z50n9VLZvPs/s1600/mini51-3.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="200" width="199" src="http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRLnQAVtx7I/AAAAAAAADSA/Z50n9VLZvPs/s200/mini51-3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-8940784264763688997?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/8940784264763688997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=8940784264763688997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8940784264763688997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8940784264763688997'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/mini51-single-board-computer.html' title='Mini51 :: Single Board Computer'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Z7NMyeMoFAA/TRLmuxAGk-I/AAAAAAAADRw/y4biorLvlNs/s72-c/mini51-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-1073543750048376272</id><published>2009-05-13T20:30:00.000-07:00</published><updated>2011-07-12T07:51:48.961-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CAM'/><category scheme='http://www.blogger.com/atom/ns#' term='merge'/><category scheme='http://www.blogger.com/atom/ns#' term='panel'/><category scheme='http://www.blogger.com/atom/ns#' term='simpleparse'/><category scheme='http://www.blogger.com/atom/ns#' term='PCB'/><category scheme='http://www.blogger.com/atom/ns#' term='gerbmerge'/><category scheme='http://www.blogger.com/atom/ns#' term='gerber'/><category scheme='http://www.blogger.com/atom/ns#' term='circuit. board'/><title type='text'>Installing Gerbmerge on Ubuntu Linux</title><content type='html'>Gerbmerge is a program to combine and place CAM data into one panel. To know more about Gerbmerge please visit the following link &lt;a href="http://claymore.engineer.gvsu.edu/~steriana/Software/gerbmerge/index.html" target="blank"&gt;Gerbmerge&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Although the instructions to install it on Linux are there on the above link but they didn't work quite well on my recent install because of Simpleparse. I contacted the author and he sent me the instructions to compile it. So here are they in a user friendly manner.&lt;br /&gt;&lt;br /&gt;According to the Gerbmerge website, Gerbmerge requires following: &lt;br /&gt;&lt;br /&gt;* Python version 2.4 or later&lt;br /&gt;* eGenix mxBase tools version 2.0.4 or later&lt;br /&gt;* SimpleParse version 2.0.0 or later&lt;br /&gt;&lt;br /&gt;Ubuntu Jaunty installs Python 2.6 by default so that's not a problem. According to SimpleParse author &lt;a href="https://launchpad.net/simpleparse" target="blank"&gt;Mike Fletcher&lt;/a&gt;, the current source of simpleParse includes mxBase tools so getting them from eGenix is not necessary. So in all, we just have to install SimpleParse and then install Gerbmerge.&lt;br /&gt;&lt;center&gt;&lt;h3&gt;&lt;u&gt;Installation Steps&lt;/u&gt;&lt;/h3&gt;&lt;/center&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;u&gt;Prerequisites:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;Before we install SimpleParse we have to install a few packages from Ubuntu repository.&lt;br /&gt;&lt;br /&gt;Python-dev - to get Python.h as it is needed to compile SimpleParse&lt;br /&gt;python-setuptools - SimpleParse compile needs setuptools&lt;br /&gt;build-essential - Needed to compile SimpleParse&lt;br /&gt;bzr - Needed to get latest snapshot for SimpleParse from LaunchPad&lt;br /&gt;&lt;br /&gt;To install all these issue the following command on ububtu console:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;sudo apt-get install python-dev python-setuptools build-essential bzr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;u&gt;Get and Install SimpleParse:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;According to the author, get simpleparse from bzr release. CVS snapshot and the latest release don't work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;bzr branch lp:simpleparse&lt;br /&gt;cd simpleparse&lt;br /&gt;python setup.py build_ext --inplace --force&lt;br /&gt;sudo python setup.py install&lt;br /&gt;cd tests&lt;br /&gt;python test.py&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The above instructions will install and test SimpleParse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;u&gt;Get and Install Gerbmerge:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;Download Gerbmerge from http://ruggedcircuits.com/gerbmerge/gerbmerge-1.8.tar.gz&lt;br /&gt;&lt;strike&gt;http://claymore.engineer.gvsu.edu/%7Esteriana/Software/gerbmerge-1.6.tar.gz&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;tar zxf gerbmerge-1.8.tar.gz&lt;br /&gt;cd gerbmerge-1.8&lt;br /&gt;sudo python setup.py install&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After installation, Gerbmerge doesn't run as it can't find site-packages/gerbmerge so couple of soft-links are needed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;cd /usr/local/lib/python2.6/site-packages&lt;br /&gt;sudo ln -s ../dist-packages/gerbmerge&lt;br /&gt;&lt;br /&gt;cd /usr/lib/python2.6&lt;br /&gt;sudo ln -s /usr/local/lib/python2.6/site-packages&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The prerequisites build-essential, bzr etc. can be removed at this point if needed. Now you should be able to run gerbmerge from console.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-1073543750048376272?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/1073543750048376272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=1073543750048376272' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1073543750048376272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1073543750048376272'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2009/05/installing-gerbmerge-on-ubuntu-linux.html' title='Installing Gerbmerge on Ubuntu Linux'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-1653505066400778486</id><published>2007-12-12T19:03:00.000-08:00</published><updated>2007-12-23T13:43:05.818-08:00</updated><title type='text'>Installing Windows XP Pro on Gateway ML6230</title><content type='html'>How to install windows XP on Gateway ML6230&lt;br /&gt;&lt;br /&gt;Gateway ML6230 is a entry level laptop that ships with MS Windows Vista Home Basic. Being an entry level notebook hardware, Windows Vista uses up most of the system resources so with the shipped software the whole notebook crawls. Installing XP on the same hardware eases the heavy use of resources.&lt;br /&gt;&lt;br /&gt;To install windows XP on the laptop you would need the hardware and software ingredients which are summarized below.&lt;br /&gt;&lt;br /&gt;Ingredients:&lt;br /&gt;&lt;br /&gt;USB Floppy Drive. I tested with Memorex (part# 3202 3239)&lt;br /&gt;&lt;br /&gt;The following drivers had to be downloaded from the respective URLs. It took me some time to find out the authentic URLs fro the drivers instead of just downloading &lt;br /&gt;&lt;a href="http://tinyurl.com/22wupz"&gt;ICH7 / SATA Controller Driver&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=049C9DBE-3B8E-4F30-8245-9E368D3CDB5A&amp;displaylang=en"&gt;Windows XP SP2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.marvell.com/drivers/driverDisplay.do?dId=175&amp;pId=3"&gt;Wired Network Interface Driver&lt;/a&gt;&lt;br /&gt;&lt;a href="http://downloadcenter.intel.com/detail_desc.aspx?agr=n&amp;productid=816&amp;dwnldid=13499"&gt;Chipset INF Update&lt;/a&gt;&lt;br /&gt;&lt;a href="http://downloadcenter.intel.com/filter_results.aspx?strTypes=all&amp;ProductID=2301&amp;OSFullName=Windows*+XP+Professional&amp;lang=eng&amp;strOSs=44&amp;submit=Go%21"&gt;Video Drivers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;0. Prepare the ICH7 Driver floppy&lt;br /&gt;1. Install Windows XP using the ICH7 Driver Disk&lt;br /&gt;2. Install XP Service Pack2&lt;br /&gt;3. Install Chipset INF Update&lt;br /&gt;4. Install Video Driver&lt;br /&gt;5. Install wired LAN driver&lt;br /&gt;6. Install Wireless LAN driver - Dbl click on the Marvell EXE file&lt;br /&gt;7. Install Media card reader from c:\cabs\D20003-003-001. Double click on setup&lt;br /&gt;8. Install Audio driver from c:\cabs\D00758-001-001. Double click on setup&lt;br /&gt;9. Install Modem driver from c:\cabs\D00624-001-001. Double click on setup&lt;br /&gt;10. Start windows update.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;A note about step #1:&lt;br /&gt;&lt;/span&gt;To install windows XP with the ICH7 driver, boot with XP CD. When prompted to specify additional driver press F6. When you use the F6 floppy and specifiy a new device when installing, you only see the following:&lt;br /&gt;&lt;br /&gt;"Intel(R) 82801HR/HH/HO SATA RAID Controller (Desktop ICH8R)"&lt;br /&gt;"Intel(R) 82801HR/HH/HO SATA AHCI Controller (Desktop ICH8R)"&lt;br /&gt;"Intel(R) 631xESB/632xESB SATA RAID Controller (Server/Workstation ESB2)"&lt;br /&gt;"Intel(R) 631xESB/632xESB SATA AHCI Controller (Server/Workstation ESB2)"&lt;br /&gt;&lt;br /&gt;None of them will work.&lt;br /&gt;&lt;br /&gt;Use arrow keys to scroll down the list and find this one:&lt;br /&gt;&lt;br /&gt;"Intel(R) 82801GBM SATA AHCI Controller (Mobile  ICH7M/DH)"&lt;br /&gt;&lt;br /&gt;This one *will* work.&lt;br /&gt;&lt;br /&gt;To find this I did some digging and booted with Knoppix CD. Dmesg told that the controller is ICH7 not ICH8. Later I opened the driver inf and txtsetup.oem files provided and they had 11 drivers on the list. I booted with xp again and used the driver file (F6) from the usb floppy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-1653505066400778486?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://support.gateway.com/s//Mobile/2007/Oasis/1014693R/1014693Rnv.shtml' title='Installing Windows XP Pro on Gateway ML6230'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/1653505066400778486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=1653505066400778486' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1653505066400778486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/1653505066400778486'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2007/12/installing-windows-xp-pro-on-gateway.html' title='Installing Windows XP Pro on Gateway ML6230'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-8002261205265127652</id><published>2007-08-19T22:37:00.001-07:00</published><updated>2007-08-20T18:03:42.751-07:00</updated><title type='text'>Reliving youth</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_Z7NMyeMoFAA/RskyZAmEARI/AAAAAAAACXg/seNKxIiMcRQ/s1600-h/SuperMarioBros.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_Z7NMyeMoFAA/RskyZAmEARI/AAAAAAAACXg/seNKxIiMcRQ/s320/SuperMarioBros.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5100663458211561746" /&gt;&lt;/a&gt;When I was young I used to play Super Mario Bros. on my NES. Recently, I downloaded the emulator "NESTOPIA" on my windows laptop (Ubuntu Linux laptop has zsnes) and started with the Super Mario Bros ROM file. I still own the old Super Mario Bros NES cartridge. It seems that there is a lot that can be squeezed in a 27C256! I had opened some of the game cartridges to find that all of them were custom masked ROMs. Most of them had UMC logo. The original NES was based on MosTek 6502 core produced by Ricoh for Nintendo.&lt;br /&gt;&lt;br /&gt;After a long time, I was glad to see the favorite welcome screen showing "Super Mario Bros" :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-8002261205265127652?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/8002261205265127652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=8002261205265127652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8002261205265127652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/8002261205265127652'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2007/08/reliving-youth.html' title='Reliving youth'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_Z7NMyeMoFAA/RskyZAmEARI/AAAAAAAACXg/seNKxIiMcRQ/s72-c/SuperMarioBros.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-115030827436429600</id><published>2006-06-14T10:51:00.000-07:00</published><updated>2009-05-14T00:11:47.711-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>Tiny11 iPod Remote Control</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4205/322/1600/nano.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4205/322/320/nano.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;After getting an iPod Nano recently, I was thinking about ideas for add-on. Looks like an IR remote control can be easily designed along ATTiny11-6PC and a few discrete components.&lt;br /&gt;&lt;br /&gt;iPod uses a protocol "Apple Accessory Protocol" to control iPod. The protocol is standard 19200 baud N81. The shortform protocol specification is &lt;a href="http://stud3.tuwien.ac.at/%7Ee0026607/ipod_remote/ipod_ap.html"&gt;here&lt;/a&gt;.&lt;br /&gt;Another place to look at the protocol is &lt;a href="http://ipodlinux.org/Apple_Accessory_Protocol"&gt;ipodlinux.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On the receiver side, &lt;a href="http:/http://www.atmel.com/dyn/resources/prod_documents/DOC1473.PDF/"&gt;AVR410&lt;/a&gt; can be used to decode RC5 IR protocol. Any RC5 compatible remote control can be used.&lt;br /&gt;&lt;br /&gt;Overall, the Tiny11 will receive commands from the RC5 IR remote and translate the command into the Apple Accessory Protocol commands (below)&amp;nbsp;&lt;br /&gt;&lt;table align="top" border="1"&gt;&lt;br /&gt;&lt;tr&gt;&lt;th&gt;Button&lt;/th&gt;&lt;br /&gt;&lt;th&gt;String&lt;/th&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Play/Pause&lt;/td&gt; &lt;td&gt;0xFF 0x55 0x03 0x02 0x00 0x01 0xFA&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Vol+&lt;/td&gt;       &lt;td&gt;0xFF 0x55 0x03 0x02 0x00 0x02 0xF9&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Vol-&lt;/td&gt;       &lt;td&gt;0xFF 0x55 0x03 0x02 0x00 0x04 0xF7&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Skip &gt;&gt;&lt;/td&gt;    &lt;td&gt;0xFF 0x55 0x03 0x02 0x00 0x08 0xF3&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;&lt; Skip&lt;/td&gt;    &lt;td&gt;0xFF 0x55 0x03 0x02 0x00 0x10 0xEB&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;End Button&lt;/td&gt; &lt;td&gt;0xFF 0x55 0x03 0x02 0x00 0x00 0xFB&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;I have used AVR410 and AVR305 seperately in the past and have achieved good results. Tiny11 iPod remote firmware is just a matter of combining the two along with a lookup table.&lt;br /&gt;&lt;br /&gt;If I get time (hopefully), I'll try to work on this idea :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-115030827436429600?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/115030827436429600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=115030827436429600' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/115030827436429600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/115030827436429600'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2006/06/tiny11-ipod-remote-control.html' title='Tiny11 iPod Remote Control'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-113711957862623957</id><published>2006-01-12T18:50:00.000-08:00</published><updated>2006-11-14T01:02:25.806-08:00</updated><title type='text'>CVS for code development</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4205/322/1600/cvs.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4205/322/320/cvs.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Yesterday I configured GNU CVS (Concurrent Versions System) for my PIC and AVR code development. I had the code all over the places including usb memory sticks and was loosing control over the versions. CVS made life a lot easier and now I could easily manage the code.&lt;br /&gt;&lt;br /&gt;The CVS server runs Ubuntu Linux, on the client side I use gCVS (linux) and TortoiseCVS (windows) GUIs. The clients are configured to use ssh to communicate with the server.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tortoisecvs.org/"&gt;Torotise CVS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wincvs.org/"&gt;gCVS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-113711957862623957?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ximbiot.com/cvs/wiki/index.php?title=Main_Page' title='CVS for code development'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/113711957862623957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=113711957862623957' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/113711957862623957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/113711957862623957'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2006/01/cvs-for-code-development.html' title='CVS for code development'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-113195479545401492</id><published>2005-11-13T23:50:00.000-08:00</published><updated>2005-11-14T02:44:14.586-08:00</updated><title type='text'>Driving a VFD</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4205/322/1024/FIP8A5R.jpg"&gt;&lt;img src="http://photos1.blogger.com/blogger/4205/322/400/FIP8A5R.jpg" alt="VFD FIP8A5R" style="margin: 0px 10px 10px 0px; float: left;" border="0" /&gt;&lt;/a&gt;Lately I found a VFD tube in my junk box and thought of driving it. Soon realized that it is not as easy as driving an LED display. I have a couple of FIP8A5R VFD tubes manufactured by NEC. The advantage of VFDs over LED display or an LCD display is their unique blueish-green brightness. Each segment of a VFD glows bluish-green and looks great. It does not suffer from the viewing angle problems like LCDs do. The newer superbright LED displays are trying hard to reach to the coolness level of VFDs.&lt;br /&gt;&lt;br /&gt;To drive a VFD one would need three inputs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Filament voltage&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Grid drive&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Segment drive&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;I knew that the VFDs operate on the same principle as the vacuum tubes. The filament would warm up and "boil" electrons off of it (cathode). The electrons would be attracted by the anode (segments in this case). To reduce the number of pins on the display, grids are deployed. Grids would allow or disallow the electrons to flow thus controlling digts in multiplexed architecture.&lt;br /&gt;&lt;br /&gt;I connected a 3V battery on the filament and it started to glow. Later I connected the G1 (grid of display1) and a segment to positive terminal of the battery. A segment on the display 1 should have lit but it didn't. :-(&lt;br /&gt;&lt;br /&gt;I asked for help on &lt;a href="http://www.piclict.com" target="popup"&gt;Piclist&lt;/a&gt; and John DeGood responded with some information on driving them. John reminded that the VFDs operate like a triode tube so I used a different approach like this...&lt;br /&gt;&lt;br /&gt;&lt;A HREF='http://photos1.blogger.com/blogger/4205/322/1024/DSCN2273.jpg'&gt;&lt;IMG SRC='http://photos1.blogger.com/blogger/4205/322/400/DSCN2273.jpg' border=0 alt='How tubes work'&gt;&lt;/A&gt;&lt;br /&gt;&lt;br /&gt;Later, I was able to light up a couple of segments using two batteries. I connected a 3v battery to the filament and connected another 9v battery with positive terminal on the grid and the segment and the negative terminal on the filament where negative terminal of 3v battery was connected.&lt;br&gt;&lt;br /&gt;I didn't connect the filament's positive terminal to the battery&lt;br /&gt;directly, instead I connected the wire momentarily to the filament. I&lt;br /&gt;noticed that when I completed the circuit to the filament, it would&lt;br /&gt;glow dim but once I interrupt the circuit the segment would glow&lt;br /&gt;bright to dim and turn off (like a capacitor). So I need to oscillate&lt;br /&gt;the filament as John suggested.&lt;br /&gt;&lt;br /&gt;Prashant from &lt;a href="http://www.users.bigpond.com/pbhandary/pic/vfd.html" target="popup"&gt;Silicon Junction&lt;/a&gt; also shared his experience as he did a similar project that is on his website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-113195479545401492?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.noritake-elec.com/vfd_technology.htm' title='Driving a VFD'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/113195479545401492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=113195479545401492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/113195479545401492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/113195479545401492'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/11/driving-vfd_13.html' title='Driving a VFD'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-112882836386309428</id><published>2005-10-08T19:30:00.000-07:00</published><updated>2005-10-08T20:55:40.536-07:00</updated><title type='text'>New (vintage) Radio</title><content type='html'>&lt;a href='http://photos1.blogger.com/img/251/3578/640/TM401A1.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/251/3578/400/TM401A1.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Kenwood TM-401A&lt;a href='http://picasa.google.com/blogger/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbp.gif' alt='Posted by Picasa' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is a new (vintage) addition to my shack - Kenwood TM401B. TM-401B is a 440 MHz Amateur Radio rig. As soon as I got it, I soldered the power-pole connectors so that it can be powered up in my shack.&lt;br /&gt;&lt;br /&gt;I gave it a 12V power and I got no display!! I thought that it is dead, but after connecting an external speaker and reducing the squelch, I got white noise. Audio finally!! I tried to reseat the display board connectors but no help!! &lt;br /&gt;&lt;br /&gt;I Measured the backup battery voltage and it was 0.11V :-( concluded that the backup battery (BR2032) was dead! Fortunately I had a few with me. I soldered one in place, after removing the dead one. Still no display!! I opened the bottom cover and tried to reseat the display board connectors but still no display :-(&lt;br /&gt;&lt;br /&gt;I opened the bottom cover and and found a reset switch. I depressed it and voila! there was the display 0.000 MHZ :-0. I tuned the rig to an ongoing QSO and the rig was receiving well!&lt;br /&gt;&lt;br /&gt;Don't know whether it is transmitting or not but so far receiving well! Let's hope for good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-112882836386309428?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/112882836386309428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=112882836386309428' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/112882836386309428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/112882836386309428'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/10/new-vintage-radio.html' title='New (vintage) Radio'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-111820154512412414</id><published>2005-06-07T20:05:00.000-07:00</published><updated>2009-05-14T00:11:47.711-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>PIC16C84 made it to a good home</title><content type='html'>&lt;a href='http://photos1.blogger.com/img/251/3578/640/motor.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/251/3578/400/motor.jpg'&gt;&lt;/a&gt;&lt;br /&gt;PIC16C84 Based Motor Control Boards&amp;nbsp;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Over the weekend I went to a local swapmeet. There was a gentleman selling his old stuff. He was selling a box for a dollar with an intention that his parts go to a home instead of trash. One of the box had a few PCBs with lots of IRF FETs, I bought the box and along came lots of old parts plus a few boards with 16C84 chips! These are 4MHz chips, I have tested one of them and that completed a cycle of chip erase and blank check fine :-) So those 16C84 chips indeed made it to the right home! :-)&lt;br /&gt;&lt;br /&gt;The box also had some ICs from 1970s and all are from Motorola and are ceradip!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-111820154512412414?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/111820154512412414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=111820154512412414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111820154512412414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111820154512412414'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/06/pic16c84-made-it-to-good-home.html' title='PIC16C84 made it to a good home'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-111346295542675476</id><published>2005-04-14T00:15:00.000-07:00</published><updated>2009-05-14T00:11:47.712-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><category scheme='http://www.blogger.com/atom/ns#' term='PCB'/><category scheme='http://www.blogger.com/atom/ns#' term='circuit. board'/><title type='text'>My CTCSS Encoder</title><content type='html'>&lt;a href="http://www.bhargavaz.net/ctcss/" target="blank"&gt;&lt;img src="http://www.bhargavaz.net/ctcss/tCTCSS-Top.JPG" alt="CTCSS Encoder Top"&gt;&lt;/a&gt; &lt;a href="http://www.bhargavaz.net/ctcss/" target="blank"&gt;&lt;img src="http://www.bhargavaz.net/ctcss/tCTCSS-Bottom.JPG" alt="CTCSS Encoder Bottom"&gt;&lt;/a&gt;&lt;br /&gt;I just completed building my CTCSS encoder using Tiny11 AVR microcontroller. To see the complete description, click on the URL below.&lt;br /&gt;&lt;a href="http://www.bhargavaz.net/ctcss/" target="blank"&gt;www.bhargavaz.net :: CTCSS Encoder&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-111346295542675476?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.bhargavaz.net/ctcss/' title='My CTCSS Encoder'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/111346295542675476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=111346295542675476' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111346295542675476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111346295542675476'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/04/my-ctcss-encoder.html' title='My CTCSS Encoder'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-111207564916255052</id><published>2005-03-28T22:00:00.000-08:00</published><updated>2005-03-28T22:14:21.573-08:00</updated><title type='text'>DL4YHF's Frequency Counter</title><content type='html'>&lt;a href='http://photos1.blogger.com/img/251/3578/640/Counter.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/251/3578/400/Counter.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Here is a picture of &lt;u&gt;DL4YHF Frequency Counter&lt;/u&gt; that I had been building last week. The picture is taken in the middle of building so some of the components might be missing. The unit powers up fine but I have a little problem with the LED display. When displaying '0' the segment 'F' does not light up. The whole display (including the segment F) lights up when the unit does a 'Lamp Test' at init. I have looked over the display wiring several times but had no luck. I even changed couple of displays but get the same result. Due to lack of time, I haven't been able to do further testing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Wolf&lt;/b&gt;, the author has been very helpful on debugging the segment issue. He even rolled out an updated code to support common anode displays on my request.&lt;br /&gt;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-111207564916255052?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://people.freenet.de/dl4yhf/freq_counter/freq_counter.html' title='DL4YHF&apos;s Frequency Counter'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/111207564916255052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=111207564916255052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111207564916255052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111207564916255052'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/03/dl4yhfs-frequency-counter.html' title='DL4YHF&apos;s Frequency Counter'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-111104311911788706</id><published>2005-03-16T23:10:00.000-08:00</published><updated>2009-05-14T00:12:27.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>ATTiny11 Experiments</title><content type='html'>&lt;a href="http://photos1.blogger.com/img/251/3578/640/Tiny11-Breadboard.jpg"&gt;&lt;img style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; MARGIN: 2px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" src="http://photos1.blogger.com/img/251/3578/400/Tiny11-Breadboard.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;These Days I have been experimenting with ATTiny11 on a breadboard instead of STK. This setup has proven a very good small scale development board. The tiny11 anyway is programmed using a separate programmer. On the left of the motherbaord is a 5v 100ma regulated power supply with a power LED. A 32 KHz xtal is connected on pin 2 and 3 of the microcontroller. The oscillator startup time mentioned in the dataseet for a LF xtal is 4.5s but I haven't seen oscillator startup delays of more than a second.&lt;a href="http://www.hello.com/" target="ext"&gt;&lt;img style="BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px" alt="Posted by Hello" src="http://photos1.blogger.com/pbh.gif" align="absMiddle" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-111104311911788706?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/111104311911788706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=111104311911788706' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111104311911788706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/111104311911788706'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/03/attiny11-experiments.html' title='ATTiny11 Experiments'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110878556094878311</id><published>2005-02-18T20:00:00.000-08:00</published><updated>2009-05-14T00:11:47.712-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>New Microcontrollers Received!!</title><content type='html'>&lt;a href='http://photos1.blogger.com/img/251/3578/640/AT89S2051s.1.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/251/3578/400/AT89S2051s.1.jpg'&gt;&lt;/a&gt;&lt;br /&gt;New Microcontrollers Received!!&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;br /&gt;Today I received samples of new microcontroller &lt;i&gt;AT89S2051&lt;/i&gt; from Atmel. This new microcontroller is an advanced version of popular AT89C2051. This new version is ISP compatible and has new features. The microcontroller is not formally released yet by Atmel.&lt;br /&gt;Making background is my MSP430 Header board design! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110878556094878311?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.atmel.com/products/8051/overview.asp' title='New Microcontrollers Received!!'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110878556094878311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110878556094878311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110878556094878311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110878556094878311'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/new-microcontrollers-received.html' title='New Microcontrollers Received!!'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110878183750337522</id><published>2005-02-18T18:57:00.000-08:00</published><updated>2005-02-18T20:36:29.336-08:00</updated><title type='text'>Epson Develops the World's First Flexible 8-Bit Asynchronous Microprocessor</title><content type='html'>&lt;img src="http://www.epson.co.jp/e/newsroom/img/2005/050209_m.jpg" alt="Flexible CPU"&gt;&lt;br /&gt;Seiko Epson Corp. ("Epson") has announced that it has developed the world's first*1 flexible 8-bit asynchronous microprocessor using low-temperature polysilicon thin-film transistors (LTPS-TFTs) on a plastic substrate. With energy consumption reduced by 70% compared to the synchronous microprocessors now in everyday use, Epson is now researching potential applications for its invention. The results of Epson's research were announced at ISSCC2005, the International Solid-State Circuit Conference, held earlier this month in San Francisco in the United States.&lt;br /&gt;&lt;a href="http://www.epson.co.jp/e/newsroom/2005/news_2005_02_09.htm"&gt;Epson Corporate: Newsroom&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110878183750337522?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.epson.co.jp/e/newsroom/2005/news_2005_02_09.htm' title='Epson Develops the World&apos;s First Flexible 8-Bit Asynchronous Microprocessor'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110878183750337522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110878183750337522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110878183750337522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110878183750337522'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/epson-develops-worlds-first-flexible-8.html' title='Epson Develops the World&apos;s First Flexible 8-Bit Asynchronous Microprocessor'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110799138114070469</id><published>2005-02-09T15:23:00.000-08:00</published><updated>2009-05-14T00:12:27.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>FAT16 Interface for MSP430</title><content type='html'>Following up on the last post about storage for microcontrollers, I found this article very interesting.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.egr.msu.edu/classes/ece480/goodman/fall/group05/deliverables/appnote_evans.pdf"&gt;FAT16 Interface for MSP430&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If I find time, I would like to experiment with the SD cards that I have. It would be nice to have a small PCB with SD Slot, a decoupling cap and a SIL header. That way it can be put on a breadboard and can be experimented with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110799138114070469?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.egr.msu.edu/classes/ece480/goodman/fall/group05/deliverables/appnote_evans.pdf' title='FAT16 Interface for MSP430'/><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110799138114070469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110799138114070469' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110799138114070469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110799138114070469'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/fat16-interface-for-msp430.html' title='FAT16 Interface for MSP430'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110781521262767099</id><published>2005-02-07T14:26:00.000-08:00</published><updated>2009-05-14T00:12:27.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>SD / MMC memory extension for Microcontrollers</title><content type='html'>&lt;img align="left" Src="http://www.bhargavaz.net/images/sd.jpg"&gt;To add storage space to microcontrollers is very easy with &lt;i&gt;Secure Digital&lt;/i&gt; cards. &lt;a href="http://www.sdcard.org/"&gt;SD Card Association&lt;/a&gt; site has a &lt;a href="http://www.sdcard.org/sdio/Simplified%20Physical%20Layer%20Specification.PDF"&gt;Physical layer specification document&lt;/a&gt; that describes the card very briefly. It does not explain the full protocol specification though.&lt;br /&gt;&lt;br /&gt;Why use SD Card? Using SD cards with microcontrollers has a few advantages. First of all it is very cheap. You can find very good deals on 64MB cards. I bought mine for less than $2. Secondly the access protocol is very similar to a 3 wire bus / SPI.&lt;br /&gt;&lt;br /&gt;Here are some examples of interfacing the SD cards to various popular microcontrollers.&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.captain.at/electronics/pic-mmc/"&gt;PIC memory extension&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.microchipc.com/sourcecode/#mmc"&gt;Interfacing PIC to SD card C - sample code&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.egr.msu.edu/classes/ece480/goodman/fall/group05/deliverables/appnote_foust.pdf"&gt;SD interface for MSP430&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://homepage.ntlworld.com/seanellis/mmcserial.htm"&gt;MMC to Serial Adapter&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.sharpsma.com/pub/productfocus/publications/micro/mcu/tec_appnote_LH79520_multimediacar.pdf"&gt;Interfacing SD card to Sharp Microcontrollers&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110781521262767099?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110781521262767099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110781521262767099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110781521262767099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110781521262767099'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/sd-mmc-memory-extension-for.html' title='SD / MMC memory extension for Microcontrollers'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110779764364408673</id><published>2005-02-07T09:34:00.000-08:00</published><updated>2005-02-07T09:34:03.643-08:00</updated><title type='text'>Bob Blick</title><content type='html'>Found another great site for PIC based projects.&lt;br /&gt;&lt;a href="http://www.bobblick.com/techref/projects/projects.html"&gt;Bob Blick's Projects&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some of the projects like the propeller Clock and LCD Term are nice.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.bobblick.com/techref/projects/propclock/propclock.html"&gt;Propeller Clock&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.bobblick.com/techref/projects/lcdterm/lcdterm.html"&gt;LCDterm&lt;/a&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110779764364408673?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110779764364408673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110779764364408673' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110779764364408673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110779764364408673'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/bob-blick.html' title='Bob Blick'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110773995341988016</id><published>2005-02-06T17:32:00.000-08:00</published><updated>2009-05-14T00:12:27.410-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microcontroller'/><title type='text'>MicroSyl MCU</title><content type='html'>While searching for some clock projects, I found this wonderful site &lt;br&gt;&lt;br /&gt;&lt;a href="http://www.microsyl.com/" target="blank"&gt;MicroSyl MCU&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;This site has many exciting AVR microcontroller based projects like:&lt;br&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Propeller Clock&lt;br /&gt;&lt;li&gt;Bar Code Reader made out of Cue Cat :-)&lt;br /&gt;&lt;li&gt;MP3 Player&lt;br /&gt;&lt;li&gt;LCD Libraries&lt;br /&gt;&lt;li&gt;etc...&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;This site does not provide much text on the projects, just the schematic and the C source code. Also the author hasn't mentioned which C compiler he uses. I'll see if I can email the author.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110773995341988016?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110773995341988016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110773995341988016' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110773995341988016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110773995341988016'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/microsyl-mcu.html' title='MicroSyl MCU'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-110773945926873053</id><published>2005-02-06T17:00:00.000-08:00</published><updated>2005-02-06T17:25:35.483-08:00</updated><title type='text'>First PIC Blog</title><content type='html'>Victor Fraenckel posted a question on &lt;a href="http://www.piclist.com"&gt;&lt;b&gt;PIC List&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;i&gt;"Are there any PIC related blogs out there?"&lt;/i&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Well, I didn't see any so I created this one!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-110773945926873053?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/110773945926873053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=110773945926873053' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110773945926873053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/110773945926873053'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2005/02/first-pic-blog.html' title='First PIC Blog'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10669466.post-9093388255797616418</id><published>2004-05-05T22:12:00.000-07:00</published><updated>2011-01-11T12:24:21.810-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ipx idprom prom'/><title type='text'>IDPROM / NVRAM Battery Replacement Page</title><content type='html'>Originally published in 2001 on www.bhargavaz.net&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This page is about fixing of Sun IDPROM (48T02) battery, preferably on a weekend :-). Fixing NVRAM is not a difficult task if you have the right tools. You would need this FAQ when you get one of the below messages&lt;br /&gt;&lt;br /&gt;Sun Workstation, Model Sun-XXXXXX Series. &lt;br /&gt;ROM Rev X.X, XXMB memory installed&lt;br /&gt;ID PROM invalid.&lt;br /&gt;Testing 0 Megabytes of Memory ... Completed.&lt;br /&gt;ERROR: missing or invalid ID prom&lt;br /&gt;Requesting Internet address for 0:0:0:0:0:0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sun Workstation, Model Sun-XXXX Series.&lt;br /&gt;Type 4 Keyboard&lt;br /&gt;ROM Rev X.X, XXMB memory installed, Serial #16777215&lt;br /&gt;Ethernet address ff:ff:ff:ff:ff:ff, Host ID ffffffff&lt;br /&gt;&lt;br /&gt;Invalid format type in NVRAM&lt;br /&gt;The IDPROM contents are invalid&lt;br /&gt;&lt;br /&gt;NVRAM ???&lt;br /&gt;You would ask "What is NVRAM?". NVRAM is a small 24 pin DIP (Dual Inline Package) integrated circuit that keeps track of various system parameters such as serial number, ethernet MAC (Media Access Control) address, HOSTID, date of manufacture, etc. I bought one IPX machine and that had a bad NVRAM, I went through many resources, different data sheets, etc and finally replaced the battery of the NVRAM chip M48T02. I read the IDPROM FAQ at NVRAM/HOSTID FAQ and it said a little bit about replacing the battery of 48T02. I tried and replaced the battery only and here am I sharing my experience with the battery of 48T02.&lt;br /&gt;Disclaimer&lt;br /&gt;&lt;br /&gt;Please carry out these instructions on your own risk, I do not take responsibility of the adverse consequences caused by following these instructions.&lt;br /&gt;&lt;br /&gt;I would recommend you to read the HOSTID/NVRAM FAQ before performing the actual procedure. This FAQ assumes that your NVRAM battery is dead and the data in the NVRAM is invalid. If your battery is not dead and you don't want to loose the NVRAM data, NVRAM back up instructions are on the NVRAM/HOSTID FAQ (google for the string. Sorry I did not get link from them even after asking).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1&lt;/b&gt;&lt;br /&gt;Make sure that the power is turned off. Back you data off the nvram if it is alive, *before* removing the chip. Instructions to back-up the data are on the NVRAM/HOSTID FAQ page (google). Carefully remove the NVRAM from the machine. You can use the IC extractor tool to do that. Look for the pin 1 markings on the top.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 2&lt;/b&gt;&lt;br /&gt;As you could see that the whole chip is divided into 2 parts. The upper part contains the battery &amp; crystal oscillator and the bottom half is the Integrated Circuit. The battery and oscillator are piggy-backed on the IC. Both the parts Battery (upper) and IC (lower) are connected to each other via 4 wires (2 on each side). The wires can be seen in the picture below. On both sides the wires are covered with some epoxy glue.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 3&lt;/b&gt;&lt;br /&gt;Carefully scrap the epoxy compound using sharp blade. Do not scratch too hard as you might break the wires. I used my 50W soldering iron to remove the compound. You can use a lower wattage iron but that will take time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRLp6fLVB3I/AAAAAAAADSI/GZkq3ENa7sM/s1600/1.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="142" width="162" src="http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRLp6fLVB3I/AAAAAAAADSI/GZkq3ENa7sM/s200/1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Step 4&lt;/b&gt;: M48T02 with exposed battery terminals After you have exposed the two wires cut them from the end coming from the battery. The wire towards the pin 12 of the chip is - in and the opposite wire is + in.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRLuEWtDk0I/AAAAAAAADSY/AUSZbJxn934/s1600/5.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="192" width="200" src="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRLuEWtDk0I/AAAAAAAADSY/AUSZbJxn934/s200/5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Step 5&lt;/b&gt;&lt;br /&gt;External battery is now connected to the terminalsYou will need a 3V battery to power the chip. I have used a CR2032 lithium battery. Carefully solder thin and flexible insulated wires to the + and negative side of the battery. The wires should be thin and flexible so that they won't hurt the wires coming out of the chip. I have used a short length of wires from the IDE cable. I have used the 2 wires from the pin 1 end of the ide cable so that you get one colored wire and one white wire.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 6&lt;/b&gt;&lt;br /&gt;Cut the length of wire you just soldered to an appropriate length. Solder these wires very carefully to the wires that come out of the chip. Take extra precaution on the polarity of the battery, and try to avoid short circuit.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 7&lt;/b&gt;&lt;br /&gt;Verify that the soldered wires at the chip end are some distance apart and there is no short circuit. Now place a tiny drop of super glue on the bottom side of the battery and place the battery on the top of the chip casing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 8&lt;/b&gt;&lt;br /&gt;Now fix the chip in the IPX socket (from where it came out) and do a quick and dirty programming. Turn off power... wait for couple of minutes... power up the Sun and verify that the settings are ok.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLqMuWBfbI/AAAAAAAADSQ/BqS1PaLMBsw/s1600/9.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="200" width="144" src="http://4.bp.blogspot.com/_Z7NMyeMoFAA/TRLqMuWBfbI/AAAAAAAADSQ/BqS1PaLMBsw/s200/9.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Step 9&lt;/b&gt;&lt;br /&gt;Battery Connected!: Top ViewIf everything works out ok, we need to seal the solder joint using super glue or some other sealing compound. In the picture below you can see the battery glued to the case of M48T02 Remove the chip carefully without shorting the soldered terminals. Put ample amount of glue just to cover the pit we made. Secure the battery on top of the chip by placing some more glue on the sides.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRLvAjji41I/AAAAAAAADSg/21qRyNb3fCM/s1600/10.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="200" width="193" src="http://1.bp.blogspot.com/_Z7NMyeMoFAA/TRLvAjji41I/AAAAAAAADSg/21qRyNb3fCM/s200/10.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Looks Great!I have this prototype working and had no problems. If you find this page useful or if you fix your NVRAM, please do write comments.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Quick Programming Guide from - www.squirrel.com/squirrel/sun-nvram-hostid.faq.html&lt;br /&gt;This is for folks who need to replace their NVRAM chip in a sun4c/m/u machine and don't want to bother with XOR calculations or the details above with mkp. I am assuming that you have a brand new NVRAM chip in hand. All numbers below are in hex.&lt;br /&gt;First, decide what ethernet address you want to use and what you want for the last three byte of the hostid. The ethernet address should begin with 08:00:20. There are no restrictions on the last three bytes of the hostid. Say the ethernet address is 08:00:20:E3:E4:E5 and the last three bytes of the hostid are H1, H2, H3. The first byte of the hostid will automatically be set according to the system type (real-machine-type variable in the OpenBoot monitor).&lt;br /&gt;&lt;br /&gt;set-defaults&lt;br /&gt;setenv diag-switch? false&lt;br /&gt;8 0 20 E3 E4 E5 H1H2H3 mkpl&lt;br /&gt;Control-D&lt;br /&gt;Control-R&lt;br /&gt;&lt;br /&gt;If mkpl does not print a copyright notice, then it changed the IDPROM. You should make sure by looking at the idprom after using mkpl by executing the .idpromcommand.&lt;br /&gt;e.g. 8 0 20 13 de ad c0ffee mkpl will set the last three bytes of the hostid to c0ffee and the ethernet address to 08:00:20:13:de:ad.&lt;br /&gt;N.B. mkpl will only work if the IDPROM checksum is invalid. Otherwise it will simply print a copyright notice after you type the Control-R. So, if you can't get mkpl to work, you can try making the IDPROM checksum invalid. You can invalidate the IDPROM checksum in an NVRAM with a valid IDPROM checksum by executing&lt;br /&gt;&lt;br /&gt;f idprom@ 1 xor f mkp &lt;br /&gt;&lt;br /&gt;(it seems that invalidating the version number will also do, e.g. 17 0 mkp). If you still can't get mkpl to work, then you should try using mkp as described in the above section. This note was added because on some machines, set-defaults will set the IDPROM checksum according to the other values in the IDPROM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10669466-9093388255797616418?l=blog.bhargavaz.us' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bhargavaz.us/feeds/9093388255797616418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10669466&amp;postID=9093388255797616418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/9093388255797616418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10669466/posts/default/9093388255797616418'/><link rel='alternate' type='text/html' href='http://blog.bhargavaz.us/2010/12/idprom-nvram-battery-replacement-page.html' title='IDPROM / NVRAM Battery Replacement Page'/><author><name>Chetan Bhargava</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Z7NMyeMoFAA/TRLp6fLVB3I/AAAAAAAADSI/GZkq3ENa7sM/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
