Digital Output Low Level Voltage

I am measuring (with a relatively cheap voltmeter) the output low level voltage and it gives me 1.65V. Why is this? I would expect 0V or similar. The high level is 3.3V which makes sense.

Did you use pinMode (pinX, OUTPUT); ? Are you trying to sink or source a lot of current, more than 20mA?

This is the only thing I use:

#include <SPI.h>

const int chipSelectPin = 10;
const int resetPin = 3;

void setup()
{
   pinMode(chipSelectPin, OUTPUT);
   pinMode(resetPin, OUTPUT);

   delay(1000);
   digitalWrite(resetPin, LOW);    
   delay(10);
   digitalWrite(resetPin, HIGH);

   digitalWrite(chipSelectPin, HIGH);

   SPI.begin(10);
}

void loop()
{
   unsigned int result = readRegister();

   delay(1000);
}

byte readRegister()
{
   digitalWrite(chipSelectPin, LOW);
 
   SPI.beginTransaction(10, SPISettings(4000000, MSBFIRST, SPI_MODE1));
   SPI.transfer(10, 0x91, SPI_CONTINUE);
   SPI.transfer(10, 0x20, SPI_CONTINUE);
   SPI.transfer(10, 0x00, SPI_CONTINUE);
   byte result = SPI.transfer(10, 0x00, SPI_CONTINUE);
   SPI.endTransaction();
   
   digitalWrite(chipSelectPin, HIGH);
  
   return result;
}

Also, if I generate MOSI/SCLK with the GPIO commands (digitalWrite), everything looks normal. Is there any SPI pull-down/standard/divider enabled internally?