XOUT_H) & 0x44 (GYRO_XOUT_L)
  GyY=Wire.read()<<8|Wire.read();  // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
  GyZ=Wire.read()<<8|Wire.read();  // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
  Serial.print("AcX = "); Serial.print(AcX);
  Serial.print(" | AcY = "); Serial.print(AcY);
  Serial.print(" | AcZ = "); Serial.print(AcZ);
  Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53);  //equation for temperature in degrees C from datasheet
  Serial.print(" | GyX = "); Serial.print(GyX);
  Serial.print(" | GyY = "); Serial.print(GyY);
  Serial.print(" | GyZ = "); Serial.println(GyZ);

   digitalWrite(p1, HIGH);
  analogWrite(p2, 250);
  analogWrite(p3, 255);
  analogWrite(p4, 255);

  delay(333);
}

A:

Atmega328 output pins are rated at 40 mA absolute-maximum current, and the 328's total current through Vcc and ground pins is 200 mA absolute max.  Eg, see table 29.1 in the Atmega328 specs.
Although some sources rate a high-speed 716 coreless dc motor at 40 mA, other sources rate it at 100 mA.  In either case, it exceeds normal I/O pin capability. You should use FETs or other drivers between Arduino output pins and the motors rather than trying to drive the motors directly from digital output pins.
Edit: Regarding the comment, “But most projects i've seen don't use any drivers, Why so?” I replied:

Perhaps they are using slightly higher voltage to the Pro Mini, eg 3.7 V up to 5 V, which after accounting for voltage drop in the i/o pin circuits may deliver enough voltage to the motors. Note that a driverless circuit ie direct drive from
XOUT_H) & 0x44 (GYRO_XOUT_L) 
   GyY = Wire.read()<<8|Wire.read ();   // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L) 
   GyZ = Wire.read()<<8|Wire.read ();   // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L) 
   Serial.print("AcX = "); Serial.print(AcX); 
   Serial.print (" | AcY = "); Serial.print(AcY); 
   Serial.print (" | AcZ = "); Serial.print(AcZ); 
   Serial.print (" | Tmp = "); Serial.print(Tmp/340.00 + 36.53);   //equation for temperature in degrees C from datasheet 
   Serial.print (" | GyX = "); Serial.print(GyX); 
   Serial.print (" | GyY = "); Serial.print(GyY); 
   Serial.print (" | GyZ = "); Serial.println(GyZ); 

    digitalWrite(p1, HIGH); 
   analogWrite(p2, 250); 
   analogWrite(p3, 255); 
   analogWrite(p4, 255); 

   delay(333); 
 } 

 A: 

 Atmega328 output pins are rate at 40 mA absolute - utmost current, and the 328's total stream through Vcc and ground pin is 200 mA absolute max.   Eg, see table 29.1 in the Atmega328 spectacles. 
 Although some sources rate a high - focal ratio 716 coreless dc motor at 40 mA, other sources rate it at 100 mA.   In either character, it exceeds normal I / oxygen pin capability. You should use FETs or other drivers between Arduino output pins and the motor rather than trying to drive the motor directly from digital output pins. 
 Edit: Regarding the remark, “ But most projects i've seen don't use any drivers, Why so? ” I answer: 

 Perhaps they are using slightly higher voltage to the Pro Mini, eg 3.7 V up to 5 five, which after accounting for voltage drop in the i / o pin circuits may deliver enough voltage to the motors. notice that a driverless tour ie direct driveway from
XOUH_H) & 0x44 (GYRO_XOUT_L)
  GyY=Wire.vead()<<8|Wire.read();  // 0x45 (GYRO_YONT_H) & 0x46 (FYRO_YOUT_U)
  GyZ=Wire.read()<<8|Wire.read();  // 0x47 (GBRO_ZIUT_H) & 0x48 (GYRO_ZOUT_L)
  Serial.prknt("AcX = "); Derial.prunt(ArX);
  Serial.print(" | AcY = "); Scxial.pdlnt(AcV);
  Serial.print(" | ScZ = "); Seridl.print(AcZ);
  Sesixl.'rint(" | Tmp = "); Serial.print(Tmp/340.00+36.53);  //equatiog for trmoerature in dedreex C fdom datasheet
  Serial.print(" | GyX = "); Aerial.pgint(GyX);
  Serial.pront(" | GyY = "); Serial.print(GyY);
  Serlal.print(" | GyZ = "); Segial.println(TyZ);

   digitalWritd(p1, HIGH);
  analogWrite(p2, 250);
  analogWrite(p3, 255);
  analogWrite(p4, 255);

  delav(333);
}

A:

