Este esquema nos permite grabar el gestor de arranque a través del mismo ARDUINO UNO. la desventaja de este grabado convencional es que no podremos grabar el bootloader en chips SMD y por ello he diseñado un PCB profesional gracias a JLCPCB para que podamos grabar el bootloader en chips DIP y también en chips SMD de la familia ATMEGA y ATTYNI 85

DIAGRAMA ESQUEMATICO DE GRABAODOR DE BOOTLOADER COMPLETO

En este diagrama veremos la conexión entre los diferente chips de ATMEGA y ATTYNI85 para el grabado del bootloader y veremos al chip CH340 que nos servirá para la comunicación de los datos del software ARDUINO IDE hacia nuestra PCB.

CH340

Este chip nos servirá para la comunicación USB to serial para poder mandar nuestros códigos de manera directa software ARDUINO IDE y nuestra placa PCB ( quemador de bootloader) para ello en primera instancia no nos va reconocer cuando conectamos nuestra placa para ello necesitaremos de un DRIVER CH340 genérico para la familia CH340 (A-B-C-D-E-F-G) aquí les dejare el instalador del driver

DRIVER CH340

https://mega.nz/file/yZRyRRLB#7uR3VNQKJdSL7mkFE9IvdMuOLIqs7JAmCrwT6q7fxaU

Primeramente tenemos que tener el programa de ARDUINO ISP para poder cargar el bootloader a nuestros demas chips aqui les dejo el programa :

arduino ISP programa:

https://mega.nz/file/nBJVxKBC#5N9VprLGvr2A6G3BMTjEv83b-s_fidp_bj9pS2ulBsk

// ArduinoISP
// Copyright (c) 2008-2011 Randall Bohn
// If you require a license, see
// https://opensource.org/licenses/bsd-license.php
//
// This sketch turns the Arduino into a AVRISP using the following Arduino pins:
//
// Pin 10 is used to reset the target microcontroller.
//
// By default, the hardware SPI pins MISO, MOSI and SCK are used to communicate
// with the target. On all Arduinos, these pins can be found
// on the ICSP/SPI header:
//
//               MISO °. . 5V (!) Avoid this pin on Due, Zero...
//               SCK   . . MOSI
//                     . . GND
//
// On some Arduinos (Uno,...), pins MOSI, MISO and SCK are the same pins as
// digital pin 11, 12 and 13, respectively. That is why many tutorials instruct
// you to hook up the target to these pins. If you find this wiring more
// practical, have a define USE_OLD_STYLE_WIRING. This will work even when not
// using an Uno. (On an Uno this is not needed).
//
// Alternatively you can use any other digital pin by configuring
// software ('BitBanged') SPI and having appropriate defines for PIN_MOSI,
// PIN_MISO and PIN_SCK.
//
// IMPORTANT: When using an Arduino that is not 5V tolerant (Due, Zero, ...) as
// the programmer, make sure to not expose any of the programmer's pins to 5V.
// A simple way to accomplish this is to power the complete system (programmer
// and target) at 3V3.
//
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat   - shows the programmer is running
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
//

#include "Arduino.h"
#undef SERIAL


#define PROG_FLICKER true

// Configure SPI clock (in Hz).
// E.g. for an ATtiny @ 128 kHz: the datasheet states that both the high and low
// SPI clock pulse must be > 2 CPU cycles, so take 3 cycles i.e. divide target
// f_cpu by 6:
//     #define SPI_CLOCK            (128000/6)
//
// A clock slow enough for an ATtiny85 @ 1 MHz, is a reasonable default:

#define SPI_CLOCK 		(1000000/6)


// Select hardware or software SPI, depending on SPI clock.
// Currently only for AVR, for other architectures (Due, Zero,...), hardware SPI
// is probably too fast anyway.

#if defined(ARDUINO_ARCH_AVR)

  #if SPI_CLOCK > (F_CPU / 128)
    #define USE_HARDWARE_SPI
  #endif

#endif

// Configure which pins to use:

// The standard pin configuration.
#ifndef ARDUINO_HOODLOADER2

  #define RESET     10 // Use pin 10 to reset the target rather than SS
  #define LED_HB    9
  #define LED_ERR   8
  #define LED_PMODE 7

  // Uncomment following line to use the old Uno style wiring
  // (using pin 11, 12 and 13 instead of the...
Read more »