Introduction: My Car Assistant (Embebbed Car Automation Computer)!

Before we start, take a look at the video clip of operation: https://youtu.be/GHdMFtl_TAs

My 1999 Honda Civic is an old vehicle. She lacks lots of features that modern vehicle come as stock. I wanted the following functions implemented into my car:

1. Control of the air conditioning including engine load management during wide open throttle and driving up inclines.
2. Control of the lights and by extension, automatic dimming/brightening of the host controller screen.
3. Speed control of the cabin blower motor.
4. Automatic annunciation (voice and visual) of alternator failure and power conservation following this.
5. Annunciation (voice and visual) of an engine overheat condition.
6. Display of the fuel level and annunciation (voice and visual) of low and critical volumes.
7. Monitoring the refrigerant pressure switch to annunciate (voice and visual) abnormal pressure conditions.
8. Play music!

9. Record video of traffic while driving and also serve as a rear view camera.

10. Display the Time and Date.

Read on for how I implemented the World's First ever,windows 8.1 based, embedded, car automation system within my veteran civic!

Step 1: Choosing the Host System.

I use Windows to create automation systems as a hobby. The host computer needs to have a touchscreen interface to allow easy use within a car. There are two ways to do this:
1. Mini itx system with a 10 inch touchscreen monitor.
2. Touchscreen netbook.


The netbook is far cheaper and I chose this option to host my automation software. I used the Dell inspiron 2 in 1 netbook model 3147. This netbook is cost effective and it is very easy to access the internal components (see the attached service manual). I outfitted it with an ssd and I removed the Lithium ion battery since it would fail rapidly in the hot climate I live in.

https://www.instructables.com/id/Replacing-the-HDD-in-Dell-Inspiron-3147/

https://www.instructables.com/id/Removing-the-Battery-of-a-Dell-Inspiron-3147/

It may be possible to use a Windows tablet however for this system you really need at least 2 dedicated full size USB ports. Routing through an external hub is not a sturdy solution and may cause reliability issues for the Labjack U3. Perhaps in the future I may build another small scale automation system using a cheap Windows tablet as the host system.


I use my own custom blend of Windows for guaranteed stability and optimal performance.

https://www.instructables.com/id/Optimizing-Windows-for-Embedded-Systems/

Step 2: The Automation Software and Hardware.

To interface the netbook to the real world ie my car, I use the labjack u3 hv digital acquisition board. This is a very flexible usb device.

The automation software is created using flowstone. Flowstone is the very best for hobby automation and allows for the functions I need implemented.

All functions I created for controlling the hardware in the car have an AUTO and OFF selector switch. The car lights still has its OEM control however the air conditioning I had removed it's malfunctioning controller since mid 2015.

I love hearing voice annunciations from my automation systems. It gives the setup a more personal touch. In flowstone I call up the relevant mp3 file and let media player lite handle it. The 4th pic shows the schematic to make it happen. The website I get my text to mp3 files is:

http://www.fromtexttospeech.com/

Step 3: Making the Installation Modular.

I mounted the Labjack u3-hv, 8 relay card, DC DC converters, USB mouse, timer relay and other components in a PVC box. This Unified Control Box is detailed here:

https://www.instructables.com/id/Unified-Control-Box-for-Embedded-System/

I made sure to test the entire system in my living room prior to putting into the car. I stuck all the components onto the PVC surface with black silicone adhesive to provide shock absorption.

Step 4: Interfacing to My Honda Civic 1999.

In order to implant my newly created automation system into my car, I needed to know the relevant wiring for power, control and signals. I'm extremely intimate with the wiring in my vehicle and I know exactly where to tap into a wire to obtain an engine sensor signal or to inject a control voltage to effect a change.

I have attached the modified service manual for my car. This should be quite handy for you fellow civic owners out there!

If you wish to even attempt this system in your vehicle then you must have its service manual.

Step 5: Control of the Air Conditioning.

