Car Computer Requires PIN For Ignition

[Ben’s] added some nice goodies to his Volvo in the form of an in-dash computer. The system monitors two pressure sensors for boost and vacuum, as well as reading RPM, O2, and exhaust directly. All of this is tied into the touch interface running on an eeePC 900A. But our favorite feature is that the system requires you to enter a PIN to start the ignition. The forum post linked above is short on details so we asked [Ben] if he could tell us more. Join us after the break for a demonstration video as well as [Ben’s] rundown on the system.


Ben writes:

Hi, great, glad you like it. The EEE 900A has a 2GB ram upgrade and a 16GB SSD upgrade, running windows 7. I modified the computer so it could fit directly behind the screen, which involved relocating the USB ports, and also using a HP webcam from a broken laptop as a back up camera.

The black box has three circuit boards. I’ll send you some pictures of the most current version later. The first board is for power, It has a 3.3v and 5v regulators to provide the two voltage rails, and the three relays. One relay controls the power supply to the netbook, the second controls the car’s actual starter, and the third controls the auxiliary power and lighting system.

The second board uses two freescale semiconductor pressure sensors, one to read boost and the other to read vacuum. It also has a secondary microcontroller (A PIC18F2550) to read a direct RPM input as well as a wideband o2 sensor in the exhaust. This uC is running in i2c slave mode.

The final board in the back is a PIC18F4550, which has direct control over the relays, the secondary controller, and also directly reads the two pressure sensors. Both controllers run software written in PICBASIC.

Now the part that I like about the interface box, is in order to talk to the computer, it uses only the PIC18F4550’s USB port. one usb connection is all that the computer talks to the car with.

The software running on the netbook is an application that provides a front end to the control box, A PIN is required to be entered, and once the PIN is correct, you are then able to start the car via the
button on the screen. The normal key method of starting no longer works. For security, The interface ONLY sends the PIN number to the control box, the control box has a PIN number saved and encrypted on the PIC’s internal eeprom. The entire application was written in VC++, .net, and provide me with accurate boost, vacuum, RPM, and AFR on screen. Touching a gauge on the screen enlarges it, and minimizes the other two gauges for enhance readability.

It’s all cleanly installed in my 1998 S70 T5, which was an automatic from the factory and that I swapped to manual in January this year. To power the entire system on, you only need to press the unlock button on the keyfob. by time you get to the car, the computer is running, and the control box is connected to my software and waiting. Locking the doors via key fob (using the key on the door also works just as well) tells the contol box to use a transistor to electrical press the EEE’s power button and put it into sleep mode. Once the EEE is off, it cuts power to the EEE, and then both controllers go into sleep mode, drawing minimal current. I’ve left the car for a couple weeks with the entire thing hooked up, got home, and started it right up and drove away. I designed the entire system like any company would, to ensure reliability. There are safety measures that only I know about, that allow me to re-enable the standard key ignition in case of an emergency.

