flash force Wiki
Interactive browser →
Wiki / LEGO hardware
#device#ir#power-functions

Power Functions (IR)

Power Functions is LEGO's motor and battery system from 2007 to 2018, built around the IR RC Receiver 8884, which switches two motor outputs on command from the Speed Remote 8879 or the Remote 8885. It hears one link, the 38 kHz infrared remote code of Power Functions RC (IR) — the one LEGO published properly.

Reach

CapabilityStateNote
Two outputs, seven speed steps each way, brake and floatworksCombo PWM on one of four channels, set on remote and receiver
Driven from the bridgeworks, untested hereit sends Combo PWM; no receiver has been on the bench
Driven from a Powered Up hubworks, untested herethe 88007 colour sensor emits these codes itself, so a modern Bluetooth hub reaches old motors
Driven by a plain lamp or a baseband infrared diodeout of reachthe 38 kHz carrier is part of the code, so a bare LED is never decoded
Servo angles between the stepsout of reachthe servo reads duty and the protocol has 15 duty steps, so 15 positions
Reading anything backout of reachone way; the receiver has no transmitter

What it hears

NXT, EV3 and WeDo have optics that only sense. A Power Functions receiver is a control target: any emitter sending the documented codes drives its motors, whoever built the emitter. The frame, the bit timings and the four modes are in Power Functions RC (IR).

Reaching it today

The original remotes need nothing built: point an 8879 or an 8885 at an 8884.

The bridge sends Combo PWM — a mark of 6 carrier cycles at 158 µs, pauses of 263, 553 or 1026 µs, an LRC check nibble, the frame repeated five times. Its verb is pf <ch 1-4> <a|b|stop> <-7..7>.

A Powered Up hub is the shortcut: the 88007 colour sensor can emit these codes itself, which turns a modern Bluetooth hub into a bridge to old motors.

Anything else wants an infrared emitter modulated at 38 kHz and one of the mature libraries below. A clone servo buzzes at its stop, because it never gives up trying.