Sensing 12v DC Motor RPM using tachometer via Motor Shield

Hello.

I have an Arduino Uno WiFi Rev2 to which I have mounted an Adafruit Motor Shield v2 with break out pin wings either side sandwiched in-between.

My problem is that i want to safely power a 4 wire (Positive (red) Negative (black) Sensor (yellow) Control (brown)) 12v ::::: 1.2A Brushless DC fan.

After installing the motor shield library, I ran the DCMotor example and all worked fine.
I then attached the tachometer wire (Yellow) and can read the revolutions per minute.
My worry though is that it has worked but with a lack of understanding.

I mention this because below is the tachometer example I followed;

The issue is I could only get this to work by not routing the grd to the Arduino, seen below;


My intuition is that the Shield and Arduino are filling this void; however, I need to know why?

Also is there a program like Tinkercad or Fritzing that accommodate the AdaFruit Motor Shield, so that I can draw schematics?

Thank you
Rob

From where does the UNO get its power?

Fritzing produce useless pictures, not schematics, and a common forum request is to not post Fritzings.
Pen and paper usually work better.

hiya, I am using USB cable to power the Uno from my laptop, that same cable I use for loading the program. My intention is to end up using rechargeable batteries to power the Uno but while testing it's more convenient not to.

Agree.