O diodo é para fornecer um caminho seguro para o recuo indutivo do motor. Se você tentar desligar a corrente repentinamente em um indutor, ela produzirá a voltagem necessária para manter a corrente fluindo a curto prazo. Em outras palavras, a corrente através de um indutor nunca pode mudar instantaneamente. Sempre haverá alguma inclinação finita.
O motor é parcialmente um indutor. Se o transistor desligar rapidamente, a corrente que ainda deve fluir através do indutor por um tempo fluirá através do diodo e não causará danos. Sem o diodo, a tensão no motor ficaria tão grande quanto necessário para manter a corrente fluindo, o que provavelmente exigiria fritar o transistor.
Um pequeno capacitor do outro lado do motor reduzirá a velocidade das transições de tensão possivelmente rápidas, o que causa menos radiação e limita o dV / dt ao qual o transistor está sujeito. 100 nF é excessivo para isso e impedirá uma operação eficiente, exceto em baixas frequências PWM. Eu usaria 100 pF ou mais, talvez até 1 nF.
O resistor deve limitar a corrente que a saída digital deve fornecer e a base do transistor deve suportar. O transistor BE parece um diodo para o circuito externo. A tensão será, portanto, limitada a 750 mV ou mais. Manter uma saída digital em 750 mV quando está tentando conduzir a 5 V ou 3,3 V está fora da especificação. Isso pode danificar a saída digital. Ou, se a saída digital puder gerar muita corrente, isso poderá danificar o transistor.
1 kΩ é novamente um valor questionável. Mesmo com uma saída digital de 5 V, isso colocará apenas 4,3 mA ou mais na base. Você não mostra especificações para o transistor, então vamos descobrir que ele tem um ganho mínimo garantido de 50. Isso significa que você só pode contar com o transistor suportando 4,3 mA x 50 = 215 mA de corrente do motor. Isso parece baixo, especialmente para a inicialização, a menos que seja um motor muito pequeno. Eu veria o que a saída digital pode obter com segurança e ajustaria R1 para extrair a maior parte disso.
Outra questão é que o diodo 1N4004 é inadequado aqui, principalmente porque você ligará e desligará o motor rapidamente, como está implícito no "PWM". Esse diodo é um retificador de energia destinado a frequências normais de linha de energia como 50-60 Hz. Tem recuperação muito lenta. Use um diodo Schottky. Qualquer diodo Schottky 1 A 30 V genérico funciona bem e é melhor que um 1N4004.
Eu posso ver como esse circuito pode parecer funcionar, mas claramente não foi projetado por alguém que realmente sabia o que estava fazendo. Em geral, se você vê um arduino em um circuito encontrado na rede em algum lugar, especialmente um simples, suponha que ele foi publicado porque o autor considera uma grande conquista. Aqueles que sabem o que estão fazendo e desenham um circuito como esse em um minuto não consideram que vale a pena escrever uma página da web. Isso deixa aqueles que levaram duas semanas para fazer o motor girar sem o transistor explodir e eles não sabem ao certo o que tudo faz para escrever essas páginas da web.