Electron CAN bus issue

Hi Guys

I hit the problem when I try to use the CAN bus with Particle Electron.

I follow the official document of the CAN bus with Waveshare SN65HVD230 CAN Board for CAN tranciever.
I also use kvaser CAN-to-USB to monitor the CAN bus.
However I never received or able to transmit any messages through this configuration.
Even I were using oscilloscope, I did not get anything, there is nothing out from the Electron’s CAN_TX, CAN_RX.

I also read some of the related topic in this forum.
As far as I know, the CAN library should be ready long time ago.

Currently, I had updated my System firmware to 0.6.0.
Is there any known issue for the CAN bus library?
I also notice that there are some solution related to Carloop.

Many thanks


I recommend you check out www.carloop.io more closely.

It is a Particle-based product that interfaces with cars through the CANbus.
Some of the carloop people also work for Particle.
All the carloop hardware and code are open-source and available on GitHub.

What that means is the CAN interface was built into the Particle devices a long time ago as you stated, and there are no known issues. It seems to be working quite well. Carloop does use a different CAN transceiver than what you are using, but I would first look at the code. See how Carloop did it and base your code on theirs.

Let us know here (or at carloop) if you need further help!


Thanks for your kindly advise.

After debug process, I found the CAN transceiver is malfunction.

When it is malfunction and connected to particle, I will not get any signal even I use Oscilloscope.
(Very similar to short circuit to ground)

Here is my debug process:

  1. Connect all of the circuit and probe the CAN_Tx & CAN_Rx from particle.
    Result: No signal.

  2. Probe the CAN_H & CAN_L output from Transceiver.
    Result: No signal.

  3. Disconnect CAN transceiver circuit from the particle and probe the CAN_Tx & CAN_Rx from particle.
    Result: Both have signal.

After replace the malfunction CAN transceiver, I can see the message from Kvaser USN to CAN module.

Many thanks guys.

1 Like

@Andrew_Chen, Glad you figured it out. I assume now the failed transceiver was holding the CAN_TX & CAN_RX lines either high or low, resulting in no signal. Definitely not my first guess to the problem; good work on figuring it out and solving it!

hint: you can mark this thread as solved.