I want to build my own Arduino device, and I don't want to choose from the existing ones, because they contain a lot of unnecessary outputs and stuff I don't need.
I need a microcontroller that meets these needs:
1x UART
6x DigitalOutput
Can be programmed via ISCP (USBASP)
I don't need anything else. It will be powered by an external 5V voltage stabilizer
Theoretically, the ATMEGA328P-PU microchip should be suitable for me. If I buy such a chip, what do I need to make it work? This chip is 20Mhz, so do I need an external crystal? Will it work with a 16Mhz crystal? You don't need any stabilizer for the input, because there will be a 5V voltage stabilizer before it. It will receive data into the serial port and will control the FET modules (optical) on the digital output accordingly. No need for any capacitors, resistors, anything if that's all I want to do?
You can run at 8Mhz without an external crystal, but that may not be accurate enough for serial comms, so I would recommend the external crystal. You can run at 16Mhz or 20Mhz, as you need.
I only have just one problem.
If I understand correctly, the RESET has to be pulled up by 10K to +5V to prevent the microchip from restarting. But what if I want to program the chip with USBASP. I want to lead the programming legs out to a 2*3PIN pin, and here one of the 6 is the RESET pin. Can I distribute the line used by the resistor? Before or after resistor?
In theory, I'd go with one of the newer chips, like an AVR-DA, AVR-EA, tiny-1 or tiny-2 series.
But they use UPDI for programming, rather than ISP.
(On the bright side, UPDI is easy and cheap to implement.)