user600: I'm using FastLED with a custom board built around the ATMega32u4. When I set it to use Software SPI, everything works fine, but when I use hardware SPI it just hangs whenever it tries to write out the data (FastLED.show()).
I originally mocked this up on an Arduino Pro Micro and it worked fine there. That makes me think that it's a hardware issue but, as I mentioned, SPI output does work, but only when bit-banged. Which really doesn't make much sense.
I tested this by also just using the built in SPI classes and I get the same thing. No luck with hardware SPI.
Anyone else ever see something like this?
The schematic of my circuit is below.


user84: According to ATmega32u4 datasheet, section 17.2.1 (SPI / SS Pin Functionality / Master Mode:

If SS is configured as an input, it must be held high to ensure Master SPI operation.

In your circuit, SS pin (#8 on package), also labeled as "(SS/PCINT0) PB0", is left unconnected. 
Is it possible that PB0 is also configured as input somewhere in your program or libraries? In this case, it should be connected to Vcc.

600: <p>I'm using FastLED with a custom board built around the ATMega32u4. When I set it to use Software SPI, everything works fine, but when I use hardware SPI it just hangs whenever it tries to write out the data (FastLED.show()).</p>

<p>I originally mocked this up on an Arduino Pro Micro and it worked fine there. That makes me think that it's a hardware issue but, as I mentioned, SPI output <em>does</em> work, but only when bit-banged. Which really doesn't make much sense.</p>

<p>I tested this by also just using the built in SPI classes and I get the same thing. No luck with hardware SPI.</p>

<p>Anyone else ever see something like this?</p>

<p>The schematic of my circuit is below.</p>

<p><img src="https://i.stack.imgur.com/4R7AW.png" alt="enter image description here"></p>
 84: <p>According to <a href="http://www.atmel.ch/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_%20Datasheet.pdf">ATmega32u4 datasheet</a>, section 17.2.1 (SPI / SS Pin Functionality / Master Mode:</p>

<blockquote>
  <p><strong>If SS is configured as an input, it must be held high to ensure Master SPI operation.</strong></p>
</blockquote>

<p>In your circuit, SS pin (#8 on package), also labeled as "<strong>(SS/PCINT0) PB0</strong>", is left unconnected. </p>

<p>Is it possible that PB0 is also configured as input somewhere in your program or libraries? In this case, it should be connected to Vcc.</p>
