terça-feira, 5 de abril de 2016

Burning ATmega328P with 8MHz Internal Crystal

(this is a private POST just for me remember what are the FUSES that I used)

To burn the ATmega328P to run with 8MHz internal clock I'm using the ARDUINO PRO MINI bootloader.

Just changing the FUSE of the oscilator:

  • Low Fuse: E2
  • High Fuse: DA
  • Ext Fuse: 05
I'm using JTAGICE mkII-CN as programmer.

AVRDUDE command line:
  • /media/juliano/arduino-1.6.5-r5/hardware/tools/avr/bin/avrdude -C/media/juliano/arduino-1.6.5-r5/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cjtag2isp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE2:m
  • /media/juliano/arduino-1.6.5-r5/hardware/tools/avr/bin/avrdude -C/media/juliano/arduino-1.6.5-r5/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cjtag2isp -Pusb -Uflash:w:/media/juliano/arduino-1.6.5-r5/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:i -Ulock:w:0x0F:m

segunda-feira, 4 de abril de 2016

Resolving the Error: avrdude: usbdev_open(): did not find any USB device "usb"

I was trying to burn a Atmega328P with a JTAGICE mkII-CN programmer and AVRDUDE.
After give all permissions to the JTAGICE mkII (click here to learn how) I was receiving the follow error:

avrdude: usbdev_open(): did not find any USB device "usb"

The error was because I was using the wrong programmer on AVRDUDE. I replaced the programmer for "jtag2isp" and worked like a charm.

The final AVRDUDE command line still like this:

avrdude -C/media/Linux/arduino-1.6.5-r5/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cjtag2isp -Pusb -Uflash:w:/media/Linux/arduino-1.6.5-r5/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:i -Ulock:w:0x0F:m 

quarta-feira, 28 de outubro de 2015

Installing and giving permission to JTAGICE mkII and others USB programmers on Linux

If you're receiving errors like these:
avrdude: usbdev_open(): cannot open device: Permission denied
avrdude: usbdev_open(): did not find any USB device "usb"


Maybe you have to give the right permission for your programmer.
In my case I'm using the JTAGICE mkII-CN on USB.

First of all, check if your JTAG was recognized:
  • Open the terminal and type lsusb 

Note that in my case was found on BUS 002 and DEVICE 004, so, let's check the permissions of this DEVICE:
  • On the terminal type: ls -l /dev/bus/usb/002/004
Note that in my case I don't have permission to this device. So, let's create a UDEV rules for a permanent permission:

  • Create a new file named 60-avrisp.rules on the folder /etc/udev/rules.d/ with this content:
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# JTAGICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", GROUP="dialout", MODE="0666"
# AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", GROUP="dialout", MODE="0666"
# Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2105", GROUP="dialout", MODE="0666"
LABEL="avrisp_end"

  • Now, let's reload the UDEV rules. Open the terminal and write:
sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger

  •  Unplug the USB device and plug again
  •  Let's check our USB devices again typing lsusb


 Note that in my case now was found on BUS 002 and DEVICE 009 (changed from 004 to 009), so, let's check the permissions of this DEVICE again:
  • On the terminal type: ls -l /dev/bus/usb/002/009

 PERFECT!
 Now let's check if our user are in the "dialout" group
  • on the Terminal write groups and check if if you're at dialout group


If didn't appears the dialout group, add your user to this group typing on the Terminalsudo adduser yourusername dialout and reboot your computer

quarta-feira, 30 de setembro de 2015

Slic3r GUI Error OpenGL.so libglut.so Linux Ubuntu

If you're receiving a error message like this:

Can't load '/folder/Slic3r/lib/vrt/9e109cfe461eb9a764d58156ba7bc844/OpenGL.so' for module OpenGL: libglut.so.3: Não é possivel abrir arquivo de objetos compartilhado: Arquivo ou diretório não encontrado at /DynaLoader.pm line 157.
 at /folder/RepetierHost/Slic3r/lib/std/Slic3r/GUI/Plater/2DToolpaths.pm line 120
Compilation failed in require at /folder/Slic3r/lib/std/Slic3r/GUI/Plater/2DToolpaths.pm line 120.
BEGIN failed--compilation aborted at /folder/Slic3r/lib/std/Slic3r/GUI/Plater/2DToolpaths.pm line 120.
Compilation failed in require at /folder/Slic3r/lib/std/Slic3r/GUI.pm line 16.
BEGIN failed--compilation aborted at /folder/Slic3r/lib/std/Slic3r/GUI.pm line 16.
Compilation failed in require at (eval 71) line 1.



