New carPC project in the works

Shdwdrgn

Original poster
Member
Dec 4, 2011
568
I thought I'd take a moment to document the new project I'm trying to put together and see if anyone has suggestions or helpful tips to add...

My truck has the 6-disc Bose system, however between the failing CD loader and the recent antenna problems, I decided it was time to start moving forward on a carPC. This is something I've wanted to do for awhile, so I've collected information over the years on the possibilities. I want to retain the Bose amplifier, and get a harness to hook up the steering wheel controls to I/O lines on the computer.

Overall, I have decided on using Android for the OS. I have been looking at the Radxa Rock board which is a quad-core A9 Arm with 2GB of ram and built-in 8GB flash. I will using the HDMI port initially for the display, but later may use the direct LCD lines. This board has wifi and bluetooth built in, and I have a USB GPS unit already. For the display, I've been finding some 6.5" touchscreen kits on ebay. The resolution is crap (800x480) but I don't have much experience with LCD screens so the kit seems like the best place to start. The 6.5" screen leaves enough room for a slot-load CD player. I found one of these in a trashed laptop which has everything but blueray (DVD dual-layer writing capabilities even!), and ordered a usb conversion board from Amazon for it.

For the radio, I plan to use an RTL-SDR so I can receive more than just the standard FM band. Who knows, it could be fun to see what I can pick up when sitting on top of the mountain. :smile: There are several really cheap units available (around $10) but these have frequency drift problems associated with temperature. I found a $25 unit that appears to lock in much better.

Navigation will be handled by Waze. I've been using the program on my phone and its been working great, so no reason to change. The GSP unit I have plugs into USB and has a magnet-mount antenna, although I've been wondering if I might tie into the existing onstar antenna to use instead. Will have to experiment with that when I get further down the road.

Backup camera -- fairly simple, the LCD controller board in the kit has AV inputs to auto-switch when you apply 12V to a pin. Later on I may try to handle this in software though so I can eliminate the LCD controller.

Security cameras would be nice. Mount a couple forward-facing cameras in the light bar, plus have a rear-facing camera (if I can get the backup cam to be software-controlled, I could also use it for security rather than having another dedicated camera). There are several motion-detection triggered programs that record the input, which could be stored on a local drive and transferred automatically to my servers whenever I pull into the garage and get a wifi signal.

Vehicle info could come from a bluetooth elm327 adapter and Torque... nice to have available on the screen. It would be nice if I could find a way to permanently wire the elm327 and free up the odb-II port though.

The Radxa board doesn't give much info about the audio chip, but I believe it is a 5-speaker output through the HDMI port. There are quite a number of I/O pins available for various inputs such as the steering wheel controls, and I saw one person suggest that these inputs could be mapped onto the IR port to appear as keyboard keys, which greatly simplifies the interfacing. Radxa also provides the full source code for building the Android installation, so it can be modified for the visual interface, plus adding drivers for devices like my DVD player. The board works directly with the vehicle battery, accepting something like 9-18VDC input, but it would probably still be worthwhile to regulate that input, or at least clean it up with a large capacitor. The current board does not have SATA for an external drive, but that could be handled by USB. I will need to learn a lot more about Android to set up the display with all the applications, and get it to hibernate rather than turning off when the vehicle is stopped (allowing for instant-on).

The last step will be the actual installation of the equipment. I have been looking all over for suitable 2DIN computer cases, and everything I found that I actually liked was discontinued. So I'm just going to make my own. The actual framework can just be some light sheet metal with holes drilled to support the various pieces and the faceplate. For the faceplate, I'm thinking of building a simple X-Y table for my drill press and using it as a router to bevel out the region for the display and a slot for the CD. Then I'll cut out some areas on the sides to make back-lit buttons. I saw a technique where someone used a laser printer and transparencies to print their faceplate with words and symbols left clear. I'll have to experiment and see if I can glue the printed material to my button faces securely.

