canUSB version 0.2

I have finally populated the canUSB boards, and they are working very well.


There is an issue with the SPI clock pin. It was suppose to correct in this board version, however I must have missed it. A small piece of blue wire gets these boards working.


The url on the board doesn’t work

Tried to make the Board URL to work, but WordPress had difficulty with the “/” character.






I am very happy switching the USB connector to a type B, from the Mini USB connector. The Mini USB connector was very difficult for me to solder with an iron.

Rigol DS1102E

Above is a screenshot of the can bus in action. The 11 bit identifier is 771, and there are zero data bytes. The messages are sent and received successfully.

USBtin (new boards in)

There is a new version of the the USBtin (USBcan) board. I have not populated it yet. I added another decoupling capacitor to  to stabilize the MCP2515, I correct the SPI clock line, and switched the USB connector from micro B to  standard B.

CAD of the top of the board
Image of the top of the board. (not populated)


CAD of the bottom of the board.
Image of the bottom of the board. (not populated)







I look forward seeing if I fixed the issues with the first version. I will not know if I fixed all the old issues until the board is populated and tested.




USBtin (successful on the breadboard)

I have been working on replicating a project by Thomas Fischl. The end goals is to send and receive CAN messages on on a computer. The PCB I made had to many errors to easily debug.  It was easier to build the the circuit on a breadboard, and debug where I had access to all the pins.

IMG_20150418_152404There is a USB cable on the top left, and the Microchip in-circuit-program header on the center left. The pic18f14k50 is the left most chip. The MCP2515 is in the center and the MCP2551 is on the right. I had the USB data wires (D+ and D-) mixed up, and it took me a very long time to identify this. When I was stuck on this I Emailed the creator of the USBtin. Thomas Fischl was responded immediately and was very helpful. It was good to know someone was willing to help me out, and I am very grateful for all he did.

Testing USBtin on MPPT

To prove that the system works I had to send and receive CAN messages from a device I knew was good. We had some maximum power point trackers (MPPT) that used can around in the garage. When I send a message an id of 0x711, and no data, the message 0x771 when 6 bytes of data is returned.

Both messages (zoomed out)
Both messages (zoomed out)

The Scope we have(dpo3054) is very cool. It was donated to the team by tektronix, and it truly is an awesome piece of equipment. It has the built in ability to decode can messages.

Request message (0x711) with no data


Above is one of the first messages I sent from my breadboard USBtin. And below is the MPPT answering the request.

Response message (0x771) with 7 bytes of data.


Below is quick snap of my bench setup for testing.



The MPPT uses a MCP 2551, and a MCP 2510 (instead of the newer 2515), and the processors is a PIC16F877. These chips are pretty similar to what the USBtin uses. The code for the MPPT can be found on our github. It was written in assembly, so it takes time to understand.

Fluke Trip

The solar car team won the fluke connect, and we got to visit the fluke head quarters just outside of Seattle (Everett Washington). We won a great deal of fluke tools for our team. Before we won this prize we were mostly using our personal tools to work on the solar car.

Our loot!



The trip to Seattle was great.  Fluke paid for our airfare, lodging, rental car, and our food. We got to talk to people who made the tools we use. I can’t thank the people at fluke enough for their hospitality, and  generosity.

I am front and center. (Mr. Morgan was not really holding the camera. The photographer did a great job setting up this shot.)
The University of Kentucky Solar Car team at Fluke Headquarters.

While in Seattle we also toured the Boeing plant, saw the space needle, and rode the monorail. It was my first trip to Seattle, and it was a awesome trip.

PCB design for Can Board

I enjoy PCB (printed circuit boards) layout. Below is a board I made for use on the solar car. It is a clone of Thomas Fischl’s work. Here is link to his project.

First PCB version 1

First PCB version 1

Similar products can be bought for significance more. Our team did not understand why can to usb devices where so expensive.


There are some pretty big errors on this board. I might specify what they are later (Now I am still embarrassed about them:).

It is the fist time we used a PIC18F14K50 processor. Most of our boards use PIC18F4480. The programmer is different for the PIC18k’s. It might take a bit longer then we thought to get this board up and running.