Aumento de frecuencia arduino uno

Hola Buen dia Me pueden dar la mano aqui? e estado metido en el mundo de los timer para un convertidor boost, estube mas a fondo sobre las pwm y encontre cosas buenas si manejar el duty y las pwm pero al hacerlas funcionar e visto que la frecuencia esta por los Hz y en hz no me sirve osea si levanta el boost pero no es estable luego empece a buscar de mas e ir probando y encontre este codigo en instructables

entonces lo prove y hay un pin que llega a 2Khz y mejoro el convertidor tanto en voltaje/consumo de entrada y carga de salida la cual es algo bueno
mi idea es llegar al maximo en khz que el atmega328p puede dar e visto que lo suben hasta 125khz pero no logro yo subirlo otra cosa que me gustaria agregar es mostrar la frecuencia a la que se encuentra en el momento por un lcd. pero esto no es tan importante

//timer interrupts
//by Amanda Ghassaei
//June 2012
//https://www.instructables.com/id/Arduino-Timer-Interrupts/

/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
*/

//timer setup for timer0, timer1, and timer2.
//For arduino uno or any board with ATMEL 328/168.. diecimila, duemilanove, lilypad, nano, mini...

//this code will enable all three arduino timer interrupts.
//timer0 will interrupt at 2kHz
//timer1 will interrupt at 1Hz
//timer2 will interrupt at 8kHz

//storage variables
boolean toggle0 = 0;
boolean toggle1 = 0;
boolean toggle2 = 0;

void setup(){
  
  //set pins as outputs
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(13, OUTPUT);

cli();//stop interrupts

//set timer0 interrupt at 2kHz
  TCCR0A = 0;// set entire TCCR2A register to 0
  TCCR0B = 0;// same for TCCR2B
  TCNT0  = 0;//initialize counter value to 0
  // set compare match register for 2khz increments
  OCR0A = 124;// = (16*10^6) / (2000*64) - 1 (must be <256)
  // turn on CTC mode
  TCCR0A |= (1 << WGM01);
  // Set CS01 and CS00 bits for 64 prescaler
  TCCR0B |= (1 << CS01) | (1 << CS00);   
  // enable timer compare interrupt
  TIMSK0 |= (1 << OCIE0A);

//set timer1 interrupt at 1Hz
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0
  // set compare match register for 1hz increments
  OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
  // turn on CTC mode
  TCCR1B |= (1 << WGM12);
  // Set CS12 and CS10 bits for 1024 prescaler
  TCCR1B |= (1 << CS12) | (1 << CS10);  
  // enable timer compare interrupt
  TIMSK1 |= (1 << OCIE1A);

//set timer2 interrupt at 8kHz
  TCCR2A = 0;// set entire TCCR2A register to 0
  TCCR2B = 0;// same for TCCR2B
  TCNT2  = 0;//initialize counter value to 0
  // set compare match register for 8khz increments
  OCR2A = 249;// = (16*10^6) / (8000*8) - 1 (must be <256)
  // turn on CTC mode
  TCCR2A |= (1 << WGM21);
  // Set CS21 bit for 8 prescaler
  TCCR2B |= (1 << CS21);   
  // enable timer compare interrupt
  TIMSK2 |= (1 << OCIE2A);


sei();//allow interrupts

}//end setup

ISR(TIMER0_COMPA_vect){//timer0 interrupt 2kHz toggles pin 8
//generates pulse wave of frequency 2kHz/2 = 1kHz (takes two cycles for full wave- toggle high then toggle low)
  if (toggle0){
    digitalWrite(8,HIGH);
    toggle0 = 0;
  }
  else{
    digitalWrite(8,LOW);
    toggle0 = 1;
  }
}

ISR(TIMER1_COMPA_vect){//timer1 interrupt 1Hz toggles pin 13 (LED)
//generates pulse wave of frequency 1Hz/2 = 0.5kHz (takes two cycles for full wave- toggle high then toggle low)
  if (toggle1){
    digitalWrite(13,HIGH);
    toggle1 = 0;
  }
  else{
    digitalWrite(13,LOW);
    toggle1 = 1;
  }
}
  
ISR(TIMER2_COMPA_vect){//timer1 interrupt 8kHz toggles pin 9
//generates pulse wave of frequency 8kHz/2 = 4kHz (takes two cycles for full wave- toggle high then toggle low)
  if (toggle2){
    digitalWrite(9,HIGH);
    toggle2 = 0;
  }
  else{
    digitalWrite(9,LOW);
    toggle2 = 1;
  }
}

pero me gustaria utilizar el timer1 que es de 16 bits segun la hoja de datos del 328 y los pines son 2 (PD5,PB0)

como no me gusta pegar y copiar codigo me puse a leerlo y fue editar la parte que liga el pin 9 la cual llega a 2khz pense a jugar con otros valores pero al cambiarlos ya no me da 2khz (la idea es subir maximo a 125khz si es posible)

Rode:
(la idea es subir maximo a 125khz si es posible)

Con el timer1 es posible, sin embargo sería a costas de la "resolución" del PWM. Con una frecuencia de reloj de 16 MHz, PWM de 125 KHz tendría apenas 120 "pasos" o posibles niveles de voltaje.
Reducir la resolución reduce la posibilidad de mantener estable el voltaje de salida a determianda histérisis en la retroalimentación (feedback).

Si reduces la frecuencia, aumentas la resolución; sin embargo, para que un convertidor Boost trabaje bien en frecuencias menores, hay que incrementar la inductancia del inductor (incrementa la energía almacenada para el incremento en el tiempo de apagado).