Jaguar Forums - Jaguar Enthusiasts Forum

Jaguar Forums - Jaguar Enthusiasts Forum (https://www.jaguarforums.com/forum/)
-   XK / XKR ( X150 ) (https://www.jaguarforums.com/forum/xk-xkr-x150-33/)
-   -   OBD2 display in ashtray location (https://www.jaguarforums.com/forum/xk-xkr-x150-33/obd2-display-ashtray-location-233044/)

Cabrio Bob 05-24-2020 01:25 PM

OBD2 display in ashtray location
 
Hi all,

Starting (well - already started) a new project,
since there is no coolant temperature indication somewhere, I'm going to install a display in the dash center vent, sacrificing the left outlet.
Principle is as follows: Arduino Nano retrieves data from a OBD2 Bluetooth dongle by means of a HC-05 Bluetooth module, and sends data to the display.
The display screen is "transflective", which means it is still visible in bright sunlight.

3 extra parts will be incorporated:
- a button to change display information,
- a photo resistor in order to automatically change the screen brightness
- a switch to turn off the device so you can pair to the OBD2 dongle with my phone

Probable an additional switch and USB port will be added so firmware can be updated.

The dash center vent part will be 3D printed (SLS nylon), primed, sanded and SEM texture painted.

a provisional pdf (clickable) scheme can be seen: google drive link

If others are interested in this, I'll explain needed things more in depth.

Some pictures:

a "timeline" design stage picture of the center vent part 3D print,
left is the start right is where I am now at.

https://i.ibb.co/frDxJjp/xkr-bezel-01a.png


zoomed in a little, with annotations

https://i.ibb.co/4NCz2BJ/xkr-bezel-01.png


Backside of the center vent part 3D print, with the arduino nano, HC-05 bluetooth module and the display module

https://i.ibb.co/vHgwhR9/xkr-bezel-02.png


Of course right-hand drivers may like this, so a mirrored 3D print design will be available (or if you want your passenger looking at it).
At the most right, a design for more switches, replacing the round "air direction dial" (will contain the extra switch and USB breakout socket).

https://i.ibb.co/hRG1gNj/xkr-bezel-03.png


Some schematics (the same as the previous mentioned clickable pdf)

https://i.ibb.co/d6q54Mn/xkr-scheme.png


a first quick print on my 3D printer with PLA, just to test if it fits right.
There's some work to do, on the left side and right top it doesn't fit well. and the screen I will move a little to the front.
Remember, the final design will be 3rd party printed with SLS nylon, which results in a much better quality and will be weather-proof.
See this picture, where I have a 7" display bezel printed with SLS nylon and painted (the middle part), for my former car.

https://i.ibb.co/PjKNPP1/XKR-3-D-print-01.jpg


a youtube video is made when testing the display for the 1st time.
A light intensity-value between 0 and 1023 is displayed.
Watch the video on youtube, there is more info in the description.


Cee Jay 05-24-2020 01:29 PM

That's a kind of cool way to do that. Any way to have the display flanked by vent holes anyway? There seems to be a lot of room to have air around the display panel.
I'd not want to give up a vent, I like air blowing on me.

Cabrio Bob 05-24-2020 01:30 PM

Forgot to mention,
I got me a spare center dash vent part off ebay

EDIT:
of course, air flow needs to be blocked from behind ....

Cabrio Bob 05-24-2020 01:32 PM


Originally Posted by Cee Jay (Post 2237903)
That's a kind of cool way to do that. Any way to have the display flanked by vent holes anyway? There seems to be a lot of room to have air around the display panel.
I'd not want to give up a vent, I like air blowing on me.

Didn't think of that yet, could be possible if I move the switches e.a. somewhere else.
On the other hand, I would not like to heat up the electronics behind the bezel.

pwpacp 05-25-2020 07:24 AM


Originally Posted by Cabrio Bob (Post 2237905)
Didn't think of that yet, could be possible if I move the switches e.a. somewhere else.
On the other hand, I would not like to heat up the electronics behind the bezel.

What if the circuit board was also somewhere else so only the display would be there? Perhaps an aluminum heat shield behind it too.

Cabrio Bob 05-26-2020 01:14 PM

Updated the scheme, turns out an Arduino can only be powered with 5V connected to the 5V pin, not by the Vin pin ...
By the way ... maybe I switch to designing a display for in the ashtray location.

scheme pdf: google drive link

https://i.ibb.co/Ld86Zzj/xkr-scheme.png

TexasTraveler 05-26-2020 01:42 PM

Something in the ashtray area would peak my interest, I have no desire to replace my air vents at the top of the dash... Great work, so far...

Sean W 05-26-2020 03:43 PM

Agreed. Nice work, but the look/ location are not for me. Digging the skill though!

KrazyIvanUSA 05-26-2020 08:35 PM

That is a sweet setup. Very nice. You could probably sell these skills to car guys who want some custom electronic readouts.

Cabrio Bob 06-06-2020 08:07 AM

changed to ashtray design
 
Ok so I decided to change it to the ashtray location. Ashtray is totally redesigned in 3D, and already offered to a 3D company through www.treatstock.co.uk having it printed with black SLS nylon.
Below some pics of the design. all 4 parts will snap in. The biggest challenge will be writing some suitable arduino code.
p.s. last Thursday I picked up my car from having the LPG equipment installed, later more about that in my other thread (I have to take the pictures when it stops raining)
p.s.2 how do I change the the thread title to "OBD2 display in ashtray location" ?

Pictures:

https://i.ibb.co/DDRX6th/ashtray-3-D-parts.jpg

Electrical scheme (pdf) again changed, 1 switch is not needed any more.

https://i.ibb.co/02CgXPc/XKR-display-scheme-1-2b.png

GGG 06-06-2020 09:15 AM


Originally Posted by Cabrio Bob (Post 2244133)
...... how do I change the the thread title to "OBD2 display in ashtray location" ? .....

You can't, I can ............ DONE. :icon_lol:

Graham

MarkyUK 06-11-2020 06:10 AM

I notice you are in the Netherlands Cabrio, hopefully it's stopped raining now, so two questions

1) Do you have an idea as to cost of this ashtray model?
2) Where's your LPG write-up/pics, hopefully you didn't have to drill the gorgeous bodywork?

Cabrio Bob 06-11-2020 09:43 AM


Originally Posted by MarkyUK (Post 2246296)
1) Do you have an idea as to cost of this ashtray model?
2) Where's your LPG write-up/pics, hopefully you didn't have to drill the gorgeous bodywork?

