Hi everyone. I plan to retrofit a 17-2022 mk8 Ford fiesta speedometer / instrument cluster . This cluster uses canbus for information and i plan on fitting this into a non canbus vehicle
95 Mk5 ford escort.
i have seen a video of someone using this cluster with simhub.
Some information about the vehicle - I am mid process of fitting a speeduino 0.4.3d engine management system that utilises the mega2560 with my own standalone harness.
I also have full licence to tuner studio.
i believe i might be able to signal information out vie canbus from the speeduino? https://wiki.speeduino.com/en/Canbus_Support2
Here is the information i need for the cluster via can bus -
speedometer (cable driven - plan to convert to digital signal)
RPM (output signal available from speeduino)
both signal flashers and hazard switch..
Dipped and main beam
Currently ordered -
5x Arduino NANO
5x Nano Sensor Shield Expansion Boards
5x Arduino UNO
5x MCP2515 CAN Bus Module
5x SN65HVD230 CAN bus transceiver
Given the speeduino already uses the information from the engine related sensors i was wondering if it would be possible to take the information and send it to the cluster. whilst also tapping in the flashers etc into an arduino?
or make a sensor receiver board to send information via can bus?
To my understanding the temp sensors etc cannot be connected directly to the arduino.
So im assuming i will need to make a circuit such as this - GM Coolant Sensor #12146312 Interface - #7 by case112
Please note im new to arduino and anything to do with coding. I'm not even sure where to get started. so any help would be greatly appreciated. Thank you.
Im already a member and actively posting on the forum. This is only partly to do with speeduino. Im also looking at other variables and possible methods to acheive my intended goals.
Here is some information that may help. The automotive electrical environment is one of the worst to work with. Valuable Resources for Automotive Electronics:
STMicroelectronics Application Note AN2689:
This application note provides guidelines on protecting automotive electronics from electrical hazards, focusing on design and component selection. Reading this will greatly enhance your understanding of automotive circuit protection. Read AN2689
Analog Devices: Automotive Electronics Design:
This article distills key insights into designing automotive electronics, offering practical advice for engineers. Read the article
Diodes Incorporated: Transient Voltage Suppression in Automotive:
Learn about techniques to protect automotive circuits from transient voltage, which is critical for ensuring reliable operation in harsh conditions. Read the article
AEC-100 Standards Webinar:
This webinar from Monolithic Power Systems provides a detailed overview of AEC standards, essential for understanding automotive electronics requirements. Watch the webinar
Understanding Automotive Electronics, An Engineering Perspective by William B. Ribbens:
This comprehensive book offers an in-depth look into automotive electronics from an engineering perspective, making it an invaluable resource. Access the book
Setting Up Arduinos with CAN using MCP2515 Modules
I suggest starting with a few Arduinos and setting them up for CAN communication using MCP2515 CAN modules and Cory Fowler's library: MCP_CAN_lib on GitHub. The send and receive examples work great, and you can combine them to send and receive within a single Arduino UNO. Note that the modules cannot acknowledge themselves; CAN communication requires at least two nodes for acknowledgment.
Important Tips for Setting Up Your CAN Bus:
Connect Grounds: Ensure that the ground from each Arduino UNO is connected to reduce noise.
Bus Termination: Properly terminate both physical ends of the CAN bus with 120 Ohm resistors. Failing to terminate both ends will cause communication issues. You can measure the resistance across the CAN leads using an ohmmeter; a resistance close to 120 Ohms indicates proper termination. Only two terminators are needed in total—none are required for nodes in the middle of the bus.
Crystal Configuration: MCP2515 modules may have different crystals; be sure to set the initialization code to match the specific crystal frequency of your module. Check the module’s specifications for guidance.
CAN Specification: The CAN protocol has two parts:
Part A (CAN 2.0A): Standard format with an 11-bit identifier.
Part B (CAN 2.0B): Extended format with a 29-bit identifier.Most devices will likely use CAN 2.0A. The MCP2515 module connects via SPI and is compatible with other SPI devices, but it’s best to start with just the CAN module first.
Minimum Two Nodes Required: A CAN bus needs at least two active nodes because the protocol requires an acknowledgment within each frame. The receiver must be active during transmission to provide this acknowledgment. If the message isn’t acknowledged, the transmitter will register an error and increment its internal error counter. Once the error count reaches its limit, the transmitter shuts down, a process managed by the CAN controller transparently.
These resources should provide a strong foundation for anyone involved in automotive electronics design. If you need further help or more resources, feel free to ask!