S.T.E.M.
LEGO EV3 + Snap Circuits
LEGO EV3 robot sets (I own 12 complete EV3 sets that include expansions.) Snap Circuit sets are also very engaging. There is little - if any - need for redirecting students when these are out.
Arduino
Arduino is an engaging way to introduce students to programming. The possibilities here are pretty close to endless. Arduino can be used to control motors, lights, and a variety of other things. This could lead students to a very successful future.
Marble Run
Purchased to demonstrate gravity, I quickly learned of the S.T.E.M. value of this marble run set. All levels of Blooms are utilized when this is used. I have recently donated a set to a colleague, who teaches first grade, to test the effectiveness of using a marble run set with that age group.
Paper Rocket Launcher
A paper rocket launcher built - to teach students about variables in a scientific process - with the assistance of the great people at the Golden X Plumbing Supply in Inverness, Florida. There are variables associated with the construction of the rockets as well as the launch.
LEGO Programming Blocks
Two students work together to arrange code blocks for their LEGO EV3 robot. LEGO robots can also be programmed using a integrated development environment such as Micro Python.
LEGO sets help develop many skills and address all six levels of Bloom's and all four levels of the DOK chart. LEGO construction manuals contain no written instructions, only diagrams. Students really have to think!
Snap Circuits
Snap Circuits are very engaging. They require the student to read informational text, understand electrical energy, follow directions, and then write about what they have learned.
S.T.E.M. Club
LEGO S.T.E.M. Club. Student members work together to build a remote controlled LEGO vehicle.