Hello Marky,
The LPG thread is at the bottom of:
https://www.jaguarforums.com/forum/x...rtible-232026/
For your 2014 XK there is no LPG installation available unfortunately (yet) due to the direct injection...
but there is a company in the UK that has converted a 4.2 XKR:
http://www.go-lpg.co.uk/XKRV8_S2.html

Ashtray costs ex shipping costs (assuming you're getting stuff from Aliexpress):
- Arduino Nano (clone) £ 2.50
- HC-05 bluetooth £ 3.00
- slide switch (10x) £ 0.50
- power converter £1.00
- Transflective Display £2.50
- momentary button (10x) £1.50
- photo resistor (20x) £0.75
- resistor set £3.00
The ashtray 3D print (SLS nylon) I ordered for $38.54 (converted £30.41) at www.3dprint-lab.nl through www.treatstock.com. if you use a local print shop, the price could be different.
That's a total of £45.16. Maybe you need an OBD2 bluetooth scanner, some wiring, an "add-a-fuse", some paint to finish the ashtray 3D print, etc.
The previously mentioned PDF contains links to my purchased items.

Cabrio Bob 06-11-2020 10:05 AM

Forgot to mention, you also need some soldering skills.
The power I get from the cigar lighter (which is already gone - replaced by the LPG switch button)
When the 3D print is delivered, I'm going check if it fits, and upload the STL's to share.

RedRider48 06-12-2020 03:28 PM

Thanks for sharing the details. I appreciate your tenacious work in developing this idea. I too like the new location. I have a Android OBD transmitter and have been using my old Android cell. I guess I can share the CIGAR lighter port with my charging cable for the cell? Looking forward to seeing your project complete.
Shall I start ordering the parts available now and await the finished case?

RedRider48 06-12-2020 04:05 PM

Hope this helps...I created a Pic list, thanks to "Cabrio Bob". It doesn't include the case.

https://cimg9.ibsrv.net/gimg/www.jag...567113f6b1.png

Cabrio Bob 06-13-2020 02:12 AM

RedRider,
Ordering part sure you can do.
Some comments:
The HC-05 has to be paired (look for AT commands) to the bluetooth OBD2 dongle once, and I read some stories on the net that this is not successful.
I may change my design using an "Bluno Nano" (preferably header-less), and I'm not sure if this will pair to the OBD2 dongle. If this works, it will make the HC-05 obsolete.
There is also a Nano 33 BLE, but runs of 3.3V in stead of 5V. One other variant is the Nano V3.0 with NRF24l01 Bluetooth 4.0 NANO-V3.0 which seems to be 5V.
The "add a fuse" is only needed if you draw power from a fuse box. I'm grabbing power from underneath the cigar lighter.
I may change the ashtray 3D design by using the 2 plastic pins on the bottom as power inlet, exchanging the plastic pins with metal, and making them connect when the ashtray slides in.
Writing the Arduino code, I'm going to use the SSD1283A library. unfortunately this is not equipped yet with custom font, which I will try to embed.

MarkyUK 06-13-2020 06:56 AM

Sadly my soldering skills aren't too great, so regrettably will give it a miss. :(

If however anyone were to make these with a 100%+ mark-up plus shipping, then I'd be happy to pay in advance (pre production) via PayPal :)

Gotta admire your attention to detail Bob, and thank you for your pioneering work, as I think t takes an XK owner to appreciate what others would want in their cars.

RedRider48 06-13-2020 09:27 AM


Originally Posted by Cabrio Bob (Post 2247167)
RedRider,
Ordering part sure you can do.
Some comments:
The HC-05 has to be paired (look for AT commands) to the bluetooth OBD2 dongle once, and I read some stories on the net that this is not successful.
I may change my design using an "Bluno Nano" (preferably header-less), and I'm not sure if this will pair to the OBD2 dongle. If this works, it will make the HC-05 obsolete.
There is also a Nano 33 BLE, but runs of 3.3V in stead of 5V. One other variant is the Nano V3.0 with NRF24l01 Bluetooth 4.0 NANO-V3.0 which seems to be 5V.
The "add a fuse" is only needed if you draw power from a fuse box. I'm grabbing power from underneath the cigar lighter.
I may change the ashtray 3D design by using the 2 plastic pins on the bottom as power inlet, exchanging the plastic pins with metal, and making them connect when the ashtray slides in.
Writing the Arduino code, I'm going to use the SSD1283A library. unfortunately this is not equipped yet with custom font, which I will try to embed.

Ok Mate, I'll "hang loose" until you get this sorted to perfection. I like the idea of the "sliding" ashtray possibility. I just added the fuse relay as a potential component, the idea was to align pic reference with your list. As I mentioned, I already have an Android OBD reader, actually a couple, as I was seeking to use my IOS device in place of my old Android cell for the readout.
BTW, what gauge wiring id used?

Reverend Sam 06-13-2020 09:43 AM

https://cimg7.ibsrv.net/gimg/www.jag...fe48c3a8fd.jpg

Cabrio Bob 06-13-2020 09:52 AM


Originally Posted by MarkyUK (Post 2247241)
Sadly my soldering skills aren't too great, so regrettably will give it a miss. :(

You'll need less soldering if you take an Arduino nano with headers, then it just is plugging in some headers (using the correct length cables with headers). the other parts needs soldering tho.
But I solder as much as possible, makes a better connection. My soldering skills are also not that great, but doing it a lot improve things :-)

