Programación de Atmega328p

Hola que tal alguien me puede ayudar en la programcion del Atmega328p
resulta que estoy terminando un programa usando el fingerprint y antes de terminar el programa por completo decidí programar el atmega328p usando el arduino nano como programador
primero lo programe con el blink para hacer prueba y funciono correctamente pero al programar mi proyecto, en el programa me dice que si lo sube a la placa atmega328p pero no logro hacerlo funcionar con el fingerprint es como si no programara nada, pero con los programas básicos si funciona bien,
el cristal que le puse es de 12mhz, no se si a fuerzas ocupa el de 16mhz para hacerlo funcionar correctamente

quisiera que me ayudaran en algunos consejos

en el programa use el SoftwareSerial mySerial usando el pin 2 y 3
y al conectar el fingerprint parece no hacer comunicación

solo quiero hacerlo funcionar o que necesito para que funcione bien con el fingerprint

Aquí vas a tener tu problema

el cristal que le puse es de 12mhz, no se si a fuerzas ocupa el de 16mhz para hacerlo funcionar correctamente

busca en google para que sirve el cristal y te darás cuenta la razón del porque no te funciona la comunicación serial
Si no tienes acceso a un cristal de 16Mhz puedes cambiar el bootloader para usar el oscilador interno a 8mhz, solo busca en google arduino breadboard o arduino a 8Mhz o si quieres utilizar tu cristal a 12Mhz puedes intentar con esto GitHub - MCUdude/MiniCore: Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB