WEBVTT

00:00.000 --> 00:13.160
And the next talk, I promise I was not involved in the program committee selecting this

00:13.160 --> 00:21.400
talk. It is about trains. And if you missed this morning, my main job is being a train

00:21.400 --> 00:28.240
conductor. So I am very excited and I am going to give a proper departure for this talk.

00:29.240 --> 00:31.240
All aboard!

00:42.240 --> 00:47.240
Yeah, it will be better with the mic. So hi everyone. Thank you so much for being here today.

00:47.240 --> 00:52.240
I am Florian. You can just call me Flo because I know English folks have some

00:52.240 --> 01:00.240
program with the awesome. And I work for a company called Zenika, but today I will speak about something

01:00.240 --> 01:05.240
completely unrelated with my work because I will talk about my old trains. We have a second

01:05.240 --> 01:10.240
life so I brought them just here. And if you want to see them after, I will be at the technical

01:10.240 --> 01:17.240
town in A.W. building. Just a quick disclaimer, I am French, which means my English can be

01:17.240 --> 01:23.240
available from time to time. I am sorry for this. And also my daily job is not related at all

01:23.240 --> 01:29.240
with MBD or not computing or even electronics. So I may take shortcuts, I may make mistakes.

01:29.240 --> 01:37.240
I am sorry for this. If you find something in what I show you today, open a peer on GitHub.

01:37.240 --> 01:44.240
It will be very welcomed. So this talk is really about a new sharing a Sunday project and you

01:44.240 --> 01:50.240
should really take it as it. So just a bit of a story. I will speak about

01:50.240 --> 01:56.240
actual scale trains from the late 70s. My grandfather bought them for my mother when she was

01:56.240 --> 02:01.240
a child to play with them. And when my mother grew up, they slept for 25 years in

02:01.240 --> 02:08.240
the 80s. Before being poor back in 2005, when I was old enough to understand the basics of

02:08.240 --> 02:13.240
electronics and mechanism. So they are basically toys at the beginning.

02:13.240 --> 02:18.240
And since 2000 and 11, we made a lot of improvements. We tripped the size with the new

02:18.240 --> 02:23.240
train station. We added new structures, new buildings with likes everywhere on the table.

02:23.240 --> 02:30.240
And we also made a big electrical update because the 2005 electrical setup was exactly the same

02:30.240 --> 02:38.240
as the 70s one. So fire's hard and this kind of thing. So free generation of

02:38.240 --> 02:43.240
people played with them. They are really a generational toy in the family.

02:43.240 --> 02:50.240
What's an actual scale train? It's a toy from the 90s century. And it's basically

02:50.240 --> 02:58.240
a train at 187 cm. So one centimeter here is like 87 cm in real life.

02:59.240 --> 03:03.240
It became really popular in the 50s thanks to plastic manufacturing.

03:03.240 --> 03:11.240
Two toys came very cheap to buy. So a lot of people played with them in the 50s, 60s, 70s and 80s.

03:11.240 --> 03:17.240
It's still producing nowadays, but it's very expensive. The basic model is around 200 euros

03:17.240 --> 03:24.240
and the most expensive one are around 600, 700 euros. So this is a budget.

03:25.240 --> 03:30.240
And from a more technical perspective, it's just 14 volts direct runs.

03:30.240 --> 03:36.240
It's like through the rays and it came to the wheels of the train.

03:36.240 --> 03:40.240
And inside the train there is one lamp and one motor and that's all.

03:40.240 --> 03:44.240
It's fully analog system. So the electrical scheme is pretty simple.

03:44.240 --> 03:50.240
We have the power sources, a motor, a lamp and a URED.

03:50.240 --> 03:55.240
And in 2011, sorry, we were spending in that work.

03:55.240 --> 03:59.240
And we started to see the limits of the analog system.

03:59.240 --> 04:04.240
To control our trains, we modulate the supplied power from minus 14 volts.

04:04.240 --> 04:09.240
So trains are going backward. Two plus 14 volts trains are going forward.

04:09.240 --> 04:14.240
Which means all our trains grow the same way and that approximately the same speed

04:14.240 --> 04:17.240
depending on the motor and the weight of the train and so on.

04:18.240 --> 04:23.240
And even on our big model table, we can't under more than three trains simultaneously,

04:23.240 --> 04:28.240
which is such a shame because we have more than 20 trains on our collection.

04:28.240 --> 04:34.240
So we were looking for a way to use more trains simultaneously.

04:34.240 --> 04:38.240
The exhaust solution, we used switches to cut power to the part of the network.

04:38.240 --> 04:43.240
So when the train arrives to a specific part of the network, he loses power.

04:43.240 --> 04:52.240
So he stops and we press the button and he has power again and he can continue on the way.

04:52.240 --> 04:56.240
The main premise is don't look inside the table because it's basically a bomb.

04:56.240 --> 05:01.240
There is like five kilometers of cable inside the table.

05:01.240 --> 05:07.240
So that's horrible when you have to find a problem in the table you don't want to do that.

05:07.240 --> 05:11.240
So we were looking for solution and here comes the DCC.

05:11.240 --> 05:15.240
The DCC very basically to summarize it to real quick.

05:15.240 --> 05:20.240
It's like the PLC but for our own it.

05:20.240 --> 05:24.240
So we send information to our trains using the power coming through the race

05:24.240 --> 05:29.240
and we have a chip in the train to receive it and decolidate.

05:29.240 --> 05:36.240
And with this kind of technology, we can under up to eight trains going at different speed and different directions.

05:36.240 --> 05:40.240
So we thought to ourselves that's pretty cool we need this.

05:40.240 --> 05:43.240
But there is a main problem, a main issue.

05:43.240 --> 05:46.240
When you start using DCC, you must change everything.

05:46.240 --> 05:51.240
And on 60 years old setup, it's quite a thing.

05:51.240 --> 05:54.240
You need a specific power delivery mechanism.

05:54.240 --> 05:56.240
So you have to change all your power delivery mechanism.

05:56.240 --> 06:00.240
You need to change the train motor because ours are 60 years old,

06:00.240 --> 06:02.240
so they are not adapted for this.

06:02.240 --> 06:06.240
And you must add a control board inside each train.

06:06.240 --> 06:10.240
The total cost was nearly 3,000 euros.

06:10.240 --> 06:13.240
I was 14 years old, so 3,000 euros.

06:13.240 --> 06:17.240
I was a P1, I had 3 euros, so 3,000 that's a lot.

06:17.240 --> 06:19.240
So forget it.

06:19.240 --> 06:20.240
Analog is good anyway.

06:20.240 --> 06:22.240
It's just for playing.

06:22.240 --> 06:25.240
So we forget it.

06:25.240 --> 06:26.240
And time flies.

06:26.240 --> 06:27.240
Oh sorry.

06:27.240 --> 06:30.240
And of course, the market only was proprietary solution.

06:30.240 --> 06:36.240
And I was 14 years old, so I was not aware of being able to do it by myself.

06:36.240 --> 06:38.240
And time flies.

06:38.240 --> 06:42.240
Until 2024, and in 2024, I was at Valcom,

06:42.240 --> 06:45.240
a French conference taking place in Camouflen.

06:45.240 --> 06:51.240
And I was looking at the Tireshantier Talk, called the Tiny Group Petime Costo,

06:51.240 --> 06:54.240
in English, Tiny Group Small but Strong.

06:54.240 --> 06:59.240
And I thought to myself, I need to put it this in my trains.

06:59.240 --> 07:03.240
So I came back to my grandfather's house.

07:03.240 --> 07:07.240
I stole a train, this one, just here.

07:07.240 --> 07:09.240
And we did a similar it.

07:09.240 --> 07:13.240
And I found there is just enough room for Raspberry Pi Pico.

07:13.240 --> 07:16.240
And the Raspberry Pi Pico can run Stingigo.

07:16.240 --> 07:18.240
So that's pretty cool.

