Fluctuating voltage value in print console

Here is a dead simple method of smoothing the readings:

template<uint8_t pin> uint16_t analogReadAvg()
{
	const uint8_t ANALOG_BUFFER_SIZE = 10;
	static uint8_t buffer_idx = 0, buffer_size = 0;
	static uint16_t buffer[ANALOG_BUFFER_SIZE] = {0};
	buffer[buffer_idx++] = analogRead(pin);
	if (buffer_idx > ANALOG_BUFFER_SIZE) buffer_idx = 0;
	if (buffer_size < ANALOG_BUFFER_SIZE) buffer_size++;
	uint32_t result = 0;
	for (uint8_t i = 0; i < buffer_size; i++) result += buffer[i];
	return result / buffer_size;
}

void loop()
{
  uint16_t avg = analogReadAvg<voltPin>();
  float voltage = avg * (17.0 / 1023.0);
  Serial.println(voltage);
  delay(1000);
}