Using an arduino as the signal/data-source towards the realdash-app - links to get started

Hello,

I’m a somehow experienced microcontroller- and PC-programmer which has written a lot of code for controlling industrial machines including data-exchange on varios standards like PMON, MES, Sicalis etc.
I have quite some experience in programming Delphi / Pascal, C++ and some experience in programming with python.
I have a basic knowledge about html and xml.

I have looked around the realdash website for half an hour trying to find a REAL getting started tutorial
The mainpages claims
image

Yes might be. But you seem to keep it a secret. I was unable to find really helpful information on how to use an arduino to create realdash-compatible signals/data.

In my project I DON’T have an OBD2 interface and NO can-bus. This means the arduino will act as the raw-signal/data-provider towards realdash.

I would be very thankful if somebody could post links that provides this kind of information.

best regards Stefan

P.M.
I want to emphasize:
I did look through the main links and the basic explanations that are given on the realdash-website. Maybe my picture of what realdash is and how it works is wrong.
If this is the case the creators of the website should take my comment as a feedback that much more introductional information is needed to make new users feel welcomed.

No need to be cheeky on your question, we do not keep secrets.

Lets start by what is it you are trying to achieve with RealDash? If you want to send data from your custom Arduino device, its not really that difficult.

RealDash CAN is an open protocol that allows you to communicate between your device and RealDash. It is named ‘CAN’ as its designed to easily transmit CAN data from device to RealDash, but it can as well be used without actual CAN bus. I recommend that you take that as an opportunity to learn what CAN actually is and how its data is interpreted.

Right out of the box the example will start sending RealDash CAN frames from Arduino to RealDash. Tweak the code, change the values and see them change in RealDash to get familiar with it.

If you feel like RealDash CAN is too complicated for you, there are many other (one way) protocols that RealDash supports. You can try TunerStudio compatible connection (Megasquirt, rusEFI, Speeduino), AIM 4-byte stream as EcuMaster connection, and many more. To my opinion, they are not any easier to get started, but at least you have options.

1 Like

Hello. I want to ask for your help with a doubt… I will use realdash with arduino and I have an old car without OBD or Can bus. How realdash understands for example the signal of battery from arduino? Because I Can´t put 12v on the arduino ports, I need to convert the 12v to 5v with a device. How realdash understands if my battery is with 11v or 12v or 14v?
Thanks!

Another question… About Speed. I’m going to use my VSS speed sensor on the arduino. This sensor sends pulses as information. Do I need to convert these pulses to km/h for Realdash to understand?

RealDash is a data display app. So basically it just shows the data as it is sent to it over serial/Bluetooth/IP. While you can apply math formula into incoming data, there is no other way that RealDash attempts to ‘understand’ the incoming data.

True, you will need a 12V power handling solution to use Arduino in automotive. That needs to include some way to tell the current voltage to your Arduino that will interpret the data and send the actual voltage to RealDash. With VR/Hall sensors, your Arduino device calculates the pulses and you can send the pulses per second to RealDash, which can use the conversion math to convert the pulses to speed.

what do you mean by writing that?
A battery has no “signal”
Do you mean measuring the voltage of your 12V-battery?
So what exact things shall your realdash-display show?
If you are not familiar with electronics you should at least describe what the display shall show
examples not related to you just explaining the principle:
coolant-temperature in °C
how much fuel is left in the tank in Liter
etc.

Converting 12V to 5V requires a small electronic which is called a voltage-divider
If you are not familiar with electronics you should search for somebody living near to you that has knowledge about electronics.

best regards Stefan

Hello. Yes, I want Realdash to show my battery voltage, coolant temperature in °C, and how much fuel is left in the tank in Liter. My question is, with Arduino I´m just reading a signal from 5v ports, do I need to convert this signal to Liters, temperature, etc. How Realdash understands for example that a signal from digital port 2 is 2 liters or 30°C if I just receive a signal with voltage?