07:18.240 --> 07:27.240
So Raspberry Pi Pico is 21 per 51 millimeter chip with decent performance way enough for it.

07:27.240 --> 07:31.240
So I ordered five of them in the W variant,

07:31.240 --> 07:36.240
so with wireless Wi-Fi and Bluetooth support.

07:36.240 --> 07:39.240
And I started to play with it.

07:39.240 --> 07:44.240
The first issue was the poor supply for the Raspberry Pi,

07:44.240 --> 07:49.240
because our trains are powered by 14 volt direct turns,

07:49.240 --> 07:53.240
but the Raspberry Pi can only under five volts,

07:53.240 --> 07:55.240
unless you want to fire in your train.

07:55.240 --> 07:56.240
That's another story.

07:56.240 --> 08:01.240
So I found the cheapest step-down conductor possible,

08:01.240 --> 08:05.240
and I will try to do something with this.

08:05.240 --> 08:07.240
Then I had to control the motor.

08:07.240 --> 08:10.240
So to control the train motor, we need the PDB-Lion module.

08:10.240 --> 08:13.240
So I took the one that everybody is using,

08:13.240 --> 08:15.240
the other food DRV8871.

08:15.240 --> 08:18.240
That's okay, I can control the motor.

08:18.240 --> 08:20.240
And I wire everything.

08:20.240 --> 08:23.240
So here is the electrical scheme, pretty simple.

08:23.240 --> 08:26.240
The power is still coming through the raise.

08:26.240 --> 08:32.240
It powers the step-down conductor giving power to the Raspberry Pi.

08:32.240 --> 08:36.240
It also powers the PDB-Lion module, controlling the motor.

08:36.240 --> 08:39.240
So everything is okay, we can start with this.

08:39.240 --> 08:44.240
And it works until we accidentally reverse the direction of the train on the rail.

08:44.240 --> 08:48.240
And the minus 14 volt became the plus 14 volt,

08:48.240 --> 08:52.240
and there was some issues at this point.

08:52.240 --> 08:57.240
So I had a fire extinguisher,

08:57.240 --> 09:00.240
so that was a very good idea to have one.

09:00.240 --> 09:05.240
So let's add that out to prevent this for an opening again.

09:05.240 --> 09:10.240
The other problem I had is that when we tested it in a real condition,

09:10.240 --> 09:13.240
we realized that the electrical network is not stable,

09:13.240 --> 09:17.240
because the electricity has to go through a lot of parts,

09:17.240 --> 09:21.240
raise, raise and so on, and everything in the setup is 60 years old.

09:21.240 --> 09:23.240
So not the basic connection possible.

09:23.240 --> 09:26.240
So the motor can undo this micro cuts.

09:26.240 --> 09:28.240
You lost one or two RPM, but that's okay.

09:28.240 --> 09:30.240
But the Raspberry Pi does not like it at all,

09:30.240 --> 09:34.240
and just spend this time turning off and off and on.

09:34.240 --> 09:36.240
So that was a kind of a problem.

09:36.240 --> 09:40.240
So let's add the capacitor to smooth off this micro cuts.

09:40.240 --> 09:44.240
And now it works, but it doesn't fit at all on the initial setup.

09:44.240 --> 09:47.240
So I have to find the solution for this.

09:48.240 --> 09:50.240
So let's modify it.

09:50.240 --> 09:53.240
So I designed a custom PCB shield for our needs.

09:53.240 --> 09:56.240
So the main idea was to have a card,

09:56.240 --> 09:58.240
the same size as the Raspberry Pi,

09:58.240 --> 10:01.240
so I can just put it on the top of the Raspberry Pi.

10:01.240 --> 10:05.240
It took me like four weeks in kick-out because I was discovering.

10:05.240 --> 10:08.240
So that was pretty cool and pretty intense to do.

10:08.240 --> 10:12.240
And four weeks later, I received the PCB.

10:12.240 --> 10:16.240
So I wear everything on it, and it really works.

10:16.240 --> 10:19.240
We push a very simple piece of code on the Raspberry Pi,

