JopieK

Powered Up - A tear down...

Recommended Posts

Hello,

most important:

From my side also a big thank you to all of you contributing here.

It helps me a lot uring the implementation of my BLE RC Handset fpr the Rally Car ;-)

 

Another issue:

I got the following error code: x05h-0x00h-0x05h-0x6Dh-0x05h

I have not found code : 0x6D in Error code Table ?!, Can someone explain meaning of: "0x6Dh 0x05h" 

 

Greatings 

Marc

Share this post


Link to post
Share on other sites

Byte 4 is the command that caused the error, with byte 5 identifying the type of error; in your case the message essentially reads "Command 0x6D not recognised".

Share this post


Link to post
Share on other sites

Hey everyone,

Some background (and venting), tl;dr below:
So I've got myself my first powered up train (passenger train 60197). To a large extend I appreciate that its Bluetooth (no line of sight necessary,... ) and also that there's a dedicated remote. However, I soon noticed that they programmed the hub to halt the train if it loses the connection, which is... let's say...dumb. More so if you plan to make long tracks around the house and have sturdy walls. And if you plan on using your Smartphone it's even worse as need to keep the screen on. I even contacted Lego about it and they don't seem to plan on changing that right now and argue stuff like it's to prevent draining the battery if it's going the tracks and left unattended and to prevent the train from falling down the stairs as you might not be able to stop the train in time and/or reach and stop it. (If that hub behaviour bothers you as well, make sure to contact Lego about it, more feedback is better just saying...)