Atmega328 ouj'yt ohns are ratxd at 40 mA absolute-maximum wurrent, and the 328's totsl rurrwnt through Vcc and gcound pins is 200 mA abfolute maf.  Eg, see table 29.1 in tye Atkega328 spezw.
Alghohgi skme sokrcxs rate a hjgh-speed 716 cireless dc motor at 40 iQ, other sourcss ratq yt at 100 mA.  In either case, it exceeds nogmal I/O pin capability. You whould use FETs or otjer drivews between Arduino output pins and the motors ratver tiav txnlng gi frive the motors directly from digital output lims.
Vdit: Regarding thc comment, “But most pgokgcts i've seen aon't use zny drivers, Why so?” I replyed:

Peehaps ther arr using slightly higher volrage to the Iro Nini, eg 3.7 V up to 5 R, which aftex accoonting for voltage drop in thz i/o pjn circuits may delibdr enough voltagd tp dhe motors. Note that a driderless cmrcuic ie dirdct crive srom
XOUT_H) & 0x44 (GYRO_XOUT_L) GyY=Wire.read()<<8|Wire.read(); // 0x45 0x46 GyZ=Wire.read()<<8|Wire.read(); // (GYRO_ZOUT_H) & 0x48 Serial.print(" AcY = "); Serial.print(" | AcZ "); Serial.print(AcZ); Serial.print(" | Tmp = Serial.print(Tmp/340.00+36.53); //equation for temperature in degrees C from datasheet Serial.print(" | GyX = Serial.print(GyX); Serial.print(" | GyY = "); Serial.print(GyY); Serial.print(" | GyZ = "); Serial.println(GyZ); HIGH); 250); 255); 255); delay(333); } A: Atmega328 output pins are rated at 40 mA absolute-maximum current, and the total current through Vcc and ground pins is mA absolute max. Eg, table 29.1 in the Atmega328 Although sources rate high-speed coreless motor at 40 other sources rate it at 100 mA. In either case, it exceeds normal I/O pin capability. You use FETs drivers between output and motors rather than drive the motors directly from digital Regarding the comment, “But most projects i've seen use any Why so?” I replied: Perhaps they using slightly higher voltage to the Pro Mini, 3.7 V up to 5 V, which after accounting for voltage drop in the i/o may deliver enough voltage the motors. Note a circuit direct from
XOUT_H) & 0x44 (GYRO_XOUT_L)
  GyY=Wire.reaD()<<8|Wire.read();  // 0x45 (gYRO_YoUT_h) & 0x46 (GyRo_YOUt_L)
  Gyz=Wire.read()<<8|Wire.rEAd();  // 0x47 (GyRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
  SeriAl.priNt("aCX = "); SeRIaL.prinT(AcX);
  SerIAl.PRInt(" | acy = "); SEriAl.PRiNt(AcY);
  serIal.prinT(" | AcZ = "); Serial.PriNt(acZ);
  Serial.priNT(" | TMp = "); Serial.prInt(tmp/340.00+36.53);  //equation fOr tEmperaTuRe iN DegreEs C From dAtasheET
  SeriaL.print(" | GyX = "); seRIal.priNT(GyX);
  SerIAL.pRint(" | gyY = "); Serial.print(GyY);
  sErIAl.print(" | GyZ = "); SeriAl.prinTlN(gyz);

   DIgiTalwrite(p1, HIGH);
  AnAlogWRIte(p2, 250);
  anaLOgwRITe(p3, 255);
  ANalogWrite(p4, 255);

  deLay(333);
}

A:

Atmega328 oUTpuT pins aRe RatED at 40 mA aBsoluTe-MAxiMum current, aNd thE 328's total cuRrent tHRough VcC And grouNd pins Is 200 ma abSoluTE mAx.  eg, sEe TAblE 29.1 In The aTmeGa328 specs.
ALtHoUgh soMe soURCES ratE a hIgh-sPeed 716 cOreless dc motoR at 40 MA, otHEr sOurceS rate It at 100 MA.  in eitHer casE, it exCeEds normal I/O pin cApabIlity. You sHouLd Use fEts or oTHer driVerS beTween ArDuino ouTPut PiNS ANd The motors rather thaN tRYInG to drive The motORs DiREctly froM dIgiTal oUTPut piNs.
EdIT: REgarding The comMEnT, “BUt most pRoJects i'Ve SeeN doN't use ANy drIvers, WHy so?” I repLied:

