Why is the array modifier scaling my object?
Your object and your empty have different scale values. Hover over your object's scale values and press CTRLC, then select the empty, hover over its X scale value and hit CTRLV. Repeat for Y and Z (provided your object is uniformly scaled).

Alternatively: Select your empty, then shift-select your object, rightclick on the scale values and say: copy to selected.

Any differences of rotation, location or scale between the two objects get multiplied for each new copy. That can be pretty powerful.



Two array modifiers on top of each other. The empties just differ a bit in scale, rotation and location.