I2C bus Scan time

I have a couple of i2c devices that I can't get working. One is a compass module and the other a display. I am running Robtillards I2c scanner, and it never finishes. How long does it take to scan the addresses, and when would I conclude that there is either something wrong with the hardware I am using?

Will it tell me when it has reached the end of the possible addresses?

Thanks for using my I2C scanner. First question which version do you use?

The last version should show a menu and when started generate output instantaneously and be ready within a short time.
(seconds)

If you have nothing connected does produce any output?

Can you point me towards your latest version? I have a heck of a time finding specific tools or resources on this web site.

I found 0.1.03 version.

The message comes up, I enter an S or C in the top of the serial monitor, and it produces a table header. No results though. I wonder if my problem is voltage or pull up resistors? I have tried 1K and 2K and 100K resistors. I have only run the compass module at 3.3 as that is the rated voltage. I tried the LCD at 3.3 and 5 volts. At 5v the screen lcd shows indication. At 3.3 it shows nothing.

find attached the 0.1.03 version

MultiSpeedI2CScanner.zip (1.53 KB)

Thank you. Any idea of the typical time for completion of a scan? Does it indicate when it is finished and found nothing? Or started and found nothing?

Single scan: 0 devices found in 323 milliseconds. See log below.

Note to start the scanning you must send an 's' to the Arduino (do not forget the return to actually send it)

Arduino I2C Scanner - 0.1.03

	s = single scan
	c = continuous scan - 1 second delay
	q = quit continuous scan
	d = toggle latency delay between successful tests.
	p = toggle printAll - printFound.
	h = toggle header - noHeader.
	? = help - this page

