Not satisfied with merely motorising my Roller Coaster 10261, I incorporate the Boost Robotics System, and then add some additional functionality. It’s all fun and games until the batteries stop running at full power…
There is no doubt that the new Roller Coaster 10261 is a magnificent model, worthy of a set piece in any LEGO Layout. But driving it manually is a little tedious,to say nothing of the roughness of the ride. How can we make it so that we may have the coaster running, and share a drink with friends at the same time, while they marvel at this wonderful set?
Simple motoring using an ‘M’ motor.
Adding a Power Functions medium motor is simple: so simple in fact that you can work out how to do it in the pre release video: plug a motor over the drive shaft, and let it go.
And it goes on… and on… and on until you turn it off. There is no break in the activity, the constant rumble of the motor. Don’t get me wrong, this is pretty awesome, and with two trains of coaster carriages running, it can be pretty hypnotic. There is no reason that this should be any harder with the equivalent Powered Up/ PF2.0 motor, when we see it released in the future.
But I wonder if more can be done.
A Little Boost
In fact, adding simple automation to the set using the Boost Move hub, sensor and servo motor is pretty simple, and is described on the final page of the instructions. This is what it looks and sounds like.
Break Down the Basic Boost Program
This is quite a lot of fun!
There are two main blocks: one runs some fairground music, while the other runs the roller coaster: I left the music switched off in the video above. Meanwhile, when the train arrives at the base of the big slope, the movement sensor detects it, and activates the ‘roller coaster block.’ This block runs the servo motor (plugged in on the drive shaft where the PF motor attaches) for just the right amount of time to climb up the ramp, and clear the first curve: cutting out just before the train reaches the first descent. While this is happening, we hear the crowd on the roller coaster. Well, all three of them: gasping with anticipation, sensing relief as they reach the top, and then crying out as they career down the path, coming to sense relief at the end of the ride. If the platform brake is retracted, the train continues to the base of the ramp, which then starts up again. The sound changes a little: there seem to be three slightly different variations. If the brake is extended, the train will stop at the platform.
There is a lot going on in the roller coaster block, so touch the icon in the ribbon to reveal what is hidden within:
Let’s break it down:
Start: choose a random number; and wait for the distance sensor to trigger. This will be used to randomly select the sound set to use. Carry this to the next section. In parallel, wait for the train to arrive close to the sensor. Then proceed to flag 1
Flag 1:Reset the Motor position to zero. This will keep track of how many times the motor turns: this is clever, as getting the roller coaster to the top is rotation dependent rather than time dependent. Especially if thebmotor is turning slower as the batteries wear out.
Flag 2: Start the motor at speed 100. Wait until there is distance>5 from the sensor, and reset the motor rotation count. Sometimes, the train has some difficulty getting into the chain: this ensures it is actually up and running before counting the turns. It also starts playing sound 269/270/271 (depending on variable a) – the hill climbing sounds.
Flag3:Wait for the counter to read > 750+4=759 degrees, and play the new sound 272/273/274. Also: Wait until motor has run 9000+1500=10500 degrees, and then stop motor.
Then wait for the sensor distance to be crossed before starting all over again.
The upshot: the motor only runs while it needs to, when sensing a train at the base of the hill, until the train clears the major curve. Rider noises play for most of the ride.
And in case you were wondering, yes, there are some random blocks sitting in the middle not doing anything. I expect they will be tidied up by the next build of the software…
Gilding the Lily: Total Boost Automation
This system is terrific, because you can run your roller coaster until your phone or tablet enters standby mode, or has its batteries go flat.
Now, this is all well and good, but you still need to start the paused train at the platform with the crank when you want to start it going.
I am imagining a system where the train starts at the platform, gets pushed towards the main ramp: the main ramp runs long enough to get the train through to the first curve and then runs the coaster, coming to rest at the platform, ready to be launched off again.
Now, this might require some changes. What might be the best way to drive the platform’s kick wheel? I am unsure about the best. Lets go for my interpretation of the most simple.
First I remove the platform, to reveal the mechanism beneath:
The one way driver control for the platform driver wheel has a short rod, which runs from front to back, but with nothing protruding. This can be replaced with a long (12 stud long) axle, which in turn can be driven by one of the motors on the Move Hub. (Using this motor allows the normal roller coaster code, using the external motor, to drive the main chain.)
To fit the Move Hub, in line with the drive shaft, we will need to remove the diagonal axle, that links the chain drive handle to the actual chain drive.
I then built up the move hub, so the drive socket was at the right height (Four plates above ground level). I pushed the axle from the front of the platform into the socket.
Hooray. I can still get the external motor to reach the connection point, but I need to change the location of the sensor, as the wire is a little short to comfortably reach the recommended location.
Time to test the platform motor:
Play: Move hub motor A, 100% speed 360 degrees to start. I may have got this by trial and error.
Here’s the code I added to the rollercoaster basic program:
The motor fires up, and launches the train.
Launch. Ramp, screams of terror and relief. Pause and repeat. A timer pause could be inserted to increase the wait at the station, but for the time being, I just press the play button associated with the kick wheel code to make it launch.
Now: I need to reinstall the platform: I might need to change some parts. Also, the controls on the platform are no longer functional, other than the wheel brake engage/withdraw lever.
In fact, other than then removal of the mechanical elements, and a 1x2x5 brick (which was in the location we now have the Boost Move Hub), everything seems to come back together nicely. Which is good, because I forgot to take a photo of it…
This is great in principle, as a proof of concept. But it tends to fail after a little while- not quite kicking hard enough. This almost always responds to replacing the batteries in the Move hub, BUT this occurs long before I would normally expect to need to replace them. Unfortunately this necessitates a rebuild. The use of a regular power functions motor might be more useful here, in conjunction with a with an SBrick (or pf2) and a big red button on a tablet to launch it. The recently ‘kickstarted’ PF brick could be useful here too, as it allows playable lights and sounds as well as the motor control.
Mindstorms might also be useful. This would have the advantage of functioning without the constant attention of a dedicated Bluetooth device.
BUT Boost has provided me with a simple, rapid prototype tool. We have been able to demonstrate a proof of concept for a roller coaster launch control, which adds a degree of additional automation/crowd pleasing oohs and aaahs to the system.
Movement adds great appeal to any LEGO model, and this is part what we find attractive about the rollercoaster. Enhancing these movements with automation adds to this appeal. I look forward to seeing how such mechanisms might be incorporated by others over the coming months.
This set is a great starting point for an impressive roller coaster display. How would you ideally run a Roller Coaster at a public exhibition? Why not share your thoughts after the break. Oh yes, you may have noticed that I have been using YouTube here a little more lately for demonstrating models in action: why not subscribe to the YouTube channel to keep up to date?
Until next time