Friday, September 30, 2011

"Nesting" Illustrated

How It Was:
I wanted to illustrate what I mean by "nesting" the connectors. This is not my preferred method of handling this problem, but if anyone out there has spare 10mm connectors and doesn't want to do any soldering/desoldering, it's a way to make the SparkFun protoshield work with their original ethernet shield. It's not optimal, but it works.


Here's a "tall" view of the the ethernet shield and the protoshield stacked on top of it. (By the way, the ethernet "shield" is the lower blue circuit board and the protoshield is the upper, red circuit board.) I put one pair (one 8 pin and one 6 pin) of connectors on the tails of the protoshield connectors, (It requires two pairs to be complete - I wanted to open only one pack of the parts I received.) You can see that NOW the bottom front edge of the protoboard, right under the two pushbuttons, easily clears the big metal boxed ethernet connector - by almost double the height of the ethernet connector!

You could, if you had to, nest to further heights - the bus speeds are not so fast that doing so would cause problems. Stacking shields like this works, and is a good temporary measure when you're trying to build something and need to get the idea proved out rather than worry about the details. But if you are building something that needs to last, it needs better mechanical and electrical connection - this trick just won't do for the long term. The leads can oxidize, lose spring tension, or "creep" due to heat/cold cycles.

New Arduino-format Solutions

These "shields" and the concept of stacking them are components of the "Arduino" concept.

Here's a comparison photo.

The microcontroller on the left is what I used in school - the big green PC board. The little blue PC board on the right is an Arduino. With some differences, the two microcontrollers essentially do the same stuff. Oh, except you can't program the big on in a high level language with an IDE like the Arduino. It's either machine language or a crude cross-compiler.

It's an "open microcontroller platform" intended for use by people who are not computer engineers by education, but are creative and desire to make things using a microcontroller. (but this doesn't stop computer engineers from using the platform....) There are two halves: hardware and software, to the whole, developed by brilliant professors and engineers. Their web presence is http://www.arduino.cc.

The hardware half consists of the base CPU (Atmel 8-bit 16Mhz processor with 14 digital I/O's and 6 analog I/O's), the basic CPU shield, a USB interface for both programming and power (or an onboard power connector - the system will automatically choose between the two), an FTDI port (if you can't use the USB for some reason or have a target board for the CPU that has no other control and programming I/O), and this PCB shape that has the two 6-pin headers on one side and the two 8-pin headers on the other side. There is an off-center gap between the headers on one side intended to act as a "key" to allow only "Arduino-format" products to be plugged into an Arduino base microprocessor.

The software half is the programming environment and bootloader - all pre-programmed into the processor. You don't have to install it yourself, it comes in the EEPROM of the CPU, making it ready for immediate programming with the host-side companion software for Windows, Linux and Mac. The part that runs on the PC is called the "IDE" - Integrated Development Environment.

It makes for an amazing and complete environment right at power-up. I was able to do in 30 minutes with an Arduino what it took a week or so to do back when I was in college. All I could think when I first used an Arduino was "Why didn't they have stuff like this when I was in school?!?!?" The complete set of hardware and software gives you the ability to DO things quickly, easily and without having to worry about voltage levels or timings of signals on the I/O pins of the shields. It totally frees your mind to embrace and push the creative process.

Options for Arduino/Atmel enthusiasts are changing rapidly for the better. I've previously mentioned the Freetronics protoshield that is shorter and made to clear the ethernet connector's metal "box". This is a simple, well-designed product that will be an improvement for many of you out there who are trying to keep your protoshield projects simple and easy.

Another new product from Freetronics: an ethernet shield with built-in prototyping area AND POE.. Wow, nice. That would have let me do this project with only the Arduino Deumilanove (now the Arduino Uno) and this board.

And another beautiful way to slice it would have been to get the new Freetronics EtherTen and pair that with the protoshield short.

Warning: NEITHER of these options are going to fit in the low-cost plastic enclosure. The ethernet connector is in the "wrong place" for both of these. You would have to stick with the stock Arduino, the stock ethernet shield MAYBE the protoshield short.

DISCLAIMER: I don't know the Freetronics guys, although I understand they are good blokes and know quite a bit about the Arduino and open source hardware.

No comments:

Post a Comment