Well, that's where I'm at right now. After we get through the Holidays, I'll be putting in an order for the motherboard and display, then I can start hooking up pieces as I get them. There's a LOT of work ahead but once I have the radio working there's no reason I can't go ahead and mount it in the truck at that time and add the rest as I get the hardware.
 

BlazingTrails

Member
Apr 27, 2014
19,409
This is a very cool project I love this kind of stuff. Having said that android single and double din head units are already being produced and gaining popularity quickly. I have been wanting to get one. Here is an example....

http://pages.ebay.com/link/?nav=item.view&id=150942959362&alt=web

It sounds like we would get along great because my garage looks like a r&d lab lol. Last night I wanted to play my bass guitar while everyone was sleeping so I went out to the garage and built a micro amp to power a set of headphones. 9 volt battery and Velcro and hour later I was playing lol. Its fun doing stuff like that.
 
  • Like
Reactions: AtlWrk and dmanns67

Shdwdrgn

Original poster
Member
Dec 4, 2011
568
I spent about a week going through various pre-built android head units. The problem with all of them is that the internals are completely unknown... nobody wants to give any details about how their unit is made! What motherboard is used? How much memory and storage space? Can you upgrade? Can you add external storage or more android apps? Is it rooted so you can modify the system? I can't stand it, I need to know what's in it and what options I have to hook up more equipment. And I love how that ebay sale makes 480x800 appear to be a really crisp screen. I have that resolution on my 4" phone and it's still not enough!

I also spent a couple days considering using a tablet... lots available, cheap prices for a 7" screen. Then I got to thinking about backup cameras, steering wheel controls, and any other random inputs, and realized that a tablet is just as bad as a pre-built head unit -- no information ahead of time to tell if you can expand it.

The only way to do this project right is to build it from scratch. I originally wanted to with a standard mini-itx motherboard, but the prices are incredible (in a bad way), and the ones I considered using generally had some show-stopper. One in particular looked just perfect, until I discovered the video chipset (powerVR) had no support from Intel and no possibility of support for linux or android. These days there's so many new SBC systems available, it was easier to break away from the standard and find something that worked. The Radxa looks promising, plus they have a new board in the works that will have even more power in the same footprint, so I have the option of upgrades. The initial 2GB of ram may be cutting it close with the default applications I want running, but the new board will come with 4GB ram and 16GB of flash if I need it.

Yeah I have tons of projects, I just need to finish some once in awhile... I have a new light bar in progress that needs finished up so I can get my radar detector hidden. And I have a 1981 Kawasaki KZ1000 completely torn to pieces in my garage. I should at least finish putting the carbs back together so I can clear off some workbench space, and I was hoping to rebuild the engine over the Winter. *sigh* I need longer days or less work.
 
  • Like
Reactions: Mounce

AtlWrk

Member
Dec 6, 2011
674
Would love to see how this all progresses! :thumbsup: :thumbsup: :thumbsup:

The real make-or-break part for me is the screen: a good quality, reasonable resolution, wide viewing angle and ambient light performance AND a responsive touchscreen that fits well in the dash? The rest is mostly just slapping off-the-shelf hardware together and playing with software.

Permanently wiring the ELM327 is trivial. It's just three wires (+POS, GND, Data). Autopart stores even make OBD port pigtails. The only thing you may have to play with is the default address of the adapter and change it to something that won't interfere with a scanner you plug into the now-free OBD port. You're really not supposed to have two pieces of test equipment on the data bus at the same time. You could always just have a switch to disconnect it in the rare instance you need to run a separate scanner or emissions test.

Any thoughts on internet connectivity? Tethering to your phone? Separate GSM module/plan?
 

Shdwdrgn

