Question: I have 200 digital sensors that I need to read its state from a arduino.

What I was thinking about is to make something like digital leds, where i connect 200 IC's in series. the first IC gets a "start" signal over a input pin, and outputs a "done" over one pin, and its state over another pin for (as example) 0.1ms. the next ic, reads the done, and does the same as the pervious chip.. this way each chip outputs its state one after the other to a "main line" that can be read by the arduino instantly.

this has multiple problems:

* its expensive to buy 200 programmable ICs,
* its expensive to program 200 ICs.
* its expensive to buy 200 additional components that are needed to drive the ics.

I was wondering if I am trying to reinvent the wheel.. Is there already a similar product that does the same thing, maybe over a standard protocol? I was not able to find anything.

I am not searching for a specific product, as it would be against the rules, but rather a name for this kind of components that could help me to find something online.

Thank you

Answer: 
Shift registers are really cheap; an 8-bit device costs around US $0.10.

If you get a device with parallel-in, serial-in & serial-out capability (such as the 74HC165) then you can just chain the serial output from one device to the input of the next. Toggle a single 'strobe' line to load in the parallel data on all the devices, then just generate 200 SPI clock cycles and you'll receive your 200-bit data. A modest clock speed of 100 kHz would give you a 2 millisecond sample time, well within your requirements.

If this circuitry is operating in an area with a lot of electrical interference, you might need to take some defensive measures; the data rate is sufficiently low that you could just add a simple low-pass filter, or opto-isolate the sensors from your arduino.
Quite understandable that you don't want to use MCUs, with all the overhead costs of developing, testing, proving and manufacturing such a thing.

To meet your wider goal rather than your sketched-out protocol, you can use the 1-Wire bus protocol and COTS ICs.

Each 1-wire bus device can (a) be bus powered or have local power and (b) has a 64-bit unique device ID assigned during manufacture.

Your bus master can use a device discovery procedure to obtain the IDs of all connected devices. You can then address and access each device in turn. You can also add and remove devices and your bus master software can adjust dynamically.

You can either hang all devices off of the single 1-wire bus or split them across multiple 1-wire buses. The single bus uses least wires but has the slowest access (one device at a time) and the highest fault susceptibility (one short and everything's gone). Split buses reduce the effect of a single short on the whole network and allow for multiple device access simultaneously, using suitable software. You don't specify those requirements in your question, so that's all something for you to assess as a system designer.

The [1-wire bus](https://www.maximintegrated.com/en/products/ibutton-one-wire/one-wire.html) was originally developed by Dallas Semiconductor, now Maxim. They publish an standard for it.