user65221: I'd like to find out:

how big can an Arduino project get, is there some limit?
are there examples of large open source code bases? I did some research but find only example projects with single .ino file. Are there projects with multiple files e.g. functions, constants in separate files say to avoid a 10K+ .ino file? 


user35430: Big projects are likely not developed with Arduino IDE. Arduino IDE was make for designers/inventors, not for programmers. 

Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. 

Source
Programmers will use a fully-fledged IDE which has many features a programmer needs on a daily basis, such as:

handling multiple files efficiently
allowing to create libraries instead of just setup() and loop()
code completion (suggestions as you type)
debugging (inspection and changing of variables at runtime)
refactoring (modifying the structure of your code without changing the behavior)
integrated version control (like Git / Github)

Such an IDE could be Eclipse with an Arduino Plugin or Atmel Studio and perhaps Visual Studio.
So, what do you need to look for? Don't look for .ino files. Instead, look for .h and .cpp code, just like other non-Arduino C++ code. 
Some examples:

SPI: 297 lines
Wire: 453 lines
SoftwareSerial: 486 lines
I2S: 533 lines
USBHost: several files, up to 1600 lines


user34404: Again im late to the party...
If you are planning on making a larger project and splitting things up you can take advantage of libraries. This will work even if you are married to the arduino ide for some reason. if your not married to the arudino ide platformio doesn't suck too bad, and makes libraries a bit less messy when your doing the grunt work of setting them up the first time.
The idea should be to break your problem into smaller testable pieces of  code into smaller testable libraries.  If your code doesn't depend on arduino features you may be able to use test your library fully on a bigger machine to make sure there are no bugs (for example abuse clangs static analysis tool to see if you made any dumb pointer errors https://clang-analyzer.llvm.org/)
I kinda set an example of  this (https://gitlab.com/mikealger/ExampleArduinoProjectStructure) up for students a while back but i still think its handy for anyone looking to build /manage the lifecycle of a project, I still use the basic ideas when i'm doing one off small projects based on others work to keep my notes straight i.e.  https://gitlab.com/mikealger/celstronhomebrewgps
yea its probably shameless promotion but i haven't logged in for like 2 years...

65221: <p>I'd like to find out:</p>

<ul>
<li>how big can an Arduino project get, is there some limit?</li>
<li>are there examples of large open source code bases? I did some research but find only example projects with single .ino file. Are there projects with multiple files e.g. functions, constants in separate files say to avoid a 10K+ .ino file? </li>
</ul>
 35430: <p>Big projects are likely not developed with Arduino IDE. Arduino IDE was make for designers/inventors, not for programmers. </p>

<blockquote>
  <p>Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. </p>
</blockquote>

<p><sub><a href="https://www.arduino.cc/en/guide/introduction" rel="nofollow noreferrer">Source</a></sub></p>

<p>Programmers will use a fully-fledged IDE which has many features a programmer needs on a daily basis, such as:</p>

<ul>
<li>handling multiple files efficiently</li>
<li>allowing to create libraries instead of just <code>setup()</code> and <code>loop()</code></li>
<li>code completion (suggestions as you type)</li>
<li>debugging (inspection and changing of variables at runtime)</li>
<li>refactoring (modifying the structure of your code without changing the behavior)</li>
<li>integrated version control (like Git / Github)</li>
</ul>

<p>Such an IDE could be <a href="https://marketplace.eclipse.org/content/eclipse-c-ide-arduino" rel="nofollow noreferrer">Eclipse with an Arduino Plugin</a> or <a href="https://www.microchip.com/mplab/avr-support/atmel-studio-7" rel="nofollow noreferrer">Atmel Studio</a> and perhaps Visual Studio.</p>

<p>So, what do you need to look for? Don't look for <code>.ino</code> files. Instead, look for <code>.h</code> and <code>.cpp</code> code, just like other non-Arduino C++ code. </p>

<p>Some examples:</p>

<ul>
<li><a href="https://github.com/arduino/ArduinoCore-sam/tree/master/libraries/SPI/src" rel="nofollow noreferrer">SPI</a>: 297 lines</li>
<li><a href="https://github.com/arduino/ArduinoCore-sam/blob/master/libraries/Wire/src/Wire.cpp" rel="nofollow noreferrer">Wire</a>: 453 lines</li>
<li><a href="https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/SoftwareSerial/src/SoftwareSerial.cpp" rel="nofollow noreferrer">SoftwareSerial</a>: 486 lines</li>
<li><a href="https://github.com/arduino/ArduinoCore-samd/blob/master/libraries/I2S/src/I2S.cpp" rel="nofollow noreferrer">I2S</a>: 533 lines</li>
<li><a href="https://github.com/arduino/ArduinoCore-samd/blob/master/libraries/USBHost/src/" rel="nofollow noreferrer">USBHost</a>: several files, up to 1600 lines</li>
</ul>
 34404: <p>Again im late to the party...</p>
<p>If you are planning on making a larger project and splitting things up you can take advantage of libraries. This will work even if you are married to the arduino ide for some reason. if your not married to the arudino ide platformio doesn't suck too bad, and makes libraries a bit less messy when your doing the grunt work of setting them up the first time.</p>
<p>The idea should be to break your problem into smaller testable pieces of  code into smaller testable libraries.  If your code doesn't depend on arduino features you may be able to use test your library fully on a bigger machine to make sure there are no bugs (for example abuse clangs static analysis tool to see if you made any dumb pointer errors <a href="https://clang-analyzer.llvm.org/" rel="nofollow noreferrer">https://clang-analyzer.llvm.org/</a>)</p>
<p>I kinda set an example of  this (<a href="https://gitlab.com/mikealger/ExampleArduinoProjectStructure" rel="nofollow noreferrer">https://gitlab.com/mikealger/ExampleArduinoProjectStructure</a>) up for students a while back but i still think its handy for anyone looking to build /manage the lifecycle of a project, I still use the basic ideas when i'm doing one off small projects based on others work to keep my notes straight i.e.  <a href="https://gitlab.com/mikealger/celstronhomebrewgps" rel="nofollow noreferrer">https://gitlab.com/mikealger/celstronhomebrewgps</a></p>
<p>yea its probably shameless promotion but i haven't logged in for like 2 years...</p>