Original poster
Member
Dec 4, 2011
568
The screen that comes in this kit is definitely lacking. It is an AT065TN14. Viewing angle is 70 degrees each direction, 400cd/m2 brightness, 500:1 contrast... Not great, but it gets me up and running until I can find something better. The most important aspect is that it has a bezel vertical height of only 90mm, leaving enough room for the CD player above it. My target display will have a resolution of 1280x800 and a viewing angle closer to 85 degrees. An LVDS connection would be ideal since the motherboard supports that directly.

How would you change the address of the elm327 interface? All of the ones I've seen are black boxes, sealed up so you can't get to them.

Tethering to my phone is definitely high on my list for access from the road, however for general internet connectivity I have a WRT54G that I modifed with an SD card slot. It now has a program installed that turns it into a roaming access point, automatically connecting to any open WIFI signals it can find. One of the security features I would like to put into code would be to try sending GPS coordinates and camera pictures to my servers any time the vehicle has a signal -- very handy if someone ever stole my truck!
 

AtlWrk

Member
Dec 6, 2011
674
I very rarely use my CD player so I don't think I would miss it. I did consider a slot-loading player hidden in the arm rest or something :undecided: ...just in case.

Virtually all ELM327/STN1100 adapters are based on the same command interface so they're easy to access through a terminal program. (I can't copy and paste links but the "How to Read ABS codes..." in the Article Submission section walks you through most of it). Because most adapters default to F0 or F1 as their address, any second scanner that gets plugged in may have the same address--not good. Think having two computers with the same IP address. Switching to some other number in the F2-FD range would make a contention unlikely.

Probably over thinking this. The easy answer is to just switch it off if you need use the OBD port.

Straying away a bit but if you're feeling really inspired down the road you can use your OBD adapter to read and command just about anything on the databus. I've been able to roll down/up windows, move gauges on my dash, etc. Since you'll already have the computing power in place it's just a matter of scripting what you want to do.
 

AtlWrk

Member
Dec 6, 2011
674
Ignore what I said about the address on your ELM adapter. Any program using it (e.g. Torque) will override the headers anyway. Your best bet is just cutting the power when another scanner or technician needs to use the OBD port.
 

Shdwdrgn

Original poster
Member
Dec 4, 2011
568
Well this has been a slow-moving project, but I thought I'd report back that at least a little progress has been made. I essentially have all of the hardware on hand now. The first screen had a bad signal line, so I got a replacement. In the meantime I've been fighting with Android and the touchscreen component... I got my computer set up so I could build Android from source, and added the drivers for the touchscreen, then discovered there is nothing built into Android to calibrate the screen. My Y-axis was backwards, and both positions were off by a lot. Finally found examples to modify the touchscreen driver to correct the axis and calibrate the min/max values, but now I've found that when the on-screen keyboard gets used, it jumps the CPU usage up to 50% and causes all sorts of porblems. So much joy.

Meanwhile I haven't had much time to play with the other components. I have an OTG hub which gives me the extra USB ports for the rest of the components, a nice slot-load DVD writer (not that I need to write many DVDs while on the road), and a GPS receiver and radio tuner. I can plug power into the OTG hub and it also powers the motherboard, which simplifies hookup. Overall I think the hardware is going to be the easiest part of this project. The software in the other hand...

I still need to sort out kernel drivers to properly read CDs and USB memory sticks, then find an app that will play music from these devices. I also need an app that will easily tune an RTL device to FM radio stations. As I mentioned before, I'll use Waze for my GPS so that's an easy one. Everything else is just icing on the cake.

So the project is still underway, I just don't have as much time to dedicate to it as I'd like. And I'm really missing my stereo. The radio won't pick up anything, and the 6-disc player will (if I'm lucky) load one disc at a time -- I try not to change it often because if it jams while trying to eject, it takes a couple days before it resets and lets me try ejecting again. Did I mention all the joy?
 
  • Like
Reactions: AtlWrk

Forum Statistics

Threads
23,273
Posts
637,498
Members
18,472
Latest member
MissCrutcher

Members Online

No members online now.