Raspberry Pi Car PC Project
UPDATE 11/2/12: All future updates will be on Page 2
I've recently put in an order for a Raspberry Pi, which should arrive in about 2 months (hopefully!). The RPi is a credit card sized computer, about as powerful as a smartphone (slighly slower CPU, much more powerful GPU) with HDMI, USB, General Purpose Input/Output pins (GPIO), and an ethernet port, all for $35 (+tax and shipping). It's really amazing.
The RPi runs Linux natively, although it looks like Android is very nearly going to get released on it as well so that's pretty cool.
The project I have in mind is pretty big, and I don't expect to get it done any time soon. However, I'd like to use this page to track current progress.
First off, I should list what my ultimate/dream goals are with this.
1. Playback media - music and movies
2. Have touchscreen GPS/navigation
3. Connect to OBDII port and readout to an small LCD screen
4. Misc entertainment (emulate NES, SNES, etc)
I'm a bit uncertain about the touchscreen idea. There's a pretty good one available that would work well on ebay (http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=110659968637 ) which would be great in dash, but the problem is it means removing my current Pioneer deck and therefore I will require a 6 channel USB sound card (front L/R, rear L/R, Sub L/R) and a 4 channel amp to run my speakers. This means spending probably $300 right there, which is already getting a little pricey. Alternatively, I could get a smaller screen and mount it on top of the dash, or even run the Pi "headless" which means without a screen at all. In that case I would control music selection with my smartphone, I could still have the OBDII LCD, and I could use GPS on my smartphone as well. GPS is probably the most minor portion of this idea, as I barely use it as is.
There's still 2 massive issues with this project. First off, I'm not a programmer, and secondly, I'm not an electronics guy either. Yes, I like PC hardware a lot, but I've never built a circuit board.
Fortunately I've found a lot of stuff to help, at least in the hardware/electronics department.
First off, the OBDII plug. I just bought one from http://www.carplugs.com/index.html - a simple male plug with wire pins for $8 shipped. Excellent. As for interfacing with the ECU, I got this one covered too! I found the STN1110 (http://www.obdsol.com/stn1110/ ) and, lo and behold, they will ship you a free sample. Amazing. It actually just showed up today, I have it in my hand.
The STN1110 datasheet has diagrams for wiring it up. It runs on 5V though, as does the RPi, and I will probably need 3V as well. I'll get to that in a bit. As far as wiring into the OBDII port, my 2002 Acura RSX Type S uses the ISO standard which makes it fairly simple. One thing I'm kind of debating is wiring this up to be used on any OBD II car, by incorporating CAN and J1850 as well, though that definitely complicates the circuitry and might be beyond my capabilities. I think I'll start with just an ISO breadboard and go from there.
Also on this subject, there's a bunch of people already doing similar OBD II interfaces with Arduinos. Some examples are as follows:
The STN1110 datasheet also lists protection circuits, optional LED status lights, voltage sense and protection circuits. The key for me right now is decifering what hardware to buy. I'll be purchasing as much as I can from digikey.ca which has great prices.
As far as getting 5V and 3V goes, following the aforementioned protection circuit I will incorporate probably the MCP16323 which comes in both flavours of output. It's a switching regulator so it's got over 90% efficiency. This one supplies up to 3A which should be plenty, but again it's something I'll have to specifically figure out just how much amperage the whole unit will use.
It's a red 16x2 char LCD (my car has red dash lights). Not sure if I want to go bigger, but
it's only $10 so not a big deal.
Right now my next step is to write out the full BoM for getting the OBDII thing going. I have access to an Arduino, so first and foremost I want to proof that in my car. Hopefully once my RPi arrives it won't be too hard to connect it to the GPIO pins. If that isn't quite feasible, I may just pick up an Arduino of my own or even get the Gertboard that is in the works for the RPi (although it looks to be severe overkill).
I'll update once I have a proper BoM. As far as the software goes for GPS and Media playback goes I'm not too concerned at this point. I'm keeping an eye on things, but I feel the OBD II interface is the most pressing (and to me, important) concern at the moment.
Stay tuned for updates.
UPDATE 1 - 8/14/2012
Just a small status update. Making progress on the BoM and circuit design stuff, also just received my ECU plug. Ran into a snag though regarding switched power circuits and how the STN1110 controls them, as well as picking the right MOSFET. I'm thinking for the first prototype I'm going to skip this part of the circuit and do it slightly differently. Possibly a physical switch on the RPi that will cause it to enter sleep mode, which will in turn cause a GPIO pin to go "low" and put the MCP16323's and the STN1110 into sleep modes as well. This will certainly be the easiest option to start with, as I'd like to not have to tap into an ignition/accessories 12V line at all. This will keep the Carputer as plug-and-play as possible. Also I'm looking at maybe trying to design it in a way that will fit nicely into a dash DIN slot with the LCD, switch, and some buttons to navigate screens, check engine codes, etc.
UPDATE 2 - 10/3/2012
Time for an update! Unfortunately, nothing exciting like having my Pi already - but a few things worth mentioning. Firstly, I contacted Allied Electronics where I purchased my Pi, and was told it was a 14 week lead time, meaning I should get my Pi sometime around or just after Halloween. In the meantime I've been reading through an electronics book. I'm having some trepidation with designing my own board. It's still something I want to do, but it's quite daunting. While reading the book I've let the BoM sit on the wayside although I do have most of it priced out. I got stuck with a resonance crystal thing, and wondering how hard it will be to manually solder surface mounted resistors that are very small. Not sure what to make of that. It's probably worth mentioning that for $50 you can buy an OBD II UART that should be plug and play here: https://www.sparkfun.com/products/9555. I'll still build my own power supply, but this might be the way to go for getting OBDII interface.
On another note, I just got a media center PC (HTPC) up and running at home. It was basically a free HP Compaq with an AMD Athelon X2 5400B CPU and an MSI G210 GPU. I had to buy RAM (2GB) and a HDD to get it running, plus an HDMI and a power cable. $135 or so got me up and running. The reason I mention this is that I decided to go with Linux Ubuntu as the OS, which means I'm finally getting my toes wet in the Linux world. Considering the Pi uses Linux, it's definitely a good thing and I'm learning a lot. Hopefully when I get my Pi it will be somewhat painless to get it up and running.
UPDATE 3 - 10/18/2012
Received my Raspberry Pi! It was definitely a surprise. I ordered from Allied Electronics and while I like that it has been delivered early, they didn't give me any warning whatsoever. A bit odd to me. Regardless, because I was caught unaware I still need to go buy an SD card for it so no testing tonight. I should have it up and running over the weekend, however. Can't wait!
Category: Payday loans