# Piston Upgrade

![Push it.](oredict:oc:pistonUpgrade)

The piston upgrade allows some devices to act very much like a vanilla piston. When installed, a component with a single method, `push()`, becomes available. When called the device will then try to push the block in its forward facing direction. For [robots](../block/robot.md) and [microcontrollers](../block/microcontroller.md), this is the front face; for [tablets](tablet.md), it will use the player's facing direction. 

The logic for pushing follows the same rules as vanilla pistons.
