Friday, January 25, 2008

LEGO® released Power Functions RC protocol, as open source

Today LEGO® released the Power Functions RC protocol, as open source. See below, the announcement in the transcription from the official communication.

Last year we introduced a range of products using our new electric building system: LEGO Power Functions. This new electric building system will open up a lot of possibilities now and in the future.

One of the new things we offer now is modular remote control. In the process of designing the Power Functions RC system we did a mapping of different RC functionalities. This mapping formed the basis of the Power Functions RC protocol and most of this is build into the Power Functions RC Receiver. The RC Handset launched now provides direct ‘bang-bang’ control, but the RC Receiver supports much more functionality like PWM speed control and single pin operation.

Now that the Power Functions elements are available at the LEGO Shop online we have decided to release the Power Functions RC protocol as open source.Please feel free to use any information from the protocol document for personal, non-commercial use only, provided you keep intact copyright, trademarks and other proprietary rights of the LEGO Company

Have fun.

Gaute Munch
Technology Product Manager
LEGO Company

So the specification should allow custom remotes to produce more sophisticated behaviors. This opens the door for technically skilled enough individuals to customize their remotes, build new ones or third party manufacturers to develop their own products based on the published protocol (like it happened for the MINDSTORMS NXT specification).
And those fancy commands that many of us would like to have and most likely LEGO would never produce, have now a good chance to see the daylight from OEMs.

This RC protocol was designed with further developments in mind, that are now possible. Despite the limited existing capabilities of actual Bulldozer remote, which uses the 'Combo direct Mode' (see technical documentation below) and timeout feature for lost IR (commands sent keep the motors running for a bit more than a second), protocol would allow other features like:

  • Remote control of several motors speed, in multiple modes.
    7 speeds forward plus backward, are possible via PWM motor control, which will be also great for the new PF trains coming in 2009.
  • Individual control (clear/set/toggle) of PF C1/C2 pins.
  • Handling of extra 4 channels possible for future use, with new RC receivers.
  • etc...

See the full technical specification document, here.

With some luck we could even get someone who develops an RF expansion, that reproduces the same protocol, and brings more flexibility/freedom to the PF devices.
The ability control step motors would be also a very interesting possibility to add into PF. However even if possible, that would require a much more 'intelligent' remote brick to control it, like an RCX or similar!?


Brian Davis said...

I'm not sure what you mean by "handling four channels, with a new receiver". The system as it stands can handle four channels right now, each commanding a different receiver. Im not sure I see the point in a single receiver that can command eight motors as opposed to four seperate receivers, each of which can command two motors for a total of eight.

TechnicBRICKs said...

What I mean and what is written at page 8 of the RC Protocol specification, is:

"The address bit is intended for enabling an extra set of 4 channels for future use. The current PF RC
Receiver expects the address bit to be 0."

Actual RC Receivers can be programed to work at one of 4 RC channels, at a time (despite of being able to control 2 motors per channel).
However PF system is designed to operate up to 8 RC channels simultaneously in the future (16 outputs in total).
Either by using new Receivers and Remotes programmable to use one or several channels from a set of 8, or similar devices operating in sub-ranges of these 8 channels, like actual receiver and remote.

Anonymous said...

Very intiresting...

I hope someone can come up with a pc software and usb i/r transmitter kit to let a pc control a pf model (beyond my programming skills by miles)

Anonymous said...

The link's dead now.

TechnicBRICKs said...

I've just repaired it!

But you will find the latest version of the protocol, here

Related Posts Plugin for WordPress, Blogger...

© 2007-2014 TechnicBRICKs
TechnicBRICKs contents may be sporadically updated, if the authors finds further relevant info about a certain post, or content/spell mistakes. Hence please don't be surprised if you find few changes at later visits, relative to a previous read.

TechnicBRICKs often shows other peoples' creations and/or images. We always try to credit the author(s) and link to their main publishing website, and if possible with their name in real life.
Since this is not always possible, we request that if you find something here that is yours or from someone you know, you leave a comment on the respective post and claim the authorship.

TechnicBRICKs is optimized for Firefox 16.0 and 1600x1200 resolution displays or wider.

LEGO® is a trademark of The LEGO Group of companies which does not sponsor, authorize or endorse this blog.
LEGO, the LEGO logo, the Brick and Knob configurations, the Minifigure and MINDSTORMS, are registered trademarks of The LEGO Group.
Original LEGO images are copyrighted by The LEGO Group and are used here in accordance with their fair play policy.
You can visit the official LEGO® website at