I previously prepared my car for simple ON OFF operation of the air conditioning system.

https://www.instructables.com/id/Wiring-my-Car-AC-for-MAXIMUM-Cooling/

The Blu/Wht and Blu/Red wires needed to be tied together for my car to acknowledge the AC is on and that the engine rpm needed to increase. I used 2 separate relays to engage the condenser fan and the compressor clutch by sending the marked wires to 0Volt. One relay would not work since the AC system stayed ON after the controlling relay was de-energized.

I used a negative temperature coefficient thermistor to read the temperature of the air vent.

The section of software reading the thermistor will determine the when the compressor turns on or off. I created a Slider to set the setpoint for the Cabin air (0 to 20 Celsius).

https://www.instructables.com/id/Measuring-Temperature-With-Flowstone/

The throttle position sensor (TPS) gives 0 to 5 volts, from no input to wide open throttle. I read this voltage via a potentiometer to FIO4 configured as an analog input. To prevent the car's engine control module from getting feedback voltage from my labjack u3 hv, I used a silicone diode to allow current flow into the labjack terminal.

Once the voltage from the TPS is greater than 3.5 volt, the air conditioning is temporarily disabled for 10 seconds to allow me to perform an overtake manoeuvre, which I hardly do since I prefer to drive defensively.

Step 6: Control of the Lights.

The light intensity I measured using a standard cadmium sulphide photocell. This I fitted into the space between both center dash vents with the help of black silicone adhesive.

Via flowstone 2 separate thresholds are used. One for Park lights and the lower one for headlights. On the user interface, I have a small blue led for the park lights and the bigger led for the headlights.

https://www.instructables.com/id/Measuring-Light-Intensity-With-Flowstone/

The signal from the photocell I used to dynamically adjust the back light brightness of the netbook. This way my eyes won't strain when I have to glance at the display.

https://www.instructables.com/id/Adjusting-Laptop-Brightness/

Two separate relays I used for the park and head lights. The actual connection I made near the under dash fuse box by splicing into the lighting wires.

Step 7: Cabin Blower Motor Speed Control.

A pwm controller from Amazon.com is what I used to replace the Bogus controller that came with the car. The labjack u3 DAC0 terminal gives 0 to 5 volt output to control, inversely, the speed of the blower.

https://www.instructables.com/id/Retrofitting-my-car-AC-blower-with-pwm-speed-contr/


The flowstone software has a Slider that gives me 100percent fan speed when the labjack outputs 0 volt. Inversely when the pwm controller gets 5 volt the blower motor stops. I configured the labjack DAC0 output as a default of 5 volt since I don't want the blower running when I start the car.

Via a software interlock, when the blower is off, the air conditioning is disabled. When the blower is commanded to run again there is a 8 seconds safety delay to allow the air conditioning to be engaged.

Step 8: Monitoring Voltage.

I measure the alternator voltage directly from the car's accessories circuit. Once the car is on, voltage is applied to the AIN0 terminal of the labjack. The Labjack U3-HV can safely measure this voltage on terminals AIN0 to AIN3.

Via flowstone, if the voltage is greater than 12.7 volt then all comfort features are enabled. Between 7.0 to 12.0 volt the software will voice annunciate a possible alternator failure and disable all comfort features including the automatic lights. I can manually turn on my Lights if I need it at night.

Below 7.0 volt the software will voice annunciate that the engine is switched off and will put the netbook into sleep mode. In this mode the entire automation system draws 40mA of current.

My existing 6Ah Lithium iron phosphate car battery in the glove box and 2.4 watt solar panel on the windscreen will suffice to keep the netbook as an extra load. Possibly in the future I will add a second 12Ah Lithium iron phosphate battery to give the car longer Park time.

Step 9: Playing Music.

I do like listening to music but not at loud levels. I use musicbee as the program to give me my entertainment. The flowstone user interface has a dedicated led button to open and close the musicbee program.

