JopieK

Powered Up - A tear down...

Recommended Posts

More Powered Up news today!

https://shop.lego.com/en-US/category/power-functions

All the components are back on sale on the US Shop@Home store! And the descriptions give away some interesting information.

1. The Boost hub is now the "Powered Up Move Hub". The train hub is now the "Powered Up Hub". In fact all the motors and sensors have been renamed to make them more generic. This surely means they're moving to unify them.

2. The description for the Move Hub says you can connect to it from the Powered Up app, which is currently not possible. App update coming soon?

3. The description for the Remote Control says it can pair with either a hub or move hub, which is currently not possible. Firmware update coming soon?

4. The train motor says it can be connected to a Move Hub. As a matter of fact, all the motors and sensors say they can be connected to either hub.

I expect app and firmware updates very soon! It seems unification is underway!

Share this post


Link to post
Share on other sites
13 hours ago, Mr Hobbles said:

... I expect app and firmware updates very soon! It seems unification is underway!

This is interesting news!

I’m also waiting to see more information on the upcoming Control+ elements...

Can anyone explain what the difference is between the two M-motors though? I think that (besides visually) one motor is for continuos running while the other is more precision/ momentary? This second one sounds like it would be great for switch operations...

Share this post


Link to post
Share on other sites

Hi,

the "simple" is the well known WeDo 2.0 motor as used in the Batmobil.

The other one is known from Boost, and is tacho regulated, so you can move it with a specific angle.
Or measure the angle it is moved externally.

 

 

 

Share this post


Link to post
Share on other sites

The one that comes with Boost has an integrated encoder, which allows it to rotate to specific angles or at specific speeds, and to be used as a rotation sensor. The one that comes in WeDo 2.0 and the Batmobile has neither.

In a nutshell, the former can be compared to an EV3 medium motor, whereas the latter can be compared to a PF medium motor.

Share this post


Link to post
Share on other sites
14 hours ago, Mr Hobbles said:

Thank you! Very interesting. I looked up the german shop -> nothing. Last time it took two or three days more. Unfortunately TLG left the price tags at skyrocketing levels. 50,- for a simple hub is out of sanity. The simple medium linear motor, nothing else as a PF medium motor, triples its price and is more expensive than the much more complicated medium linear motor with the buildin tacho sensor. Can anyone explain the TGL price policy to me?

Ok, after the short appearance in January I bought three hubs at BrickLink for the price of one at the shop now. I anticipated this ...

Share this post


Link to post
Share on other sites
3 hours ago, Giottist said:

Can anyone explain the TGL price policy to me?

Hmmm. Well. Yes.

How about: They are just trying it out after very careful and expensive market analyses?  

When I am hearing that one of the reasons for making the ugly yellow train bogie plates is that calls to customer service are costly and every tenth of a second clicks in (so when the customer describes the piece a "yellow plate type thing with no nobs and a funny pin type thing on top" the service knows: Train bogie plate, bingo, and cuts the line off) then I am believing they are carefully, very carefully planning this out. Really very carefully. With lots of thoughts. And math.

Just an illustration: The 10V DC power supply (45517) they are selling for $32.99 (this is sooo unbelievable cool) is the best rip off in LEGO history - you can't possibly make more money … Has anyone such a power supply? Does it deliver 10V? I mean as in 10.0V? And even then: Who cares? The LiPo (8878) features an injection molded "10V" sign on its top lid. You can safely use anything between 9 and 18 V DC to charge that thing. Stabilized or not. Same for the NXT/EV3 LiPos. I tried it out, works for years of constant use.

TLG headquarters on a rainy Thursday: "How much do we want to charge for the new PuP Hub?" "Which one?" "The el cheapo one". "Dunno - 50 bucks?" "Are you crazy?" "No … OK then. make it $49.99" "OK sounds >much< better - but who is going to buy that?" "Come on, they are buying the 10V wall wart for thirty bucks. And there a lot less in that thing …" "OK, I can see that" "So how much do we charge for the other one?" "Which one?" … to be continued ...    

So the policy appears to be: Electronic stuff is sometimes confusing people. Confused people are willing to pay for getting less confused. Which happens when they buy stuff that actually works. And the stuff from TLG works very nicely. Naturally only as long as other people convince them that other stuff works as well. But that does only rarely happen.

And it all seems to work out well; otherwise the yellow bogie plate would "promptly vanish in a puff of logic". (as Douglas Adams tells us)

Best
Thorsten

Edited by Toastie
editorial - caused by strong beer

Share this post


Link to post
Share on other sites

Ingenious! You made my day :roflmao:

Serios: As long as possible it's recommendable to get PU hubs from Bricklink for a reasonable price ...

Share this post


Link to post
Share on other sites
13 hours ago, Giottist said:

As long as possible it's recommendable to get PU hubs from Bricklink for a reasonable price ...