Cabrio Bob 06-13-2020 10:27 AM


Originally Posted by RedRider48 (Post 2247286)
Ok Mate, I'll "hang loose" until you get this sorted to perfection. I like the idea of the "sliding" ashtray possibility. I just added the fuse relay as a potential component, the idea was to align pic reference with your list. As I mentioned, I already have an Android OBD reader, actually a couple, as I was seeking to use my IOS device in place of my old Android cell for the readout.
BTW, what gauge wiring id used?

Wiring will be 26~22 gauge I guess. the whole setup will not use more than ~120mA
Currently I'm testing without the HC-05 bluetooth module, and I'm drawing about 80mA at full brightness of the screen. An HC-05 draws about 40mA.

Today I managed to embed custom fonts into the arduino code, I'm going to use the "DS-digital" font, had to convert the TTF to a .BDF file using "Fony",
and convert that to a .c file using "bdfconv", and add some extra code to it.

p.s. I noticed that when using an Arduino Nano clone, some arduino root code needs some adjustments, and can differ from clone to clone.


https://cimg5.ibsrv.net/gimg/www.jag...f7e9a58b17.jpg
DS-digital font working

Cabrio Bob 06-13-2020 10:33 AM


Originally Posted by Reverend Sam (Post 2247289)



I'm not selling anything, just writing up things here so you can replicate it.



https://eternitymarketing.com/assets...y.f3f58320.jpg

barnsie 06-15-2020 03:31 AM

Hate it in the air vent - love it in the ashtray! Way beyond my skill set to make something like this, but I am full of admiration for those who can.

I didn't like it in the vent because a) it spoils the symmetry of the dual vent design (and I am into symmetry) and b) I like having cool air blowing on to me. Mostly a) though.

I love it in the ashtray because a) it looks more 'integrated' and b) the ashtray is redundant anyway (for me).

