After working on the CAN bus reader on Arduino, I thought it would be interesting to work it up into a full Arduino shield for use in any CAN network. In particular, it could be a nice alternative to XBee and other wireless communication devices for sensor networks or other mid-range communication applications. I have been interested in doing an eagle project for a while, and this seemed like a good opportunity.
Before getting very far on the board, I went to check my parts to make sure they were still the best choices. It turns out that I missed an 8-pin DIP CAN transceiver chip in my initial search. I imagine that I mis-selected something on a Digikey search so that this chip was filtered out, or they happened to be out of stock when I was first looking and I selected “In-Stock”. I was excited to find the MCP2551, which is nearly pin-compatible with the MAX3058 I was using. I also found the MCP2515, which is a pin-compatible upgrade from the MCP2510. Neither of these chips were new; I just missed them in my initial search. I’m quickly learning that part selection is a skill to be learned along with everything else.
I spent quite a bit of time drawing the schematic and laying out the board. As this was my first time using Eagle other than following along with tutorials, a lot of the time was just getting a feel for how to use the software. After much tweaking and tuning, I had a board that I was feeling pretty good about.
I am interested in trying to etch my own circuit boards with toner transfer sometime, but I have already put a lot of effort into this project, and don’t really want to add that element to it. I’d also like to start with a much simpler board when trying that, as I think I’ll be more successful and less frustrated. I decided to just go all out and have my board fabbed!
After looking through different fab sites, I narrowed my choices down to either BatchPCB or Gold Phoenix. The others were either just too expensive for small runs, or I couldn’t find out enough about them to be confident working with them. The advantage of BatchPCB is that it is possible to do a very small number of boards and they personally look over your schematics and notify you of any glaring errors. I want at least 4-5 boards out of this run. From BatchPCB my boards are about $15 apiece, plus a $10 setup fee. From Gold Phoenix’s special prototype pricing, I could get about 15 boards for $90, or 25 boards for $100. This winds up being almost the same price for a lot more boards. There shouldn’t be a quality difference, because BatchPCB uses Gold Phoenix as their fab house. I had been very careful with my board design, and wanted more boards in a shorter time, so I went with Gold Pheonix.
I checked my Gerber files carefully using a couple viewers. Sparkfun recommends ViewPlot, which is an old Windows tool, but it ran under Wine with no trouble at all. I also found gerbv, which is a native Linux tool that I found much easier to use. When I thought everything looked good, I packed up my files and sent them to Gold Phoenix.
My experience with Gold Pheonix was better than I hoped for. I expected mediocre treatment since I was doing a very small run. They were incredibly quick to respond to both my quote request and payment. Payment was through PayPal, so there’s no worry about sending my credit card number overseas. I’ll wait for my boards to arrive to make my final judgment, but so far, I’m impressed!
I intend to make this into a kit once I get the boards and have everything tested. It will be pretty simple to assemble and fills a hole in the Arduino shield world. Once the shields come in, it shouldn’t be too long before I get it all put together!