Hi, I am wondering and been thinking and planning to make a daq for quite a while this couple of months. How can you make one? I know how to program but a few technicalities are on my way, for example: When I am sending data through SPI and than I need to send something through digital I/O , the spi has to stop, send my I/O data and than finish with my SPI. The problem is that, SPI has to have a certain speed , and by interrupting it to deliver my I/O data i am spoiling the bit rate of SPI or I2C ( or any serial data stream for that matter). Another issue and probably the biggest one. I would like to make an infinite loop that would run all the time and the type of ports that need to be used would be inputs to this main program. The reason would be , so that the end user wont have to program the specific chip and also they wont have to compile anything. He/she/it would just pick up the data type they need , and if they need any other port they can do that later at any time. So what can I use for this main program? Loops, or interrupts? Are these all the challenges I am going to face or I will have abundantly more? Thank you. Looking forward to your inputs.