Really cool idea, Cabrio Bob. Please keep us updated as you go along.

Cabrio Bob 06-15-2020 12:59 PM

Barnsie thanx for the heads-up.

Yesterday I was fiddling with the HC-05, connecting it to the Arduino.
Trying to throw some AT commands at it, but it didn't respond. After a few times disconnecting and re-connecting the power supply,
the arduino started blinking some leds in a weird way, and died. So now I have a probably dead HC-05 and arduino.
The arduino I may be able to reincarnate by uploading a fresh bootloader.

So I ordered some parts locally (2x "robotdyn nano v3" without and with headers, some Dupont cables, a new HC-05), and something new to me:
a "Wemos LOLIN32 - ESP32". That's an arduino-like microprocessor with some overkill specs and features, and built-in bluetooth and WiFi.

I also ordered a "Buzzer" which may be used as a button-press-confirmation-beep.
It's always nice to know by a sound that you pressed a button, but you already knew because you pressed the button .... :icon_blah:

Cabrio Bob 06-17-2020 01:29 PM

HC-05 module pairing
 
An update,
above mentioned parts are delivered, and did some tests with the new HC-05 and new Arduino Nano (Robotdyn variant)
At first I wasn't able to "speak" to the HC-05 through the arduino, but after I disconnected everything from the arduino except the HC-05,
it started working.

I managed to pair the HC-05 to my OBD2 dongle, I did this offline, without the OBD2 connected to my car.
I provided 12V power to the OBD2 through pins 4 (ground) and 16 (+12V) using a 12V wall adapter.
Uploaded the arduino sketch from this instructable to the arduino, connected the "key" pin of the HC-05 to pin 9 of the arduino,
sent AT commands to the arduino / HC-05 from this instructable, with an extra AT command to check the correct OBD2 device name:
AT+RNAME?DC0D,30,488D60
where DC:0D:30:48:8D:60 is the MAC address of my OBD2 dongle.

This resulted in a successful pairing between the HC-05 and OBD2, see video below.
The new HC-05 differs from the old one, this one can cope with 5V on the RXD line, meaning the voltage divider is obsolete. (1K and 2.2K resistors in the PDF scheme)
the old HC-05 has a description on it "LEVEL 3.3V", the new HC-05 has a description on it: "LEVEL 3.3V-6V".
I haven't tried to see what the HC-05 does when the display and photo resistor is connected again to the arduino. Also I didn't test the Wemos Lolin32 yet.

Video:
first the OBD2 is connected to power - red LED lights up,
then the Arduino is powered, OBD2 blue LED starts blinking and HC-05 LE starts double-blinking (hardly visible - blocked by a wire)


p.s. the 3D print is still not delivered. takes longer than usual .....

RedRider48 06-17-2020 02:00 PM

Thanks for the update. I'm thinking I'm one of a number of folks waiting for the finished product and it's updated list of parts.
Nice work!

Cabrio Bob 06-21-2020 06:52 AM

some progress
 
Still working on it,
today I did a "real car test", trying to get the RPM output of the OBD2 displayed on the screen.
At first this was troublesome, but after changing the communication baud rate in the arduino code from 115200 to 38400 it started working!
The video below shows first an attempt to connect to the OBD2 dongle, then a "connection success" (with a wrongly coded text offset),
and then it starts displaying the RPM output. The arduino code is far from optimal at this point, the 4th digit is wrongly refreshed due to a
wrongly coded black rectangle (line 98 in the pastebin code) and the screen refresh rate is currently horrible.

