[HN Gopher] Can Lego City Powered Up trains be automated?
___________________________________________________________________
Can Lego City Powered Up trains be automated?
Author : jweissman
Score : 176 points
Date : 2022-12-05 14:46 UTC (8 hours ago)
(HTM) web link (bricks.stackexchange.com)
(TXT) w3m dump (bricks.stackexchange.com)
| blobbers wrote:
| TLDR Stall at a dead end to reset the system using pybricks
| bcraven wrote:
| That was part one, the final solution was to use a colour
| sensor to detect plates beneath the train.
| leetrout wrote:
| Is it weird to post the fake question and your own answer to the
| question at the same time?
|
| I havent had much luck in the overflow communities so I am unsure
| how common this is. Is it what most people do?
| OwlsParlay wrote:
| If you know the answer and it's a valid question (i.e. it's not
| trivial or easily googled already), it's fine to do. The point
| is less to reputation farm as it is to share knowledge.
| megablast wrote:
| It is called a faq.
| unwind wrote:
| No, it's not weird.
|
| At least on Stack Overflow it's a common way of sharing
| knowledge.
|
| Source: been using SO quite intensely, have many reps.
| josephcsible wrote:
| There's nothing "fake" about self-answered questions, and Stack
| Exchange even includes UI specifically for posting an answer at
| the same time as your question.
| vanderZwan wrote:
| I suppose the part where the writing structure is _" question
| written as if by someone who does not know the answer
| themselves, answer written as if it's a different person"_,
| even when explicitly posting to share knowledge, is what
| throws people off. I assume this is part of the SO guidelines
| but I can't blame anyone for being confused by that.
| rippercushions wrote:
| SO allows multiple answers per question. I have on occasion
| asked something and given a crappy/hacky self-answer as a
| stopgap, with somebody else eventually chiming in with a
| much better one later.
| quietbritishjim wrote:
| There's nothing about the question or answer that suggests
| that they're different people.
|
| FWIW I've done the same, even more like that than the post
| here. (Not about Lego though!) I had a problem, was
| disappointed not to find the answer on StackOverflow so
| when I came to post the solution I put the question in the
| way I would have written it _before I figured out the
| solution_. Seemed more likely to be found by anyone with a
| similar problem.
| primitivesuave wrote:
| I used to make all kinds of cool projects with lejos
| (https://lejos.sourceforge.io/) and am now a bit tempted to get
| the new toys and test out the Python interface. Would be nice if
| Lego actually invested more time into making a standard
| programming interface for advanced users.
| dolmen wrote:
| It looks like LEGO is investing in bringing together the
| popular Raspberry Pi platform and its toys, and abandonning
| dedicated apps such as the Robot Inventor (Mindstorms) app.
|
| https://www.raspberrypi.com/news/raspberry-pi-build-hat-lego...
| alexheikel wrote:
| Why not?
| als0 wrote:
| > One of the weaknesses of the City Hub currently is that it
| requires a tethered Bluetooth device, such as a phone, tablet or
| computer, in order to function. By flashing the custom Pybricks
| firmware to the hub, we can overcome this limitation and write
| programs directly to the device.
|
| This is why I come to Hacker News
| preinheimer wrote:
| As someone who likes lego and programming, I love this answer.
| But I hate how hard lego has made it.
|
| Yes, with some work you can make your train stop and go. But I
| don't think there's a good track switching solution that's lego
| only and automated. There's an aftermarket motor thing that
| connects with USB. The lego only attempts end up unwieldy and
| usually lacking in reliability (e.g.
| https://rebrickable.com/mocs/MOC-11841/1963maniac/train-trac...)
|
| The Duplo trains ship with pretty neat functionality out of the
| box: lights, whistle, brick reader that activates an action when
| it sees a certain brick. You can't recreate this with lego with
| just a single power brick, as it's four things: sensor, light,
| motor, sound. Lego train can only do two.
| esotericimpl wrote:
| I remember in middle school doing some programming on the Apple
| 2 in the logo language and using a lego motor to essentially
| schedule moving the car to the park and then making a motorized
| lego swing spin around.
|
| I think this is the first time i saw the wonder of programming,
| sad that its harder to do this now.
| mc32 wrote:
| So, while this is uhhh, off track, Legolands and such have some
| kind of automation, though, presumably, those are bespoke
| solutions and are not available to regular consumers.
| bombcar wrote:
| The Legoland trains are basically model trains wearing a Lego
| skin. They're also a different "scale" than the "Lego toy"
| trains.
| mc32 wrote:
| Huh! I never noticed. It makes some sense when you think
| about parts-wear.
| jacquesm wrote:
| Lego motors are designed for about 100 hours of service
| life.
| drewzero1 wrote:
| Wow, that's not much... my kid would probably hit that
| within a month. (I just replaced the motor in a Bachmann
| Thomas that wore out in about the same amount of time.)
| jacquesm wrote:
| That's why they're not fussy about replacing the few that
| wear out, the average use is frequently after the first
| purchase and then it drops off sharply so I guess they
| decided it wasn't worth designing around long usage. In
| the older trains you could replace the little motor
| easily, with the newer ones (starting with the infamous
| 'red' motor a long time ago) that practice ended and you
| have to replace the entire unit.
| bombcar wrote:
| The motors for the trains are better than that because
| they're designed for continuous use (somewhat) but yeah,
| at the end of the day Lego is a toy.
| bogeholm wrote:
| > Legolands and such have some kind of automation, though,
| presumably those are bespoke solutions
|
| I can vouch for that! I can say - with great confidence -
| that the best job I ever had was in Legoland, Billund while I
| was in high school. The job: keep the outdoor small models
| running from 15:30 when the real engineers left, until park
| closes. Then leave a note about the stuff I couldn't fix
| myself.
|
| The electronics were industrial PLCs wired to a control
| computer, and the mechanics inside the models were made from
| industrial type stuff that you might see on a robot, conveyor
| belt or the like.
|
| Most of the models (trains, cars, cranes etc.) were built on
| a metal chassis or skeleton.
|
| Fond memories of getting paged by the system with "ALARM:
| Cars, Norway" to discover that a kid had dropped her soft ice
| on the highway ;)
| bignevi wrote:
| Possible
| f4c39012 wrote:
| It is a shame that Lego Duplo and Lego trains aren't
| compatible. One of my favourite demos of the sheer awesomeness
| of Lego is connecting a 2x4 Duplo with a 2x4 Lego block. Any
| way round. If you've never tried this, do it now :-)
| matheweis wrote:
| The PyBricks that the SO questioner self answers with is
| actually quite capable of doing this, and runs Python to boot.
|
| I wish this was the default interface that LEGO provided but
| I'm thankful for the PyBricks team creating a solution.
| marpstar wrote:
| Noticed that the question and answer were authored by the same
| person. Skimmed their other answers for fun and they are quite
| the expert. Very impressive ability to identify specific LEGO
| bricks.
| keraf wrote:
| I added my Lego Rollercoaster on Home Assistant[0] a little while
| back. Nothing fancy, just cut a Power Functions extension wire to
| put a relay in-between and an ESP board to control it. On one
| side I had the power pack and the other the motor. Would have
| loved to switch out the power pack for a constant power source
| but never got to it.
|
| If you're looking to do some Power Functions (PF) hackery, there
| are some interesting articles that cover the wiring and working
| of PF gadgets more in detail[1][2].
|
| [0] https://twitter.com/iamkeraf/status/1274433444446113792 [1]
| https://www.hackster.io/Notthemarsian/take-control-over-lego...
| [2] https://www.philohome.com/pf/pf.htm
| greesil wrote:
| Well there goes a weekend. I can't wait to try this out for my
| kids.
| cactusplant7374 wrote:
| Is there any way to use the Flipper with these trains?
| lini wrote:
| Older Lego trains use IR for control so if you just want to
| control motors and lights, you can get one of those and control
| it with the IR blaster on the Flipper. If you also want the
| sensors/newer programmable hub, then you need the BLE protocol.
| bri3d wrote:
| I couldn't find an off the shelf Flipper module, but the Lego
| Powered Up BLE protocol is fully documented by Lego:
|
| https://lego.github.io/lego-ble-wireless-protocol-docs/
|
| So it shouldn't be too hard to add one.
|
| Keep in mind that as noted in this article, the default Powered
| Up Hub behavior is as a "passthrough pipe" to the host device,
| so just using a Flipper might be a bit obnoxious.
| cactusplant7374 wrote:
| Gotcha. I was hoping there was a primitive subghz protocol.
| That would be fun.
| post_break wrote:
| It's a shame they got rid of metal tracks and went to batteries.
| If you're rich you can buy new replacements:
| https://shop.fxbricks.com/pages/fx-track
|
| Or try to buy old stock on ebay etc.
| EamonnMR wrote:
| You could only run a single engine per layout and switching
| could cut off the power.
|
| Now what I really wish they'd bring back is the Space
| Monorail...
| incanus77 wrote:
| > Now what I really wish they'd bring back is the Space
| Monorail...
|
| Agreed. I still think about that thing. I was about 10 when
| it came out and used to go and stare at the box at the toy
| store. When the new Futuron LEGO minifigs came out with the
| first revamp to the Classic Space suit, it just looked so
| damn cool. To this day they always make me think of the
| monorail.
| vertis wrote:
| I had this, and I still miss it and my other lego.
| jerrysievert wrote:
| you can modify non-metal tracks to work with stained glass
| foil, and maybe a jumper or two depending on what you're trying
| to modify. i used it successfully for cross-tracks (x's) when
| they came out originally.
| bombcar wrote:
| Metal tracks had some advantages, but plastic have, too.
|
| The "best" model railroads have electric track at a constant
| voltage and DCC or other controlled locomotives, so that you're
| not "driving" the train with the voltage on the track.
| preinheimer wrote:
| On a related note, Lego is cancelling Mindstorms. So if you were
| dreaming up an advanced train city with Mindstorms as the brain
| you'd better stock up now.
|
| https://www.theverge.com/2022/10/28/23428766/lego-discontinu...
| adolph wrote:
| My child is starting Lego robotics courses and I was confused
| by the change. As close as I can tell WeDo, PoweredUp/Boost and
| Spike all operate similarly. The core is a hub consisting of a
| STM32 microprocessor with a BLE module, power management,
| options for internal lights and accelerometer, and varying
| count of IO to servos, motors and sensors. With certain kits
| some of motors are built in. They all use the same new
| proprietary connector but the usual folks are making converters
| for EV3 and PowerFunctions.
|
| While Lego promotes use of their proprietary apps, other
| bluetooth shims can facilitate connections. I was able to
| connect to a Boost hub without issue using MIT's Scratch
| website to execute instructions. As far as I can tell, only
| Spike can operate untethered by BT with the default firmware.
|
| I've been integrating some BBC Microbit with Geekservo Lego
| compatible microservos and the overall experience is similar.
| Lego throughout is easier to integrate but doesn't lend itself
| to as much customization/experimentation. Using the MIT Scratch
| IDE is similar to MS Makecode used for Microbit. Compose your
| blocks, flash your microprocessor. Some things I like about
| Makecode are GitHub integration and the ability to seamlessly
| move between blocks, JS and Python.
|
| There isn't enough IO and connectivity for any Mindstorm or new
| Lego MCU to make an advanced train city. You'd be better off
| with ESP8266 on ESPNow mesh operating glue-your-own or
| Geekservo units.
| adolph wrote:
| I was wrong about the movement from WeDo through Boost to
| Spike: ## SPIKE Prime and SPIKE Essential
| All SPIKE Prime and SPIKE Essential sensors and motors are
| compatible with each other. ## MINDSTORMS(r) EV3 / NXT
| and SPIKE Essential MINDSTORMS EV3 and NXT components
| aren't compatible with SPIKE Essential because they use
| different connection cables and ports. ## WeDo 2.0 and
| SPIKE Essential WeDo 2.0 motors, sensors, and hubs
| aren't compatible with SPIKE Essential. ## Powered UP /
| Control+ and SPIKE Essential The Control+ L and XL
| motors can be plugged into the SPIKE Essential hub and
| detected by the SPIKE app, but other elements won't be
| detected.
|
| https://www.lego.com/en-in/service/help/spike_prime/spike-
| es...
| ceejayoz wrote:
| To be clear: Mindstorms the coding platform, but not the parts.
| You'll still be able to build Lego robots, just using Scratch.
| sschueller wrote:
| Isn't it being replaced with something newer and better?
| dolmen wrote:
| I think the real replacement is the Raspberry Pi Build HAT
| that allows to connect LEGO Powered Up/Boost/Robot Inventor
| sensors and motors to a Raspberry Pi.
|
| https://www.raspberrypi.com/news/raspberry-pi-build-hat-
| lego...
| qzio wrote:
| Lego spike.
|
| It is part of their education line.
|
| https://www.lego.com/en-se/product/lego-education-spike-
| prim...
| extasia wrote:
| I used to love motorised lego stuff. Building marble runs was my
| favourite...
| preinheimer wrote:
| The Great Ball Contraption (GBC) videos are pretty good:
| https://www.youtube.com/watch?v=VCmwskpxyCg
|
| Really interesting ways to move balls around.
| jameshart wrote:
| The motivation of using a special device to untether from the app
| as being 'to reduce screen time' seems tenuous at best. Is using
| an app to program in a block language to control real trains in a
| customizable city really 'screen time'? And even if it is, is it
| automatically _bad_?
| Xylakant wrote:
| The quote from the answer suggests a slightly different
| motivation than reducing screen time.
|
| > I use a setup similar to the above to allow an automated
| train to run around my son's city without the need to have a
| screen nearby the whole time.
|
| It's a criticism that I hear regularly of the requirement to
| use an app for various of the motorized Lego kits: Having a
| phone in hand often leads to the result that the kids stop
| controlling (or even building) the kit and rather start playing
| on the phone. It's also a bit an expensive thing to hand to
| your six year old so they can control their Lego train.
| [deleted]
| jpace121 wrote:
| I was not planning on buying a train set but now I may be... This
| looks way too fun.
| Kon-Peki wrote:
| Is this the 3rd generation of Lego City trains?
|
| We have the first (?) generation in which each train uses IR (I
| think) and each controller can deal with 2 trains at once, but
| are selectable to 4 "channels" - so 8 trains in total. I wanted
| to buy another train or two a few years ago but they had switched
| to a bluetooth-only system.
|
| We also have one of the Duplo bluetooth trains and it is pretty
| nice as well.
| TonyTrapp wrote:
| There's at least two generations before that "first (?)"
| generation: 12V powered trains from the 80s and 9V powered
| trains from the 90s. In both cases, the train tracks were
| conductive. No batteries needed. A controller was attached to
| the train tracks. Still my favorite system, as it has no parts
| that can ever become obsolete (dead batteries, unsupported
| phone apps, unsupported bluetooth protocols...)
| jacquesm wrote:
| And before then the 4.5V 'blue' rails (you could upgrade from
| that to the 12V system by swapping out the motor and adding
| the middle rail, but that lost you the ability to make
| certain tracks because then the two rails would end up being
| shorted out, which is why Maerklin long ago decided to use a
| center track for one pole and the outside for the other).
| incanus77 wrote:
| I have train set 182 [1] from 1975, bought at Harrod's in
| the UK and brought back to the US for a family friend who
| passed it on to me. It's still in the box with styrofoam
| liner.
|
| [1] https://brickset.com/sets/182-1/Train-Set-with-Motor
| jacquesm wrote:
| If it was never used it is worth a fortune.
| [deleted]
| mschuster91 wrote:
| > 9V powered trains from the 90s
|
| You could use an RCX to control and power the train motors.
| Fun times from a simpler world, the downside was obviously
| that you could have only one train running on the grid
| because the power was supplied back to the rails!
| Kon-Peki wrote:
| I do like the version we have, as you can theoretically
| have an almost unlimited number of trains running. But
| yeah, it was really frustrating to have them cease
| production.
|
| On the other hand, based on the photos in this article, it
| looks like the traction motor assembly may be common across
| recent generations which would allow tinkerers to make
| their own controllers.
| TonyTrapp wrote:
| To clarify, you could run more than train but they would
| all go at the same time! Unless you parked them on a
| passing loop, of course...
| lode wrote:
| Automating my Lego trains was my first introduction to
| programming, back in the late 1980s using GW-Basic. (When I was
| about 8 years old.)
|
| I had several stations on a looped track, and controlled the
| train position by switching on the power to the motor for a
| certain time.
|
| At first I used a photodiode taped to the CRT monitor (and
| controlling the motor by lighting up a square in the corner of
| the screen), later I upgraded to controlling a relay via the
| parallel port.
| blobbers wrote:
| And then you wrote DOS as your first program as a whiz kid. We
| see you BillG. Don't need to brag.
| hyperman1 wrote:
| I did more or less the same thing, as did lots of other
| people.
|
| Wiring the serial or parallell port to something wasn't hard.
| Instructions for bit banging them where generally found in
| the library (paper books). Serial had weird voltages but was
| near indestructible. Parallel was TTL just like anything else
| digital, so some 74 ICs got you mostly there.
|
| The era where you basically needed to solder if you wanted a
| computer was just over, so electronic knowledge was still
| easy to find.
| iancmceachern wrote:
| I love this photo diode solution, reminds me of duck hunt.
| Brilliant!
| rrobukef wrote:
| In 1999-ish, my two brothers and I got a box of relays and some
| reed sensors and solenoids (for track-switches) embedded in
| lego blocks.
|
| We're all engineers now, the box is treasured and still works.
| Finding a PC with a parallel port has become challenging
| though.
| vertis wrote:
| One idea is: https://hackaday.com/2017/05/05/converting-
| parallel-port-cnc...
|
| Plus there are a bunch of off the shelf solutions on Amazon
| (YMMV).
| fnordpiglet wrote:
___________________________________________________________________
(page generated 2022-12-05 23:00 UTC)