Making A Touchscreen CarPC (Break a Leg Challenge!)

I've been meaning to post this for a while now, and it'll probably be a while before I finish because money. @Atomic_Charge, I hope you do another Just Do It or Get Crackin' type challenge - if you do, here's my entry. @DeusQain, after watching your "Qain's World" videos about your car, I think you might be interested in this.

I decided to use a laptop first of all because I already have it and never use it for anything, and because the battery could be used as a pseudo-UPS to give the laptop time to shutdown when I turn off the car. The laptop I'm using is an Acer Aspire One D250, a pretty old and crappy netbook.

DISCLAIMER: I don't know what I'm doing at all, everything I'm doing is after extensive Googling and not actual knowledge.

Parts to purchase:

  • 10.1" Touch screen overlay
    • Adds touch input
  • Shutdown controller and DC-DC converter

    • Startup pc when car is started, shut it down when engine is powered down, convert 12v to 19v
  • USB DAC

    • Headphone port on laptop doesn't really work any more
  • In-line volume knob to go between laptop and amp

    • Easy way to have a physical volume knob and not have to adjust volume in software
  • Misc. cables

STEP 1: TEST WHAT I ALREADY HAVE

Tested amplifier (given to me by a friend who thought it didn't work) by thoroughly cleaning the terminals on it, then wiring it up to an old PC power supply and some extra speakers a friend had. It works!

Tested laptop by taking it apart and disconnecting everything that wouldn't be used in the final build, then installing Ubuntu Minimal. It works too!

STEP 2: SET UP LAPTOP

Installed Ubuntu Minimal 16.04.
Had a strange bug where after boot, it would stay on TTY7. I thought the boot process was hanging, and I reinstalled several times before I realized I could Ctrl+Alt+F1 into TTY1. Fixed the issue by commenting out the line 'vt_handoff="1"' in /etc/grub.d/10_linux.
Realized that when booting, a message would appear for several seconds that said something about "Raise network interfaces". Just for fun, and to reduce boot time, I edited a line in /etc/systemd/system/network-online.target.wants/networking.service from "TimeoutStartSec=5min" to "TimeoutStartSec=1" (I actually just commented out the original line and put the new line under it, so I know what the original was). Now it boots a few seconds faster, and I somehow still have an internet connection at boot.

Edit 08/12/16:
Last night I installed X and the nightly dev release of Kodi (I really want Kodi 17 because of the new default skins, but the current stable release is still 16). Luckily, both installed and worked without issues, which was a relief because that was not the case when I installed Kodi 17 under Ubuntu 14.04 a few days ago.

sudo apt-get install xorg
sudo apt-get install software-properties common
sudo add-apt-repository ppa:team-xbmc/xbmc-nightly
sudo apt-get update
sudo apt-get install kodi
startx
kodi

That's about it so far. I'll try to update this post as I make progress. Feel free to offer any tips or suggestions you might have!

Here's a picture of the laptop:

August 12, 2016 -
I put music on the system. Guess what the Universal Album Scraper got for the Zweihander icon:

September 18, 2016 -
I finally got the last of the stuff in the mail. I should have everything now, except for a usb hub and possibly a relay to power it. I didn't realize I needed that until just now.

I got the USB DAC working. It was super easy. I just had to plug it in, turn on the computer, open up alsamixer, mute the onboard audio, and max out the volume on the DAC (which showed up when I pressed F6 to select a soundcard). Then I went into Kodi and selected the DAC as the audio device. I'll be using the headphone out instead of the RCA out because it's significantly louder (I assume the device expects some sort of amplified speakers on the RCA outs).

Now the touch screen is working too. This took a little longer. When I first plugged it in, it wasn't showing up in my list of usb devices. Turns out I had the ribbon cable for it plugged in upside down. After I flipped it over, it started working just fine.

September 20, 2016 -
here's a video:
https://plus.google.com/118331567212885252644/posts/5yrBr9CPNya

October 1, 2016 -
I decided to start over from scratch today because I've already installed and removed a bunch of packages and changed a lot of things, so I wanted to start on a clean slate. Here's my half-hearted documentation of the process, which I was planning to edit for readability, but I'm just too tired. Maybe I'll do it later.

Start over
install ubuntu 16.04 minimal
grub file not found
re insert installation usb, boot into rescue mode
enter /dev/sdb as device to reinstall grub then reboot
boots, screen stays on tty7
ctrl+alt+f1 to tty1
login and sudo apt-get update && sudo apt-get upgrade
text is orange
sudo nano /etc/default/grub
delete splash quiet from GRUB_CMDLINE_LINUX_DEFAULT and add profile
sudo update-grub
sudo reboot
boots to tty1 and plain white text
sudo nano /etc/default/grub
delete profile from GRUB_CMDLINE_LINUX_DEFAULT
sudo update-grub
sudo reboot
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:team-xbmc/unstable
sudo apt-get update
sudo apt-get install kodi
need usb drives to automount
sudo apt-get install usbmount
need x
sudo apt-get install xorg
startx
kodi
change skin to Estouchy
exit kodi
need to calibrate touchscreen
sudo apt-get install xinput-calibrator
xinput_calibrator --output-type xinput
add output from previous command into a new file called .calibration

xinput set-int-prop "eGalax Inc. USB TouchController Pen" "Evdev Axis Calibration" 32 9 4114 38 4074
xinput set-int-prop "eGalax Inc. USB TouchController Pen" "Evdev Axes Swap" 8 0

chmod 777 .calibration
nano .xinitrc
make the file contents:

.calibration
exec kodi

exit
startx
kodi starts
turn off computer and go to sleep because i'm tired

October 2, 2016 -

put music on flash drive
plug flash drive into laptop and turn it on
log in and startx
add flash drive as source for music library
change audio output device to usb dac
play music to check if it works
it works
close kodi to save changes
cursor follows finger on screen
make cursor invisible:

12 Likes

Wouldn't it be easier just to invest in a raspberry pi, and a LCD touch screen?
between the two it would properly cost less than the laptop you're using.
Not 100% sure how the touch screen thang works, but it seems you got calibration and what not down, so you could do the exact same implementation, and either if you're using ubuntu release for rasp pi, use omxplayer for videos. Or if Raspian use Kodi.
This is sorta what a raspberry pi does brilliantly.

I actually very heavily considered getting a pi for this project, but I mainly wanted to make use of a laptop I have considered completely worthless for the past few years. A pi would definitely have been easier, used less power, and taken up less space, but I just really like the idea of using something I already had. (Even though I had to buy a bunch of stuff for this anyway)

I did that shit with my ol' Honda Accord CG but with a Nexus 7 back in 2014. The thing got jacked and vandalized the 2nd week of having the tablet installed, and the insurance company declared it as a total loss haha. I'm now rolling in a old Astro. Might "Tek" the thing up and fill her with laptop monitors, arduino/raspberry pi shenanigans, a xEMI reader for access and wifi hotspot. I just need to fix the rack and redo the upholstery and paint.

Yeah, I'm worried about people trying to tear it out, but I'm thinking about bolting the thing down so they'd have a very hard time disassembling it haha

He already owns the laptop. It's seems reasonable as a way to repurpose a broken or old laptop. Power consumption shouldn't be a concern as it's an old Atom board, w/ a boat battery it should run forever and he'll not have to worry of being unable to crank the engine at any given time.

1 Like

Yeah I was kinda lazy and didn't added any more security deterents, as a remote alarm to my phone, an RFID access or a complicated killswitch. And by that time, Honda jacking was crazy in town. I remember 3 other hondas were stolen from people I know, together with mine the same month.

Also I was wondering, what's the car that this is going into?

It's an '05 Ford Focus hatchback

If you can invest some money in it you could buy a LattePanda board. It's a lot more more powerful than a RaspberryPi, can run full x86 OS and, if I recall correctly, even have a touchscreen LCD sold directly by the same company that requires just a ribbon cable.

I might do something like that in a future car, but I'm already too deeply invested in this to change it now