Originally I had a lepai amplifier to power my Car speakers but it blew a few days before installing the car automation pc. I plan to install a new one in the coming month.

Step 10: Installing Into the Car.

I put the pvc box holding the nervous system of my car automation setup into the centre console. After I used two lengths of 12inch long pvc trunking covers secure the netbook onto the console via lots of velcro.
Since I have no battery in the netbook it is very lightweight and stays perfectly onto the console.

I had previously labelled the battery and Accessories wiring used for my car deck. The wiring for air conditioning, lights, fuel level, engine temperature etc I routed through the back of the centre console. Lots of cable ties were used to secure the wiring.

To complete the look, I used an old bag strap and wound it around the edge of the netbook to give it a neater finish. I used Velcro to secure it.

Step 11: Improving Reliability.

In case I accidentally close the automation software (car.exe), I use Restart on Crash freeware program to automatically restart the application file. The same program boots with Windows to startup the car.exe automation program.

Step 12: ​Sleeping and Waking the System.

My netbook remains ON all the time but when the car is OFF, it will go into sleep mode and draw only 40mA from the car battery. To verify the system has slept, all I need to do is press the dedicated Windows key below the netbook touchscreen.

Once the car is started, the accessories 12 volt is made to momentarily left click the usb mouse, via the time delay relay, to wake the system.

Step 13: Backup Controls for Cabin Blower and Air Conditioning.

In the event I need to remove the netbook, for example if I carry the car in for repainting, I have a backup control for the air conditioning and the blower fan. I will have my comfort but without the digital finesse of the automation system.

Step 14: Preventing Prying Eyes.

To avoid my brand new system from being stolen, I use an old jacket and drape it over the dashboard to cover the netbook. Luckily the outside of my car is scratched, banged up and looks old so it is unappealing to the casual observer.

FYI: This is not the actually camouflage I'm using but you get the idea. Can't have folks on my island looking for that old jacket on the dash!

Step 15: Recording While I Drive!

I need the use of a reverse camera to help me while reversing. It helps with the neck injury I have (not due to a car accident). The Assistant also services as a great reverse camera plus as a Drive Record Unit (DRU). Consider it a "black box recorder" for driving purposes. Here is the instructable for the DRU component.

https://www.instructables.com/id/How-I-Made-a-Drive-Record-Unit-DRU-for-My-Car/

Step 16: The Latest Version of My Custom Made Software.

I have attached the latest revision of my car automation software for your cannibalizing pleasure! It has the most current software configuration and fixes based on my road trials to date.

Step 17: Real World Performance.

The system performes admirably to date (5-Oct-2016). I'm very happy with the results and I depend on the Assistant each time I drive. I hope my instructable has been interesting to you fellow hobbyists.

Comments

author
joseph4975 (author)2017-08-09

I love it

author
dethanb (author)2016-02-17

I gotta say, I love stuff like this. I've always wanted to build my own car and incorporate something similar to this into it. Great ideas here...

author
Mjtrinihobby (author)dethanb2016-04-14

thanks!

author
mctry (author)2016-02-18

Just with few hi fi software eui & perfect fitting this can make any of the modern cars such as audi and alike look like nothing.

Well using windows if connected to internet etc for further development such as gps , theft protection application & many other applications would make it less protected from viruses & malwares etc. Well u never know what internet can carry with it.

author
Mjtrinihobby (author)mctry2016-03-03

thanks for the kudos...my car assistant is not connected to the internet specifically since it is designed for one task only..to automate equipment on my car. Zero connectivity to the internet since I personally have no desire to do that.

author
RobertS131 (author)2016-03-03

I wen the easy route of putting computer in my '69 beetle. the wiring diagrams are very easy AND accessible. Still working on steering control, so I can completely remove the steering wheel and use joystick.

Have you thought about removing the airbag and using that nice big cavity to hold screen?

author
RobertS131 (author)2016-03-03