10:19.240 --> 10:21.240
speed at 100% and like so on.

10:21.240 --> 10:25.240
And we have the motor ring, the lights coming up,

10:25.240 --> 10:27.240
so everything is okay.

10:27.240 --> 10:31.240
So now I can start to code,

10:31.240 --> 10:34.240
and I will use obviously, thank you.

10:34.240 --> 10:39.240
So the first question was, what does our Raspberry Pi have to under?

10:39.240 --> 10:40.240
In fact, a very few things.

10:40.240 --> 10:43.240
Turn the light on and off, control the motor

10:43.240 --> 10:46.240
through the PLWM, so direction and speed,

10:46.240 --> 10:48.240
communicate with the world.

10:48.240 --> 10:55.240
And for the first version, that's good enough for our first version.

10:55.240 --> 10:59.240
And my first idea is I'm coming through a cloud and web world

10:59.240 --> 11:02.240
was to expose the rest of the Pi on each train,

11:02.240 --> 11:05.240
and use my classic Wi-Fi communication,

11:05.240 --> 11:09.240
my TCP-IP-Star and so on.

11:09.240 --> 11:11.240
That was a very non-BID.

11:11.240 --> 11:14.240
Of course, but I tested it anyway.

11:14.240 --> 11:17.240
So it was a non-BID for multiple reasons.

11:17.240 --> 11:20.240
First of all, there is no native Wi-Fi.

11:20.240 --> 11:24.240
That was no native Wi-Fi on Raspberry Pi people with tangigo.

11:24.240 --> 11:29.240
So I had to find a driver on GitHub and try something.

11:29.240 --> 11:34.240
So that was working, but not completely.

11:34.240 --> 11:37.240
Also Wi-Fi requires a lot of power,

11:37.240 --> 11:39.240
which makes my capacitor insufficient.

11:39.240 --> 11:43.240
My capacitor is one far out, so that's a giant capacitor.

11:43.240 --> 11:48.240
And I was only able to under two seconds of the Raspberry Pi running,

11:48.240 --> 11:50.240
so that was insufficient.

11:50.240 --> 11:54.240
And Wi-Fi is more than 200 millisecond per command.

11:54.240 --> 11:59.240
And as a reminder, those things cost 200 to 600 euros,

11:59.240 --> 12:04.240
so when they collide, it's kind of a attack.

12:04.240 --> 12:07.240
So I had to find solutions for these kinds of things.

12:07.240 --> 12:09.240
And of course, it was a bad idea,

12:09.240 --> 12:12.240
because it was the idea of someone who never done

12:12.240 --> 12:14.240
and built it on bot computing.

12:14.240 --> 12:18.240
So I was trying to do things with my old solutions

12:18.240 --> 12:20.240
from the web and cloud world,

12:20.240 --> 12:23.240
and it doesn't work with bot computing.

12:23.240 --> 12:25.240
So I switched to Bluetooth BLE,

12:25.240 --> 12:28.240
so the Bluetooth BLE is the variant of the Bluetooth protocol

12:28.240 --> 12:31.240
designed specifically for IoT.

12:32.240 --> 12:34.240
To resume it really quickly.

12:34.240 --> 12:37.240
Each client expose a get server.

12:37.240 --> 12:39.240
This server expose services,

12:39.240 --> 12:41.240
and each service has characteristics,

12:41.240 --> 12:45.240
and you can read and write on each characteristics.

12:45.240 --> 12:48.240
When a server connects, connect with something.

12:48.240 --> 12:52.240
And the latency is negligible under one millisecond

12:52.240 --> 12:56.240
for read and write operations, so that's really cool.

12:56.240 --> 12:59.240
And a server can connect to multiple clients,

12:59.240 --> 13:01.240
depending on the Bluetooth antenna,

13:01.240 --> 13:03.240
but the computer I'm using for the presentation

13:03.240 --> 13:08.240
can connect to 10 trains before starting to have some issues.

13:08.240 --> 13:11.240
So that's way enough for our needs.