I also found out that my car is already "made ready" for an AUX input by one of the previous owners,
but I can't find any RCA's anywhere in the car, but this brought me to
the idea of a new project to come (later): creating an arduino based MP3 player (below see someone else's video).
Or just buy a cheap MP3 player off aliexpress ......




example MP3 player using an arduino:


Cabrio Bob 06-28-2020 09:14 AM

an update
 
It's time for an update,
Did a full test in the car with the setup, all is working.
Currently it displays 6 items: coolant temperature, speed, voltage, time since engine start, outside temperature, intake temperature.

There are 2 issues:
The voltage displays without a decimal, I will have to sort that out,
when the car is not started (or shut down), an error appears, from which it does not recover after starting the car, has to be sorted too.

The arduino code is now quite large, it occupies 96% of the arduino nano capacity.,
so more than 6 display items will not be possible.

A custom logo has been made to display in the screen after successful initialization.
The arduino code has been prepared for imperial users, by just uncomment some lines and change some text this can be achieved.

Current arduino code:
https://pastebin.com/qN0jd1Zh

The youtube video:


The 3D print has finally arrived.
The hole for the button was slightly too large, so this is corrected in the design (I'll glue it in and not re-print it)
A bar where the lid snaps in is very thin and fragile, I changed this in the design, made it 0.3mm thicker.
Photo's below: in real life it looks much better than the pictures.
Upcoming next is priming, sanding and painting the 3D print, do some soldering and finalize the code, white a tutorial and we're finished.
Maybe later I will "hydrodip" the display lid if I can find a similar wood pattern.

3D print picture, with the fragile bar on the left
https://i.ibb.co/XSgjcR4/xkr-ashtray-01.jpg


Components inserted
https://i.ibb.co/jhKCzjR/xkr-ashtray-02.jpg

Test-install in the car: it fits nicely.
https://i.ibb.co/bKpmJHR/xkr-ashtray-03.jpg


https://i.ibb.co/RyFFyXr/xkr-ashtray-04.jpg

Closing is not a problem
https://i.ibb.co/yy99Hk9/xkr-ashtray-05.jpg

Arduino code - Arduino nano is almost full!
https://i.ibb.co/0BzfXj4/arduino-full.png



I've done hydrodipping before:



barnsie 06-28-2020 09:53 AM

^^^^^

Amazing! Love it! The OBD2 display is just amazing - terrific job!

I didn't even know it was possible to DIY hydropdipping but you make it look real easy. I think that merits a thread all to itself as the possibilities are endless on our Jaguars.

MarkyUK 06-28-2020 11:21 AM

Defo agree Barnsie, if that's CB doing the job then WELL DONE THAT MAN!!

I want to hydro dip my engine cover, side gills, bonnet & bonnet louvres, natch for the engine cover I'll need a huge water container, the rest can be done in a bucket :D

barnsie 06-28-2020 11:28 AM


Originally Posted by MarkyUK (Post 2254265)
Defo agree Barnsie, if that's CB doing the job then WELL DONE THAT MAN!!

I want to hydro dip my engine cover, side gills, bonnet & bonnet louvres, natch for the engine cover I'll need a huge water container, the rest can be done in a bucket :D

Cabrio Bob makes it look easy, but my DIY skills are, shall we say, 'limited' ;) I;d be prepared to give that a try though. Admire your bravery in going for the engine cover!! I'd be prepared to try my bonnet louvres and side gills though.

barnsie 06-28-2020 11:31 AM

BTW, I love the way Cabrio Bob has stamped a Jaguar logo on the underneath of his centre console display component, where it will never be seen, once installed. Fabulous attention to detail!

Cabrio Bob 06-29-2020 10:36 AM

3D files available
 
I made the 3D files available for download through this link.
Press the download button and unzip the file.
The 3D STL files are ready for 3D printing, and if you want to view them you can use software:

- Papa’s Best STL Viewer (free, windows x32/x64, my favorite)
- GLC player (free, Windows, Mac)
- Fast STL Viewer (free, Android)
- 3D Model Viewer - AR View (free, iPhone)
- or select one appropriate program from here.

If you want to modify them, use something like meshmixer (also free, for Windows and Mac).

RedRider48 06-29-2020 04:23 PM

Hey cabriolet Bob,

Looking though the links and setup I don't see the "Jaguar.h" file that displays the startup Jag Logo?

Sean W 06-29-2020 04:52 PM

FYI, I made a request to add this thread to the DIY sticky.

RedRider48 06-29-2020 05:00 PM

Excellent Sean!

Cabrio Bob 06-29-2020 11:19 PM


Originally Posted by RedRider48 (Post 2254828)
Looking though the links and setup I don't see the "Jaguar.h" file that displays the startup Jag Logo?

Here (updated 7/1/2020) you can download the complete set of code files.
Included are the ELMDuino.cpp and ELMduino.h libraries, because these are modified in order to read out more data.
When "X150_OBD2_astray.ino" doesn't compile, you need to install other libraries such as:
SSD1283A,
U8g2_for_Adafruit_GFX,
Bounce2,
probably also Adafruit GFX and LCDWIKI.

Do not use the ELMduino libraries from the internet, these will break the arduino code.


https://cimg9.ibsrv.net/gimg/www.jag...5cb45b27b5.png

RedRider48 06-29-2020 11:30 PM

Hey Mate, thanks for the update. Hope you don't mind me picking your brain as I delve into this project deeper.

GGG 06-30-2020 09:38 AM

Thread added to XK/XKR - 'How To' / DIY Repair & Maintenance sticky under UPGRADES.

Graham


All times are GMT -5. The time now is 07:37 PM.


© 2024 MH Sub I, LLC dba Internet Brands