Yes, I really think so:

Just ordered two more for €17.90 each because I sent one of my Hubs to electronic heaven … found out that a HubNo4 output cannot compete with a 15V/8A Laptop power supply "accidentally" applied in parallel - when the power setting was "0" nothing happened. But putting it to "very slowly fast forward" the train almost jumped up to DeLorean speed allowing time travel - and then crashed into my file cabinet (there is a curved piece of track preventing that but inertia is ruling here:tongue:).

What happened? Converted a 9V train motor to the "power pickup - return power" model. Wiring was fine. But I forgot to clip off the metal pieces connecting the motor to the pickups …  

That brings down my freely available budget for LEGO stuff (acquired though gift cards - XMas and birthday - I am not allowed to buy LEGO stuff without permission from the higher authorities with the exception of personal funds) considerably down. But: There is still left over. That would not be the case buying the hubs from LEGO S&H.

So yes, it is recommendable!

All the best
Thorsten

Share this post


Link to post
Share on other sites
On 4/2/2019 at 6:10 PM, Mr Hobbles said:

EDIT: On closer inspection, the motors and sensors seem to match those in the EV3 set. One IR distance sensor, one light sensor (but with an LED that can be lit up on the front), a touch sensor, and two motors.

Another interesting thing about "distance sensor":

Back of the sensor (break-out):
• Can be detached from the front of the sensor by removing two screws 
• Provides access to an 8-pin female header that allows direct and easy access to the 
LPF2 system for adding third-party sensors and boards

Share this post


Link to post
Share on other sites

Great that we might be able to order these directly. The prices did strike me as a bit high, so instead of a separate hub+train motor (for converting an old 9v train to PU) I will just buy a few passenger trains. Just a little bit more expensive, but you get a whole train and some track :)

I do hope more of this stuff becomes available though, since I would like to use the distance sensors and servos for automation, and I'ld prefer not to have to invest in the older PF stuff (since I am just starting out).

Share this post


Link to post
Share on other sites
31 minutes ago, Kalindor71 said:

And they are back up again....

I'm hoping that this back and forth means they're getting close to app and firmware updates. ie. Was meant to be available last week, but wasn't ready, so they took them off sale, and now they're close again.

The descriptions of those components promise certain things that aren't currently possible, so I can't see them putting them up for sale unless that functionality was close.

Share this post


Link to post
Share on other sites
On ‎4‎/‎6‎/‎2019 at 8:33 AM, GianCann said:

Back of the sensor (break-out):
• Can be detached from the front of the sensor by removing two screws 
• Provides access to an 8-pin female header that allows direct and easy access to the 
LPF2 system for adding third-party sensors and boards

The question is though: Why do we need to buy a "sensor" for the breakout female sensor header and not a simple "break out cable"? 

Hmm. A Hub.No4 (@Mr Hobbles what is this device called appropriately in the LPF2 world?) has a 6 pin terminal. Don't know what the other BLE devices feature, and also no idea, what the EV3 port is composed of. Apparently a max. of 8 signal lines is what we need.

Guess we better wait and see. I am very much excited!

Best
Thorsten

Edited by Toastie
grammar, not noting that I am excited :-)))

Share this post


Link to post
Share on other sites
1 hour ago, Toastie said:

The question is though: Why do we need to buy a "sensor" for the breakout female sensor header and not a simple "break out cable"? 

 Hmm. A Hub.No4 (@Mr Hobbles what is this device called appropriately in the LPF2 world?) has a 6 pin terminal. Don't know what the other BLE devices feature, and also no idea, what the EV3 port is composed of. Apparently a max. of 8 signal lines is what we need.

 Guess we better wait and see. I am very much excited!

Best
Thorsten

I don't actually know, at least consistently. :) I think it's the "LPF2 Smart Hub 2 I/O" and the "LPF2 Smart Move Hub 2 I/O" for the Boost hub.

* The LPF2 team themselves call it the "Smart Hub 2 I/O", I expect in reference to it having two input/output ports, but, Shop@Home just calls it a "Hub".

* Lego Education also calls the WeDo 2.0 hub the "Smart Hub 2 I/O". Which makes sense as it also has two LPF2.0 input/output ports, but makes no reference to its lesser capabilities or lower power. However I think this platform is now out of date and no longer supported (even though it's still sold), as Lego has stated the firmware or apps will no longer be updated.

* The LPF2 team also calls the Boost Move Hub the "Smart Move Hub 2 I/O", I expect the "move" part making reference to it having built in motors. Shop@Home also just calls it a "Move Hub".

Regarding the data lines, I wonder if it's simply because 8-pin headers are more commonplace (Is that the case?), so tinkerers are more likely to have them on hand? Two of the data lines may be unused? And I also wonder if we need the full sensor because it handles the initial handshake with the hub. Probably implementing a full identification handshake is beyond the scope of educators making their own sensors. Who knows though. I eagerly await the spec. :)

 

Edited by Mr Hobbles

Share this post


Link to post
Share on other sites
1 hour ago, Mr Hobbles said:

I eagerly await the spec. :)

