# Upload do Sketch

## Upload do sketch

Dependendo do bootloader gravado na placa, há duas formas de fazer upload do sketch:

## Arduino Gemma

Para fazer o upload para a Franzininho é necessário seguir os passos abaixo:

1 - Certifique que a placa está conectada ao computador:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LJZ-ESQnr_XlRHwdvce%2F-LJZ-QSsj3uMe6pdCjhd%2Fimage.png?alt=media\&token=af78eab7-3369-421c-b94b-69170fc42afc)

2 - Pressione o botão de Reset:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LJZ-ESQnr_XlRHwdvce%2F-LJZ-TDteyfv6U53-p95%2Fimage.png?alt=media\&token=9c7617bd-8350-4e58-9285-6e8714adc43b)

3 - Imediatamente em seguida clique no botão de upload na IDE:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1ZF7PtXKbLHtKf%2Fupload-03.png?generation=1530491713659030\&alt=media)

4 - É iniciada a programação:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1aOKx1m9dwhFVL%2Fupload-04.png?generation=1530491720871843\&alt=media)

5 - Após alguns instantes a sua Franzininho estará programada:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1cNG90YcqFXKiv%2Fupload-05.png?generation=1530491713282553\&alt=media)

Maravilha, sua Franzininho foi programada. Repita o procedimento acima, toda vez que for fazer o upload de código para sua placa.

## Micronucleus - Disgispark

O processo de gravação para o Micronucleus é um pouco diferente.

1 - Certifique que a placa está conectada ao computador:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1eTROIJ1zZ9Ewu%2Fupload-06.png?generation=1530491721935667\&alt=media)

2 - Clique no botão de upload na IDE:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1g2dYeqU9jeumG%2Fupload-07.png?generation=1530491721742190\&alt=media)

3 - Após a compilação será exibidada seguinte mensagem:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1i36y5DYB3z1s_%2Fupload-08.PNG?generation=1530491713803808\&alt=media)

Você tem até 60 segundos para inserir a placa na USB do computador.

4 - Plugue a Franzininho na porta USB do seu computador

Após plugar a placa será iniciado o upload do código:

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-LGNPWzzb--Svmv8vMiY%2F-LGNPY1kdGoVligu81in%2Fupload-09.PNG?generation=1530491722940892\&alt=media)

Pronto, a sua Franzininho está programada. Repita o procedimento acima toda vez que for fazer upload de código para a placa.

### Solução de problemas:

#### (Micronucleus) Erro ao fazer upload (Contribuição de [caioau](https://github.com/caioau) )

Caso o erro abaixo (ou parecido) apareça:

```
Warning: device with unknown new version of Micronucleus detected.
This tool doesn't know how to upload to this new device. Updates may be available.
Device reports version as: 2.4
```

Significa que a ferramenta que faz o upload do computador para a placa com o Micronucleus está desatualizada.

Caso não tenha instalado gcc e make, instale-os:

> sudo apt install build-essential git

Clone o repositório do micronucleus:

> git clone <git@github.com>:micronucleus/micronucleus.git

Compile e substitua o binário antigo pelo atualizado:

```
cd micronucleus/commandline/
make
cp micronucleus /home/<SEU_USUARIO>/.arduino15/packages/digistump/tools/micronucleus/2.0a4/micronucleus
```

Tudo pronto! Deve estar funcionando agora. Tente compilar e fazer o upload novamente.

Caso retorne o seguinte erro após o make:

```
Building library: micronucleus_lib...
gcc   -Ilibrary -O -g -D LINUX -c library/micronucleus_lib.c
In file included from library/micronucleus_lib.c:30:0:
library/micronucleus_lib.h:35:80: fatal error: usb.h: No such file or directory
   #include <usb.h>        // this is libusb, see http://libusb.sourceforge.net/
                                                                                ^
compilation terminated.
Makefile:49: recipe for target 'micronucleus_lib' failed
make: *** [micronucleus_lib] Error 1
--- End code ---
```

Instale:

```
sudo apt-get install libusb-dev
```

E compile novamente.
