 So my name is Dan Smith. I'm a security researcher with interests in the automotive industry and financial sector and I Studied computer science at Lancaster and did a master's in cyber security and I Don't really have any formal background in car mechanics or car hacking It's just stuff that I picked up over the years since the age of 17 really when I learned to drive So I probably have about eight nine years experience just tinkering around the cars But it's it's nothing specialized. You know, anyone can do it really just with enough persistence and excellent googling skills so, yeah so One thing I have actually started from when I started this project one thing that has kind of led on from it I have started the UK's first open garage. So open garages is a group of People that are interested in car hacking and automotive tinkering really they started in the US and I've started the UK's first one It's just a vehicle research laboratory And it's where I do a lot of my work really for fun and So today I'm going to be talking to you about car hacking and some of my experiences and my journey so far More specifically about the retrofitting of modern technology into classic cars So it's probably a bit of a talk with a twist to other car hacking talks out there So, you know, what do I actually mean by a classic car? Well, I do not mean one of these things. This is the Ford Model T introduced in 1908 It's an antique. You wouldn't really find one of these on the road. So it's not like this It's not one of these either. This is a pre-war Volkswagen Beetle It's just too old really This is the era that I'm most interested in this is the Like 1960s 1970s post-war era. So you have cars like the Jaguar E-Type the Mini the MBG MG BGT coming into play and and really they're kind of like simplistic Cars compared to like modern cars. They're like the fundamentals put in place and they still bear some resemblance to modern cars And but they're just much more simpler And that's kind of really why I was interested in them more than modern cars because I didn't have any background in In automotive. So it was a good start in place for me really like a good base learning platform And then that's leading on to the modern era, which is where we are now obviously in the current world And I kind of compressed this category a little bit to include cars from the 80s and 90s because they've just sort of evolved and You know up to now you've got like Tesla Model S and BMW i8 are in this category as well and So I like to retrofit technology from this category and take it back to the previous category and So that's what I do for fun really And this this slide kind of like follows on from my previous point The cars like nowadays are just so complex I'm so simple at the same time like you open up the engine bay of any modern car and you're just presented with this glorious piece of soul-sucking plastic and You know you kind of look at it and go. Oh, yeah, that's cool But you have no idea how it works how all the systems fit together the immense complexity of what's actually lurking underneath there and So, you know when I started I was more tinkering around with things like this This is this is my car after I've been playing with it for a few years So it does look maybe more complicated than the last slide, but it's much more simple than you really think and You know all the parts are nice and easy to play with easy to work with It's just so much easier as a starting point than starting off with a modern car So this is actually my car this is the car that I do all my work on really This is a 1974 Ford Escort Mark 1. It's my first car. I had it since Again, I was actually got this when I was 16 so before I could drive So when I first got the car like eight or nine years ago It was pretty much stock as Ford would have made it in the 70s I had no one of the previous owners has really touched it and I think most, you know, the most luxurious thing about it was it had a cigarette lighter and a Reheated windscreen, which is kind of rare for the for this era See how it was stock it was a 1.3 in line for with a three-speed automatic gearbox So first gear gets you going second gear is your power gear third gear is your cruise gear on the motorway So it really was not good So version 1.1 of that I Kind of modded it a little bit and changed the three-speed auto gearbox to a four-speed manual and that kept me going for a bit and then When I went to uni, I started increasing the mileage that I was doing so I was going up and down the M6 between my home and Lancaster and So I started really racking up the miles and needed something that would be a bit more fuel efficient Which was something that I was concerned about so I decided to Upgrade the gearbox from a four-speed to a five-speed manual retrofitted out of a Ford Sierra So that's from the 80s. So my car is just like jumped ten years in the future really in part of this drivetrain and Like again that kept me going for a while as well and then towards the end of uni. I was like What else can I do to make the car a bit more efficient and this natural naturally let me on to Starting to mess around with some of the engine and some of the components that fit around with the engine as well So that's kind of really some of the stuff that I'm going to be talking about today and another driving force behind that and when I was at uni I Again was concerned with efficiency. So I really wanted a live miles per gallon Dash like you know one of them little functions that you have in any car now that tells you how well you're doing based on your driving So literally all of this is spawned from that one idea and here I am eight years later nearly Starting to actually get to actually do what I wanted to do Which is talk about this Yeah, so the three things I'm going to talk about today are we got efficiency and Which is where I'm going to discuss actually converting a car from carburetors to fuel injection and some of the stuff. I actually did both hardware and software and Then that kind of got the ball rolling and then I got hungry for a bit more and I decided I wanted to pursue Oh kind of jump on a little bit. So yeah, then I got a bit more hungry And I decided that I wanted to get a bit more power. So I'm going to go into how I how I did that as well without Implicate in the efficiency of the car too much and then finally it was the overall digitization of the car to really bring it into the 21st century and I luckily got to test drive the Tesla Model S. So that was a big influence on some of the stuff That I've done Yeah So first of all The big thing was to get away from the old analog system of Carburetors and move it towards the future or like how all cars are now Fuel injection. So it's just a different way of delivering the fuel to the engine in a more efficient manner So this led me down the road of Installing an engine management system. So really the central computer that all of you will find in all of your cars today And it's the one that's responsible for controlling the fuel the ignition and the timing of the car So again, my car had none of this and I had to build it all from the ground up and Get it all working And then luckily a friend that you need told me about It was like a Sort of like a DIY effort for building your own computer that controls your car and it was called Megasquirt It's a dodgy name, but it's actually a very good piece of kit and There's a really good community behind it as well. So that's The engine management system that I use. So as you can see here, it kind of comes a large circuit board like that and you You take delivery of it and you solder it together and this was my I've done soldering before from it from a Young age, but this was the first soldering project that I was quite serious And it it took me many hours to solve of this together. I ran into a lot of problems and It was a lot of diagnosis trial and error, but eventually I got a working board and Once I once I got it a bit further along I put it in a case and also if you see the other circuit board that's there that's Known as the Jim's dim. It's like a stimulator board So it's a way of being able to bench test the circuit board the other circuit board to make sure that everything's running as it should especially because fuel You know is involved and you're gonna be driving this on the road And it's your own safety and other people's safety that in the car is you and other people on the road. So You spend a lot of time more time in this Part of the process than the previous more than any really just making sure that the engine The system is running as it should and it's reliable and there's no problems. I Should add that this this mega square You you do have access to the source code So you can tinker with it and you can play around with it. It's very good for education for learning the fundamentals and It has some really advanced features in it as well, which is why I chose it over all others You can do cool things like water injection, which was you know taken You know, I think that was banned in the F1 because it made so much power in cars You can do launch control so you can like I call the Ferrari's and then they send GTRs. You can launch at the traffic lights Boost control, you know all sorts of cool things that if you put the time and effort in you can take full advantage of And it's a fairly peace. It's a fairly cheap piece of kit. That's only about five hundred dollars from the States So yeah, I got I got the computer all working was happy with it next stage was Next stage was to actually start Filling around with the car itself and so what you're seeing here. This is the VR sensor for the current case angle It's literally the main sensor that's responsible for informing the computer like sort of the timing of the engine and Again, like this. This is a very sensitive piece of the car. It's probably the most critical sensor above all Yeah, so it's one of the main inputs is what I should say and then this is one of the main outputs This is the throttle body that I used so the fuel effectively is injected Through that rail and down into the into the manifold which goes into the engine So this is one of the main outputs. It's where the fuel gets injected into the engine all of this I had to build from the ground up what I was trying to do was like 40 years in the future The my engine my engine was from the 70s and this stuff is well, this is like 2010 so It was a lot of a lot of time and a lot of effort Initially, I did I didn't actually start off with this I started off trying to use motorbike throttle bodies, which you which you can use but I got them off eBay and they turned out not being very good so and Then this is like the typical wiring diagram you can expect to be faced with when trying to do all of this Initially, it was really overwhelming Once you kind of break it down and go for it bit by bit It's it's really not that complicated and this is much simpler than anything that you're going to find in any of your cars today It just really highlights all of the most important parts Yeah, so that's pretty much the engine management system once you've got the computer in the car and all the parts fitting together You kind of load up some of the software on your computer You flashed the firmware across to it if you've made any changes in the code yourself They they get applied then and then you open up you open up another application And then that's actually when you begin to tune the car and get it to to run smoothly I Cover that a bit later on and so then the next Thing that kind of came along after the fuel injection So I made it a bit more efficient and it was running really well like much better than it ever ran on carburetors And so then I decided I wanted a bit more power as well. So this kind of led me down the dark path of black magic Ultimately arriving at the door of forced induction And so then I went scavenging around all the scrap yards for bits and bobs and ended up with a turbocharger after the voxel vector and so I converted that for petrol use and then started the removal of the engine again and Getting it ready for the turbo charge and so that all the turbocharger does is really compressed the air it uses heat recycled from the exhaust and it compresses the air going into the engine to make it more dense and Through doing that you can inject a bit more fuel and get a bit more power Where you actually get a lot more power and it's what all auto manufacturers are doing nowadays They're doing really small displacement engines like one liter 1.3 liters Three cylinders sometimes for and they whack a big well an efficient turbocharger on the side And that's how they're getting the power nowadays to keep up with the bigger cars But getting really high miles per gallon and so this is You know this was a bit before then so it's just funny that's how it's turned out now but it's obviously sort of the right way to go and The car here it took a bit longer than I intended because we started taking the engine out and Fiddling around with a car and then we realized that it was quite rusty So it had to go off to the to the spray booth for a few months, but when it came back it came back like this and We were starting to ready to put it all back together This is just a quick photo of me beginning to build the manifold So I just took one of the original Ford manifolds chopped the end off and started to weld together a small box for the turbo to sit on and With a lot of weld and Looking like this and again, this is like a one-of-a-kind part There's there's nothing else like it in the world for this engine and at the time when I made it No one else has really done that using the parts that I had used and the fuel injection because it's more complicated so I was really pleased and The engine ended up looking like this and then this is it in the car and then Pretty much we had to do a little bit of any other mods to the engine, but I won't go into them But effectively we just slapped it on the side and it seemed to work pretty well This is the car being mapped at the rolling road so What he's doing here is he's he's got the car strapped down to the floor and the rear wheels It's a real-world drive car so that the rear wheels are mapped on to the rollers at the back and And the car is then drove and each time he's driving the car He's sat in the car with his computer filling with the values in the in the software You used to like create a profile for your car for that for the for the ECU so It that was a full day, but by the end of the day the car was fully running The horsepower had gone from 55 horsepower, which is what Ford originally Designed engine for and it had gone to 110 so that was a pretty good power increase And I was really pleased actually because the car got featured in a classic Ford Mac And I did the prop the whole project so the fuel injection and the turbo charge cost me under a thousand and To buy these sorts of parts and do the rolling road and the engine management system You know if you could buy them it would easily be a few thousand probably more likely five thousand So that was a really it was really good effort. I think And that kind of like leads me so I've got like efficiency. I've got some power now and that and that kind of like led me to Finally getting back to what I wanted to do Which was create a digital dash that allowed me to view my miles per gallon and so I'd gone through years of pain and effort to finally get to this point and And this is sort of where I kind of got up to So as you can probably see on the table, this is the This is the original dash that I got out of the car and then this is now the digital dash that I've built and It's built to closely represent the original and The main reason why I wanted to build a digital dash was one the live miles per gallon And so, you know, I can bring that up whenever I want now But that having to have additional dials inside of the car to like ruin the the aesthetics and Secondly now because I have an ECU inside the car and I can do all of these cool things like launch control and water injection And boost control. I kind of want to be able to view all of that extra information that the engine The management system is capturing and outputting, but I have no way of seeing it So by having a digital screen, you know, similar to a smartphone You can alter the UI to reflect whatever you want really So with a bit more programming, I'm gonna get it to do all of the things I want it to do But for now it simply replicates the original with taco and rpm It's it is. Oh Did you guys see the slide or do I miss one you haven't seen this one? Sorry, I must have missed the keystroke. So yeah, this is the digital dash The blue the horrible blue Dash I bought that off a guy, but I haven't had time to fix fix it up yet to replicate the original But it is very very close and it is powered by a Raspberry Pi So there's an 8-inch 1080p screen in there powered by a Raspberry Pi 2 soon to be a Raspberry Pi 3 just for free upgrades It was the first project that I'd actually use the Raspberry Pi 4 for like a larger project not just like a little prototype and It was interesting. I was trying to get it to boot up in under 10 seconds To get a fast boot time I didn't want to put the key in the ignition and wait for the computer to be booted up for like a minute Which is some other examples that it's in on YouTube that people have done So in order to overcome that effort, I Looked at a few of the distros that are available like the slim down ones of Linux and I decided to make my own so It's running like a customized version of Linux with minimal tools Only what I need to to get the dash up and running as quickly as possible and and display the information that I want This is sort of like the system architecture diagram for the dash it's It's mainly focused around the Raspberry Pi and there's two shields So there's the sleepy pie shield which is responsible for more of the power management Unfortunately, the Raspberry Pi as good as a board as it is. It does not include very good power management by default You literally plug the cable in it turns on you shut it down It stays on in a sort of low power state you physically have to unplug the cable again To actually get it to turn off So the first big problem I had with this dash was I could get it to turn on when I put the key in the ignition But I could not get it to You know what in a safe way get it to shut down again You simply just be turning the power off and the the the dash will just lose all power So keep doing that a few times and you're going to start corrupting some of the operating system on it so the sleepy pie is responsible for Effectively listening for the external event from the ignition key being turned off and then it's actually able to send a Command over the GPIO ports of the Raspberry Pi and get it to shut down in a safe manner And there's also a watchdog timer that does a hard cut off after 60 seconds if The Raspberry Pi is not shut down. So it will stop your car battery from draining in a few days If it does happen to crash on shut down And then the second shield that's on there is the canvas shield so this is probably one of the only mark on escorts in the world that actually has canvas retrofitted into it and Can bus is responsible for connecting all of the different sensors and devices in modern cars together and get them communicating It's it's really how they cars have become so much. It's really the reason why cars have become so complicated nowadays You know, there's not like a wire to wire going everywhere There's like power and then two wires and other data channels and you really can't you really don't know what's actually going across them data channels and so I've actually taken that and retrofitted it into my car and That is why is responsible for communicating with this is the ECU so pretty much this dash two wires going across communicates with this and This is this is what sends information across to that and gets it to Move the dials and such I hopefully was gonna get it working today But unfortunately just as I was putting it all together The the cable snapped and I was running a bit later your time setting up So the dials would be normally be moving, but unfortunately I couldn't get the cables working in time And so some of the other things on the on the on the architecture diagram I've got a 4g dongle and a Wi-Fi dongle and a GPS antenna so The 4g dongle I'm currently not using but I do intend to use it So at the moment, it's simply just a dash and nothing more and I have lots of development and progress As soon as you put a 4g dongle in into that it becomes internet connected and what you can do with it becomes a different realm And and you know, that's what the auto manufacturers are starting to do now even with the cheaper models the volume models that they're producing they're starting to make the cars internet connected to do weird and wonderful things and I know a few of the auto manufacturers have started to run into trouble with cars Being hacked and such and you know as soon as you put As soon as you make the car internet connected You just open up to a whole new world of pain of problems that you have to deal with and so it is planned for me to make it 4g enabled and Get it to do some cool stuff, which is covered in the next slide, but right now it doesn't have it Simply because I'm a little bit scared of it And I also plan to put a Wi-Fi dongle into it so you can effectively share You can take the 4g signal and it rebroadcasts over Wi-Fi to anyone else in the car doesn't have 4g just a convenience really I love GPS in there that the mark 1 escort was featured in Fast and furious 6 I think and since that film came out It was the car that Paul Walker drove in the film and since since that film came out They've just soared in popularity and a lot of people have been reporting having them stolen so one of the things I want to do is And develop my own GPS tracker So you need a GPS dongle for that so if the car does get stolen you're able to find out where it is. Hopefully in retriever So you have a GPS receiver for that which receives your coordinates And then you'd use the 4g dongle to transmit it to a server Somewhere where you're able to view the data and like an application similar to Google Maps or Google Street View and Google Earth sorry Yeah, and Kind of like from a more security Perspective on that as well some of the other things I would like to have a play around with with the sleepy pie because it does use a really low power optimized Arduino to actually Do the controlling so it does have quite a few more GPIO Pins and the raspy pie so some of the things I would like to have an experiment with at some point is developing developing my own key fob to do keyless unlocking and locking and as well as some of the central locking and you know, maybe even like keyless completely NFC sort of style Locking and locking of the car of the car and but that's all future at this point and then a Bit further on down the line. I'd probably say I'm nearly at the end of phase one now but phase two is develop some server-side Technology to you know, if the car is stolen The GPS coordinates are transmitted somewhere where you're able to view them so I'm probably going to build some some stuff for that and Have a tinker round with building some back-end services that can process all of that as well as kind of take a leaf out of Tesla's book and As well as like copy in their screen sort of Develop like an iPhone app that you know Could potentially interact with the car and get it to do cool things like turn it on turn it off, you know lock-on lock All of this like remote functionality and and I probably will make this project more open source so other people can contribute to it and Be a lot more transparent than the automotive industry is at the moment each automotive each automotive manufacturer seems to have their own way of making things and doing things and There's not really much standardization so This would be a way of maybe moving the industry forward a little bit more in that direction by offering a solution that is open The some of the larger automotive manufacturers maybe could contribute towards I don't know for me at the moment It's just for fun And you know, I want to be able to lock and unlock my phone my car from my phone and by extension my watch Yeah So yeah, I There is actually one more thing I want to try it may work. It may not it was working earlier So I just need to take the laptop away for a minute. So this is something that I Only got working a couple days ago and it is a bit buggy So it may or may not work, but we will soon find out Bear with me so so I recently got an email and It was from plural site and they were telling me about some of the tutorials now that you can watch for Amazon Echo and Alexa So Alexa is Amazon's effort to be an alternative AI to technology such as Apple Siri Microsoft Cortana and okay Google so Amazon's also Got theirs going and theirs is a little bit more open Than some of the others so you can actually interactive it and I've managed to get an implementation of it running on a Raspberry Pi here So it wouldn't actually take much effort to like retrofit this into my car You literally just have to put a button somewhere in the dashboard Have it connected to the pie of the GPO ports run some software on the pie that There's a guy in London. He's made a Python implementation of the version one of the Alexia API and it seems to run Okay, so that's what I'm going to try and run now and We will see so we will see Hello, how are you? Tell me a joke a cow with a twitch And you get it's just like sort of pointless you but it's also good at the same time and So this is like actually Implementing the AI sort of one of the endpoints on the Raspberry Pi But you can also take it to the other end and actually Get it you can actually implement your own actions So you can effectively dictate your own voice commands and actually get it to do stuff and it's much more open than some of the other services available and You know at this one you can ask it really weird stuff and it's actually able to respond. So million eight hundred ninety eight octillion five hundred ninety nine septillion nine hundred ninety nine sextillion nine hundred ninety nine Quintillion nine, huh? I think you get the idea Anyway Anyway, if you want that in your car, then come talk to me after And I'll give you the gist of what I've done, but um, it's pretty much it