Thank you very, very much for your reply! This is going to be really cool.

With regard of 8/6 or whatever number of data lines: When 8 is appropriate for the most advanced sensor/actuator(with feedback) thingies: fine. Because this simply sets the stage. It then appears to be straight forward to downscale to an "LPF2 Smart Hub 2 I/O" BLE device port with (only) 6 lines.

Yes, I can see that. Very nice!

Best
Thorsten  

Share this post


Link to post
Share on other sites

Finally! I was hoping for this!

The biggest surprise for me is that they included support for the WeDo 2.0 sensors! I honestly thought they would just forget about them. I’m very glad they didn’t.

Share this post


Link to post
Share on other sites

Ok, some initial observations:

  • There is a new firmware update for the PUP hub, that on first glance, appears to do four things:
    1. It fixes the bug where plugging in two "non-simple" devices crashes the hub! I am now able to plug in and control two Boost motors on the PUP hub. Yay!
    2. It fixes the bug where "rotate by angle" commands didn't work! I can now rotate a Boost motor by X degrees. Yay!
    3. It fixes the bug where no rotation events were reported. I can now rotate a Boost motor and it detects and notifies me of the rotation. Yay!
    4. It appears to break the 0x60 command I was using to control all motor types by speed. It now doesn't work for controlling any motor. I'll need to do some further investigation. Boo. 
  • No firmware update for the Boost move hub yet. I'm still expecting one asap - the Shop@Home description for the move hub states that the PUP remote control works with it - it'll need a firmware update to support that.
  • On the app side, it appears to include some nice sound effects! Trains, cars, trucks, dogs, cats, robots...

EDIT: It appears as though the Boost style 0x81/0x11/0x51 DirectWrite commands now work for motors, and they've either removed or changed how 0x60 works. Which means I now need to see if they've accidentally broken the Batmobile, or if it now uses a different command again!

Edited by Mr Hobbles

Share this post


Link to post
Share on other sites

Thanks, sounds good.

 

How do we overcome that a non-train-Motor cannot be regulated with the handheld?

Or in other words, is this a property of Hub or handheld?

And: How to Upgrade the Handheld?

 

 

Share this post


Link to post
Share on other sites
Just now, Lok24 said:

Thanks, sounds good.

 

How do we overcome that a non-train-Motor cannot be regulated with the handheld? 

Or in other words, is this a property of Hub or handheld?

And: How to Upgrade the Handheld?

 

 

I hope to be proved wrong, but I don't think Lego plans to address that. From their Powered Up FAQ's a few months ago, their opinion was that bang-bang style operation makes more sense for non-train-Motors, as 90% of use cases will be remote control cars.

I believe it is a property of the hub. The handheld simply sends button press events to the hub - the hub is responsible for interpreting what to do with them.

Re. upgrading handheld - I don't know if this is possible. I've tried connecting a Powered Up remote to the app this evening, to no avail. It is not detected.

So, in the meantime, we have to use third party software/libraries to intercept the button presses and send new commands to the hubs.

I do recall reading in that same FAQ that they mentioned it might be possible to connect a handheld to the Powered Up app at some point in the future, and use the programming interface to react to button presses. But that doesn't appear to be in this release, if they're still thinking of doing it.

 

Share this post


Link to post
Share on other sites
5 hours ago, Mr Hobbles said:

 EDIT: It appears as though the Boost style 0x81/0x11/0x51 DirectWrite commands now work for motors, and they've either removed or changed how 0x60 works. Which means I now need to see if they've accidentally broken the Batmobile, or if it now uses a different command again!

I didn't even know the 0x60 command existed (it's not documented in the LEGO wireless protocol doc); I've been using the 0x51 command for all the motors like train and the boost internal and external motors (although I don't have access to the batmobile to check that) and it's been working fine all this time.  

Share this post


Link to post
Share on other sites

PUP hub firmware - 1.0.03.0000

  lpf2hub Received Message (LPF2_ALL) <Buffer 0f 00 04 00 01 01 00 00 00 00 00 00 00 00 00> +313ms
  lpf2hub Received Message (LPF2_ALL) <Buffer 0f 00 04 01 01 01 00 00 00 00 00 00 00 00 00> +14ms
  lpf2hub Received Message (LPF2_ALL) <Buffer 09 00 04 39 02 01 00 00 01> +0ms

