Hi all!
I’m a completely newbie to LEGO World and AFOL Community. This is my first post. Two weeks ago I got a Lego Duplo Cargo Train (10875) for my 2 years old son. And I started to put my hands on it. Next I’ll explain some of my researching in case it could be useful for someone:
First of all, I could verify that is possible to use your own created action bricks. I found this video and it works for me. I tried it with my own home made action bricks made of cardboard. Yellow, red, green, white and blue cardboard action bricks worked fine and train played sound associated to each color. I tried another colors but with no result. As Nathan said in an early post seems that it’s actually hardcoded in the sensors and actuator firmware the capability to detect a limited number of colors and play a limited number of sounds. Maybe we can see new action bricks in the future, new built in sounds, and new updates to firmware to unlock functionality. It could be awesome that LEGO unlocked the possibility of playing custom sounds.
I also tried a bunch of LEGO apps for controlling the train (Lego Connected Train and also Coding Express). Coding Express (45025) allows, with 4 different themed activities, change the way the action bricks behave, altering the effect on the train. The train/hub detects the color for an action brick and the app plays a sound associated to it (i.e. an animal or instrument sound)
I tried node-poweredup (great job Nathan). It was, at first, a bit confusing for me use it for send commands to my Duplo Train. I think there is no specific example for duplo train and the train examples confused me (I suppose these examples are for Lego City Train). At last I found that setting TRAIN_MOTOR_PORT = “MOTOR” (not “A” or “B” or “AB”)worked fine. I tried application with some of my cardboard action bricks and it detected some of my cardboard action bricks in the 10 hardcoded detected colors range posted by Nathan (I didn’t try all 10 colors).
I got my hands on LEGO Wireless Protocol 3.0.00 Documentation in order to obtain some more knowledge about the train. I'm still studying it.
I also tried to make a preliminary/inside analysis of LEGO apps. The apps analyzed were Lego Connected Train v1.2, Coding Express v1.0, LEGO Boost 1.8.0 and LEGO Powered UP 2.0). All, but LEGO Powered UP, seem to use a common SDK (device sdk). Will be this the base for the future SDK to be released by LEGO?
From the analysis I could detect some, nowadays, undocumented information in LWP 3.0.0 docs. LEGO WP 3.0.00 Documentation (2.1) only specifies 4 System Types:
000 LEGO Wedo 2.0
001 LEGO Duplo
010 LEGO System
011 LEGO System
But from the apps I’ve found that, at least, LEGO could have in mind four more (2 Technic -4 and 5- and 2 Third Party System Types - 6 and 7-)
I will continue my research and I’ll post my findings and testings in case there could be useful for the community. Thank you all for your posts and work.