Tl;dr: I'm stuck with a Powered-Up train that can't drive on tracks without being attended, due to Lego being afraid of trains falling down stairs.
But on positive site: The firmware is update-able, so it can be changed. Has anyone reverse engineered the Powered Up Hub Firmware yet or planning to do so? Is there an alternative Firmware (that allows trains to go on if it lost it's connection to remote is lost)? Do we know if they protected the firmware or the microcontroller in any way?

Thanks

Share this post


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

Pybricks appears promising, and able to do what you intend

Wow! That is promising indeed!!!

Is there any information on the free memory lets say on the "City" (PuP 2I/O) hub? Or the Control+ (Pup4I/O) hub? The EV3 has virtually unlimited memory for robotics applications  - that is not really that interesting other than having one-4-all programming language for that one as well.

Also: I believe I got it wrong: When using that new LEGO Control+ (or what is it called, 3.0?) software on smart devices: Does the program run on the smart device or autonomously on the hub? I was under the impression it runs on the smart device and the BLE server is just executing commands submitted and reporting back data to the client, which in turn reacts and sends out corresponding new directions. Is that the case?

Best
Thorsten

 

Share this post


Link to post
Share on other sites

At least so far, SPIKE is the only PUp hub that can run programs independently without a tethered device. What I think Pybricks will do is take advantage of the other hubs' spare firmware space to store and run small programs, a bit like SBrick's sequences.

Share this post


Link to post
Share on other sites

How much flash space is on the version of the STM32 used in the PU hub?   Is it 16K? 

 

Share this post


Link to post
Share on other sites

Querying the bootloader reveals a range of ≈236kib, so probably a 256kib flash? Unless I misread the return message. And on page 20 of this thread a picture shows the FW-versions to be upwards of 60k big.

Share this post


Link to post
Share on other sites

Wait, wait, wait - more than what? Several kByte? That is insanely much!

Best
Thorsten 

Share this post


Link to post
Share on other sites
18 hours ago, AVCampos said:

Pybricks appears promising, and able to do what you intend.

That is insanely cool! Hopefully (1) it will have the ability so that you can program your code to listen to either the controller or the smart phone app so that when it is in range you can issue commands [corollary 1a, that the PUP device is smart enough to reconnect BT to the controller] and (2) that you could reverse the process and reinstall the current lego firmware at some future date.

With #1 PUP becomes a functional replacement for PF as long as you do not need more than two motors/outputs. With #2 you have the flexibility to go back if you ever wanted to.

Share this post


Link to post
Share on other sites

All this functionality is annouced by the LEGO developers.

micro Python -> load to hub -> save -> execute
(as the large hub does already)

configuring  handheld -> load to hub -> save -> execute

 

 

20 hours ago, Toastie said:

Or the Control+ (Pup4I/O) hub?

When using that new LEGO Control+ (or what is it called, 3.0?) software on

Control+ is the name of the app for specific technic modell sets.

I think I never read about "Control+ "-Hardware.

The hub calls itself  "technic hub", if I remember correctly.


3.0 is the version of the Powered Up App, which can connect to up to four hubs

Share this post


Link to post
Share on other sites
2 hours ago, Lok24 said:

All this functionality is annouced by the LEGO developers.

And where do the developers announce all that?

Best
Thorsten

Share this post


Link to post
Share on other sites

Hi Thorsten,

Most informations are spread via the LAN, as usual.

So if you are member of a LUG your ambassador can give you these informations.

There were several events last year:

LEGO Fan Media Days 2019: Oliver Wallington and Gaute Munch answered to users. There was a long presentation (which is public on the net)
of the technic componentes and the complete architecture of the platform.

Deep information was given during the PoweredUp-Workshop in Skaerbaek Septempber 2019.

Within the LAN there is a working group.

On 12th of December 2019 Sara Skahill asked for feedback concernig Powered Up and ideas to improve the system, answers will be shared via the ambassadors.

 

Share this post


Link to post
Share on other sites
Posted (edited)
8 hours ago, Lok24 said:

So if you are member of a LUG your ambassador can give you these informations

@Lok24 thank you very much for your reply!

Well, I am not in a LUG nor do I plan on becoming a member - time is just one serious constraint that I can't change.

So I just go with the flow. What I find a bit of a pity is that all that information is kind of closed loop. The PUp documentation of Github is static since day one of announcing that it is there - Github is rather a development platform than a file repository. But all that is OK with me!

Thanks again for the heads up!

Best
Thorsten

Edited by Toastie
no C/R in editor - reload/edit - C/R works again

Share this post


Link to post
Share on other sites
Posted (edited)

Hi Thorsten,

The two biggest(?) german communities are LUGs and have an ambassador as a representativ.

And the posts there (and here as well) are public. So you could have many of these informations even without logging in.
So it is not that "closed" as it might look like.

Here are some links:

https://brickset.com/article/43897/powered-up-presentation
https://www.1000steine.de/de/gemeinschaft/forum/?entry=1&id=426445#id426445

Edited by Lok24

Share this post


Link to post
Share on other sites

And not only LUGs: some online communities are also officially recognised by TLG and with their Ambassador... such as Eurobricks.

Share this post


Link to post
Share on other sites
On 3/6/2020 at 9:48 PM, AVCampos said:

Pybricks appears promising, and able to do what you intend.

That indeed sounds promising. A pitty they don't have anything to try out with the powered up hub, yet.

 

On 3/7/2020 at 6:50 PM, Lok24 said:

All this functionality is annouced by the LEGO developers.

micro Python -> load to hub -> save -> execute
(as the large hub does already)

configuring  handheld -> load to hub -> save -> execute

But for now all we have is some vague promise of them doing that, at least I couldn't find any planned release date or release window?

 

14 hours ago, Lok24 said:

On 12th of December 2019 Sara Skahill asked for feedback concernig Powered Up and ideas to improve the system, answers will be shared via the ambassadors.

Is there a list of already submitted ideas/improvements somewhere around here? I assume someone already put it on the list, but trains continuing to go places even if the controller is disconnected would be an easy and basic improvement to add there. If they want to be fancy, and are actually that worried about trains falling down stairs and stuff, they can hide it behind some long-short button press combo you have to do once to unlock the hub, but it'd make it actually usable.

Share this post


Link to post
Share on other sites
Posted (edited)
10 hours ago, AnonymousStone said:

assume someone already put it on the list, but trains continuing to go places even if the controller is disconnected would be an easy and basic improvement to add there.

You think that is an improvenmnt, to me it would be horrible.

So the must useful would be to send a command for a watchdog time. Like on SBrick (which doesn't work properly)

 

10 hours ago, AnonymousStone said:

But for now all we have is some vague promise of them doing that, at least I couldn't find any planned release date or release window?

The first hub which does this (not with python, but something like SCRATCH) is already available.

Other promised  enhancements (like controller, using more hardware, connecting to multiple hubs and so on) have aleady been implemented.

 

Edited by Lok24

Share this post


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

You think that is an improvenmnt, to me it would be horrible.

It would be a horrible default mode but a VERY useful optional mode for things like shows. The PFx brick does offer this functionality for bluetooth in PF, but it is still clunky since you have to actively reconnect. I suspect the reconnection hassle is a function of bluetooth rather than the PFx brick unless you want to waste a lot of energy (literally) for the PUP box to continually search for the transmitter (which I bet Lego would do if the ever added this feature, eliminating the benefits of running without tether)

Share this post


Link to post
Share on other sites
Posted (edited)

I agree.

As on option which can be set by the user or not it would be useful in some cases, but I also see the problem of reconnecting.
Perhaps you could set a timeslot in the hub, when reconnecting is   tried, i.E. each 5 sec.

But in any way this means that the hub has to be configured in any way, which it is not on the moment.

BTW: I drive my locos only on exhibitions (no layout at home), but I always accompany them to avoid crashes :wink:

 

 

Edited by Lok24

Share this post


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

You think that is an improvenmnt, to me it would be horrible.

So the must useful would be to send a command for a watchdog time. Like on SBrick (which doesn't work properly)

I fail to see how an *option* for this would be horrible.

Of course some kind of watchdog, given it allows for a sufficiently large timeout, offers even more possibilities, but is also more effort for Lego to implement.

1 hour ago, zephyr1934 said:

It would be a horrible default mode but a VERY useful optional mode for things like shows. The PFx brick does offer this functionality for bluetooth in PF, but it is still clunky since you have to actively reconnect. I suspect the reconnection hassle is a function of bluetooth rather than the PFx brick unless you want to waste a lot of energy (literally) for the PUP box to continually search for the transmitter (which I bet Lego would do if the ever added this feature, eliminating the benefits of running without tether)

I'd say it's debatable if it's a good or bad default for TRAINS. Or why exactly is it a horrible default? It's basically the behaviour one would expect coming from the metal tracks or the infrared power function system. It's probably a bad default for cars and stuff like that, though.

While it's certainly also be useful for shows, it's also an important feature for kids that allows them to build train tracks all across the house/apartment and between rooms. We have some sturdy walls around here and atm it's not fefasible to build a track between some rooms, as the train will halt half-way due to losing the signal. Putting the controller on the train to work around that isn't quite the same as having a remote controller.

BLE should be designed for such a scenario so power consumption shouldn't that much of issue here, powering the motors certainly requires more energy.

Share this post


Link to post
Share on other sites
36 minutes ago, AnonymousStone said:

I fail to see how an *option* for this would be horrible.

 

Sorry, I missed that you saw this as an "option", my fault.

Share this post


Link to post
Share on other sites
22 hours ago, AnonymousStone said:

Is there a list of already submitted ideas/improvements somewhere around here? I assume someone already put it on the list, but trains continuing to go places even if the controller is disconnected would be an easy and basic improvement to add there. If they want to be fancy, and are actually that worried about trains falling down stairs and stuff, they can hide it behind some long-short button press combo you have to do once to unlock the hub, but it'd make it actually usable.

Maybe not exactly what you are looking for, but you can already create some kind of failsafe behaviour by using multiple remotes - as long as your hub is in reach of at least 1 remote it will continue to function. More information here: https://www.hispabrickmagazine.com/content/2019/06/03/powered-up-ii-powered-up-ii-networks/

Share this post


Link to post
Share on other sites
13 minutes ago, Jetro said:

Maybe not exactly what you are looking for, but you can already create some kind of failsafe behaviour by using multiple remotes - as long as your hub is in reach of at least 1 remote it will continue to function. More information here: https://www.hispabrickmagazine.com/content/2019/06/03/powered-up-ii-powered-up-ii-networks/

I don't have a second remote to test it, but when using a single remote the remote will turn off shortly (like 5 seconds) after losing its connection. So it might not be 100% the solution. If you hide one remote in the train and use the second one for speed adjustments if the train is within reach, one could make it work though.

But nevertheless that's very interesting, if not for exactly my issue at least it's handy for other cases, I didn't know that one can do that, thank you.

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.