PUP hub firmware - 1.1.00.0004

  lpf2hub Received Message (LPF2_ALL) <Buffer 0f 00 04 00 01 01 00 00 00 00 00 00 00 00 00> +241ms
  lpf2hub Received Message (LPF2_ALL) <Buffer 0f 00 04 01 01 01 00 00 00 00 00 00 00 00 00> +15ms

So some investigation shows this as the cause of the incompatibilities in the latest firmware. But first, a little background.

Both the PUP Hub and Boost Move Hub have the concept of virtual ports. When you plug in two devices of the *same type* (ie. two WeDo 2.0 motors) to ports A and B, internally the firmware creates a new virtual port, port AB. This allows you to control both devices with a single command, through a new family of commands - the group commands.

In the example above, I have two WeDo 2.0 motors (device type 01) plugged into ports A and B (00 and 01). This triggers virtual port AB (39) to be activated (not in latest firmware. See below).

The Boost Move Hub automatically creates one on startup as ports A and B are internal motors and non-removable.
The PUP Hub creates one when it detects two devices of the same type.

At least, until now. There is this curious remark in the official LWP3 specs: https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#virtual-port-setup. There are actually a few more on the same topic.

Essentially, up until now, the hub automatically creates the virtual port and notifies you of it. As of the latest firmware, it no longer does this.

Why?

Well, I believe for two reasons: 1. This latest app update, and 2. SPIKE Prime and future LPF2 products.

Virtual ports can be created for any device types, not just motors. So for sensors that means that it's essentially combining the output values of two sensors and returning a single value. In order for that to make sense logically, the hub needs to know how to interpret the values. Should it take an average? Add them together? Do some math? It will depend on the sensors in use.

So the LWP3 spec details how to set up the virtual port by giving it "port information setup" instructions. Something we now need to do. And I think the reason is that with the latest app functionality, along with the new motors and sensors coming out, it no longer makes sense to assume that all device combos will have the same setup information. We'll need to tell it how to behave.

This is especially crucial with the SPIKE Prime vision sensor - that 8-pin header is gonna allow anyone to create any sensor they want, and then the hub would be really confused!

Also SPIKE Prime has 6 ports. If you plug in 6 types of the same device, there's no way the firmware can know which virtual ports you intend to set up.

So, this breaks 0x60, as well as 0x11/0x02, as they rely on the port being setup. I'm still playing with the port setup commands to get them working again. :) I know for a fact they do still work though, as the Batmobile still works.

2 hours ago, veezer said:

I didn't even know the 0x60 command existed (it's not documented in the LEGO wireless protocol doc); I've been using the 0x51 command for all the motors like train and the boost internal and external motors (although I don't have access to the batmobile to check that) and it's been working fine all this time.  

Yeah, 0x60 isn't documented, I came across it while brute-forcing commands. I then later discovered the Batmobile uses it for its zigzag motion by sniffing the BLE connection. I wonder if they'll bother documenting it, given it doesn't exist on the Boost move hub.

I recall there was one motor that 0x51 didn't work for me at the time, hence why I resorted to using 0x60, despite not being its intended purpose. It may have been the WeDo 2.0 motor but I can't recall. :)

Edited by Mr Hobbles

Share this post


Link to post
Share on other sites

So I just published node-poweredup v2.2.0 (https://github.com/nathankellenicki/node-poweredup/), which includes fixes to fully support PUP hub firmware 1.1.00.0004, and hopefully the next revision of the Boost move hub firmware. Changes:

  • Virtual ports (AB, CD) no longer have hardcoded values. On PUP hub and Boost move hub, the library watches for attach events of the physical ports, checks the device types match, then sends a combine command to form the virtual port. This is done to preserve backwards compatibility, and as those hubs have no other possible combinations.
  • The auto-combining isn't done on all hub types. This should set a base for people to be able to combine/disassemble their own virtual ports on hubs with larger number of ports (ie. SPIKE Prime hub with 6x ports - combo AC, DF, EB, etc).
  • Motors are now activated on the PUP hub in exactly the same way as on the Boost move hub.
  • Boost motors are now fully supported on the PUP hub - rotate by angle, rotation notifications, etc.

Thanks Lego for standardising the two hubs, the PUP hub no longer feels like a half-baked weird sibling! :)

Share this post


Link to post
Share on other sites

First thank all the experts here for their rentless research :thumbup:

I've found the following beaviour testing the PUP hub with the new app and the new firmware, both in the lates version from yesterday:

The Batmobile part of the app does exactly what is described by LEGO with one minor addition: In any configuration you can controll both ports individually. It works with the medium motor (= WeDo 2.0 motor) and the train motor (!). The lights does not work, but this makes little sense anyway.

The train part in both variations shows strange behaviour. The train motor works as expected on both ports. The medium motor does nothing. Amazingly the lights are treated like a motor: In forward direction the lights are dimmed equvalent to the speed of the motor, in backward direction the lights stay off. This does not make sense, if you like to illuminate your trains.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.