In 2017, LEGO introduced the PoweredUp system, as a successor of the standard InfraRed (IR) + Power Functions system. It uses BlueTooth as a connection, making it much more expandable compared to the limited IR, that’s limited to 8 channels. Also, this means the system can be connected to a smartphone, tablet or PC/laptop, that has a BlueTooth connection.
The first set that came with this new system was The Boost Creative Toolbox – 17101-1. This set comes with a hub 26910 for the BlueTooth connection and 2 built-in motors, 1 loose motor 6181852, and one sensor 6182145 for both Colour and Distance. It came with an app to control the different models that came with the set. Althought it works nice, it’s a bit limited in its possibilities. For instance, you can only use the PoweredUp elements provided with the set, and the app has a limited programming system. The set could be combined with the following sets for extra models:
After this came a new set: The 76112-1 - App-Controlled Batmobile
This was the first set that used an app that directly controlled the motors, and introduces new PoweredUp elements. The first is the PoweredUp Hub 28738. This is a battery box for 6 AAA batteries, provided with 2 ports to connect PoweredUp motors, and a BlueTooth connection. The other is the 21980 PoweredUp M Motor. The accompanying app is very basic. Just 2 slides to control the speed of the wheels left and right, and a slimmed down version of the Boost app, with only a few programming blocks.
Also 2 train sets were released, the 60198-1 Cargo Train and the 60197-1 Passenger Train.
These sets came with the same Hub as the Batmobile, and a new PoweredUp TrainMotor 28740.
In 2019 a bunch of new sets will be released, consisting of loose PoweredUp elements:
||88006-1 Boost Hub
||88007-1 Distance Sensor
|88008-1 M Motor
||88010-1 Remote Control
|88011-1 Train Motor
I’m not going much deeper into the elements themselves, as that is already done several times, like here by Sariel, or here by RacingBrick. I want to concentrate more on the possibilities that are available for these elements. I’ll do that by showing some options that I found that can make use of the elements I have myself (being the Boost set and the Cargo Train, so 1 Boost Hub, 1 standard Hub, Train Motor, 1 Boost Motor and 1 Distance/Colour Sensor).
When I started writing this, the only available apps were the Boost app, and the very limited PoweredUp app for the trains and the Bat Mobile. I’ve found 2 other options that make use of the PoweredUp elements, but with custom software.
NOTE: While I wrote this, the new Control+ app was announced (January 29th 2019), but there is no additional info available, besides that there probably will also be a Hub with 4 channels, and the app can handle multiple Hubs at the same time, something the standard app can’t.
The LEGO Train Project
This project is created by a Facebook user looking for a system to control his train setup. When he couldn’t find anything, he decided to make it himself, and when it turned out to work well, he decided to share it on Facebook, where I found it.
It’s basically a User Interface that lets you setup events that get triggered by sensors. To best explain this, I made an example.
First, download and open the program. It’s a standard ZIP-file, no installation required. I found out that it didn’t work on my Windows 8 Laptop. The creator said he didn’t test it on other OS than Windows 10, so I’m not sure if it’s the laptop itself or the OS that’s bugging. When you open, you come in the main screen, and the program starts searching for Hubs and/or Remote Controls.
Click the green buttons on the Hubs/Remote Controls to make them pair. In this case we have a Move Hub from the Boost set and a HUB NO.4, which is from the Cargo Train. On the Move Hub we find 3 motors on A, B and C, and a sensor (Colour/Distance) on D. This detection is automatically. On the HUB NO.4 we find 1 motor on A. You can activate the motors here by sliding the slides, and stop them.
Under Add Program a tab gets opened in the Programs window. Here you can make simple Sensor Events. This basically means When Sensor Detects A à Execute B. Here is a simple example:
Clicking on Start Listening starts the program. I’ve setup a simple event. When the train is Yellow (Blue in the video), the train goes left. When the train is Red, the train goes right. First, setup the motor on channel C of the Move Hub as a switch:
This changes the Train icon into a Switch:
Now, add the programs:
It’s says, that when the sensor on port D of the Move Hub detects Red, the switch (Motor on channel D) get set to right, and that when the sensor on port D of the Move Hub detects Yellow, the switch (Motor on channel D) get set to left. And that results in this:
In the output screen on top you can see what happens:
Another option is to place a sensor on the train. With coloured plates or tiles, you can then send ‘messages’ to the train. For instance, in this example the train goes in reverse when the sensor, mounted on the front and looking down, sees red.
The program looks as follows:
The great thing with these options is that you can program every train individually. So for the one train you can let him reverse, for another you can let him go faster, or, when you add no program, just let him ride on.
Also in the program is an Anti-Collision system. Unfortunately I couldn’t test it, because it uses multiple sensors, and I have only 1. The creator describes it in this video.
In short: The track is divided in segments. Each segment starts with a sensor. When a train enters the sector, this triggers the sensor, and the program knows that there is a train in that segment. When a second train enters, it gets stopped, so there can be no collision. When the first train enters the next sector, passing its sensor, the second train starts driving again.
And these are just 3 examples. This program is mostly limited to how many PoweredUp elements you have, your budget and your imagination. There is even an option to bypass the standard programs and program your own directly in code.
Overall impression of The LEGO Train Project
This program works very well. The UI is pretty intuitive, and even without an IT-background you can setup a system for your city or exposition. Some remarks: This is clearly a passion project for the creator, and primarily meant for own use. So there is no help-page or instructions. But I didn’t need that to make it work. Also the functions are specific to the creators needs. On his Facebook page however is a poll where you can submit possible suggestions that he can work on.
Scratch is a website that is used to teach people (main focus children) to program. It uses programming blocks, similar to Mindstorms and Boost. There is a special extension for controlling Powered Up functions. The program is free.
First, we need to install & run this application - https://scratch.mit.edu/wedo.
Then we launch a special version of Scratch 3: https://bricklife.github.io/scratch-gui/.
In the lower left corner is a button to add extensions. Select the LEGO Powered Up.
This opens the following blocks:
As an example, here is a video of a program that lets the train go slower, the closer something gets to the sensor:
The following program is used here (thanks to RacingBrick (YouTube) for sending me this):
First, we add a start. When you click op the green Flag (the start button in Scratch), the program runs. This program runs continuously, so we start with a repeat ‘herhaal’ (yeah, sorry, every time I set the language to English, the site crashes. Seem to be a bug). Then we look at the value of the distance sensor. If this is 10 (the max for the sensor), the motor speed is set to 100 (the max for the motor). If the distance is different, calculate the corresponding speed. And repeat in an endless loop.
Overall impression of Scratch
The first thing I ran into, is that the Hub from the train set wouldn’t connect. The Boost Hub does connect, but the motors in the Boost Hub, and the motor that comes with the Boost set, don’t work. The distance/colour sensor does work, as well as the train motor. This makes the program very limited for what I can do with my available parts.
The site itself works great. Once you’re familiar with the programming blocks, your imagination is the limit. It does seems there can only be 1 hub connected at the same time, so that limits stuff a lot.
After exploring these 2 third-party options, I have to say I’m impressed. There is no one perfect solution yet, but it shows that the PoweredUp system has a lot of potential. On the date of writing, the available official LEGO apps are very limited. The announced Control+ sounds promising, but until there is more information, it’s good to know that there are very creative people on the net, willing to share their work, so we can enjoy PoweredUp right now.
Last note: There is another piece of software, that I have not tested (yet?): BrickController. This is an app for Android and iOS, that is very versatile. It connects, with your phone/tablet as intermediate, to your gaming system (like PlayStation) controller to PowerUp Hub, BuWizz and SBrick. Since I don’t have a gaming system (old school PC in tha house), I was unable to test this. If you’re interested, check out this video by RacingBrick.