13:11.240 --> 13:14.240
And Bluetooth BLE is used by a lot of devices

13:14.240 --> 13:18.240
because you're smartwatch, you're smartwatch, you're smartwatch, whatever.

13:18.240 --> 13:21.240
Is using Bluetooth BLE.

13:21.240 --> 13:24.240
From the technical side,

13:24.240 --> 13:26.240
so inside the train,

13:26.240 --> 13:30.240
you can use the native Bluetooth package from the technical.

13:30.240 --> 13:33.240
So when we receive a write event,

13:33.240 --> 13:37.240
we will just send the information to a channel

13:37.240 --> 13:39.240
to handle it later.

13:39.240 --> 13:41.240
It's just to avoid fraud luck and this kind of things.

13:41.240 --> 13:45.240
But it's like three lines of code, so not apparently way.

13:45.240 --> 13:47.240
And on the server side,

13:47.240 --> 13:51.240
I'm using the guppierly library,

13:51.240 --> 13:55.240
which enables me to connect to all devices I can found.

13:55.240 --> 13:58.240
And store the connection in the map,

13:58.240 --> 14:02.240
so I can use the connection later on when I need.

14:02.240 --> 14:05.240
So the server regularly scans for maybe Bluetooth devices

14:05.240 --> 14:07.240
every five seconds,

14:07.240 --> 14:10.240
and connects to any client named trainberry

14:10.240 --> 14:12.240
and something after.

14:12.240 --> 14:15.240
So safety first, obviously.

14:15.240 --> 14:18.240
The server exposes the website for our content,

14:18.240 --> 14:21.240
because my grandfather is now 87 years old,

14:21.240 --> 14:22.240
so I wasn't able to tell him,

14:22.240 --> 14:26.240
okay, you just have to open the CLI type slash trainberry set speed.

14:26.240 --> 14:27.240
It was not possible,

14:27.240 --> 14:33.240
so I created a front end to use the usage.

14:33.240 --> 14:37.240
And this setup avoids nearly all the TCP IP latency,

14:37.240 --> 14:38.240
so that's pretty cool.

14:38.240 --> 14:41.240
And it also allows us to have synchronization

14:41.240 --> 14:43.240
between multiple clients.

14:43.240 --> 14:46.240
So here is the interface, so it's in French.

14:46.240 --> 14:49.240
We have the image of the train,

14:49.240 --> 14:52.240
which is named button to turn on or off the light

14:52.240 --> 14:54.240
and control the speed.

14:54.240 --> 14:58.240
And Bluetooth BLE is the way,

14:58.240 --> 15:00.240
because aside from latency,

15:00.240 --> 15:02.240
removing Wi-Fi means a lot of things.

15:02.240 --> 15:06.240
I do not need to have a dedicated router for this,

15:06.240 --> 15:07.240
so that's pretty cool.

15:07.240 --> 15:11.240
I do not have to manually under the TCP IP stack on the client,

15:11.240 --> 15:13.240
which is really cool.

15:13.240 --> 15:17.240
And I do not have to flash the train with secrets,

15:17.240 --> 15:21.240
like the SSID, the network key and so on.

15:21.240 --> 15:24.240
And our code is cleaner than before,

15:24.240 --> 15:26.240
because the current code running inside the train

15:26.240 --> 15:28.240
is less than 200 lines,

15:28.240 --> 15:30.240
and the train can start up in less than a second,

15:30.240 --> 15:32.240
so that's really, really cool.

15:32.240 --> 15:35.240
I had a problem,

15:35.240 --> 15:39.240
is my train became a zombie.

15:39.240 --> 15:43.240
When the train loses power for more than 25 seconds,

15:43.240 --> 15:44.240
it becomes a zombie,

15:44.240 --> 15:47.240
because the Raspberry Pi was turning off the wireless chip,

15:47.240 --> 15:51.240
but when the Raspberry Pi received enough power

15:51.240 --> 15:53.240
to run again,

15:53.240 --> 15:56.240
it will not turn on the chip again,

