If you strictly need to analyze I2C data lines, you would be better of to get a logic analyzer like the Salea Logic (there are also a lot of cheap clones to get).Most devices work with the Sigrok suite: https://sigrok.org/

Such a scope, in combination with a cheap 8 bit logic analyser from ebay (well under $10) could be a useful low cost combination.

You can use the scope to check logic levels, edges, noise etc (analogue domain stuff). The logic analyser in combination with Sigrok open-source software would let you decode the I2C streams and timing (digital domain stuff).

It depends. A 50MHz or better dual trace delay timebase CRO can resolve I2C transfers well enough that you can pan through the data packet a byte at a time using the delay multiturn control, manually decoding it and writing down the result. However to do so you need to be able to generate a repeating data packet with stable timing, and preferably a separate signal to trigger on at the start of the packet. Without control of the master's firmware, if you are unlucky, you don't get to see much except a blur. You will be able to confirm logic levels and you *MAY* be able to roughly estimate the speed, but that's about it. OTOH if you are lucky and the master provides a lot of repeating bus activity (e.g frequently polling a sensor), you may be able to get a stable display of the first few bytes of the transfer that you can take measurements from and even decode.

With a single timebase CRO its a lot more difficult. It probably wont have a large enough holdoff range to stabilise the display without moving the variable timebase control from its calibrated position, which leaves you with the situation of being able to see some of the data but not being able to make time measurements.

TLDR: A CRO isn't the right tool for the job, use a logic analyser with I2C protocol decoder or a DSO.

Good luck with that. If the master only transfers a few bytes a second, you probably wont see anything useable. If one or more of the slaves uses clock stretching, it can be even more problematic. OTOH if the transfer is repetitive and frequent a CRO has a good chance of at least giving you the clock speed.

A logic analyser with an appropriate sample rate and memory depth will be able to capture useful data and tming from any correctly functioning I2C bus that runs at logic levels it supports. A $60 CRO may or may not show you anything useful, and unless you have other uses for it is not cost-effective.

I have 1 master and 1 slave in my example. But there is a high chance that I need a oscilloscope in the future. So I think the best solution is to buy the oscilloscope. But I will also consider to make use of a logic analyser. Does someone have a recommendation for a logic analyser?

We used to find the baud rate of RS-232 using an analog oscilloscope all the time; the last time I did it was relatively recently on a GPS receiver. The problem as has been pointed out is whether the I2C signal is continuous enough to produce a clear display. It should actually be easier with I2C since it has a separate clock signal to look at.

I'm a little bit new with oscilloscopes and I'm wondering of it is possible to 'record' period of time. like only the i2c call and then analyse it. By digital oscilloscope it is possible but I don't know of that is possible by an analog os

I'm a little bit new with oscilloscopes and I'm wondering of it is possible to 'record' period of time. like only the i2c call and then analyse it. By digital oscilloscope it is possible but I don't know of that is possible by an analog os

No, not on a standard analog CRO. There was such a thing as an analog storage oscilloscope, which could hold a single shot trace on the screen for several minutes, but they haven't been made for many years (superseded by the early DSOs), are pretty rare and most of the surviving ones' CRTs have degraded to the point that their storage mode is no longer functional.

I'm a little bit new with oscilloscopes and I'm wondering of it is possible to 'record' period of time. like only the i2c call and then analyse it. By digital oscilloscope it is possible but I don't know of that is possible by an analog os

There are two separate problems if you want to see and be able to decode a message:

1. The short persistence of the analog oscilloscope means that the I2C waveform needs to be repeated, usually at 10s of Hz minimum, for an easy to read or even usable display. An analog storage oscilloscope avoids this problem.

2. If more than one message is present, then a pretrigger is required to select the proper one for display. In the past I would modify the system to trigger the oscilloscope before the specific message I wanted to see. With I2C, this is a little easier because of the separate clock; one pretrigger for a whole series of messages can be used and then the delayed sweep feature of the oscilloscope may be used to select which message to display. The delay time control effectively operates as a scroll wheel and in the past this was how a specific line in a video signal could be selected. Further, trigger after delay allows this to be done with no jitter in real time unlike a lot of modern DSOs which lack this feature.

If modifying the system to generate a pretrigger is not possible, then it is sometimes feasible to use a word recognizer to generate a trigger on a message preceding the message you want to see.

Back in the old days, a trick we used to use was to periodically reset the processor & trigger the scope from the reset signal. then use the delaying timebase to display the time period when the message of interest was transmitted - hopefully a fixed number of instructions after the reset. This gives a repetitive display on a non-storage scope. Now? Don't waste your time, get a DSO! You can now buy a brand new one (with a guarantee!) from a big-name supplier for well under £200. Analogue just isn't worth the hassle any more. And a DSO also does far more than a USB logic analyser can.

I'm a little bit new with oscilloscopes and I'm wondering of it is possible to 'record' period of time. like only the i2c call and then analyse it. By digital oscilloscope it is possible but I don't know of that is possible by an analog os

No, not on a standard analog CRO. There was such a thing as an analog storage oscilloscope, which could hold a single shot trace on the screen for several minutes, but they haven't been made for many years (superseded by the early DSOs), are pretty rare and most of the surviving ones' CRTs have degraded to the point that their storage mode is no longer functional.

[1] i.e. it makes a good advertisement for a halfway decent digitising storage scope

Logged

There are lies, damned lies, statistics - and ADC/DAC specs.Gliding aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".Having fun doing more, with less

They also made oscilloscope cameras which could be used to capture a single shot event, but unless you just want to try doing something the old fashioned way it's a lot of hassle for no gain. Analog scopes are really only good for looking at repetitive waveforms, to analyze any sort of digital data stream you'll need a storage scope or logic analyzer.