Jump to content

Mr Hobbles

Eurobricks Knights
  • Posts

    866
  • Joined

  • Last visited

Everything posted by Mr Hobbles

  1. Massive update to the Powered UP ecosystem today: LEGO Education SPIKE Prime! Lots of info here: https://education.lego.com/en-us/meetspikeprime Looks like a new Mindstorms style hub with 6 Powered UP ports and a charging port. Also a programmable 5x5 LED matrix on the front. New EV3 style motors, and a new EV3 style vision sensor (I'm guessing IR again). Two other sensors, can't tell what they are yet. $329.99, preorder today. I'm guessing this will be the basis for a new consumer LEGO Mindstorms set somewhere down the line (Maybe even as soon as summer release? Though I think January is more likely). 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.
  2. I think it's because over the years there has been complaints of certain parts being difficult to see in instruction booklets. Dark grey vs black, light grey vs grey, etc, and it gets more tricky when you have to spot the new piece in the new page of the instructions, and the piece and the build you're placing it on are the same color. So they tend to use contrasting colors for pieces that are near each other. Cue random blue 2x2's in the middle of a fire truck, or a yellow train plate under the wagon.
  3. I think that's a little disingenuous. I think if anything TLG has proven time and time again that they do care about backwards compatibility. PF to 9v. 1950 to 2019's brick. Even between Friends figures and minifigs. There's all logic to the madness. I have heard that the decision to go with new connectors for PF2 was largely a safety decision. With PF1, and its range of connection possibilities, it was possible to create a dangerous loopback and damage components, create shorts, etc. With PF2 and its new (non reverse-able) connector, it's not possible. I also hear that's why TLG is reluctant to introduce a PF1/9v to PF2 conversion cable. If they do, then it allows those loopbacks again. It's important to remember that Lego, ultimately, is a child's toy. :) Even electronic components need to be safely usable by kids 5-10 years old. Compatibility wise, it's good that Lego is making all the different ranges compatible in their own ways. WeDo 2.0, Boost, Powered UP, Technic CONTROL+. The software isn't there yet, but hopefully it will be, and until then, we make our own. :D (Incidentally I also hear that's part of the reason why 9v trains went away. Yes the rails were expensive, but also the exposed metal conducting electricity gave young kids shocks.)
  4. [0x11, 0x09] is for activating a motor for a specific amount of time - this doesn't work for the WeDo 2.0 motor on the Move Hub as it uses the hardware inside the Tacho motor for the timing. You need to check the type of motor, then revert to our old friend [0x11, 0x51] to activate the WeDo 2.0 motor (Note: This is also true for the Train motor). In your case I think the full command you're looking for is 070081PP1151VV. :)
  5. As @Lok24 says, it’s dependent on your hardware. With my MacBook Pro late 2013 model I’ve had 14 Lego BLE devices connected with noble/node-poweredup.
  6. You probably know this already, but when the hub/remote is turned off, you can hold down the button until it flashes purple to make it forget its pairing. So they will never connect to each other on disconnect again. :)
  7. Here's a small anecdote for you: I had some free time today, and the wife is out of town, so I decided to set up a large track layout in our living room, play around with some trains, and annoy the dog. I brought out my Emerald Night, Maersk train, Metroliner, and Horizon Express, all of which have been converted to Powered UP (The Horizon Express has two hubs and two motors, and the Emerald Night is powering an XL PF motor through a conversion cable I made. The Metroliners headlights are also using a home made conversion cable.). I'm running some code on my laptop and connecting all the trains to it. I try turning the first hub on the Horizon Express on. It immediately goes solid white. "Huh, that's weird", I think to myself. I hold down the button and turn it off. I press the button again - once again, solid white. "wtf?", I think to myself. I turn it off. My laptop isn't discovering the hubs. I start Googling search terms to find out the problem, on a Lego troubleshooting site or something. Nothing. Eventually I think to myself maybe this hub's firmware is corrupted somehow, so I try a different hub - the one on the Maersk. I press the button, and again, it immediately goes to solid white. Even my Powered UP remotes are exhibiting the same behaviour. At this point I'm very confused, and wondering whether the last time I connected the hubs to the official iOS app a firmware update was applied that changed the behaviour of the hub. About 30 minutes of repeatedly turning various hubs on and off and cursing and then I suddenly had a thought - "Is there something else in the house that's searching for Bluetooth devices and connecting to the hubs immediately upon discovering them?". A few more minutes of cursing then it dawns on me, I have a Raspberry Pi acting like a Bluetooth hub to connect to some smart home devices we have. I turn it off, try again on the hubs - and, nice blinking lights! It all works as normal. It turns out that some of my (at least 3+ year old) code I have running on the Raspberry Pi has a bug. If one of the light switches in the house runs out of battery and disconnects, the Pi starts searching again, except it doesn't make sure its the correct type of device. It was connecting to all my hubs thinking they were light switches. :) Oh well, about 45 minutes lost due to stupidity! It did get me thinking though, this could be a problem at exhibitions for train layout displays. At worst, a malicious actor could bring with them a device that connects to hubs as soon as they turn on and prevent layout operators from connecting to them. At best, layout operators could cause confusion amongst themselves by not properly filtering for UUID's or hub names and stealing each others trains from across the hall.
  8. I think you might be focussing a little too much on the "must be on straight tracks" concept. :) The train still works off tracks for kids push around playability, and it can still go on switches/curved tracks/ovals/etc for people who want to put it on a normal track system. The straight tracks requirement is only there for the app to recognise the train and provide the AR functionality. I don't think they've sacrificed anything. If anything, the new ramp is a nice new track part for us train people who might want to re-rail our trains quickly and easilly! (I have no interest in the train itself, it's a bit, bland, in my opinion. Some of the other sets in the theme are really nice though. Schoolbus, graveyard, boat, diner, etc)
  9. I don’t think it matters on a per brick basis, but it needs the overall shape to be consistent as it’s looking for markers. With the train for example, if the wagons are at an odd angle to the locomotive, it’s doubtful it would be able to recognize it. It’s looking for a straight train on tracks.
  10. I believe the inclusion of the track and ramp piece is not for play, but due to the limitations of the AR tech. I think it will have trouble recognizing the train unless the cars are lined up perfectly, as other videos have shown that other sets in the theme need to be set up exactly as required. The track enables the train to be perfectly lined up, and the ramp enables kids to do it quickly.
  11. Have you managed to get the ramp working? I've been trying to grok the official documentation around the accel/decel profiles this morning, but finding it a bit hard to follow in places. My hubs throw errors regardless of what bytes I throw at them. :) I've got the queue working, but the hub has a limited buffer, so without the ramp command its difficult to use for ramping up through individual steps.
  12. Wow that's a good find, I just checked out the UK store too, and indeed, both 10874 and 10875 are gone. If indeed the problem is the color sensor, I wonder why a firmware update couldn't fix it? Interesting!
  13. Interesting. Which set are you talking about? Afaik, all the Duplo train sets are still for sale, including the Education coding express.
  14. I must admit I haven't tried these commands yet, as the LWP document was released after I implemented my own motor ramp in the node-poweredup library, which, as you say, works by issuing a rapid succession of motor commands. I can't speak for @Cosmik42, but as I think his software was also released before the document came out, and he's said in the past that portions of it were inspired by node-poweredup, I'm guessing he uses the same method. If he does in fact use the new method, I might steal that in return as I haven't implemented it yet! :)
  15. The official Lego documentation is unfortunate in that while it describes the wire protocol itself in great detail, it doesn't document the available commands. This makes sense somewhat, as the available commands vary by a) The hub type you're communicating with, and b) The devices plugged into that hub. It's like teaching the someone the syntax of the English language (nouns, verbs, placement, etc) without going into detail about what words are available for use. In your case you're asking about the 0x60 command. The 0x60 command is actually a special command introduced for the Powered UP "Hub No.4". It doesn't exist on the Boost hub. It was actually introduced for the Batmobile model for a couple of special modes available in the app. Byte (9) in your example is how long the motor should run for. Byte (10) activates a swing mode and sets the time. It will run for the time defined in byte (9), reverse direction, and run for the time run in byte (10), before reversing direction back, etc etc. This allows the "backing up"/retreat motion activated by pressing one of the buttons. There is another command for activating motors on the Powered UP hub: [0x08, 0x00, 0x81, 0x39, 0x11, 0x02, 0x20, 0x20] This works on port 0x39, which is a special port "AB" created in firmware when it detects two motors of the same type (Train motor or M motor, NOT Boost motor). The last two bytes set the speed of each individual motor. This command *does* exist on the Boost hub, it is used for controlling vernie, and it's also documented in the Lego documentation. It's probably also useful for controlling locomotives with two motors.
  16. Yep, I messaged @Lok24 outwith this thread, but I think he needs to install the Noble dependencies first: https://github.com/noble/noble#prerequisites
  17. @Lok42 Here's the simplest steps I'd recommend for you: Create a new folder for your project: > mkdir puptest Move into that folder: > cd puptest Initialise a new Node.js project: > npm init -y Install node-poweredup and save it as a dependency of your project: > npm install node-poweredup --save At this point you can now create a new file (maybe call it test.js?) in your project directory - try the sample code. Then run it: > node test.js Now turn on one of your hubs and it should connect and activate the motors as described in the sample. Make sure you have two motors attached to ports A and B. :)
  18. I still don't fully understand this mechanism I'm afraid! On my switches if I flick to straight then start pulling it back, it flicks to curved. Releasing the tension doesn't cause it to go back... EDIT: I just paused your video for a closer look and now I understand! You're not pulling on the lever at all, you're moving the piece of track! Nice! :)
  19. Very nice! How do you get the switches to throw back again? It looks like the string only pulls on one side? Also, have you removed the springs from the switches?
  20. I myself was never interested in NXT/EV3 as TLG got stupid with their motors/sensors. They look like alien appendages rather than Lego elements, and I found hard to integrate into existing MOC's without them looking silly or taking up too much space. RCX on the other hand was ideal, but sadly it was never updated for PF/anything else, so it lays behind as my ideal Mindstorms implementation so far. This is why I was excited to see that Lego intends to use the new Powered UP/Power Functions 2.0 connectors for Mindstorms, as described here: https://education.lego.com/en-us/support/wedo-2/faqs They confirm the new connectors will be used on Mindstorms, but give no timeframe. Fair enough. But this (hopefully) means that all Powered UP/WeDo 2.0/Boost motors and sensors should be usable on future Mindstorms products, and vice versa (Similarly to how we have the Boost motor usable on WeDo 2.0). So, I think Lego does indeed intend to create a "unified future" where Mindstorms, Control+, Boost, Powered UP, WeDo, etc all use the same devices, connectors and protocols. I definitely have my hopes up for the future. The Lego Power Functions 2.0 future. :) This is how Lego describes the WeDo 2.0 hub (The "Smarthub 2 I/O") in the linked FAQ (I've bolded relevant parts):
  21. Great! I'm glad to see that people are getting some use of it. :) As for what's next on it, I have two ongoing features. The first is I plan to split off device (motor, sensor, lights) control into a separate object attached to the hub rather than being methods on the hub. This should allow for a bit of a cleaner interface. The second is Web Bluetooth support. The Web Bluetooth spec is still in its infancy, and is only really supported by Chrome at the moment, and in a very incomplete state, so I've been a bit stuck on this for a while. But thanks to LEGO's release of the Wireless Protocol a few weeks back, I may have just discovered a way to get the info I need from the hub without relying on the missing Web Bluetooth features. The main advantage of this is that it should allow the library to be used directly in the browser, without a server, on both desktop and mobile. Powered UP device control just by visiting a website in your browser! :)
  22. Thank you - it's been a while since I looked at the WeDo SDK, good find! I'll pop it into my library too. :)
  23. On my MacBook Pro I've connected to 3x Boost Move Hubs, 5x Powered UP Hubs, 2x WeDo 2.0 Smart Hubs, 1x Duplo Train Base, and 4x Powered UP Remotes, all at the same time, and run some color cycling code to sequence the LED's in sync. That's 15 hubs. Unfortunately I can't help on what adapter it is, as it's the one built into the MacBook Pro. It's a 15 inch late 2013 model.
  24. They already have. :) https://lego.github.io/lego-ble-wireless-protocol-docs/ Check the train forum, people have created many apps. I personally, have been working on this: https://github.com/nathankellenicki/node-poweredup I’m looking forward to getting my hands on the Liebherr for this precise reason!
  25. Yes, it's a toy. A toy is designed for play. LEGO's name, "leg godt", to play well, signifies this. But what do you consider "play"? Is play: 1. The assembling of the model? The joy of the construction? 1a. It is free play? Building what you want out of what you have? 1b. Is it following the instructions in order to assemble the intended model? 2. Is it playing with the model in a thematic setting, ie. a 5 year old playing cops and robbers with their Lego city set? Or holding a tea party with your Friends set? 3. Is it playing with the final technical features? The gearbox of a Technic model? The trap door of an Indiana Jones play set? The pneumatics of a crane? 4. Is it designing and constructing a realistic 100% accurate architectural marvel? 5. Is it playing in LEGO Digital Designer and never touching a physical brick? (I do this a lot!) 5. Is it programming a robot with LEGO Mindstorms? 6. Or is it something to just marvel at in awe for the enjoyment of it? I'd argue all of these are play. The way we play is not dictated by anyone, it is all in our imagination. Further, I'd argue that the value of the toy does not dictate its purpose. A $2.4 million Bugatti Veyron may go faster than a $30,000 Ford Fiesta, but it is still a car, and will get you from A to B. A $50 coat will keep you just as warm as a $1,000 Louis Vuitton coat, and may look nicer (or maybe not! Depending on personal preference.), but it is still a coat. That's not to say that one wont have more value to some people than others (ie. a person might have a need for a supercar if they participate in track days), but they are the same thing. So yes, in my opinion, a Lego set is still a toy, whether $500 or $5. One might have more play features than the other, or offer up more opportunity for play than other, but yep, still a toy. :) I personally will get great pleasure from playing with 42100! In all ways. Building it, looking at it, controlling it from my phone, and coding for it using my laptop. EDIT: This thread reminds me of The LEGO Movie. :) "Dad, it's a toy...!" "Son, it's a highly sophisticated interlocking brick system." "But we bought it at the toy store!"
×
×
  • Create New...