Just open you terminal and write:
  • sudo apt-get install freeglut3
  • Just say "Thanks" on Comments if worked for you :o) 

quarta-feira, 12 de agosto de 2015

Programa de RESET para impressora Epson TX430w

EPSON Adjustment Program (AdjProg.exe) é o programa responsável por fazer o RESET dos contadores da impressora EPSON TX430w.
Nesse post, estou documentando como eu fiz a limpeza das almofadas da impressora EPSON TX430w.

Minha impressora começou a mostrar a seguinte mensagem de erro:


  • As almofadas de tinta da impressora estão no fim da sua vida útil.
  • Uma almofada de tinta necessita manutenção. A almofada de tinta está no final da sua vida útil. Desligue o produto e entre em contato com a Epson para obter suporte.
  • Uma almofada de tinta está chegando ao fim da sua vida útil. Entre em contato com a Epson para obter suporte técnico.
  • Fim da vida útil de componentes.
  • É necessário á substituição de componentes interno.


No vídeo abaixo eu mostro como eu abri a minha impressora EPSON TX430w e limpei as almofadas de tinta.


Depois, foi necessário RESETAR os contadores e EEPROM da impressora, para que ela voltasse a funcionar com a almofada limpa.

Para isso, você precisa fazer download do programa de RESET da EEPROM da EPSON, chamado  EPSON Adjustment Program. 
Para os Modelos TX430w, o programa está disponível aqui: 

Download RESET TX430W (senha: nossorepositorio)

Com a IMPRESSORA LIGADA abra o programa e selecione a opção WASTE INK PAD COUNTER e clique em OK conforme figura abaixo:


Após clicar em OK, marque as opções MAIN PAD COUNTER e clique no botão INITIALIZATION conforme figura abaixo:


Desligue a impressora e após isso clique no botão FINISH.




domingo, 28 de abril de 2013

Gravando o Arduino UNO (ATmega328P) utilizando o AVRDUDE por linha de comando

O AVRDUDE é o programa por traz da IDE do Arduino que faz a transferência do arquivo HEX compilado para o microcontrolador quando você aperta no botão de UPLOAD.

Caso você tenha a necessidade de fazer o upload do arquivo HEX sem usar a IDE do Arduino, você poderá executar o AVRDUDE por linha de comando.

Segue abaixo um exemplo de como fazer isso:

Abra o prompt de comando:


Localize a pasta onde o AVRDUDE do Arduino está instalado (normalmente em C:\arduino-1.0.4\hardware\tools\avr\bin )

Execute o AVRDUDE apontando para o arquivo HEX que você deseja gravar no microcontrolador

avrdude -F -v -pm328p -cwiring -PCOM4 -b115200 -D -Uflash:w:"C:\Users\Juliano\AppData\Local\Temp\build4358188074851762653.tmp\Blink.cpp.hex":i -C"c:\arduino-1.0.4\hardware\tools\avr\etc\avrdude.conf"

Lembrando que as opções:

  • -pm328p é porque estamos usando como exemplo o ATmega328P. Para outro microcontrolador, verifique o código correspondente;
  • -PCOM4 é porque meu Arduino esta na porta COM4.





quinta-feira, 10 de março de 2011

Gravando bootloader ATmega328P (Arduino UNO) com JTAGICE MKII - ISP e AVR STUDIO

O programador JTAGICE mkII deve ser alimentado pela USB e conectado ao ISP da placa Arduino da seguinte forma:
O Arduino deve ser alimentado (pode ser pela USB).

Abrir o AVR Studio 4 e clicar no botão CON (Display the Connect Dialog)

Clicar no botão CONNECT para conectar.

Na aba PROGRAM selecione o boot correspondente a sua placa Arduino. No exemplo abaixo estamos configurando para gravar o bootloader no Arduino UNO R3. O arquivo HEX do bootloader pode ser encontrado na pasta: C:\arduino-1.0.4\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex


Na aba FUSES, colocar os campos EXTENDED, HIGH e LOW conforme figura abaixo.

Na aba LockBits colocar o campo LOCKBIT com o valor mostrado na figura abaixo.


Na ABA AUTO, basta clicar no botão START para gravar o bootloader.