HELP: How to create I2C SMT Feeder setup?

Hi all,

I am trying to create an SMT Feeder setup using a motherboard and individual feeders. Something like the Chipsetter product has done in the attached picture. They use 4 traces. I'm assuming two are for power and two are I2C. This allows the flexibility for the feeders to not be constrained to be indexed mechanically. They can float freely along the X axis to fit various width feeders.

Moving on...

I need help understanding the following:

What sort of IC from Digikey can I use on each feeder as shown in the attached diagram to read OUTPUT Y (optical sensors for positioning), talk to DRV8833 motor driver to tell it to go forward/backward and communicate with the Arduino Uno on the motherboard, which controls all feeders? I realize I can probably use an Arduino Uno on each feeder also as a slave, but wondering if there's a cheaper setup that can be done since SMT machines typically have some 30+ feeders. So that would be a lot of Arduino Uno (and they are a bit big in component footprint to physically fit on my feeder design I think)

My plan (so far) is to be able to send commands such as:
a) FORWARD Xmm Feeder#
b) BACK Xmm Feeder#

I'm sure I will have more questions as I develop this project, but prefer to start with this first. I appreciate any help I can get! Thanks!

(Right click the images > Open image in new tab to view larger)

Almost every Arduino can do that without further hardware. Eventually level shifters are required for 3.3V modules on a 5V Arduino.

Thanks for the reply. What do you mean "eventually level shifters are required for 3.3v modules" ? FYI, I am only using 5V components on each feeder/motherboard.

You are going to need an MCU for every feeder, I suspect. Does not need to have too many pins: 2 for i2c, 2 for motor control, 1 or 2 for optical sensors. ATtiny45/85 would not have enough pins, but ATtiny44/84 might. Or perhaps an Arduino Pro Mini?

The shown Arduino Micro (or Mini) will do for 1 or more feeders. Smaller boards (ATtiny…) don’t make sense here, most probably are more expensive than the standard models.

The shown Arduino Micro (or Mini)

The OP's image seems to show a Nano 3. Pro Mini is a little smaller.

What about digiSpark Pro? Based on ATtiny167. A little smaller still and you can get them for ~£2 on AliExpress.

@OP might be worth getting a Pro Mini and a digiSpark Pro to experiment with.

I'm using Ardunio Nano on the feeder motherboard and will go with a Nano on each feeder also.

I was also wondering - I am using an N20 motor that is 3V 70mA. Do I need the DRV8833 driver for the motor or can I just plug the two PWM directly into the motor? (Trying to save cost here, which adds up with more feeders).


No, never connect a motor directly to Arduino pins, it will damage the Arduino. The absolute max current that the Nano's pins can supply is 40mA. A motor which normally draws 70mA will draw probably 5 times that much at startup or when stalled, and will generate damaging reverse voltages when switched off.