I am struggling with the I2C communication between Arduino Pro Mini (Atmega168P, 3,3V, 8MHz) and Si7021 (humidity and temp sensor). I am not able to run example codes. Serial print is working, values are like I receive zeros.
I am not able to establish the connection. I am not so acknowledged, can you please tell me, if my assumptions are correct? From available information I am confused.
When I would like to use I2C on Arduino pro mini, I have to use pull-ups on SDA and SCL cca 4,7K, am I right? What about internal pull-ups? Are these used or I have to add external one (currently I don!t use them)? Wires are around 10cm (4") long.
Which pins should I define for the I2C communication on the Pro Mini? SHould I define “A4” and “A5” or “4” and “5” only?
I thought the "Pro mini's" use the Atmega328 processor? (the 328 has 32k FLASH while the 168 has 16K according to the Atmel Atmega 328 summary datasheet
Section 2.2 Comparison between Processors. At least the "Pro Mini's" I see at Sparkfun.com show the 328
A Pro Mini clone with ATmega168P 3.3V 8MHz costs 1.13 euros on AliExpress.
A Pro Mini clone with ATmega328P 3.3V 8MHz costs 1.33 euros on AliExpress.
Someone saved 20 cents !
The only difference between the chips is that the 168 has less memory, but is it officially supported by the Arduino IDE.
Oh, ok - I had only seen the ones on Sparkfun and not looked at the others. Sounds like both flavors exist in the wild out there (although for 20 cents, I know which I would get - I have NEVER seen memory requirements shrink in any kind of real project )
I have several of the Chinese versions and found some to have the programming header pins in reverse order. It works OK by just flipping the board or the FTDI over. Also, there are at three different versions regarding the order and location of the pins that are not inline. However, they all worked.