TIME	DEC	HEX		50	100	200	250	400	500	800	[KHz]
------------------------------------------------------------------------------------------------
5323	0	0x0		.	.	.	.	.	.	.
5325	1	0x1		.	.	.	.	.	.	.
5327	2	0x2		.	.	.	.	.	.	.
5330	3	0x3		.	.	.	.	.	.	.
5332	4	0x4		.	.	.	.	.	.	.
5335	5	0x5		.	.	.	.	.	.	.
5337	6	0x6		.	.	.	.	.	.	.
5340	7	0x7		.	.	.	.	.	.	.
5342	8	0x8		.	.	.	.	.	.	.
5344	9	0x9		.	.	.	.	.	.	.
5346	10	0xA		.	.	.	.	.	.	.
5349	11	0xB		.	.	.	.	.	.	.
5351	12	0xC		.	.	.	.	.	.	.
5353	13	0xD		.	.	.	.	.	.	.
5356	14	0xE		.	.	.	.	.	.	.
5358	15	0xF		.	.	.	.	.	.	.
5360	16	0x10		.	.	.	.	.	.	.
5363	17	0x11		.	.	.	.	.	.	.
5365	18	0x12		.	.	.	.	.	.	.
5368	19	0x13		.	.	.	.	.	.	.
5370	20	0x14		.	.	.	.	.	.	.
5372	21	0x15		.	.	.	.	.	.	.
5376	22	0x16		.	.	.	.	.	.	.
5378	23	0x17		.	.	.	.	.	.	.
5381	24	0x18		.	.	.	.	.	.	.
5383	25	0x19		.	.	.	.	.	.	.
5385	26	0x1A		.	.	.	.	.	.	.
5388	27	0x1B		.	.	.	.	.	.	.
5390	28	0x1C		.	.	.	.	.	.	.
5393	29	0x1D		.	.	.	.	.	.	.
5395	30	0x1E		.	.	.	.	.	.	.
5397	31	0x1F		.	.	.	.	.	.	.
5400	32	0x20		.	.	.	.	.	.	.
5402	33	0x21		.	.	.	.	.	.	.
5405	34	0x22		.	.	.	.	.	.	.
5407	35	0x23		.	.	.	.	.	.	.
5410	36	0x24		.	.	.	.	.	.	.
5412	37	0x25		.	.	.	.	.	.	.
5414	38	0x26		.	.	.	.	.	.	.
5417	39	0x27		.	.	.	.	.	.	.
5420	40	0x28		.	.	.	.	.	.	.
5423	41	0x29		.	.	.	.	.	.	.
5425	42	0x2A		.	.	.	.	.	.	.
5427	43	0x2B		.	.	.	.	.	.	.
5430	44	0x2C		.	.	.	.	.	.	.
5432	45	0x2D		.	.	.	.	.	.	.
5435	46	0x2E		.	.	.	.	.	.	.
5437	47	0x2F		.	.	.	.	.	.	.
5439	48	0x30		.	.	.	.	.	.	.
5442	49	0x31		.	.	.	.	.	.	.
5444	50	0x32		.	.	.	.	.	.	.
5447	51	0x33		.	.	.	.	.	.	.
5449	52	0x34		.	.	.	.	.	.	.
5451	53	0x35		.	.	.	.	.	.	.
5454	54	0x36		.	.	.	.	.	.	.
5456	55	0x37		.	.	.	.	.	.	.
5459	56	0x38		.	.	.	.	.	.	.
5462	57	0x39		.	.	.	.	.	.	.
5464	58	0x3A		.	.	.	.	.	.	.
5467	59	0x3B		.	.	.	.	.	.	.
5469	60	0x3C		.	.	.	.	.	.	.
5472	61	0x3D		.	.	.	.	.	.	.
5474	62	0x3E		.	.	.	.	.	.	.
5477	63	0x3F		.	.	.	.	.	.	.
5479	64	0x40		.	.	.	.	.	.	.
5481	65	0x41		.	.	.	.	.	.	.
5484	66	0x42		.	.	.	.	.	.	.
5486	67	0x43		.	.	.	.	.	.	.
5489	68	0x44		.	.	.	.	.	.	.
5491	69	0x45		.	.	.	.	.	.	.
5493	70	0x46		.	.	.	.	.	.	.
5496	71	0x47		.	.	.	.	.	.	.
5498	72	0x48		.	.	.	.	.	.	.
5501	73	0x49		.	.	.	.	.	.	.
5504	74	0x4A		.	.	.	.	.	.	.
5506	75	0x4B		.	.	.	.	.	.	.
5509	76	0x4C		.	.	.	.	.	.	.
5511	77	0x4D		.	.	.	.	.	.	.
5514	78	0x4E		.	.	.	.	.	.	.
5516	79	0x4F		.	.	.	.	.	.	.
5518	80	0x50		.	.	.	.	.	.	.
5521	81	0x51		.	.	.	.	.	.	.
5523	82	0x52		.	.	.	.	.	.	.
5526	83	0x53		.	.	.	.	.	.	.
5528	84	0x54		.	.	.	.	.	.	.
5530	85	0x55		.	.	.	.	.	.	.
5533	86	0x56		.	.	.	.	.	.	.
5535	87	0x57		.	.	.	.	.	.	.
5538	88	0x58		.	.	.	.	.	.	.
5540	89	0x59		.	.	.	.	.	.	.
5543	90	0x5A		.	.	.	.	.	.	.
5545	91	0x5B		.	.	.	.	.	.	.
5548	92	0x5C		.	.	.	.	.	.	.
5551	93	0x5D		.	.	.	.	.	.	.
5553	94	0x5E		.	.	.	.	.	.	.
5556	95	0x5F		.	.	.	.	.	.	.
5558	96	0x60		.	.	.	.	.	.	.
5560	97	0x61		.	.	.	.	.	.	.
5563	98	0x62		.	.	.	.	.	.	.
5565	99	0x63		.	.	.	.	.	.	.
5568	100	0x64		.	.	.	.	.	.	.
5570	101	0x65		.	.	.	.	.	.	.
5573	102	0x66		.	.	.	.	.	.	.
5575	103	0x67		.	.	.	.	.	.	.
5578	104	0x68		.	.	.	.	.	.	.
5580	105	0x69		.	.	.	.	.	.	.
5583	106	0x6A		.	.	.	.	.	.	.
5585	107	0x6B		.	.	.	.	.	.	.
5587	108	0x6C		.	.	.	.	.	.	.
5591	109	0x6D		.	.	.	.	.	.	.
5593	110	0x6E		.	.	.	.	.	.	.
5596	111	0x6F		.	.	.	.	.	.	.
5598	112	0x70		.	.	.	.	.	.	.
5601	113	0x71		.	.	.	.	.	.	.
5603	114	0x72		.	.	.	.	.	.	.
5606	115	0x73		.	.	.	.	.	.	.
5608	116	0x74		.	.	.	.	.	.	.
5611	117	0x75		.	.	.	.	.	.	.
5613	118	0x76		.	.	.	.	.	.	.
5616	119	0x77		.	.	.	.	.	.	.
5618	120	0x78		.	.	.	.	.	.	.
5621	121	0x79		.	.	.	.	.	.	.
5623	122	0x7A		.	.	.	.	.	.	.
5626	123	0x7B		.	.	.	.	.	.	.
5628	124	0x7C		.	.	.	.	.	.	.
5632	125	0x7D		.	.	.	.	.	.	.
5634	126	0x7E		.	.	.	.	.	.	.
5637	127	0x7F		.	.	.	.	.	.	.

0 devices found in 323 milliseconds.

Arduino I2C Scanner - 0.1.03

	s = single scan
	c = continuous scan - 1 second delay
	q = quit continuous scan
	d = toggle latency delay between successful tests.
	p = toggle printAll - printFound.
	h = toggle header - noHeader.
	? = help - this page

