Sunday, July 29, 2012

Building the ELM329 CAN Device - Part IV

As mentioned previously my very first build failed because of a solder bridge under the USB Chip. I hadn't spotted that right away and I'm pretty sure applying power to it etc, totally fried it.
One (hard to see) solder bridge
 In looking for a way to fix it I found a standalone USB->CP2102 board on Ebay. It was designed to plug straight into the usb port, and then had headers on the end breaking out the TX/RX lines.
Obviously I did not really need the USB plug etc, so I decided to chop it out and a) solder a longer USB Cable to it, in place of the USB plug, and b) solder some wires from the header to the proper connection points on my original PCB. Luckily most of those had exposed VIAs so it would be an easy transplant.

First though I had to get the existing CP2102 off.. since it has a heat-sink like ground connection underneath that was soldered as well it was a real pain to get off. In the end I actually didn't care anymore about trying to get it off with heat and just stuck a sharpe razor blade underneath and practically sawed (and broke) it off.

The CP2102 removed.. Inset shows the 'remains' :)
 After that the rest was simple. I just soldered some wires from the vias to the new USB Board and soldered on the original USB Cable and that was that. I did wrap it in some electrical tape so it wouldn't be touching anything when squeezing it into the enclosure!

Success! Or was it?...
I had meanwhile made the other boards and sent one out to a friend to help test. While the HI-Speed Can side worked, the SWCan side kept giving issues. When rewiring the Hi-Speed can side to act like a SW Can connector (tying the Can-Lo pin on the MCP2551 to GND) it seemed to work so there was STILL something wrong with the SWCAN side of things. In my previous testing I thought it was working, but I had forgotten that after you issue a Reset command to the ELM it reset the switch to it's default state, so it was actually showing more Hi-Speed Data. *DOH*

After staring at the board , schematic, datasheet etc a long time I finally found a stupid mistake I made relating to the SW-Can sub-section. A certain supply line was tied to the wrong point and instead of now receiving 12-16V it was getting a measly 1-3V. I instantly fixed the schematic and ordered some new PCBs, however looking at the existing PCBs I was fortunate in my design that all it would take to fix this issue was cutting 1 track and soldering 1 extra jumper wire. After converting one of the boxes this proved to be the fix it needed and everything worked as expected! (Except for some LEDs, but that was simply because I put them in backwards... stupid inconsistent specs between different colors!)

The fixed also worked on my 'Revision 1.0' boards, so I decided to finish up one of those as well.


You can see the Cut Track Between VBAT and CANH. Just need to add the jumper wire now

While the Red is a nice Color, the Purple PCBs are really cool. Now that I have a solid design I should probably order a large batch and start cranking out some of these for sale.. I can stick with the Purple (5x the cost for just the bare PCB), or do Green (yuck), Red (OK), Blue (OK) but also stuff like White, Yellow or Black!.. Decisions, Decisions...

If you were to buy one of these,  What's your preference? Would you even Care?

p.s. I know this may not seem like these posts are 'car-related' anymore, but I guarantee you nothing is further from the truth. With these boards now complete the 'real' fun now starts as I'm starting to write software not to only see what's going on on the network, but also explore reprogramming of certain devices on the GMLAN network :) Long road ahead though before we get there, but at least the start is there!