Hi, I've been looking up some tutorials about how to program the standalone Atmega328p-pu using an arduino, but they all say to remove the chip from the arduino so it communicates with the Atmega chip instead of the internal one.
Problem is, I don't have an arduino with a removable microcontroller. I have the UNO R3 SMD, so I can't remove it.
Do I now have to buy a USB to Serial converter or is there a way I can still use the arduino itself to program the chip directly.
You can program the standalone chip using "Arduino as ISP" if you have access to 4 pins on the standalone unit. You need to connect power and Ground, and connect as follows:
The source unit is the ready made Arduino. The target is the standalone.
Connect pins D10-D13 of the source unit to AVR pins 17 - 19 and pin 1 (/reset) on the target. I've built a cable to make that easy, but you can use jumpers. The details are in the notes.
Also be sure to read the notes in the comments of Arduino as ISP.
"remove the chip from the arduino so it communicates with the Atmega chip instead of the internal one"
That can also be effected by connecting Reset on the Power header to Gnd.
Then the USB interface is free to talk to an offboard chip - as long as the off board chip has a bootloader already installed.
If not (as in perhaps it is brand new) then you need to burn the fuses and install a bootloader first. For that you need a Programmer, which can be the SMD Arduino programmed as ISP.
Since it is so simple to temporarily disable the Uno’s on-board ATmega328p by grounding the reset pin directly, as already mentioned, or via a say 10uF capacitor, I don’t understand why there is such a proliferation of tutorials suggesting the removal of this chip. The risk of damage, bent or broken pins etc. , caused by removing the chip from the socket, is quite high.
Note that this is relevant only if you are using the uno etc. in the role of a USBTTL device for loading a sketch onto a chip which already has the bootloader installed.