15:56.240 --> 15:58.240
so that was quite a footprint,

15:58.240 --> 15:59.240
because when the power is restored,

15:59.240 --> 16:00.240
the train goes through photo,

16:00.240 --> 16:02.240
and you don't have any way to stop it.

16:02.240 --> 16:04.240
So I had to find a solution.

16:04.240 --> 16:06.240
When this happens,

16:06.240 --> 16:07.240
we have to reboot it,

16:07.240 --> 16:09.240
and that's the purpose of the watchdog.

16:09.240 --> 16:12.240
So the watchdog is using an internal plug,

16:12.240 --> 16:14.240
which makes the board reboots,

16:14.240 --> 16:18.240
if it does not receive any signal after eight seconds.

16:18.240 --> 16:20.240
So we just said,

16:20.240 --> 16:22.240
still alive got characteristic,

16:22.240 --> 16:24.240
but every five seconds by the server.

16:24.240 --> 16:25.240
And when we receive a message,

16:25.240 --> 16:27.240
we update the watchdog to reset the control.

16:27.240 --> 16:29.240
So the code is pretty simple.

16:29.240 --> 16:30.240
At the beginning,

16:30.240 --> 16:32.240
we just had the machine watchdog start

16:32.240 --> 16:34.240
to make the watchdog a watchdog in.

16:34.240 --> 16:40.240
And we just had a case in our channel,

16:40.240 --> 16:43.240
to inform that when we receive a still alive information,

16:43.240 --> 16:46.240
we have to reset the control of the watchdog.

16:46.240 --> 16:48.240
And that's pretty cool.

16:48.240 --> 16:50.240
And it works,

16:50.240 --> 16:52.240
the video launched without me.

16:52.240 --> 16:54.240
And it really works.

16:54.240 --> 16:57.240
I was not able to take the table,

16:57.240 --> 17:00.240
but you have the demonstration right here right there.

17:00.240 --> 17:02.240
So it really works,

17:02.240 --> 17:04.240
and that's pretty cool.

17:04.240 --> 17:06.240
But I had to modify even more,

17:06.240 --> 17:08.240
because here comes the,

17:08.240 --> 17:10.240
with 85, 25 in French,

17:10.240 --> 17:12.240
La Durezine.

17:12.240 --> 17:16.240
And the place inside is very small,

17:16.240 --> 17:18.240
because we have 21,

17:18.240 --> 17:20.240
32 or 12 millimeter,

17:20.240 --> 17:22.240
and our two are set up with the Raspberry Pi

17:22.240 --> 17:24.240
is 21, 51 per 20 millimeters.

17:24.240 --> 17:26.240
So I had to modify a bit.

17:26.240 --> 17:30.240
And I found the share series from Citstudio.

17:30.240 --> 17:32.240
It's a very small board,

17:32.240 --> 17:34.240
18, 21 millimeters,

17:34.240 --> 17:36.240
so that's really, really small.

17:36.240 --> 17:40.240
And there is multiple variants on the share series,

17:40.240 --> 17:42.240
so you have the ESP32,

17:42.240 --> 17:44.240
we have P2040 and so on.

17:44.240 --> 17:46.240
Unfortunately, the P2040 version

17:46.240 --> 17:48.240
does not have wireless connectivity,

17:48.240 --> 17:50.240
so I had to find another chip.

17:50.240 --> 17:52.240
But the resin,

17:52.240 --> 17:54.240
and it can fit in the resin,

17:54.240 --> 17:56.240
so that's pretty cool.

17:56.240 --> 17:58.240
But I had to modify everything else,

17:58.240 --> 18:02.240
so I changed my old set down converter

18:02.240 --> 18:04.240
to the Pulu 5V,

18:04.240 --> 18:08.240
which is four times smaller than the previous one.

18:08.240 --> 18:10.240
I did the same thing with the Pulu version module,

18:10.240 --> 18:12.240
using the T86586,

18:12.240 --> 18:16.240
also four times smaller than the original one.

18:16.240 --> 18:18.240
And of course,

