I've see many times people asking why they can't upload code as normal user in linux.
Normally you have to go on /dev and find ttyUSBX, where X is a number, and check the file group. Then simply add your user to the group. (also tty group to use serial)
In my case the group was uucp and the user is USER
sudo usermod -g uucp USER
But sometimes (like me) you won't find the file ttyUSBX.
Here how I solve (arch linux):
go to directory:
/etc/udev/rules.d/
create (or modify) a file like "98-FTDI.rules"
and write inside:
SUBSYSTEMS=="usb", ATTRS{product}=="FT232R USB UART", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="ttyUSB%n"
Last but not least:
sudo udevadm control --reload-rules
Well then I've rebooted the PC, just to be sure... and now I can upload without using "sudo " ;D
Hope this will help you