Master Hex: Decoding CANBus Data Made Easy — Transcript
Full transcript
- 0:00welcome back car and tech fans and
- 0:01welcome to
- 0:032025 at the end of last year we dipped
- 0:06our toes ever so slightly Into the Dark
- 0:10Art of canvas sniffing and in this video
- 0:13we're going to stop dipping like C we're
- 0:15going to dive head first straight into
- 0:18that deep pool and by the end of this
- 0:20video hopefully three things will have
- 0:22happened one we'll have pretty much a
- 0:25complete breakdown of what all of the
- 0:28canvas values for the 350 ZR two you
- 0:33should be able to take a look at a
- 0:35screen of canvas data like this and find
- 0:38it a lot less daunting and actually
- 0:41understand what's going on with it and
- 0:44three for those of you who don't already
- 0:45know it you should have a really good
- 0:47understanding of how we convert numbers
- 0:49like normal Arabic numbers that we use
- 0:52every day into binary and then into
- 0:56hexadecimal codes which is what is used
- 0:59in this canvas reader it seems all
- 1:02matths and scary but it's actually not
- 1:05and I think when you realize what is
- 1:07going on with the canvas and what the
- 1:09numbers actually mean it's actually not
- 1:11at all intimidating it's actually pretty
- 1:14cool how it all works so let's get into
- 1:17it I should note that if I sound a
- 1:18little horse throughout this I've been
- 1:20ill all over Christmas and New Year for
- 1:23the second year in a row so I'm just
- 1:25getting to the end of it so bear with me
- 1:28at the end of the last video we put
- 1:29together together this OBD2 reading
- 1:32canas sniffing esp32 distributor Thing
- 1:36by Mr DIY amazing little tool and it was
- 1:41really useful for getting the some of
- 1:43the canvas code filtering out the stuff
- 1:45that we wanted and then Distributing it
- 1:47to a couple of gauges over ESP noun in
- 1:50this video we're going to use it for a
- 1:52slightly different purpose and that is
- 1:53basically just as a forwarder to using
- 1:56Savvy can on a laptop through a wireless
- 1:59connection
- 2:00so we can just live view and analyze all
- 2:03of the data coming out of the canvas
- 2:05perhaps one of the coolest things about
- 2:07this something I didn't expect is when I
- 2:09went onto Mr diy's website here to look
- 2:12at the code that allows you to do this
- 2:15as a
- 2:16distributor and you go down to the
- 2:18bottom there's some code examples and
- 2:21you it says here you can Flash the ESP
- 2:2332 R which is the the the file system
- 2:26that we need that does this distribution
- 2:28or directly use my online flasher so we
- 2:31went to this and then the savian esp32
- 2:37r and you can just click flash at the
- 2:40bottom of the page plug in your esp32
- 2:44like
- 2:46so kick the link here
- 2:49connect and then it connect and download
- 2:52all the codes that you need to install
- 2:54onto this to run it straight from the
- 2:58website I've never seen that before I
- 3:00think that's ridiculously cool so uh
- 3:02great job Mr DIY for sorting that out
- 3:05but I don't need to do it again because
- 3:06it's already done it took about 2
- 3:08minutes um yeah dead simple so this
- 3:10thing's now ready to go and throw in the
- 3:12car use a laptop and sense all the canas
- 3:16data so let's go take a look at a couple
- 3:18of things and then I'll explain what it
- 3:21is that we're really looking at so at in
- 3:24the car we'll start just by plugging
- 3:25this thing in down here
- 3:30if we're all good and green light should
- 3:32come on put the keys
- 3:35in then turn oh I don't even need to
- 3:39turn uh the blue light has started
- 3:41flashing which means we can bring up the
- 3:46WiFi and here's the can Wireless which
- 3:48is Distributing from that and we've
- 3:51already put the password in if you're
- 3:53using the flashed thing from Mr DIY the
- 3:56password is Mr DIY doca
- 3:59and then we can boot up savian which we
- 4:01looked at in our last video but this
- 4:04time it's going to go into the open
- 4:06connection
- 4:08window add a new device connection over
- 4:11the network it populates that already
- 4:14create a connection and
- 4:17boom canvas data and it comes and we
- 4:21want to keep overwrite mode
- 4:24on so what that will do is show us this
- 4:27so this at the moment is in ACC mode so
- 4:31the the car isn't started up actually
- 4:33it's not even the key is just in so the
- 4:35key in and so these are the things that
- 4:37go no matter what what what we want want
- 4:40to start doing is finding things that we
- 4:42can that whilst the car is in the most
- 4:45minimal State possible so this at the
- 4:47moment is pumping out 10 different
- 4:49canvas IDs there are going to be a lot
- 4:51more than that but because the car has
- 4:53just got the keys in and the ACC isn't
- 4:56on the engine isn't on it only a few
- 5:00things so it'll find main finding things
- 5:02is a little bit easier before all the
- 5:04other stuff comes into play so let's
- 5:06take the lights for example because
- 5:09there are various types of data that
- 5:12we're going to be looking for ones that
- 5:14are a flag so something that is on and
- 5:16off like a light or a door is open
- 5:19there's something that is a real range
- 5:22so something that goes from say um 0 to
- 5:27100 it might be at a temperature um it's
- 5:30within a range and the the final value
- 5:32is less than
- 5:34255 you'll understand why that number is
- 5:36important in a bit if you don't know
- 5:37about heximal or there is something that
- 5:40runs over a large range and that has a
- 5:42multiplier flag so something like the
- 5:45RPM which can go from zero through to
- 5:47several thousand and they work in a
- 5:50slightly different way so we're looking
- 5:51for different types of data moving in
- 5:55different ways so let's start with the
- 5:58simplest one flag and also it's it's
- 6:01important to remember that the data that
- 6:02we're looking at on this screen these
- 6:04numbers aren't really numbers so like 50
- 6:08here isn't really 50 it's 50 in heximal
- 6:12which means something very different
- 6:15which we we'll get to in a minute so one
- 6:18thing that will work whilst all this is
- 6:20off is my lights so if I put on my side
- 6:25lights or my parking lights depending on
- 6:28what you call them we're going to look
- 6:29for a value changing so I'm just going
- 6:31to go on off okay you can see two values
- 6:36there the
- 6:3840 here and the 04 here so that's when
- 6:42it's on and off then if I go to main
- 6:45beam
- 6:500660 and then if I go to flash my full
- 6:54beams 70 okay so that one goes at the
- 6:58top 70 the bottom one doesn't go then I
- 7:01push it forwards to form beam all the
- 7:04time that top one so that top one looks
- 7:06like the best candidat that's going from
- 7:090 to 40 to 60 to 70 though that's not
- 7:15really like I say 0 20 40 60 70 it's
- 7:19heximal 20 40 60 70 which I'll explain a
- 7:24second so we've just got those lights so
- 7:26that's a flag type so it's something
- 7:28that changes is a state from on to off
- 7:31so that means we know that ID
- 7:36625 in bite position two so this is the
- 7:41second bite is to do with the lights so
- 7:45if
- 7:47040
- 7:486070 isn't really 040 6070 in the way
- 7:52that you know it what is it and how does
- 7:55it pertain to what the ECU in the car is
- 7:59actually looking at in order to better
- 8:01understand that you need to know how we
- 8:03convert from decimal to Binary and
- 8:05binary to heximal which is what is used
- 8:08in the car so let's do a little bit of
- 8:11learning if you obviously know how
- 8:13heximal Works already you can maybe skip
- 8:15on to the next chapter but it's always
- 8:16good to review and refresh your
- 8:18knowledge either way I'm sure you're
- 8:20perfectly well-versed with a normal
- 8:23counting system that goes from zero to 1
- 8:27to two to three all the way up to nine
- 8:31this is our normal decimal counting
- 8:34system Dei meaning 10 and it is a base
- 8:3910 system which means that it has 10
- 8:42digits so 0o through to nine and when we
- 8:46get to the last one it Loops back to the
- 8:50first digit and then it increments the
- 8:53next digit along as a flag to show that
- 8:56we've gone up another level so when we
- 8:58get to n n when we're counting it
- 9:01reverts back to 10 and then the next
- 9:03digit along to the left goes up to the
- 9:06next value 10 and then that repeats over
- 9:10and over so this one goes up until it's
- 9:1119 and then that one ticks over one more
- 9:15and this one goes up to the next value
- 9:17two and that is normal you know you know
- 9:20how numbers work you've been using these
- 9:22Arabic numbers your entire life you
- 9:24probably also know that a computer looks
- 9:27at code as a stream of zeros and ones
- 9:32bit data or binary data but how do we
- 9:36convert this decimal system that we see
- 9:39every day into computer binary code well
- 9:42it's actually pretty
- 9:44simple each one of those zeros or ones
- 9:48can be that only zero or one that's all
- 9:51it can be it's off or on it has two
- 9:55states and each one of those is known as
- 9:58a bit and I'm sure you've heard about
- 10:01bits before and you'll see bit written
- 10:04as a lowercase b so if we have a th000
- 10:07bits it's K lowercase b k being thousand
- 10:12but then we have bites and bites are
- 10:15written with an uppercase B so if you
- 10:17see KB that means th000 bytes and a bite
- 10:22is eight one two 3 4 five six seven
- 10:27eight bits and at this point in time
- 10:30that bite is the value zero because
- 10:33absolutely nothing is flagged onto it
- 10:35what we need to know is how we convert
- 10:39this number to a big one so let's just
- 10:42make it bigger here four five 6 7 8 so
- 10:47binary data is counted from the right
- 10:50and we double the value each time so
- 10:54this very right hand side one is worth
- 10:57one the next one is worth two 2 then
- 11:00four and we continue to double all the
- 11:03way up so 16 32 64 and
- 11:08[Music]
- 11:10128 so if we were to turn all of these
- 11:13on so these were all to become ones 1 2
- 11:173 4 5 6 7 8 you would add up all of
- 11:22these numbers so we've got 128 we've got
- 11:2564 we've got 32 and we've add them all
- 11:27up and that would equal
- 11:31255 which is why
- 11:34255 is the maximum value that a single
- 11:39bite can be so a maximum of a single
- 11:42bite is 255 so if we want to capture
- 11:45data that's greater than 255 we need to
- 11:48use multiple bytes but we'll get to that
- 11:51in a
- 11:52second so when we're converting from
- 11:55decimal to Binary let's say we take the
- 11:57number the decimal number
- 12:01143 how do we convert that into a binary
- 12:04number so like we said each binary digit
- 12:06is worth 128 64 32 16 8 4 2 and one so
- 12:17does 128 go into 43 yes it does which
- 12:23leaves us with a remainder of
- 12:2715 so 14 3 - 28 is 15 so does 64 go into
- 12:3315 no does 32 go into 15 no does 16 go
- 12:37into 15 no does eight go into 15 yes
- 12:43which leaves us with a remainder of
- 12:44seven does four go into seven yes
- 12:49remainder three and we can see here
- 12:51these two are going to make that last
- 12:53three so the decimal number for 143 is 1
- 13:000 1 1
- 13:03one1 pretty simple R but when we were
- 13:06looking at all that canas stator in the
- 13:07code it was always two digits and there
- 13:10were numbers from zero through to nine
- 13:12and then there were a few letters in
- 13:13there as well and that's where we
- 13:15introduce heximal and really all heximal
- 13:18is is a shorthanded way of visualizing a
- 13:22bite of data let me show you how that
- 13:25works as we mentioned at the start
- 13:28decimal is a BAS Bas 10 system whereas
- 13:31hexad decimal or just hex for short
- 13:35meaning six and 10 is a 16 base
- 13:40system so instead of counting Z up to
- 13:46nine so 10 10 moves as it were this one
- 13:51Counts from zero up to F which is 16
- 13:55moves
- 14:00so it
- 14:02counts
- 14:040 1 2 3 4 5 6 7 8
- 14:139 A B C D E and F so 0er through to 9ine
- 14:22mean exactly the same thing value-wise
- 14:26and then when we get Beyond 9 these
- 14:30become 10 11 12 13 14 and 15 so if we go
- 14:37from 15 through to zero because it's the
- 14:39extra that's 16
- 14:42moves which is where it gets its name so
- 14:46if we want to represent the number
- 14:4914 we just write it as e so e is equal
- 14:54to 14 and that's decimal 14 is equal to
- 14:59to hexadecimal e the thing is these
- 15:03numbers top out at 15 this is the
- 15:07maximum number a single heximal value
- 15:11can be represented as it maxes out of 15
- 15:15so how do we use it with our previous
- 15:18example of decimal 143 we've got this
- 15:21binary number how do we convert this
- 15:24into what we're seeing in the canvas
- 15:27let's take our number that we used
- 15:28before 4 1 0 0 0 1 1 1 1 remember that's
- 15:34143 the difference that hexad decimal
- 15:37does is it takes that long 8 by number
- 15:40which originally went from one here up
- 15:43to 128 here and it splits it into two
- 15:49individual four bit portions and then it
- 15:53treats them as 1 2 4 8 and 1 2 48
- 15:59and the reason heximal works so well is
- 16:02when you add up these four values 8 4 2
- 16:06and 1 it gives you the maximum value
- 16:08that each 4bit section can be which is
- 16:1315 and as we just seen in the previous
- 16:16one the maximum value of a hexadecimal
- 16:20is
- 16:2215 so we know this side is 8421 so this
- 16:26one is 15 and 15 is represented in
- 16:30heximal by F and this one is just8
- 16:34because we've got the eight here so this
- 16:38number 143 in decimal is equal to 8 F in
- 16:45binary so eight from that side and F
- 16:47from this side so as these numbers
- 16:50increment what you'll generally see is
- 16:52if it starts at 0 0 in an example where
- 16:55we're going from the lowest value
- 16:58through to the maximum value which is FF
- 17:01what typically happens is the right hand
- 17:03side one increments so it will go 0 1 2
- 17:063 4 5 6 7 8 blah blah blah all the way
- 17:09up to a b CDE e f and then when it gets
- 17:12to Zer f it then becomes 1 0 and then
- 17:16that one goes up 1 2 3 4 5 6 7 all the
- 17:19way up to 1 F and then becomes two 0 so
- 17:23when I said that 20 40 60 70 aren't
- 17:29really 20 40 60 70 this is what I mean
- 17:33so what really are we looking at when we
- 17:35see that value for the lights go from 0
- 17:390 to 40 to 60 to 70 let's just plot
- 17:45those
- 17:48out if we're going to treat 00
- 17:510 40 60 and 70 as hex what we need to
- 17:57remember is they are all two individual
- 17:59values so the right hand side in each
- 18:02one is always zero so we can assume for
- 18:06all four of these the right hand side is
- 18:10all zeros so for the zero the four the
- 18:15six and the Seven they're all zeros
- 18:18along this
- 18:23side now when we're z z and nothing is
- 18:27happening these ones are also or zero
- 18:30when we're at four if we remember we've
- 18:32got 1 2 4
- 18:368 when we're at four that means this one
- 18:40here four is
- 18:43on so our side beam is basically not
- 18:48really 40 it's saying this bit here that
- 18:53one bit that we're interested in has
- 18:56changed from a zero to a one so that
- 18:58changing from Z to one is the computer's
- 19:00way of knowing that those Sid lights are
- 19:03come on so if we want to analyze this we
- 19:06can look at this whole bite of
- 19:08information request just the second bit
- 19:11and say is this Bit Zero or one and
- 19:14based on whe which one it is we'll know
- 19:16whether or not those S side lights are
- 19:17on when it goes up to six six will be
- 19:21done with four and two so 0 1 1 0 so 2 +
- 19:274 is six which means side lights are
- 19:31still on because of course the side
- 19:33lights are still on when you put the
- 19:34four beams on the side lights are still
- 19:37on but now two has come on so this bit
- 19:40here is the indicator of full beams and
- 19:4570 is 0 1 1 1 so 4 + 2 + 1 is 7 so this
- 19:52bit here then indicates that the full
- 19:55beam has been put on so like I said
- 19:59we're not really looking at 40 60 and 70
- 20:02as the way you think of them in decimal
- 20:04values really we're just thinking of the
- 20:07left hand side of those numbers as four
- 20:10six and seven and they're these
- 20:12individual flags for each one so we know
- 20:17bit number two here is the side lights
- 20:22bit number three is the main beams and
- 20:28number four is the full
- 20:32beam hopefully that's made you realize
- 20:34it's not actually all that complex and
- 20:36it's a just a way of visualizing that
- 20:39number from zero up to like I said a
- 20:41maximum of
- 20:44255 in a way that is much more shorthand
- 20:48so instead of having between one and
- 20:50three digits so from zero up to 255 it's
- 20:53just always represented as two digits
- 20:57and it's just a wave keeping things
- 20:59really nice and consistent and quite
- 21:02Visual and easy to like scan through but
- 21:04what about numbers that are greater than
- 21:06255 let's take our RPM for example they
- 21:10need to go to much bigger numbers so how
- 21:13do we do that and that's where something
- 21:15you might have heard me talk about in
- 21:16our last video comes in which is big and
- 21:19little Indians and they're just
- 21:21modifiers that basically say don't do
- 21:23this in one bite do this in two and
- 21:26again fortunately it isn't all that
- 21:29complex let's say we've got an ID X so
- 21:34ID in our car doesn't matter which one
- 21:36it is is X and we know we're looking for
- 21:40the RPM so the RPM is going to be a
- 21:43value that is generally speaking going
- 21:46to be greater than
- 21:49255 so a single bite won't do it but it
- 21:53might start with a a z0 value and then
- 21:58it
- 21:59increases up to its maximum of FF and
- 22:03then it goes back down to zero again
- 22:05then starts counting up again until it
- 22:08hits FF and then another bite usually
- 22:12positioned next to it will increase by
- 22:15one so it'll start here and when this
- 22:17gets to FF it's still 0 0 but when it
- 22:20goes back down to 0 0 The Next Bite will
- 22:24go to 01 and that's just a flag to say
- 22:27this one previous has gone up by one
- 22:30value and then it'll do the same again
- 22:32it'll increase until it hits FF and then
- 22:35when it comes back down to zero again
- 22:37this next one will go from 01 to
- 22:4102 which hypothetically means we can go
- 22:44all the way up to FF
- 22:48FF which would be a lot more digits it
- 22:52would be 11 one one one one one one one
- 22:55one one one one one one1 and if we just
- 22:58keep doing that doubling thing so 1 2 4
- 23:028 16 32 64 128 then this one starts to
- 23:07become 256 512 1,24 248
- 23:13496
- 23:168,192
- 23:1816,384 and
- 23:2232,768 which when we add up all the ones
- 23:25together gives us a maximum total
- 23:29of
- 23:30[Music]
- 23:3265,536 which is more than enough to
- 23:35encapsulate pretty much everything that
- 23:37you might want within a range RPM is
- 23:41probably not going to go over 65,000 now
- 23:44obviously these digits when they're this
- 23:46way round and having this number here
- 23:49this one is actually these ones and then
- 23:54this number here is this one so they're
- 23:58back
- 23:59backwards and when we talk about big
- 24:02Indians and little
- 24:06Indians that's what this means so big
- 24:09Indian is when we take this number
- 24:12that's on the right hand side when we
- 24:14use it we technically are using it here
- 24:18so it's actually 0 0 FF so big endian is
- 24:21that swap around of taking the bite that
- 24:24follows and moving it into the position
- 24:27before before we do our math function on
- 24:30it so now that we know how this
- 24:32numbering system works and how this
- 24:34counting system works it makes staring
- 24:37at that re of data a lot less
- 24:39intimidating because we just know it's
- 24:41like a z0 is just zero whereas FF is
- 24:44showing is that the value is 255 so it's
- 24:46it's maximum where something like 87 is
- 24:50like you know kind of in the middle and
- 24:52also knowing how to look for those
- 24:55ranged data so something that goes up
- 24:57from 0 0 to FF and then drops to 0 0
- 25:01again and then has another bite next to
- 25:03it that increments means that we can
- 25:05start to look for those things that
- 25:07going to have larger ranges so with that
- 25:09information fresh in our heads we can go
- 25:11back out into the car and start to look
- 25:13for some of those things that work in
- 25:16ranges as opposed to just on off Flags
- 25:19right so continuing on let's try and
- 25:21find some other things so I'm going to
- 25:23turn the car to ACC mode and a lot more
- 25:27idas have come through
- 25:28so there's a lot more stuff happening
- 25:30but it means we also have access to more
- 25:32things so if I let's say another one
- 25:36that's a flag state is an
- 25:37indicator so I'm going to put the
- 25:40indicating left and there we can see at
- 25:4460
- 25:45D this is going from 06 to 26 so that
- 25:50means one of those bits is flagging on
- 25:53and off and I expect if I go right I bet
- 25:55that goes to
- 25:5746 yeah
- 25:58yet and if I put on my
- 26:02emergency that should go to
- 26:0566 exactly as I expected because we've
- 26:08got the one bit for the 20 flag we've
- 26:10got another bit for the 40 flag and then
- 26:12we've got both bits on together for the
- 26:1560 flag it's all very clever then there
- 26:18are a bunch of other flag position stuff
- 26:20so things that are on and off so I've
- 26:21got uh the button that turns on and off
- 26:25my rear heated wind screen so let's turn
- 26:28that on and off and just look for
- 26:29something that changes in fact there is
- 26:31first row you see 32 to 33 32 33 so that
- 26:39turns on and off so that's where that
- 26:41flag is what about AC
- 26:45on
- 26:47off yeah so the row below that turning
- 26:51AC on C 0 becomes C1 so that's AC on and
- 26:57AC off so it's
- 26:5935d what about opening the
- 27:10door uh here
- 27:1360D that's 0 0 in the first row 10 when
- 27:17I open the driver
- 27:19door and then passenger
- 27:24door
- 27:26um yeah 08
- 27:30yeah so there's a flag on both of those
- 27:33now let's try something that's not a
- 27:35flag type something that'll have a range
- 27:38my accelerator even though I'm stopped
- 27:40should still have a position sensor so I
- 27:42should be able to get my accelerator
- 27:45position which would be good because we
- 27:47can use it to rule out other things
- 27:49later on cuz when we've got the car on
- 27:52and we're running if you're trying to
- 27:53differentiate between um your foot
- 27:57throttle position how far it's down and
- 27:59then your throttle plate position how
- 28:01open it is and then your RPM and your
- 28:04speed and your math air intake level
- 28:08like there's a lot of things that run
- 28:10like concurrently with each other as the
- 28:13levels all go up and down so if we can
- 28:16eliminate some now before those other
- 28:19things are running it makes our job a
- 28:21little bit easier in the future so I'm
- 28:25going to just put my foot slowly down on
- 28:28the pedal and then look for things to
- 28:30change and you can see straight away
- 28:33this 231 line here jumps down so if I
- 28:37get my foot all the way to the
- 28:40floor this first value here as I slowly
- 28:44move
- 28:45down this one
- 28:47increases all the way up until it
- 28:51gets to where is it stop
- 28:54at it stops at C8 which is
- 28:58pretty far down 2 31 C8 I'm not sure
- 29:02what these two are next to it they seem
- 29:05to go alongside it but this one
- 29:08definitely runs from zero through to a
- 29:11quite high value
- 29:13C8 um are there any
- 29:16others oh okay there we go that flag
- 29:22there
- 29:24goes then my foot's all the way at the
- 29:26floor so
- 29:2823d goes from full
- 29:31zero through to full
- 29:35FF which is maximum all the way down
- 29:39foot on the floor FF so that's using the
- 29:43full range so that one 23d bite one but
- 29:47it's the second place but it's bite 0 01
- 29:50second bite is the throttle position
- 29:54that means we can eliminate that one
- 29:55that one won't be RPM and it won't be
- 29:57thrott throttle plate or anything like
- 29:59that so the throttle position there what
- 30:01about brake does breake have variable
- 30:03positions uh it's looking for something
- 30:05there it is 29e at the
- 30:07bottom so as I put my foot on the brake
- 30:10it's got It's just on and
- 30:14off so there's that 40 flag there so
- 30:17that's breake on that actually is
- 30:20probably more likely break light than
- 30:23brakes
- 30:24because yeah it's probably more likely
- 30:26brake light is on so that's useful
- 30:29rather than like any throttled position
- 30:32so that's some useful information now we
- 30:36know what some of these bites are the
- 30:39things that are going to get more
- 30:40difficult are oil pressure oil
- 30:43temperature water temperature which are
- 30:45three that we really want but when we
- 30:47start the car the temperature is going
- 30:49to be low and like are going to slowly
- 30:51rise and the pressure is going to be
- 30:52high and is going to slowly drop and
- 30:55when we turn the car on this is going to
- 30:57become mass of swilling information so
- 31:01what we want to try and do is like
- 31:03filter down as quick as we can to some
- 31:06of those things now I do have some
- 31:08candidates I found a couple of people
- 31:10who have created um templates for the
- 31:13350Z though they're very incomplete and
- 31:15I think some of them are wrong and I I
- 31:17found templates for the 370Z and another
- 31:21niss and the X teror and they both are
- 31:25using a lot of the same IDs so there's a
- 31:27good chance
- 31:29some of the information will be the same
- 31:31so I've got some candidates for what a
- 31:34couple of them could be for RPM oil
- 31:37temperature water temperature I've got
- 31:39no candidates for oil pressure so that
- 31:41one we're going to have to try and find
- 31:42out um and then speed I've got a
- 31:44candidate for as well even though I'm
- 31:46sure I've got RPM and speed locked down
- 31:49already um so I'm going to start up the
- 31:51car and then we need to see we need to
- 31:54try and get the temperatures and the
- 31:55pressures pretty quickly because they
- 31:57get to a point then they level and
- 31:58they're going to be a lot harder to find
- 32:00and we can optimize on some of the other
- 32:03views to do that so if I go
- 32:05into
- 32:06um if I go into
- 32:09tools and flow
- 32:13view we'll bring up this and if I go to
- 32:16live mode so this is it graphing what is
- 32:20currently
- 32:21outputting so we know based on this
- 32:26previous thing that our throttle
- 32:28position for example down here is this
- 32:31one so 23d is our throttle position so
- 32:35if we look at
- 32:3623d here you should see as I put my foot
- 32:40down see that green line go up to the
- 32:43top and then come down and that's
- 32:45following my foot so that is a really
- 32:49good way of just
- 32:51visualizing what this one is so that
- 32:53that's a a clear clearly this one it's
- 32:57going to be more difficult to try and
- 32:58find things that start low and move high
- 33:00and I'm hoping they're going to be
- 33:02either in Fahrenheit or Celsius just a
- 33:04direct number because that means
- 33:07there'll be a rough range um so
- 33:09temperatures right now it's about 8°
- 33:12here which in Fahrenheit must be uh 30
- 33:16something so maybe there'll be a value
- 33:18in the 30 somethings that will increase
- 33:21guess the only thing we can do is start
- 33:23her
- 33:24up and uh see what we get
- 33:29okay just start it
- 33:31oh
- 33:32so what that red line
- 33:38[Laughter]
- 33:41there that that red
- 33:44line I'm pretty sure is our
- 33:48RPM straight what straight off the
- 33:51straight off the backat let's just
- 33:52remove these and just leave four
- 33:54afterwards and I expect as this one goes
- 33:58up we'll see the bottom this next one
- 34:01after it tick up which is the third type
- 34:04that I was talking about which is an
- 34:06Indian
- 34:08flag yeah okay I'll all again so there
- 34:12are some bits of information that
- 34:14consist of two bites one bite which is
- 34:16going up and then as the first bite goes
- 34:18up the second one then has a tally to
- 34:21say that goes up further and it's the
- 34:22big and small Indians but right now
- 34:24let's see if we can just see anything
- 34:26that's a candidate for temperature and I
- 34:28would expect because they're sensors
- 34:30they're not perfectly one number and
- 34:32they'll be they'll be flickery numbers
- 34:35they'll be
- 34:36like okay something High there
- 34:4025 let me just see what my candidates
- 34:43were so in my candidates list 551 was an
- 34:48engine temperature so I'm just keeping
- 34:51an eye on this and potentially this blue
- 34:54line I mean any of these three lines
- 34:57could be it
- 34:58I'm just keeping an eye on them seeing
- 35:00how they move cuz at the moment yeah
- 35:03this bottom one is stuck
- 35:05around 75 no about 85 the green one is
- 35:09up at 120 and the top one's at 160 they
- 35:13could be a number of things now if if
- 35:16any of them were pressure if I put my
- 35:18foot down the pressure should
- 35:24rise yeah pressure's right up so none of
- 35:27them are pressure
- 35:28so I'm just going to come back to those
- 35:30in a minute and see if there's anything
- 35:32else here that rises with me putting my
- 35:34foot
- 35:37down sorry neighbors out on the drive R
- 35:40in your
- 35:42car uh
- 35:50ni ni okay let's go back to the start of
- 35:53the list and work our way down pretty
- 35:55sure it's going going to be that one
- 36:08no
- 36:16next uh it's moving but not
- 36:20sufficiently oh there's
- 36:22something 23 three what's that green
- 36:26one that settle at
- 36:28150
- 36:30160 my pressure right now is on the
- 36:33gauge is telling me it's at
- 36:3655 so if I move it up
- 36:39to
- 36:4490 okay it's definitely it definitely
- 36:47moves up it's 90
- 36:51PSI and then okay we've got this middle
- 36:54value or the middle one is just staying
- 36:56still
- 36:58if I then let off that
- 37:03drops potential candidates there for oil
- 37:08pressure let's check what 551 is doing
- 37:12now okay so this bottom one that was up
- 37:16at this one was down
- 37:18at 70 something and uh no this one was
- 37:21up at 80 something and is now up and he
- 37:24sitting like higher so this feels to me
- 37:27like a decent candidate for at least one
- 37:31of the temperatures now I know in the
- 37:33DBC file for I think it was the Xterra
- 37:37or it might be the
- 37:39370Z in
- 37:41551 was the oil temperature so it would
- 37:44probably make
- 37:46sense that it was using the same one so
- 37:50that's probably going to be oil
- 37:53temperature um my water temperature is
- 37:55also you know coming up yeah I think we
- 37:59might have oil temperature
- 38:02there so I'm just going to I'm going to
- 38:04stop the car here I just turn the car
- 38:07off and close this and then stop the car
- 38:12all
- 38:17together and we can then suspend
- 38:23capturing which means now I have all
- 38:26that data that I just created I have
- 38:29stored so I know that the pressure
- 38:33dropped um from you know High 120ish
- 38:37down to it stopped
- 38:40at 40 PSI um the water temperature came
- 38:44up predictably presumably even though we
- 38:47couldn't uh see it on any of the gauges
- 38:50the oil temperature came up so what we
- 38:52can do now is take all of that
- 38:54information that we've just created and
- 38:56go and plot it on a massive graph so
- 38:58instead of seeing a 1 second at a time
- 39:01snapshot of something going up and down
- 39:03we can look for that value that creeps
- 39:05up or creeps down over time and the oil
- 39:09pressure one should be creeping down and
- 39:11then just have blips where I was revving
- 39:13the engine but like you know generally
- 39:15be coming down over time whereas the
- 39:18other two should just generally be
- 39:21coming up over time let's go see if we
- 39:23can just find those last couple of bits
- 39:26of data so I've transferred that mass of
- 39:30information onto uh my desktop computer
- 39:33we have more lines here that I know what
- 39:36to do with and this is a trimmed version
- 39:39so I've maxed out what Excel is capable
- 39:42of so we'll try opening it up in Savvy
- 39:46can log
- 39:48file fingers crossed it doesn't just
- 39:50blow up yes okay right Rim okay ID
- 39:55233 was one of my candidates and that's
- 39:58this
- 39:59one so if we're looking the three we
- 40:02were looking at was the red one here the
- 40:04blue one and actually there were two
- 40:06others there was the green one and I
- 40:10can't remember which other color but I'm
- 40:11sure we'll see in a moment so if we
- 40:13start early in
- 40:15the early in the timeline we can see red
- 40:19is sat at
- 40:2224ish um whereas the blue is sat around
- 40:2660
- 40:27now if we just move
- 40:30on they're still both the same and at
- 40:33this point I don't think I turned the
- 40:34car on so if they were temperature based
- 40:36that would probably make sense and you
- 40:38can notice that actually the blue one
- 40:40here has these little ticks here where
- 40:42it moves up and down ever so slightly
- 40:45there's a good chance that's because
- 40:46it's a sensor and sensors are you know
- 40:49they're notorious they just like you
- 40:50know twitching the pendal as they move
- 40:52up it won't be perfectly
- 40:55straight whereas red I haven't seen
- 40:57anything think on yet so let's move
- 40:58further along and start playing they're
- 41:01still the same maybe these are oh okay
- 41:05blue is up so we've seen blue was
- 41:11climbed yeah so blue is slowly
- 41:14climbing up
- 41:17until let's go further along what does
- 41:19it max out at something so let's just
- 41:22focus on the blue one for now so if we
- 41:24just get rid of all of these other bites
- 41:31it
- 41:33increases and increases to
- 41:39120
- 41:43122 yeah so it seems to like max out at
- 41:46about
- 41:47122 and then its lowest
- 41:51value
- 41:52is
- 41:5460 so this could be something
- 41:57likely in Fahrenheit so if we just
- 42:03convert 60 fahit Celsius 15 and outside
- 42:09right now temperature in Bristol it's 11
- 42:12deges so maybe it's something that's
- 42:15slightly higher and it goes up to 120
- 42:19which is
- 42:2050° so in a car oil
- 42:25temp when driving or when warm would be
- 42:30oil temperature would expect to be 90 to
- 42:3395 seems like a bit on the low side you
- 42:36would
- 42:37expect uh temperature to be a bit higher
- 42:41than that but to be honest it is just
- 42:44sat idling on the
- 42:47drive um so you know it's not going to
- 42:49be going to the maximum temperature you
- 42:52know a running car you expect it to be
- 42:55up near 90 to 100 10 5° if it was oil
- 42:59temperature so as we've seen here this
- 43:02value gets up
- 43:04to so it could just be in Celsius but
- 43:06that would mean it started very
- 43:09high gets up to
- 43:12120 so whatever it is it's something
- 43:15it's something getting hot there are a
- 43:17bunch of people who have already started
- 43:19creating these DBC files database canvas
- 43:23files um and they're just a set of
- 43:26instructions for how to label um the
- 43:30outputs that come from the car so this
- 43:32has got a lot of the same stuff that
- 43:34we've already looked at but they've
- 43:36converted the numbers to decimal so
- 43:421549 if we just do 1549 Des to
- 43:51hex is 60D which is the ID that we had
- 43:55realized up here 60D and I'm not going
- 43:59to get back into that um was the one
- 44:01that had our indicators and our lights
- 44:03and all that kind of stuff on there so
- 44:05that lines up with what they
- 44:09thought um so 60ds all those different
- 44:11indicators and stuff now this person had
- 44:13thought that we've got speed on here RPM
- 44:18and then engine temperature they'd
- 44:21thought was
- 44:231361 so 1361
- 44:27is
- 44:29551 which is not the one that we're
- 44:31looking at they thought
- 44:35551 and they thought it was now how to
- 44:40read this
- 44:41is weird um it's the seventh bit from
- 44:46the start and it's eight bits long so
- 44:51it's one whole bite and it's going to be
- 44:53the second bite because it's seven bits
- 44:56from on the
- 44:58start so if we look at
- 45:01551 they reckon one of these
- 45:05is the
- 45:08temperature and these Wiggly
- 45:11lines do seem like they could well be it
- 45:14so that one starts at 50 which in
- 45:17Fahrenheit is about the right kind of
- 45:20number
- 45:23so 50 fahit to Celsius is 10 it's 11°
- 45:28outside at the moment so that would
- 45:30strike as probably about right let's go
- 45:33further along and see where it gets up
- 45:34to up to 90 oh
- 45:39yeah and so it would be on the low side
- 45:42right now it was still climbing when
- 45:46we yeah it's still climbing so up to
- 45:48about
- 45:50110 and 110 Fahrenheit is not
- 45:55that hot 43° so I mean that could very
- 46:00well be the oil temperature what's going
- 46:04to be best for this to really dig down
- 46:06and figure out what these values are is
- 46:09I need to get the car hot hot and what I
- 46:12need to do is have my candidate list so
- 46:14I'll update the reader and we'll just
- 46:16capture a few candidates that we think
- 46:19these ones look like they're potentially
- 46:22the values that we're looking for then
- 46:24we'll go for a drive and then I can
- 46:26analyze the data afterwards and go does
- 46:29it get up to like a hot temperature that
- 46:32would happen when we drive the car heavy
- 46:34what happens with the pressure all that
- 46:36kind of stuff so I need more data this
- 46:40this process is like a process of
- 46:42elimination we're going in we're getting
- 46:44our candidates going okay that's likely
- 46:46going to be the right things and then
- 46:48we're just figuring out exactly which
- 46:51ones they are it's a relatively painful
- 46:55process but I think we're we're really
- 46:57zooming in on the ones that we want
- 47:01also I'm working on a little secret
- 47:04something something that's going to make
- 47:05this a lot
- 47:08easier with this this little 2.8 in uh
- 47:13elro screen with a built-in SD
- 47:18card that graphing format that allows us
- 47:21to show live graphing I thought wouldn't
- 47:23it be really cool if we could do it on
- 47:25this so I'm creating a little tool that
- 47:29you'll all be able to use that when the
- 47:31OBD2 reader starts up we get a list of
- 47:36all of our IDs on here then we can click
- 47:38onto one click into a specific bite and
- 47:42then graph it live as we're driving
- 47:45around and we can go back and go no not
- 47:47that one and just see how things move up
- 47:50and down without having to have a big
- 47:52computer screen so that's a project that
- 47:55I'm working on and it's sort of working
- 47:59it need some refinement but we'll have
- 48:01that out probably in the next two weeks
- 48:04and we'll do a whole video about that
- 48:05and that you can use if you don't have a
- 48:07laptop or you don't want to get into
- 48:09Savvy can the idea is we'll be able to
- 48:12use it to analyze cus data live without
- 48:15the need for lots of data digging it's
- 48:19going to make it a little bit more
- 48:20usable I hope really that's what I
- 48:23wanted to get into in this video is show
- 48:25that this is how canvas data is analyzed
- 48:29we're getting closer to some of the
- 48:31values so I'm in the process of creating
- 48:34this big old file which will be a
- 48:36breakdown of all of the IDS and what all
- 48:40of the things in there do everything
- 48:43useful anyway there's going to be stuff
- 48:44that I'm not too worried about I'm
- 48:46probably not going to care too much
- 48:48about particular oxygen sensor readings
- 48:50or you know there's hundreds of sensors
- 48:52throughout the car that I I'm going to
- 48:53have no interest in but everything that
- 48:55we might want to tap something into boot
- 48:58being open uh specific lights doors
- 49:02being open all of the useful sensors and
- 49:05senders we're going to try and list all
- 49:07that out and I'll make this file
- 49:09available as and when it's done then
- 49:11we'll take a look at converting this
- 49:13into a DBC format like I said it's a
- 49:16canvas database format big
- 49:19endend uh and then we can just chare
- 49:22that so if you do have a 350Z and you
- 49:24want to use all of this and you be able
- 49:27to use this to dig down into your data
- 49:28really quickly you can do that and then
- 49:30we'll be able to hook up the new gauges
- 49:34to all of this so I've just finished
- 49:36redesigning the gauges that are going
- 49:38into my Z I went on a big drive over
- 49:40Christmas back to my parents house and I
- 49:42put my Speedo RPM gauge um on the
- 49:45dashboard whilst I drove home just to
- 49:47see how I felt about it and you know
- 49:49what I don't use the Rev meter there's
- 49:50no point to it I don't stand there and
- 49:52look at it I do all my gear changes by
- 49:54ear and just by feel rather than ever
- 49:56worrying about what the RPM is so I
- 49:58wanted to minimize it and just have the
- 50:00information there that I actually care
- 50:02about so there's been a full redesign of
- 50:05those three gauges we'll get into that
- 50:07more in the next video when we start
- 50:10linking this data up to that I'm going
- 50:12to show you how I create a network mesh
- 50:16um of many senders and many devices
- 50:19sending to many screens and how you know
- 50:22your OBD2 canvas sender can send to many
- 50:25gauges but also each gauge might receive
- 50:28stuff from many sources um it's quite
- 50:31interesting and very vital if you want
- 50:33to take on this kind of car hacking
- 50:35stuff and bring information in from a
- 50:39variety of different sources and display
- 50:41it around your car or use it in
- 50:43different ways it seems from the
- 50:45popularity of my previous video on it
- 50:47people are really into this canvas
- 50:49sniffing data analytical stuff so if you
- 50:52want to use canvas data to do something
- 50:54cool around your car what is it the
- 50:56appliance is to do do you have any
- 50:57wicked projects I should know about
- 50:58anything that I can steal and uh yeah
- 51:02I'll be honest I've already got some
- 51:04awesome ideas I think this year I'm
- 51:05going to try and create probably the
- 51:07world's first voice activated
- 51:12350Z in the next video we're going to
- 51:14hook up this information to those three
- 51:16little gauges before we then start
- 51:19playing the big cluster gauge that goes
- 51:22in the front of the driver and that's
- 51:25going to be a hecking big project anyway
- 51:28there's a bit more of a deep dive into
- 51:30canas sniffing and data analysis and and
- 51:33a breakdown of how you convert decimal
- 51:35to Binary to heximal if you didn't know
- 51:38that before hopefully you now understand
- 51:40it let me know if that is all made sense
- 51:43I hope the start of 2025 is going
- 51:46amazingly for you I'm really looking
- 51:48forward to all the projects that we
- 51:49build over this year and if you want to
- 51:51keep up with that Journey obviously make
- 51:54sure you hit the Subscribe button
- 51:55because we've got tons of stuff come in
- 51:56and I can't wait to share it all with
- 51:58you whatever you do with the rest of
- 52:00your day folks have a wicked one I'll
- 52:02see you on the next video take a easy
- 52:04peace bye-bye
About this transcript
This page contains the full transcript of Master Hex: Decoding CANBus Data Made Easy by Garage Tinkering, generated from the public captions YouTube serves with the video. The transcript has 7,676 words across 1,062 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.