51 thoughts on “Car Computer Requires PIN For Ignition

  1. very nice set up, just have to clean up a few things and it’ll look factory.

    just make sure that no one knows where you put the switch to re-enable the standard use of the ignition key.

  2. I’ve been considering doing this with my ’93 DSM. If I used a keypad, and smaller screen or two (like a graphic LCD screen or similar, I can’t afford to put an EEPC in my car), functionality would be essentially the same right? Because all the EEPC does is transmit the PIN?

  3. I think I would still want the ignition key to still work in some way. For example I would prefer that the key be turned to the on position to complete the ignition circuit so that in a worse case scenario and I needed to turn the car off quickly I would just turn the key off and the car would shut off.

    A similar way to get this functionality would be to have a physical kill switch that is not tied to any software.
    At first I didn’t like the fact that you shut the PC down with the remote lock but I guess no one really locks their doors with the keyfob while inside.

    Other than that this rocks.

  4. So maybe I missed it, but is the PC actually doing a full boot every time or is it just in standby? Because even for an SSD running Windows 7, that would still be a respectable boot time if that’s actually what is happening.

  5. If you guys watch the video, the car can be shut down using the key.
    You just turn the car off.
    Manual override so to speak.
    No worries about the computer getting mad and deciding to fly down the road with no way to shut it off.

  6. He has a good idea and skills to pull it off but the design is poor in my opinion. He should team up with an Engineer to figure out all the fail-safes and what not. I’m more worried about things going wrong when the car is in motion rather than when it is parked. Imagine a dead engine going 70 mph on the freeway with the steering wheel locked.

  7. @Bob
    since the key is in cylinder the steering wheel will not lock. also the car will not die unless a signal is sent to kill the engine. kind of like turbo timers.

    these volvo engines and wiring harnesses are very simple in design.

  8. I want one thats linux based instead of windows based cause if it was windows you would be like “OMG BSOD” and the your car would expload XD but I really love the idea

    ^remove the last post i made please <and get rid of this

  9. He guys, thanks for all the comments. I’m the creator of this thing, and I figured I’d clarify some things. The car still requires a key, I didn’t want to disable any of the immobilizer features. The control box has two inputs it checks to prevent any mishaps. One, is it can tell when the engine is running, and second it reads the RPM. The hardware WILL NOT allow the starter to engage while it has a engine running signal or if it is getting any RPM signal (except during the initial cranking). Also, like someone brought up, when the control box knows the engine is running, it also will not power down any of the systems, so the door locks are essentially disengaged in regards to the control of power for the computer and control box.

    No, the EEE is not doing a full boot, I kept the original battery, and relocated it in the car, so the EEE is usually in standby, unless the car is left alone for a couple days, then the computer will actually have to do a full boot.

    So yes, the ignition key must be in the second position, the third position (start) simply is disabled, and control of that is passed to the control box.

  10. Also, some asked what happens if some one steals the computer. If only the computer is stolen, Any other laptop as long as it has the program I wrote (a .exe and one .dll ~2mB), it can interface, and start the car. If the whole system is stolen, I just need to simply engage the emergency override and start the car normally.

  11. First of all cool project! I have been thinking about doing something similar to my truck.

    Second, the key kills the engine and locks the steering column as he demoed it. If the computer dies while the car is running it will not affect the running engine (at least not from what I see in the demo). Good thing since it’s a Windows system.

    Basically he has cut the starter wire and spliced it into the computer. The problem is this is not real security. It is a trivial matter to start a car with just a screwdriver or two or a jumper wire.

    The starter has +12 straight from the battery, all you need to do is apply power to the ignition circuit (by popping the ignition and turning to ‘run’), then apply +12v to the starter solenoid and viola running car ready to drive.

    In order to foil thieves you would need to do more than that by cutting power to the ECM (Engine Control Module), Injection pump (if electronic), or some other much more obscure method. Want to get really fancy? Cut the feed from the TCM (Throttle Control Module) too. Then even if they manage to get it started it will only idle. Think defense in depth!

    The best method to secure a vehicle would be to re-write the ECM code to require a ‘PIN’ to allow the engine to run (Many Semi’s use this technology). But of course if I really want your car I just bring my own ECM, unplug yours and plug mine in (the one I bought at the junk yard).

    This will prevent the joy riders, but not a serious car thief. They can always resort to a car hauler / Tow Truck.

    However, I would never install a Windows OS in my truck. How embarrassing to get a BSOD when I change a gauge display or . . .

    I intend to build mine on Linux and Incorporate GPS, Backup Camera, Forward Facing Camera, all data available on the CAN bus will be logged as well as mp3 player and probably a few other things as well.

  12. Just a thought (and I believe they did this with the WRX’s brant systems) if you do need to lend someone the car setup a “valet” code that will only allow them to start the car a specific number of times before it locks them out

  13. @Tom: i don’t think he will need some approval for this. IMHO the worst case scenario is that the vehicle won’t start with this system -> no risk for traffic.

    In case of a failure of the system, the engine won’t stop, because the key is still in the lock at the “running” position. Only bad thing is, if he replaces all his gauges with the pc, he won’t have any information about the car.

    @Benjamin: The next thing you could do, is to connect the pc to the maintenance interface (OBD-II?), so you can get a lot more information out of the car.

  14. The car computer will allow you to press the “Start Engine” Button as many times as you need after the initial start, as long as the computer and hardware has not been through a power cycle.

    The ignition can not be hotwired from inside the car. The only way to override the hotwire is to pull out the intake manifold and manually hotwire the starter, and if you take out the manifold, it obviously won’t run.

  15. So somebody can’t boost your car and probably wouldn’t bother figuring out all the wiring to steal the eeePC, but that CD player just chillin’ in the glovebox looks awfully tempting…

    But seriously, while this isn’t a new concept, it has a very aesthetic interface and great application of engineering. And of course, it’s representing the manual in today’s obsession with automatics :)

  16. BSOD of death has not happened, nor will it. THe USB interface is HID compliant, so bsod would be cause by something completely different. Aslo, if you notice in the pictures, things in my car are all located differently. These pictures were all from different times, and also some were during my manual swap. Everything has been cleaned up

  17. WAIT. Is the only thing keeping you from starting the car (if you don’t have the PIN) a relay that goes to the starter?

    If so, this project is FAIL when it comes to security. Unless you are cleverly disabling your fuel injection system in a way that cannot be easily enabled again, then this system is marginally more secure than hiding a starter “kill switch” under your seat.

    It seems like an LCD is a bad idea for a dash cluster, the glare of the backlight would drive many people crazy at night. I guess it’d be cool to see this implemented with an LED-backlit LCD with local dimming? That’s something you could probably sell!

  18. Congratulations on a neat car pc install.
    eeepc excellent idea- small, cheap, lo power consume. Easy to add all sorts of features as well- TV, wi-fi, bluetooth acc, music jukebox etc.
    Top marks for the neat dash-screen fitout – looks factory.
    (did u use a ext touchscreen plugged in to eeepc?)

    One extra idea-maybe get car to start as you’re unlocking it by remote-ready to go!

  19. I guess from what he’s said about not disabling any immobiliser functions, that if you did not have the key, the cars original factory immobiliser would stop it running anyway. So he has the immobiliser + pin stopping someone just hotwiring the starter motor (At least in my car, the immobiliser provides the 12V to the fuel pump, no correct key present, no fuel!)

  20. @Tom

    What I’m pointing out is that the title makes it sound like the PIN is absolutely required for ignition. It’s not. All you need is the key, you can defeat the PIN “security” by simply jumping across some relay contacts. Pretty pointless if you ask me… It reminds me of keyless entry systems with the same thing. They call it an “immobilizer”, yet it can be defeated in seconds.

  21. I can answer the immobilizer question (at least for my car maybe some are different). If you short the starter relay and start my car without satisfying the other conditions for start (Key position, correct code on chipped key, Car in park/neutral, etc), the Engine Control Module won’t take over the fuel injectors, shifting etc, and the car shuts off anyway.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.