Michael Silverman documenting innovation at work

3Jul/101

Yahoo! Groups – An Outstanding Resource

yahoogroups

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

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

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

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

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

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

 Here's a rough idea of the C code:

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

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

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

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

 --
 David Forbes, Tucson, AZ"

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

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

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

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

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