ONE option you should consider, DOOR locks so it locks door when they are closed so cops have to break in. you can use a left / right / right pattern to unlock with key since they will probably confiscate you key anyways to open it.

I pulled that keypad out of a junkyard wreck, and mounted it in door. eventually finger print scanners will reach point you can out one on inside of door handle.

author
oliverh750 (author)2016-02-19

That wouldn't work here. I need both the A/C and heater/defroster (sometimes in the same day!) Got any ideas on how to control stepper motors to change these settings?

author
RobertS131 (author)oliverh7502016-03-03

an arduino stuffed in dash, with a threaded rod hooked to flapper door in vent would be best option, unless you only want full closed or open, then a simple solenoid valve would do it. If you want to drag vacuum from engine, you could use a vacuum actuator control as well. But you ARE going to be digging up into the dash to get at those flapper arms, very few are easily accessible. Stepper motor is over thinking the problem. IF you have clearance, a motorized pot hooked directly to flap, would let you move it as well as read the position. But I haven't been in any dashes that had that clearance option. You COULD put it INSIDE the duct if you want to take everything apart.

author
Mjtrinihobby (author)oliverh7502016-02-19

The stepper motors will be easy to control via a relay card tied to the labjack u3. All u need to get is the pinout of those motors which will be in the service manual of the car. Usually connecting a control pin to 0volt causes the motor to rotate to a set position.

author
oliverh750 (author)2016-02-19

That is very cool! I would like to do this to one of my cars, especially replacing the HVAC controls. I don't see any controls for the heater or defroster. It looks like you are only controlling the fan and A/C compressor. I'm guessing that you must live somewhere where it rarely or never gets cold. How would you go about controlling the settings of the vents, defroster etc.?

author
Userro (author)2016-02-19

Don't know about your thief preventing system. If I got one of these in my car where I live, it would be gone in a week I guess.

author
Mjtrinihobby (author)Userro2016-02-19

Let's Hope my disguise works. Yes I also do live in a weird place for car stereos. This is why I love the old banged up look of my car.. Extremely unappealing to any observer. My friends tell me, man you can more than afford a new car or at least get this one repainted. I always say, unless I'm gonna have sex with my car.. I don't give a damn about her looks.

author
AshleyJ32 (author)2016-02-18

Hello all

I would use a RPI or BPI its alot cheaper

If you buy a OBD2 chip as well you can display all the data off the car

you can also wire in a amp for a stereo system

author
Mjtrinihobby (author)AshleyJ322016-02-18

Your ideas except the amp won't work especially for my car.

author
mctry (author)2016-02-18

This is really hard core stuff. No where near to a newbie . Trying this kind of stuff requires a professional knowledge in embedded course as well as practical electronics. For a rookie raspberry pi is more than sufficient. By the Way HATS OFF to you. Keep it up.

author
Mjtrinihobby (author)mctry2016-02-18

Thank you so much. I prefer Windows based automation since it opens all possibilities up and offers true multitasking. Microcontrollers can perhaps be made into a car assistant but it will be very difficult to develop the code. Flowstone makes tweaking a breeze and I personally think it is the best software package on the planet.

author
maniacse (author)2016-02-17

Man, this is sick! What a great idea and perfect execution. I will definitely try this programing sw you used. Also, I just realized, that my Asus Transformer T100 is powered by 5V, so no need for 19V power supply, and it has power button right on top of device, so I can switch it on and off by hand (or rework it for sensitivity to 15 pin).. Great inspiration, thank you so much!

author
Mjtrinihobby (author)maniacse2016-02-17

great thanks for your compliments. Let me know how the T100 works out for this. My biggest concern with a tablet was the lack of full USB ports and I didn't want to use an OTG usb hub. However the appeal of a tablet for my automation projects is growing on me....maybe in the future I may replace the car netbook with a lower profile sleek low cost tablet.

author
Manuel Molano (author)2016-02-16

Very cool ! Congrats

author

Thanks!

