Nano stops working red light blinking rapidly

I'm using my nano to control the PWM on a h-bridge to control a fuel pump. It has done what it was supposed to do the past few days but now whenever I start the car the fuel pump will work for a short period(like a min.) but then it will cut off completely and the red led L on the nano will start blinking rapidly.
It also will sometimes run at about half speed like it is supposed to at idle but then switch to full speed suddenly and stay there.

I used an android device to program the board through ArduinoDroid, not sure if that matters since it's been working fine up to this point. Also I live in a very hot climate.

Edit:I'm using my map sensor as the analog input and here is the exact hardware I purchased.

 // Arduino GTO fuel pump controller
int pwmPin_A = 3; // output pin supporting PWM
int inPin = 4; // map sensor voltage connected to analog pin 4
int val = 5; // variable to store the read value
float volt = 0; // variable to hold the voltage read
int Pin_B = 7;
void setup()
{
  pinMode(pwmPin_A, OUTPUT); // sets the pin as output
  analogWrite(pwmPin_A, 255); // primes the pump at full power
delay(3000); // pump runs for 3 seconds


}
void loop()
{
  val = analogRead(inPin); // read the input pin

  // values
  // range of
  //
  //
  // That is  psi per voltage
  // Volts=
  // PSI= (*(Voltage))


  // Input pin takes voltage
  // this sensor and converts it to a number between 0 and 1023
  // Each number is
  // To get PSI 0-1023 number from Mv divide input volts by
  // PWM pin converts this to a number between 0 and 255
  // where 0 is 0% duty cycle and 255 is 100% duty cycle

  // using map PWM output so higher duty cycle at lower pressure
  int valMap = analogRead(inPin);
  valMap = map(val, 133, 350,120, 255); // This controls the pump's duty cycle
  // to allow the map sensor output to influence pump speed.
  


  if (val > 350) {
    analogWrite(pwmPin_A, 255); // Pump stays at 100% duty when boost pressure
    // surpasses specified range.
  }

  else if (val < 133) {
    analogWrite(pwmPin_A, 120); // Pump stays at 49% duty in case vaccum goes below specified range.
  }
  else {
    analogWrite(pwmPin_A, valMap);
  }
}