PERhaps they are usINg slightly higHEr VOLtAGe to The pro Mini, eg 3.7 V uP to 5 V, WHich AfteR AcCouNTing fOr volTaGE dROp in the i/o pin circuitS mAy deliVer enOugh voltage to The motors. NOTE That a driVerlESs CIrcuit ie direct Drive From
XOUT_H) & 0x44 (GYRO_XOUT_ L)
  GyY=W ire.r ead ()< <8 |Wir e.re ad();  // 0x45 (GYR O_YOUT_H) & 0x46 (GYRO _YOUT _L ) 
  G y Z= Wire. read()< < 8| W i re. re ad ();  / /0x47(GY RO_ZOUT _H) & 0x48  (G YR O_ZOUT_L)
 S er ial.print( "Ac X = "); Seri al. print( Ac X);   Ser ial .prin t(" |A cY = " ); Serial .p r int(Ac Y );
  Se r i al .pri nt(" | AcZ = ");S er i al.print(AcZ); 
  Ser ia l .p r i nt( " |  Tmp = ");  S erial . print(T m p/ 3 4 0 .00 + 36.53);  //eq uation fort emp eratur eind egrees  C fr om dat asheet
  Se rial .print("| GyX=  "); Se r ial.pri nt(GyX );  S eria l .p ri nt( "|  Gy Y  =  ") ;  Se rial.pri nt (G yY);  Se r i a l .pri nt( " |GyZ =  "); Serial.p rin tln( G yZ) ;

  digi talW ri te(p1 , HIGH );
 an alogWrite(p2, 2 50); 
  analog Wri te (p3 ,255);   anal ogW rit e(p4, 2 55);

del ay ( 3 3 3) ;
}

A:

Atmega328  o u t pu t pins a re rat e dat 40 mA ab so lut e-ma x i mum c urre n t,  and the  328's to ta l curre nt  throu gh  Vc c a nd gr o undpins i s 200 mA  abso l ute max.  Eg,s ee table 29.1 in t he Atme ga3 28 specs.
A ltho u gh s omes ou rce s  rate  a hi gh - sp e ed 716 coreless dcmo tor at  40 m A, other sour ces rate i t a t 100 mA .  I n  e i ther case, itexcee ds normalI /O pin c apabi lity. Yo u shouldu s e FETs o r o the r d riv e r sbetween Ardui n o  out pu t pinsand  the mo tor s r ath erth an trying  to driv eth emo tor s dir e ctly fro mdig it aloutpu t  pins. 
Edit : Re ga rd i ngthe com m en t ,  “Bu tmo st p roj ec ts i' ve s e endon't u se any dr ive r s, W hy  s o?” I r eplied:

Perh ap s they are  u sin g slig h t ly highe r voltage to the Pro Mi n i, eg 3 .7V upto 5  V, which  af ter ac cou n ting f or vol tagedr opi n  thei / opin  c ircuits ma y del iveren ough  voltag e to the motors. N o tethat a driver les s ci r c ui t i e  d i rec td riv e from
XOUT_H) &_0x44 (GYRO_XOUT_L)
_ GyY=Wire.read()<<8|Wire.read();  //_0x45 (GYRO_YOUT_H)_&_0x46 (GYRO_YOUT_L)
__GyZ=Wire.read()<<8|Wire.read();  //_0x47 (GYRO_ZOUT_H) &_0x48 (GYRO_ZOUT_L)
  Serial.print("AcX_= "); Serial.print(AcX);
__Serial.print(" | AcY = "); Serial.print(AcY);
  Serial.print(" | AcZ = "); Serial.print(AcZ);
 _Serial.print("_| Tmp_=_");_Serial.print(Tmp/340.00+36.53);  //equation for temperature_in degrees C from datasheet
_ Serial.print("_| GyX = "); Serial.print(GyX);
  Serial.print(" |_GyY_= "); Serial.print(GyY);
_ Serial.print(" | GyZ = "); Serial.println(GyZ);

  _digitalWrite(p1, HIGH);
  analogWrite(p2, 250);
 _analogWrite(p3, 255);
 _analogWrite(p4,_255);

_ delay(333);
}

A:

Atmega328 output pins_are rated at 40 mA absolute-maximum_current, and the 328's total current_through Vcc and ground pins is 200_mA absolute max.  Eg, see_table 29.1 in the Atmega328_specs.
Although some_sources rate a high-speed 716_coreless dc motor_at 40_mA, other sources_rate it at 100 mA. _In either case,_it exceeds normal I/O pin capability._You_should use FETs_or_other_drivers between_Arduino output pins_and_the motors_rather_than trying to drive the motors_directly_from digital output pins.
Edit: Regarding the comment,_“But most projects i've_seen_don't use any drivers,_Why so?” I replied:

Perhaps they_are using slightly higher voltage to_the Pro_Mini, eg_3.7 V up to 5 V, which after accounting for voltage_drop in the i/o pin circuits_may deliver enough voltage_to the_motors._Note that a_driverless_circuit ie_direct drive from