A week or so ago, Plons and I had an exchange about clone Arduino boards and the difficulties we had experienced.
Based on that discussion, I ordered a some knock-off Chinese made clone of the Arduino Nano.
The board seemed to work with the Arduno IDE. But the problems is that, I don't use 16.000MHz crystals because I'm a speed-demon and opt for 18.432MHz crystals and want the best reliability possible when communicating at the highest BAUD Rate possible. I have had reliability issues with a critical industrial project at 115.2K BAUD, when using a 16.000MHz crystal. Also, as I do not use the Arduino IDE and so, the first thing I usually do is disable the boot loader and change the BAUD to 115.2K. But for the heck of it, I did not change out the 16.000MHz crystal. Needless to say, it all went down-hill from there... No matter what I did, I could not communicate with TerraTerm - at any BAUD rate. In the end, I ended up bricking the ATMega328P-AU. on that spiffy new Adrino Nano!
So I thought... (what a mistake - thinking, that is!) Silly me!!!
I knew I had some ATMega328P controllers but they are the 9mm x 9mm foot-print and not the 7mm x 7mm variety. I did, however, have some ATMega128V controllers in 7mm x 7mm foot-print. And so I cut out the bricked controller, cleaned up the pads and soldered in the ATMega128V.. easy enough to do. The problem is, AVRStudio seems to no longer support the ATMega128V controller and, no matter which controller I selected in this family, I got a controller type check-sum error. Needless to say, there are some 18.432MHz crystals and some ATMega328P-AU controllers on order.
Well, When I ordered the Adrino Nano, I also ordered an Adafruit Arduino Nano Pro. This version sports the ATMega328P in the 28-pin DIP. I soldered up the headers and socket right quick and, while the Nano Pro also worked with the Arduino IDE, it was all about pain and anguish, when moving to 115.2K BAUD and using the original 16.000MHz crystal.
So I spent most of my day carefully trying different things. After all, I did not want that sinking feeling again You know, that feeling you get when you brick a controller? I literally tried every recommended BAUD constant that was recommended in the data sheet - I tested EVEARY BAUD rate in the datasheet and, at every BAUD rate listed, I got the same gibberish made up of a mix of Japanese and Western characters.
I studied the fuses and all seemed what it should be. In particular, the 8MHz external oscillator was selected and... the internal CLK/8 was NOT selected.
I compared the fuse bits between the Nano Pro and two Duemilanove's until my eyes became blurred. Everything was seemingly set up exactly the same.
Oh! Wait a minute... The same gibberish - at every BAUD rate???
STOP! STOP!! STOP!!!
Well, hours of hair pulling and making BAUD rate changes it the 'C' source code, I realized I wasn't seeing any changes in USART behavior or the gibberish across different BAUD rates.
OMG!!! I spent hours attempting to fix a problem that didn't really exist - except for yours truly! Come to find out... I was using a HEX file from the wrong frigging directory! Damn! I know better!!!
You talk about a major "Brain Fart!" This is the most EPIC Brain-Fart of 2014 !!!