18:18.240 --> 18:20.240
I had to go back to kick-out,

18:20.240 --> 18:21.240
to create a new PCV,

18:21.240 --> 18:24.240
this time I had to use the two faces of the PCV

18:24.240 --> 18:26.240
to solder things on it,

18:26.240 --> 18:30.240
because there was no end of room on one side.

18:30.240 --> 18:32.240
And a few weeks later,

18:32.240 --> 18:34.240
I was able to solder everything,

18:34.240 --> 18:36.240
put it inside the resin,

18:36.240 --> 18:38.240
and that's it.

18:38.240 --> 18:40.240
And it also works,

18:40.240 --> 18:44.240
and the video also runs without me.

18:44.240 --> 18:46.240
And it also works.

18:46.240 --> 18:48.240
So that's pretty cool.

18:48.240 --> 18:50.240
And we are happy,

18:50.240 --> 18:54.240
because it was the smallest train we had in the collection.

18:54.240 --> 18:58.240
So if we are able to do this in the resin,

18:58.240 --> 19:02.240
we can do it on all our trains.

19:02.240 --> 19:04.240
So what's next?

19:04.240 --> 19:06.240
Minifying is done,

19:06.240 --> 19:08.240
and it was my main issue in 2025,

19:08.240 --> 19:10.240
and our code is table and fast,

19:10.240 --> 19:12.240
so let the fun begin.

19:12.240 --> 19:14.240
I want to add a Bridger 2 failure

19:14.240 --> 19:16.240
to avoid the train not pouring up,

19:16.240 --> 19:18.240
because of polarity,

19:18.240 --> 19:20.240
because if you remember,

19:20.240 --> 19:22.240
I added a diode to prevent fire,

19:22.240 --> 19:24.240
inside the train.

19:24.240 --> 19:30.240
Now I have to put the train in the good direction on the race,

19:30.240 --> 19:34.240
because if I put it in the wrong side,

19:34.240 --> 19:36.240
it won't pour up at all.

19:36.240 --> 19:40.240
So that's not usual experience for me.

19:40.240 --> 19:44.240
I also want to add automated rice station announcements.

19:44.240 --> 19:46.240
The train is coming,

19:46.240 --> 19:48.240
please mine the gap between the train and the station.

19:48.240 --> 19:52.240
So I want to add this using NFC tags and so on.

19:52.240 --> 19:54.240
I want to add some to the trains,

19:54.240 --> 19:56.240
because I want my trains to go through when I want,

19:56.240 --> 20:00.240
that's something needed in this project.

20:00.240 --> 20:02.240
I really need it.

20:02.240 --> 20:06.240
I also want to automate the stop at the station,

20:06.240 --> 20:08.240
using the produce NFC tags.

20:08.240 --> 20:10.240
I want to add real-time photography.

20:10.240 --> 20:12.240
I absolutely look through about how to do this.

20:12.240 --> 20:16.240
So that's the plan for the late army.

20:16.240 --> 20:18.240
And I want to add onboard camera

20:18.240 --> 20:26.240
on the biggest train I have to be able to see the my setup,

20:26.240 --> 20:30.240
like I was inside the train.

20:30.240 --> 20:34.240
Also I want to use technical to control the turning points,

20:34.240 --> 20:36.240
because currently the turning points are fully analog,

20:36.240 --> 20:38.240
so that's a problem.

20:38.240 --> 20:42.240
So that's also a future improvement.

20:42.240 --> 20:44.240
I have a lot of ideas for 2022-26.

20:44.240 --> 20:46.240
And of course everything is in open source,

20:46.240 --> 20:48.240
and will be in open source and in open hardware.

20:48.240 --> 20:50.240
So everything is available on GitHub.

20:50.240 --> 20:54.240
Don't hesitate to go to go see it, use it,

20:54.240 --> 20:56.240
make a PR that will be a real pleasure.

20:56.240 --> 20:58.240
Thank you so much for your attention.

20:58.240 --> 21:02.240
You have the feedback at your disposal.