Depending on the nature of each signal

  • voltage and how much,
    or
  • current and how much,
    or
    resistance and how much
    very different interface electronic is needed to “feed-in” the measuring-signal into an arduino.

Your imagination of how this works seems to be tooo simple.
It is not as simple as connect your smartphone to a computer and pictures on the smartphone were copied almost automatically.

It is more and you should either

  • have somebody living near you who has knowledge about electronics or you have to learn the basics of electronics and programming.

What sensor type does measure the coolant temperature?
is it a PT100, or a PT1000?, or a NTC? if yes which type? or a PTC which type?
directly connected to the analog instrument?
Or is there some interface-electronic inbetween?
If yes what interfacetype is it? 4-20 mA? or 0-10V, PWM? PPT?

I think you now do understand why more modern cars do have a standardised interface which in cars is the OBD2-interface.

A lot of detail questions must be answered befor you can even choose the additional electronic parts that are needed to make it work.
It is all doable but it requires knowledge.
Knowledge about electronics and knowledge about programming.

I guess you should re-consider buying ready to use parts instead of developing them yourself.
best regards Stefan

I just want to know how realdash interprets the information that comes from the arduino, if I need to convert the signal I’m getting from my car or if it interprets the signal directly, without conversions. I’m going to use everything I already have from the car, I simply want to remove my current panel that already shows this information like RPM, speed, tank level etc to put realdash with the arduino, an lcd screen and the Khadas vm1 boards that will be installed realdash and will communicate with arduino. My car is old, does not have Can bus or OBD2.

Main thing is; By default RealDash does not interpret the data in any way, it just shows what it receives. It is possible to add math calculations to the incoming data with XML file, but that’s pretty much it.

You seem to expect that it works this way:
remove “current panel” (whatever this is)
connect arduino with the wires that were formely connected to your “current panel”
connect the arduino, the new LCD and the “Khadas vm1 boards” (whatever this is)
supply arduino, LCD and Khadas vm1-boards with power
and it will work. NO it will not work.

Again depedending on

what kind of signal

the

  • rpm-“wire”
  • speed-“wire”
  • tank-level-“wire”
  • etc.
    are delivering

different interface-electronic

is needed to make the arduino “understand” the signals

This requires a

customised to your situation written arduino-code

which then can be written in a way that realdash can use the data for straight forward displaying this data. All eventual conversions will be made inside the arduino-code

As an easy to understand picture
You seem to expect your rpm-sensor, speed-sensor. tank-level-sensor all speak english
the arduino speaks english, realdash speaks english

rpm-sensor-----english---------arduino---------english------realdash

the the real situation is

rpm-sensor-----spain----translator-----arduino---------english-realdash-dialect------realdash

speed-sensor-----italian—translator-------arduino---------english-realdash-dialect------realdash

tank-level-sensor-----arabic----translator-------arduino---------english-realdash-dialect------realdash

and it is even more unclear. You haven’t even specified what languages the sensors speak!
The real situation is

rpm-sensor-----unknown language—unable to specify what kind of translator------arduino---------english-realdash-dialect------realdash

speed-sensor-----unknown language—unable to specify what kind of translator------arduino---------english-realdash-dialect------realdash

tank-level-sensor-----unknown language—unable to specify what kind of translator------arduino---------english-realdash-dialect------realdash

best regards Stefan

1 Like

Man, you are a bit rough on that poor guy, but that is a proper reality check.

1 Like

Thanks! Best regards

1 Like

im just looking at writing some canbus messages from an arduino to realdash and not understanding the code to send Canbus messages, specificly the 4 byte identifier ? this does not appear to be a normal canbus frame structure.
I am also after an example XML file for the Nissan Leaf.

The 4 byte start identifier is required for two reasons.

  1. It allows connection to ‘catch-up’ on ongoing data stream and find the starting point of the frames.
  2. It identifies the frame type and possible extensions, like text string extension.
1 Like