I am getting nothing with either continuous or single scan, from either device. I am running a Mega 2560 R3. I suspect there is some problem with the hardware. Perhaps pull up resistor values, either internal or external.

I know there are/were problems with the DUE and I2C but I do not recall any problem with the MEGA.

Do you have an UNO around?
Give that a try, with and without connected devices?

The program never reaches a conclusion. After printing the header, that's it.

Doesn't say "0 devices found" or even print the time, dec and hex values you show in your example. Why would that be?

If I run the program with an oscilloscope hooked up to SDA, I should see some output. Is that worth trying, in order to see if anything is going out?

Hooked a scope up to SCL and SDA. Sits at plus 5v when the program isn't running. That is with no added external pull up resistors. Once I start your program, both are producing a 5v DC square wave. Not a lot of difference seen in the output between when I attach 2k pull up resistors as it was already pulled up and down cleanly. Still moves down to zero and up to +5v cleanly without. I can see the frequency steps the program produces. Looks like the mega does work. So its either my software (wire program?) or the actual i2c devices. Wish I had one I knew worked.

I digged up an MEGA (also R3) and ran my I2C scanner (nothing connected) and it worked smooth / did not block.

Arduino I2C Scanner - 0.1.03

	s = single scan
	c = continuous scan - 1 second delay
	q = quit continuous scan
	d = toggle latency delay between successful tests.
	p = toggle printAll - printFound.
	h = toggle header - noHeader.
	? = help - this page

