user15990: How to produce 6 PWM signals with 60 degrees phase shift using Arduino Uno 6 PWM pins like in the image below?


user4143: Using hardware it's not possible. Simply because you effectively only have three PWM timer units, each with two compare outputs.
That means you have three timebases, which are each compared with two values for two PWM signals each.
You would need a single master timebase with six independent offsettable counters with comparison for your needs.
It would be possible to (roughly) do it in software, though, depending on your needs. You get jitter from software generated PWM, due to interrupts getting in the way of your smooth execution. However you have complete control over how the waveform is generated. Instead of a 0-X duty cycle you could program it to have an X-Y duty cycle. And with all of them taken from the same counter value it's then all synchronised 100%.

user86625: I found the correct method for 6-phase PWM as the OP requested. And it can have any duty-cycle you want. My erroneous findings for 50% only duty we're because I used Fast-PWM mode. When I switched to Phase-PWM (mode-10-PWM in a 2560 ARduino), I got the correct waveforms, the same as the OP wanted.
Below is a link to a logic-analyzer snapshot showing the 6-phases from a 2560. The frequency is 500 Hz but that's easy to change. 4 Timers in all used to realize this outcome. 3 Timers used mode-10-PWM, 1 mode-14-PWM at the same frequency.
The full project is documented at Runtime Micro.

FWIW

15990: <p>How to produce 6 PWM signals with 60 degrees phase shift using Arduino Uno 6 PWM pins like in the image below?</p>

<p><a href="https://i.stack.imgur.com/z6r81.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/z6r81.gif" alt="enter image description here"></a></p>
 4143: <p>Using hardware it's not possible. Simply because you effectively only have three PWM timer units, each with two compare outputs.</p>

<p>That means you have three timebases, which are each compared with two values for two PWM signals each.</p>

<p>You would need a single master timebase with six independent offsettable counters with comparison for your needs.</p>

<p>It would be possible to (roughly) do it in software, though, depending on your needs. You get jitter from software generated PWM, due to interrupts getting in the way of your smooth execution. However you have complete control over how the waveform is generated. Instead of a 0-X duty cycle you could program it to have an X-Y duty cycle. And with all of them taken from the same counter value it's then all synchronised 100%.</p>
 86625: <p>I found the correct method for 6-phase PWM as the OP requested. And it can have any duty-cycle you want. My erroneous findings for 50% only duty we're because I used Fast-PWM mode. When I switched to Phase-PWM (mode-10-PWM in a 2560 ARduino), I got the correct waveforms, the same as the OP wanted.</p>
<p>Below is a link to a logic-analyzer snapshot showing the 6-phases from a 2560. The frequency is 500 Hz but that's easy to change. 4 Timers in all used to realize this outcome. 3 Timers used mode-10-PWM, 1 mode-14-PWM at the same frequency.</p>
<p>The full project is documented at Runtime Micro.</p>
<p><a href="https://i.stack.imgur.com/zFML3.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zFML3.jpg" alt="enter image description here" /></a></p>
<p>FWIW</p>
