VRC has returned to lifting and stacking games repeatedly. Each time the meta evolves — teams build on what the previous season proved. If you know what worked in Skyrise, In The Zone, and Tower Takeover, you can make better decisions on kickoff day than teams starting from scratch.
The game required building a tower up to 47 inches high from Skyrise sections — the tallest scoring challenge VRC had seen. The DR4B was the only practical mechanism for reaching the full tower height while keeping the end effector level. Team 118 pioneered early-season DR4B design and the mechanism dominated worlds. Six-bar and eight-bar variants also appeared, but DR4B became the gold standard for vertical stacking from this season forward.
Cones needed to be stacked on mobile goals and stationary posts. Top teams split between DR4B for maximum post height and chain bar for efficient mobile goal stacking. AURA (New Zealand) had pioneered the chain bar concept and it became mainstream here. New Zealand teams also introduced the 5-wide horizontal bracing technique that transformed DR4B stability. Screw joints became standard best practice this season after 333A's influential tutorial.
Cubes needed to go into floor goals and onto tower posts. Tray bots — passive tilter mechanisms that bulk-collected and deposited stacks — dominated early season by scoring faster than lift bots. Later-season lift bots used four-bar or simple direct-arm designs to contest towers. The lesson here is that lift complexity must be justified by the game — sometimes simpler passive mechanisms beat elaborate lifts.
Mobile goals needed to be grabbed and carried to alliance zones. Four-bar and chain bar designs dominated because the task required lateral reach with a consistent end-effector angle — exactly what these mechanisms provide. A pneumatic latch at the end of a four-bar or chain bar was the standard goal-grabbing mechanism. The platform elevation at endgame used PTO and separate lift mechanisms.
The input and output bars must be the same length. The top and bottom bars must be the same length. Any deviation and the end effector tilts as it travels. Measure before you build.
Use partially-threaded screws through the pivot holes instead of free-spinning axles. Screw joints eliminate slop at the joints — the #1 source of instability in any bar lift. VEX Forum consensus: this single change has the greatest impact on lift stability.
Add rubber bands from the chassis to the lift arm to offset the weight of the arm and end effector. Properly tuned rubber bands let a single motor do the work of two. Tune by adding or removing bands until the lift holds position without motor power.
A six-bar uses the same four-bar geometry but splits the arm into two stages. It utilizes the same geometry of four parallel bars, but in two stages — allowing the lift to maintain a lower profile on the robot and condense into a smaller space, fitting a larger lift within the build limits. The end effector still stays level.
The six-bar is the right choice when a four-bar cannot reach the target height but a DR4B is overkill or beyond the team's build capability. It lives in the middle of the complexity spectrum — a meaningful upgrade that a strong intermediate team can execute reliably.
The chain bar was pioneered by AURA (New Zealand) and popularized in Sack Attack and In The Zone. Also called a "Virtual Four-Bar" because it achieves the same end-effector leveling as a four-bar using chain instead of a parallel bar. One arm swings, the chain keeps the top level — simpler structure than a four-bar for the same behavior.
The sprocket at the lift pivot must be bolted rigidly to the tower — it cannot rotate. Drill out the sprocket bore or use a free-spinning insert on the main lift gear so the gear rotates but the sprocket does not. This is the most common build mistake.
Equal sprocket sizes means a 1:1 ratio — the end effector rotation exactly cancels the arm rotation. Different sizes will cause the end effector to tilt. Start with matching sprockets.
Since most of the chain will never ride over the sprocket, you can remove a few links and replace them with a zip tie. This lets you precisely tune tension without needing a half-link or chain tensioner.
The chain bar was pioneered by AURA (New Zealand) in Sack Attack and popularized across VRC. VEX Forum credits AURA as the first to apply it in competition context. The mechanism is sometimes called a "Virtual Four-Bar" because it achieves four-bar kinematics with a simpler structure. Their chain lift tutorial from 2011 is still referenced on VEX Forum today.
Single-bearing screw joints using partially-threaded screws are the most important DR4B build technique. Use 2" screws for the mid-section joints — they act as axles and rigidly connect both sides. This eliminates torsion. VEX Forum consensus: this single change has the greatest impact on DR4B stability.
5-hole wide C-channels (often doubled) braced horizontally at the bottom stage prevent twisting — the #1 DR4B failure mode. New Zealand teams pioneered this in ITZ. It adds weight but the stability improvement makes the lift faster, not slower.
333A's tutorial explicitly states: finish your first DR4B, examine it closely, record all mistakes, then rebuild it. Most teams that skip the rebuild end up at competition with a twisted, unreliable lift. The second build is faster and dramatically better.
Route rubber bands in a triangle pattern — not straight across. This maintains more consistent force on the lift throughout its range of motion, reducing the motor load at the most extended position where torque demand is highest.
| If the game requires… | Best first prototype | Historical example |
|---|---|---|
| Stacking to max height (>36") | DR4B | Skyrise, ITZ |
| Grabbing + carrying mobile goals | Chain Bar | Tipping Point |
| Placing on posts (moderate height) | Four-Bar | Tower Takeover (towers) |
| Moderate height + tight motor budget | Four-Bar (1 motor) | Any game |
| More height than 4-bar, less than DR4B | Six-Bar | Skyrise mid-tier |
| Bulk collection, no individual placing | Tray / passive | Tower Takeover (trays) |
Start with a four-bar. Build it in week 1. Learn why the bar lengths must be equal. Learn screw joints. Learn rubber band tuning. Every other lift builds on this foundation.
Choose chain bar or six-bar depending on game height requirements. Both are achievable in 2 weeks with four-bar experience.
DR4B. Plan 3–4 weeks. Budget for two builds. The first will teach you what the second needs to fix.
The single highest-impact change you can make to any bar lift. A screw joint uses a partially-threaded screw through the pivot hole instead of a free-spinning axle. The screw rigidly connects both sides of the joint, minimizing slop. Less slop = more stable lift = higher reach with less wobble.
Twist is the primary failure mode of bar lifts. An unbraced lift will twist as it extends, causing the end effector to drift sideways and the mechanism to bind and wear prematurely.
Cross-bracing between lift bars adds tension. Works well for narrow (1-wide) mid-sections. Does not prevent twist — supplement with horizontal bracing.
5-hole-wide C-channels, often doubled, braced horizontally at the base section. Pioneered by New Zealand teams in ITZ. Most effective twist prevention — adds weight but the stability gain makes the lift faster.
Rubber bands counteract the weight of the lift and load, reducing the torque demand on your motors. Properly tuned, the lift should hold its position at any height without motor power.
The driver should not be holding a button to move the lift to a scoring position. A single button press should snap the lift to a preset height and hold it there. This frees the driver to focus on field positioning while the lift moves automatically.
// Define preset positions (encoder counts) const int LIFT_DOWN = 0; const int LIFT_LOW = 350; const int LIFT_HIGH = 750; const int LIFT_MAX = 1100; // Driver control loop if (master.get_digital(DIGITAL_L1)) lift.move_absolute(LIFT_MAX, 100); if (master.get_digital(DIGITAL_L2)) lift.move_absolute(LIFT_DOWN, 100); if (master.get_digital(DIGITAL_X)) lift.move_absolute(LIFT_HIGH, 100); if (master.get_digital(DIGITAL_B)) lift.move_absolute(LIFT_LOW, 100);
The V5 motor's built-in position control (move_absolute) uses internal PID. For most teams this is sufficient. If the lift drifts under load or oscillates, tune the motor's kP using the motor utility or add an external hold loop.
move_absolute() with the motor's internal PID. Set the motor to HOLD brake mode so it resists disturbance at preset positions. Fast to implement, works for most teams.
Custom PID loop using rotation sensor for higher accuracy. Required for DR4B where two-stage synchronization matters. See SigBots PID control guide.