Atmega168 bootloader internal 8Mhz

You can take out the MD5 sumcheck to save a lot of program memory on the chip detector sketch.

Find these lines and comment them out as shown. Then re-upload.

  /*  **************************************
  Serial.print ("MD5 sum of bootloader = ");
  
  md5_context ctx;
  byte md5sum [16];
  byte mem;

  md5_starts( &ctx );
  
  while (len--)
    {
    mem = readFlash (addr++);
    md5_update( &ctx, &mem, 1);
    }  // end of doing MD5 sum on each byte
    
  md5_finish( &ctx, md5sum );

  for (int i = 0; i < sizeof md5sum; i++)
    showHex (md5sum [i]);
  Serial.println ();  

   **************************************   */

That cuts the program size down to 5,706 bytes or thereabouts.