TIME	DEC	HEX		50	100	200	250	400	500	800	[KHz]
------------------------------------------------------------------------------------------------
2689	0	0x0		.	.	.	.	.	.	.
2691	1	0x1		.	.	.	.	.	.	.
2693	2	0x2		.	.	.	.	.	.	.
2695	3	0x3		.	.	.	.	.	.	.
2698	4	0x4		.	.	.	.	.	.	.
2700	5	0x5		.	.	.	.	.	.	.
2702	6	0x6		.	.	.	.	.	.	.
2704	7	0x7		.	.	.	.	.	.	.
2707	8	0x8		.	.	.	.	.	.	.
2709	9	0x9		.	.	.	.	.	.	.
2711	10	0xA		.	.	.	.	.	.	.
2713	11	0xB		.	.	.	.	.	.	.
2716	12	0xC		.	.	.	.	.	.	.
2718	13	0xD		.	.	.	.	.	.	.
2720	14	0xE		.	.	.	.	.	.	.
2723	15	0xF		.	.	.	.	.	.	.
2725	16	0x10		.	.	.	.	.	.	.
2727	17	0x11		.	.	.	.	.	.	.
2731	18	0x12		.	.	.	.	.	.	.
2733	19	0x13		.	.	.	.	.	.	.
2736	20	0x14		.	.	.	.	.	.	.
2738	21	0x15		.	.	.	.	.	.	.
2740	22	0x16		.	.	.	.	.	.	.
2743	23	0x17		.	.	.	.	.	.	.
2745	24	0x18		.	.	.	.	.	.	.
2748	25	0x19		.	.	.	.	.	.	.
2750	26	0x1A		.	.	.	.	.	.	.
2752	27	0x1B		.	.	.	.	.	.	.
2755	28	0x1C		.	.	.	.	.	.	.
2757	29	0x1D		.	.	.	.	.	.	.
2760	30	0x1E		.	.	.	.	.	.	.
2762	31	0x1F		.	.	.	.	.	.	.
2764	32	0x20		.	.	.	.	.	.	.
2767	33	0x21		.	.	.	.	.	.	.
2769	34	0x22		.	.	.	.	.	.	.
2772	35	0x23		.	.	.	.	.	.	.
2775	36	0x24		.	.	.	.	.	.	.
2778	37	0x25		.	.	.	.	.	.	.
2780	38	0x26		.	.	.	.	.	.	.
2782	39	0x27		.	.	.	.	.	.	.
2785	40	0x28		.	.	.	.	.	.	.
2787	41	0x29		.	.	.	.	.	.	.
2790	42	0x2A		.	.	.	.	.	.	.
2792	43	0x2B		.	.	.	.	.	.	.
2794	44	0x2C		.	.	.	.	.	.	.
2797	45	0x2D		.	.	.	.	.	.	.
2799	46	0x2E		.	.	.	.	.	.	.
2802	47	0x2F		.	.	.	.	.	.	.
2804	48	0x30		.	.	.	.	.	.	.
2806	49	0x31		.	.	.	.	.	.	.
2809	50	0x32		.	.	.	.	.	.	.
2811	51	0x33		.	.	.	.	.	.	.
2814	52	0x34		.	.	.	.	.	.	.
2817	53	0x35		.	.	.	.	.	.	.
2819	54	0x36		.	.	.	.	.	.	.
2822	55	0x37		.	.	.	.	.	.	.
2824	56	0x38		.	.	.	.	.	.	.
2827	57	0x39		.	.	.	.	.	.	.
2829	58	0x3A		.	.	.	.	.	.	.
2831	59	0x3B		.	.	.	.	.	.	.
2834	60	0x3C		.	.	.	.	.	.	.
2836	61	0x3D		.	.	.	.	.	.	.
2839	62	0x3E		.	.	.	.	.	.	.
2841	63	0x3F		.	.	.	.	.	.	.
2843	64	0x40		.	.	.	.	.	.	.
2846	65	0x41		.	.	.	.	.	.	.
2848	66	0x42		.	.	.	.	.	.	.
2851	67	0x43		.	.	.	.	.	.	.
2853	68	0x44		.	.	.	.	.	.	.
2856	69	0x45		.	.	.	.	.	.	.
2859	70	0x46		.	.	.	.	.	.	.
2861	71	0x47		.	.	.	.	.	.	.
2864	72	0x48		.	.	.	.	.	.	.
2866	73	0x49		.	.	.	.	.	.	.
2869	74	0x4A		.	.	.	.	.	.	.
2871	75	0x4B		.	.	.	.	.	.	.
2873	76	0x4C		.	.	.	.	.	.	.
2876	77	0x4D		.	.	.	.	.	.	.
2878	78	0x4E		.	.	.	.	.	.	.
2881	79	0x4F		.	.	.	.	.	.	.
2883	80	0x50		.	.	.	.	.	.	.
2885	81	0x51		.	.	.	.	.	.	.
2888	82	0x52		.	.	.	.	.	.	.
2890	83	0x53		.	.	.	.	.	.	.
2893	84	0x54		.	.	.	.	.	.	.
2895	85	0x55		.	.	.	.	.	.	.
2897	86	0x56		.	.	.	.	.	.	.
2900	87	0x57		.	.	.	.	.	.	.
2903	88	0x58		.	.	.	.	.	.	.
2906	89	0x59		.	.	.	.	.	.	.
2908	90	0x5A		.	.	.	.	.	.	.
2910	91	0x5B		.	.	.	.	.	.	.
2913	92	0x5C		.	.	.	.	.	.	.
2915	93	0x5D		.	.	.	.	.	.	.
2918	94	0x5E		.	.	.	.	.	.	.
2920	95	0x5F		.	.	.	.	.	.	.
2923	96	0x60		.	.	.	.	.	.	.
2925	97	0x61		.	.	.	.	.	.	.
2927	98	0x62		.	.	.	.	.	.	.
2930	99	0x63		.	.	.	.	.	.	.
2932	100	0x64		.	.	.	.	.	.	.
2935	101	0x65		.	.	.	.	.	.	.
2937	102	0x66		.	.	.	.	.	.	.
2940	103	0x67		.	.	.	.	.	.	.
2942	104	0x68		.	.	.	.	.	.	.
2946	105	0x69		.	.	.	.	.	.	.
2948	106	0x6A		.	.	.	.	.	.	.
2951	107	0x6B		.	.	.	.	.	.	.
2953	108	0x6C		.	.	.	.	.	.	.
2956	109	0x6D		.	.	.	.	.	.	.
2958	110	0x6E		.	.	.	.	.	.	.
2961	111	0x6F		.	.	.	.	.	.	.
2963	112	0x70		.	.	.	.	.	.	.
2966	113	0x71		.	.	.	.	.	.	.
2968	114	0x72		.	.	.	.	.	.	.
2971	115	0x73		.	.	.	.	.	.	.
2973	116	0x74		.	.	.	.	.	.	.
2975	117	0x75		.	.	.	.	.	.	.
2978	118	0x76		.	.	.	.	.	.	.
2980	119	0x77		.	.	.	.	.	.	.
2983	120	0x78		.	.	.	.	.	.	.
2985	121	0x79		.	.	.	.	.	.	.
2989	122	0x7A		.	.	.	.	.	.	.
2991	123	0x7B		.	.	.	.	.	.	.
2994	124	0x7C		.	.	.	.	.	.	.
2996	125	0x7D		.	.	.	.	.	.	.
2999	126	0x7E		.	.	.	.	.	.	.
3001	127	0x7F		.	.	.	.	.	.	.

0 devices found in 323 milliseconds.

Arduino I2C Scanner - 0.1.03

	s = single scan
	c = continuous scan - 1 second delay
	q = quit continuous scan
	d = toggle latency delay between successful tests.
	p = toggle printAll - printFound.
	h = toggle header - noHeader.
	? = help - this page

You can try other I2C scanners see if they have the same issue - Arduino Playground - I2cScanner -