author
hankjones (author)2016-02-16

I'm looking for a way to monitor the use of turn signals and lack thereof (a Pet peeve). Is your device capable of this?

author
Mjtrinihobby (author)hankjones2016-02-16

most definitely. Once there is a voltage signal, especially 12V to a indicator lamp, the Labjack u3-hv will easily interface to it. Check their website to learn more of this amazing USB DAQ.

author
Kafukai (author)2016-02-10

This is so cool! I wish I could do this to my civic as well :-)

author
Mjtrinihobby (author)Kafukai2016-02-10

Trust me it is fairly easy.

author
LarryS38 (author)Mjtrinihobby2016-02-16

I agree - you are a legend!!

Have you considered tapping into the OBDII system to get data from the on-board computer to use as well?

author
Mjtrinihobby (author)LarryS382016-02-16

Guys please, I'm no legend. I have had horrific failures and sweet success in my projects. This particular project had 3 catastrophic failures till I got it right.

Sadly my car never came with OBD2 (its a Japanese import), else I would have interfaced the living soul out of her.

Thank you for the thumbs up and stay tuned for future updates on this instructable!

author
rread (author)2016-02-16

You legend! I hope you get many years of happy driving from that. What a star!

author
Mjtrinihobby (author)rread2016-02-16

LOL. Thank you immensely for the compliment. I hope the system lasts long as well. I make sure to have it covered every time I park the car in public areas. I want to own the car for another 10 years until full electric cars are standard.

author
Slk_Stephane (author)2016-02-12

Really Awesome, what was the total cost for this project?

author

abt 550USD.

author
SasaM3 (author)2016-02-11

Compliments for all of your effort, Great Work! I think that use of full Win notebook for this project is little too much. Arduino or RaspberryPi + touchscreen is much better choice.

author
rafununu (author)SasaM32016-02-12

Except for the user's interface and Flowstone, easier than Python or C anyway.

author
Mjtrinihobby (author)SasaM32016-02-12

I prefer windows for the full multitasking capabilities. The arduino or other microcontrollers simply do no not have the flexibility or processing power to implement what I have done. My software does alot of stuff in the background such as saving values to the ssd to give it 'memory' in the event of power failure to the netbook. Also I love my big screen for easier interfacing. Thanks for the compliment nonetheless.

author
IbrahimComPro (author)2016-02-11

very nice project of every day...

author
nonderbe (author)2016-02-11

Nice work, very interesting project!

author
Mjtrinihobby (author)nonderbe2016-02-11

Hey thanks!

author
jeremiahcarreon88 (author)2016-02-11

so freakin awesome!

author

thank you very much!

author
pravenstone (author)2016-02-10

what's the appr. cost of these parts, excluding the netbook?

author
Mjtrinihobby (author)pravenstone2016-02-10

Approximately 200usd.

author
Lmhshop (author)2016-02-10

How much for you to make these as kits?

author
Mjtrinihobby (author)Lmhshop2016-02-10

For now it's just a hobby. What you see there is a prototype. Only one of its kind in the world right now. Really have no clue what I would charge to install that system into a person's car.

author
diy_bloke (author)2016-02-10

no time to read right now but definitely interesting enough to come back to

author
Mjtrinihobby (author)diy_bloke2016-02-10

Thank you kindly. This project took 7 months to implement even after 3 catastrophic failures. The write up is a bit involved but its pretty straightforward to implement.

author
diy_bloke (author)Mjtrinihobby2016-02-10

I have a Honda Civic as well. I'll see what I can do with it.... just have so many projects still to do ;-)

About This Instructable

48,700views

549favorites

License:

Bio: As of April 2017 I have decided to no longer post on instructables. The fact that several of my published works have been removed without ... More »
More by Mjtrinihobby:Replacing the starter and overload in a fridge. Fixing a Slack Transmission Dipstick. How to Send Bold and Italics Text in Whatsapp
Add instructable to: