Why is the MISO not level shifted in this circuit

arduinolevel-shiftinglogic-levelspi

I am looking at SparkFun's CC3000 breakout board schematic. CC3300 is TI's wireless module. The CC3000 operates on 3v3. And because the breakout board is intended to be used with an Arduino (which has a logic voltage of 5v), there is a 5v to 3v3 level shifter in this schematic. What I do not understand is why or how the MISO is untranslated and is used at 3v3. Does Arduino (Uno) work with 3v3 logic input level, while its logic output level is 5v?
If so, is this the reason why SparkFun did not use a bidirectional level shifter to cut cost?

Best Answer

There is a ATMEGA16 on Arduino, in it's datasheet, the \$V_{IH}(min.) = 0.6V_{CC}\$, when \$V_{CC}=5V\$. So it can recognize the 3.3V input as logic high.