1 00:00:00,000 --> 00:00:08,469 foreign 2 00:00:00,500 --> 00:00:08,469 [Music] 3 00:00:11,420 --> 00:00:15,540 we're on to our last block of 4 00:00:13,440 --> 00:00:17,039 presentations for this afternoon and it 5 00:00:15,540 --> 00:00:19,859 is my pleasure to Welcome to the stage 6 00:00:17,039 --> 00:00:21,840 Paul Antoine Paul is a second generation 7 00:00:19,859 --> 00:00:23,939 programmer and hacker in many dimensions 8 00:00:21,840 --> 00:00:26,460 including technology startups management 9 00:00:23,939 --> 00:00:28,380 and mental health Paul's open source 10 00:00:26,460 --> 00:00:30,180 contributions are in embedded Computing 11 00:00:28,380 --> 00:00:32,640 firmware and operating systems 12 00:00:30,180 --> 00:00:34,260 development today Paul is going to speak 13 00:00:32,640 --> 00:00:36,480 on an open source standard for 14 00:00:34,260 --> 00:00:37,559 controlling model railroads and I'll 15 00:00:36,480 --> 00:00:39,360 just draw your attention to the fact 16 00:00:37,559 --> 00:00:41,700 that there's been a tiny program change 17 00:00:39,360 --> 00:00:43,800 so we are listening from Paul now and 18 00:00:41,700 --> 00:00:46,500 later that will be followed up by Dan 19 00:00:43,800 --> 00:00:50,300 Shearer so please join me in welcoming 20 00:00:46,500 --> 00:00:50,300 Paul to the stage welcome Paul 21 00:00:50,760 --> 00:00:53,780 thank you Amy 22 00:00:53,820 --> 00:00:58,680 Roman jika welcome everyone 23 00:00:57,000 --> 00:01:01,500 I would like to begin by acknowledging 24 00:00:58,680 --> 00:01:03,019 the wurundry Warren people of the 25 00:01:01,500 --> 00:01:05,400 cooling Nations and traditional 26 00:01:03,019 --> 00:01:07,680 custodians as lambs of Nam otherwise 27 00:01:05,400 --> 00:01:09,240 known as Melbourne but I also want to 28 00:01:07,680 --> 00:01:11,580 extend that acknowledgment to the 29 00:01:09,240 --> 00:01:12,600 traditional custodians of the lands you 30 00:01:11,580 --> 00:01:15,240 are from 31 00:01:12,600 --> 00:01:17,520 I pay my respect to the elders past and 32 00:01:15,240 --> 00:01:19,619 present I would also like to welcome and 33 00:01:17,520 --> 00:01:22,880 extend my respects to any First Nations 34 00:01:19,619 --> 00:01:22,880 peoples attending today 35 00:01:24,299 --> 00:01:29,040 uh 36 00:01:26,820 --> 00:01:32,880 so I 37 00:01:29,040 --> 00:01:35,520 this morning's uh keynote by Hugh really 38 00:01:32,880 --> 00:01:38,240 struck a chord because like him I have 39 00:01:35,520 --> 00:01:41,040 come to the conclusion that many of my 40 00:01:38,240 --> 00:01:44,340 mental health struggles May in fact have 41 00:01:41,040 --> 00:01:46,860 been due to ADHD so you'll pardon me if 42 00:01:44,340 --> 00:01:48,840 this is a little fragmented in places 43 00:01:46,860 --> 00:01:50,460 because I haven't spoken for 15 years 44 00:01:48,840 --> 00:01:54,240 and 45 00:01:50,460 --> 00:01:56,460 my ADHD really kicked in doing this 46 00:01:54,240 --> 00:01:58,079 all right some first some model Railway 47 00:01:56,460 --> 00:02:01,500 ground rules 48 00:01:58,079 --> 00:02:03,840 no model Railways are not toys 49 00:02:01,500 --> 00:02:06,780 most of them are models some of them 50 00:02:03,840 --> 00:02:08,399 extremely detailed and very 51 00:02:06,780 --> 00:02:09,479 sophisticated in how they work and 52 00:02:08,399 --> 00:02:12,780 nowadays they can be full of 53 00:02:09,479 --> 00:02:15,180 microprocessors and software 54 00:02:12,780 --> 00:02:18,360 no not all model railroaders are Sheldon 55 00:02:15,180 --> 00:02:20,879 Cooper types um though some of us are 56 00:02:18,360 --> 00:02:23,540 and no you may not say choo choo every 57 00:02:20,879 --> 00:02:25,500 time you see a train see 58 00:02:23,540 --> 00:02:27,540 a train or hear mention of model 59 00:02:25,500 --> 00:02:30,739 Railways if only I could tell my 60 00:02:27,540 --> 00:02:30,739 partners not to do this 61 00:02:30,840 --> 00:02:35,760 so my model Railway history 62 00:02:33,560 --> 00:02:37,860 spans a long time I became a Model 63 00:02:35,760 --> 00:02:40,980 Railroader at age 10 when my father 64 00:02:37,860 --> 00:02:43,459 who's in the audience here bought me my 65 00:02:40,980 --> 00:02:45,660 first model model train set 66 00:02:43,459 --> 00:02:47,940 and then became an interested in 67 00:02:45,660 --> 00:02:51,540 electronics and and then programming 68 00:02:47,940 --> 00:02:53,459 when I was 13 12 and 13. and now all 69 00:02:51,540 --> 00:02:55,920 three of them have collided so I'm 70 00:02:53,459 --> 00:03:00,239 working on an open source project that 71 00:02:55,920 --> 00:03:03,780 requires electronics and software and 72 00:03:00,239 --> 00:03:06,239 joyfully involves model trains 73 00:03:03,780 --> 00:03:09,379 I joined the Fremantle and districts 74 00:03:06,239 --> 00:03:11,180 model Railway Club when I was 13 in 1977 75 00:03:09,379 --> 00:03:13,739 and 76 00:03:11,180 --> 00:03:15,620 met two of my most significant mentors 77 00:03:13,739 --> 00:03:17,940 life mentors there 78 00:03:15,620 --> 00:03:19,739 both of them actually made this layout 79 00:03:17,940 --> 00:03:22,860 you can see in the image 80 00:03:19,739 --> 00:03:25,260 and I was fortunate enough to be able to 81 00:03:22,860 --> 00:03:29,360 buy that from the club when it was no 82 00:03:25,260 --> 00:03:29,360 longer required so that's now mine 83 00:03:30,239 --> 00:03:35,099 um you'll be interested to know that 84 00:03:31,500 --> 00:03:39,720 that that layout is fully automated it 85 00:03:35,099 --> 00:03:44,220 can run up to 25 trains at once 86 00:03:39,720 --> 00:03:46,379 the automation used in this is a good 87 00:03:44,220 --> 00:03:49,640 chunk of the dweller dwelling up 88 00:03:46,379 --> 00:03:49,640 telephone exchange 89 00:03:49,700 --> 00:03:56,220 it turns out no I'm serious 90 00:03:52,860 --> 00:03:59,760 um the club was was given the relay 91 00:03:56,220 --> 00:04:02,940 boxes that ran the old dwelling up uh 92 00:03:59,760 --> 00:04:04,680 telephone exchange in in the south of 93 00:04:02,940 --> 00:04:05,400 Western Australia 94 00:04:04,680 --> 00:04:07,080 um 95 00:04:05,400 --> 00:04:09,000 I gather some of our members were 96 00:04:07,080 --> 00:04:10,319 actually Telecom technicians and they 97 00:04:09,000 --> 00:04:12,000 happened to know that this was going to 98 00:04:10,319 --> 00:04:16,019 scrap and so on 99 00:04:12,000 --> 00:04:17,699 so all the Automation in here all the 100 00:04:16,019 --> 00:04:19,799 locomotive detection on the tracks and 101 00:04:17,699 --> 00:04:24,000 what have you use is these 48 volt 102 00:04:19,799 --> 00:04:27,120 relays and they're sophisticated State 103 00:04:24,000 --> 00:04:29,699 machine that uses the the the old 104 00:04:27,120 --> 00:04:33,060 dialing relay sets 105 00:04:29,699 --> 00:04:34,500 and um and all these trains run 106 00:04:33,060 --> 00:04:36,180 completely automatically for hours and 107 00:04:34,500 --> 00:04:38,040 hours because one of the ways the club 108 00:04:36,180 --> 00:04:42,240 made money 109 00:04:38,040 --> 00:04:43,860 was to take this to shopping centers and 110 00:04:42,240 --> 00:04:45,240 want everyone take gold donations and 111 00:04:43,860 --> 00:04:47,759 the shopping center would actually pay 112 00:04:45,240 --> 00:04:50,160 for us to turn up during school holidays 113 00:04:47,759 --> 00:04:52,380 and the like so this thing had to be 114 00:04:50,160 --> 00:04:55,259 incredibly reliable and it turns out the 115 00:04:52,380 --> 00:04:58,940 Aur relay boxes were pretty reliable 116 00:04:55,259 --> 00:04:58,940 because they used to run the telephones 117 00:04:59,759 --> 00:05:05,220 so as you've seen from my layout 118 00:05:03,419 --> 00:05:07,919 um modern Railways can be very complex 119 00:05:05,220 --> 00:05:09,860 this one is Rod Stewart's 120 00:05:07,919 --> 00:05:13,580 the singer Rod Stewart 121 00:05:09,860 --> 00:05:18,060 has a massive layout 122 00:05:13,580 --> 00:05:20,520 140 square meters of it which he which 123 00:05:18,060 --> 00:05:22,080 he had built and his passion is building 124 00:05:20,520 --> 00:05:24,479 all the buildings so every single 125 00:05:22,080 --> 00:05:25,680 building in the background there and all 126 00:05:24,479 --> 00:05:27,539 the buildings in the foreground are 127 00:05:25,680 --> 00:05:28,500 things that he personally built from 128 00:05:27,539 --> 00:05:31,919 scratch 129 00:05:28,500 --> 00:05:33,000 because that's the aspect of the model 130 00:05:31,919 --> 00:05:35,580 Railway 131 00:05:33,000 --> 00:05:36,900 uh hobby that he likes the nice thing 132 00:05:35,580 --> 00:05:39,960 about model Railway 133 00:05:36,900 --> 00:05:41,360 is really is one of the very early maker 134 00:05:39,960 --> 00:05:44,039 Style 135 00:05:41,360 --> 00:05:46,560 environments you could follow whichever 136 00:05:44,039 --> 00:05:47,880 part of the passion that you wanted do 137 00:05:46,560 --> 00:05:49,979 you like laying track do you like 138 00:05:47,880 --> 00:05:52,020 running the trains are you interested in 139 00:05:49,979 --> 00:05:53,699 the electronics that drives the trains 140 00:05:52,020 --> 00:05:56,220 or maybe you like building buildings 141 00:05:53,699 --> 00:05:58,919 maybe you like creating scenes it was 142 00:05:56,220 --> 00:06:00,720 very maker oriented well before maker 143 00:05:58,919 --> 00:06:04,080 became 144 00:06:00,720 --> 00:06:05,820 um anything like the term it has become 145 00:06:04,080 --> 00:06:08,419 now 146 00:06:05,820 --> 00:06:08,419 so 147 00:06:08,460 --> 00:06:12,720 in a layout of this complexity there are 148 00:06:11,160 --> 00:06:14,039 lots of opportunities for adding realism 149 00:06:12,720 --> 00:06:15,600 you can make the trains run 150 00:06:14,039 --> 00:06:16,800 automatically as we did for our club 151 00:06:15,600 --> 00:06:19,080 layout 152 00:06:16,800 --> 00:06:22,080 but you can also change the way the 153 00:06:19,080 --> 00:06:23,220 lights work you can some people have 154 00:06:22,080 --> 00:06:25,740 gone to a lot of trouble to create 155 00:06:23,220 --> 00:06:28,580 scenes so you know it goes from dusk to 156 00:06:25,740 --> 00:06:31,020 night time and back to Dawn 157 00:06:28,580 --> 00:06:34,680 and all of that automation used to 158 00:06:31,020 --> 00:06:37,020 happen with very basic transistor Style 159 00:06:34,680 --> 00:06:40,220 um circuits 160 00:06:37,020 --> 00:06:40,220 um back in the old days 161 00:06:41,280 --> 00:06:44,880 and 162 00:06:42,900 --> 00:06:46,800 circuits like this one here this this 163 00:06:44,880 --> 00:06:49,740 one's actually a throttle but you get 164 00:06:46,800 --> 00:06:53,120 the idea they used op amps and scrs and 165 00:06:49,740 --> 00:06:57,060 transistors old style semiconductors 166 00:06:53,120 --> 00:07:00,120 and there is a strong Sharing and open 167 00:06:57,060 --> 00:07:02,639 Hardware sharing of these circuits 168 00:07:00,120 --> 00:07:04,080 amongst modern railroaders so if you had 169 00:07:02,639 --> 00:07:06,960 a circuit that you developed that would 170 00:07:04,080 --> 00:07:09,660 flash the lights on a railway Crossing 171 00:07:06,960 --> 00:07:11,400 you'd publish that in a magazine or hand 172 00:07:09,660 --> 00:07:12,840 it around the club and other people 173 00:07:11,400 --> 00:07:14,580 would build that circuit so they could 174 00:07:12,840 --> 00:07:17,100 put it on their layout so in fact open 175 00:07:14,580 --> 00:07:18,900 Hardware was also something that was in 176 00:07:17,100 --> 00:07:21,319 model railroading from the very earliest 177 00:07:18,900 --> 00:07:21,319 of days 178 00:07:21,840 --> 00:07:25,319 now 179 00:07:23,099 --> 00:07:27,900 modern microcontrollers have become so 180 00:07:25,319 --> 00:07:29,280 cheap so affordable and indeed so 181 00:07:27,900 --> 00:07:32,720 accessible 182 00:07:29,280 --> 00:07:34,860 that they've come to start to replace 183 00:07:32,720 --> 00:07:36,479 transistors and op amps and what have 184 00:07:34,860 --> 00:07:38,160 you in circuits and it allows you to do 185 00:07:36,479 --> 00:07:40,380 far more complex things 186 00:07:38,160 --> 00:07:42,720 but the interesting thing is that that 187 00:07:40,380 --> 00:07:46,020 same sharing of 188 00:07:42,720 --> 00:07:47,039 of designs Hardware Designs and indeed 189 00:07:46,020 --> 00:07:51,419 now 190 00:07:47,039 --> 00:07:53,520 software has become has simply the model 191 00:07:51,419 --> 00:07:56,039 railroading Community is simply adopted 192 00:07:53,520 --> 00:07:57,900 immediately so once there are arduinos 193 00:07:56,039 --> 00:08:00,120 and people start writing a script a 194 00:07:57,900 --> 00:08:02,400 script say to detect tray and light up 195 00:08:00,120 --> 00:08:04,319 the crossing lights and blink the lights 196 00:08:02,400 --> 00:08:05,280 instead of using one of these sorts of 197 00:08:04,319 --> 00:08:08,280 circuits 198 00:08:05,280 --> 00:08:10,680 they then shared that Arduino sketch 199 00:08:08,280 --> 00:08:12,419 with all of the people on the in the 200 00:08:10,680 --> 00:08:14,880 club and what have you 201 00:08:12,419 --> 00:08:15,960 so in fact open source has been the 202 00:08:14,880 --> 00:08:18,000 thing 203 00:08:15,960 --> 00:08:19,620 an open Hardware have been a thing in 204 00:08:18,000 --> 00:08:22,099 the modern railroading Community for a 205 00:08:19,620 --> 00:08:22,099 very long time 206 00:08:22,919 --> 00:08:28,319 so 207 00:08:25,199 --> 00:08:30,479 simpler model railroads are a basic loop 208 00:08:28,319 --> 00:08:32,940 as you can see here 209 00:08:30,479 --> 00:08:34,860 and you put a locomotive and train on 210 00:08:32,940 --> 00:08:39,560 one of those and run it around 211 00:08:34,860 --> 00:08:39,560 and the the earlier forms of control 212 00:08:39,599 --> 00:08:45,300 basically lets you run one train easily 213 00:08:42,839 --> 00:08:48,180 on either of those layouts maybe two if 214 00:08:45,300 --> 00:08:50,220 you wired it up cleverly 215 00:08:48,180 --> 00:08:53,220 but now that you can put a 216 00:08:50,220 --> 00:08:56,240 microprocessor inside a locomotive 217 00:08:53,220 --> 00:08:56,240 you can actually put 218 00:08:56,580 --> 00:09:02,880 20 locomotives on this layout and then 219 00:08:59,580 --> 00:09:06,120 tell locomotive number 35 to move 220 00:09:02,880 --> 00:09:08,880 or turn on its lights 221 00:09:06,120 --> 00:09:11,399 oops there we go 222 00:09:08,880 --> 00:09:13,560 so the basic way a bottle of Railway 223 00:09:11,399 --> 00:09:16,019 motor locomotive works is that 224 00:09:13,560 --> 00:09:17,940 you apply voltage to the rails the rails 225 00:09:16,019 --> 00:09:19,980 send the voltage up via the metal wheels 226 00:09:17,940 --> 00:09:22,080 into the locomotive and it has a motor 227 00:09:19,980 --> 00:09:23,880 as you can see there with gears 228 00:09:22,080 --> 00:09:26,100 and then if you alter the voltage on the 229 00:09:23,880 --> 00:09:28,080 rails the motor speeds up and slows down 230 00:09:26,100 --> 00:09:29,700 if you switch the polarity it'll go 231 00:09:28,080 --> 00:09:32,880 backwards and forwards 232 00:09:29,700 --> 00:09:36,120 but if you put a microprocessor in there 233 00:09:32,880 --> 00:09:39,060 you can now send a protocol across those 234 00:09:36,120 --> 00:09:40,680 rails you can send it packets to tell it 235 00:09:39,060 --> 00:09:43,380 what to do 236 00:09:40,680 --> 00:09:45,540 and if 237 00:09:43,380 --> 00:09:47,940 you've got lights on the locomotive you 238 00:09:45,540 --> 00:09:49,920 can say well turn on the headlight at 239 00:09:47,940 --> 00:09:53,459 the front or the headlight at the back 240 00:09:49,920 --> 00:09:55,740 or when I switch Direction change the 241 00:09:53,459 --> 00:09:57,899 one at the front from 242 00:09:55,740 --> 00:10:00,720 the headlight to the red running lights 243 00:09:57,899 --> 00:10:03,060 and do the same at the back 244 00:10:00,720 --> 00:10:04,100 now turns out if you have a sufficiently 245 00:10:03,060 --> 00:10:05,940 powerful 246 00:10:04,100 --> 00:10:07,740 microprocessor in there with a digital 247 00:10:05,940 --> 00:10:10,339 signal processing capability you can put 248 00:10:07,740 --> 00:10:10,339 sound in there 249 00:10:11,300 --> 00:10:16,800 and and you I can't I should have 250 00:10:15,480 --> 00:10:18,959 actually tried to record this for you 251 00:10:16,800 --> 00:10:21,720 but one of my locomotives has a startup 252 00:10:18,959 --> 00:10:24,600 sequence you press a button saying start 253 00:10:21,720 --> 00:10:26,700 the Loco into steam Loco and the sound 254 00:10:24,600 --> 00:10:29,940 effects you hear are the crunching of 255 00:10:26,700 --> 00:10:32,760 the footsteps of the engineer as he 256 00:10:29,940 --> 00:10:35,339 heads to logo you hear him climb into 257 00:10:32,760 --> 00:10:36,130 the cab you hear him start turning 258 00:10:35,339 --> 00:10:38,180 valves 259 00:10:36,130 --> 00:10:40,560 [Laughter] 260 00:10:38,180 --> 00:10:43,800 yes the sound has become very 261 00:10:40,560 --> 00:10:44,459 sophisticated and late as well 262 00:10:43,800 --> 00:10:47,339 um 263 00:10:44,459 --> 00:10:49,440 that's an old Loco into which the new 264 00:10:47,339 --> 00:10:50,940 electronics has been thrown but once 265 00:10:49,440 --> 00:10:52,940 you've got the electronics in the Loco 266 00:10:50,940 --> 00:10:56,160 you then need some control 267 00:10:52,940 --> 00:10:58,920 facility and this one down here lets you 268 00:10:56,160 --> 00:11:01,500 you know if you press button 269 00:10:58,920 --> 00:11:04,560 two it will blow the horn for instance 270 00:11:01,500 --> 00:11:07,380 and you can tell it to stop and go 271 00:11:04,560 --> 00:11:09,839 forwards and reverse and whatever 272 00:11:07,380 --> 00:11:11,579 now digital command control is the 273 00:11:09,839 --> 00:11:13,320 world's most popular 274 00:11:11,579 --> 00:11:15,480 protocol at the moment but there are 275 00:11:13,320 --> 00:11:17,399 lots of other digital protocols for 276 00:11:15,480 --> 00:11:20,300 sending those packets over the rails 277 00:11:17,399 --> 00:11:23,640 many of them are European based this 278 00:11:20,300 --> 00:11:26,360 Hornby in the UK has their own there's a 279 00:11:23,640 --> 00:11:26,360 bunch in Germany 280 00:11:26,459 --> 00:11:30,899 but digital combine control DCC as it's 281 00:11:29,459 --> 00:11:33,500 known is probably the most popular 282 00:11:30,899 --> 00:11:33,500 globally 283 00:11:33,600 --> 00:11:38,220 so this is a fairly complex diagram I'll 284 00:11:36,000 --> 00:11:39,240 just talked to a little bit of it but as 285 00:11:38,220 --> 00:11:42,000 you can see there's a bunch of 286 00:11:39,240 --> 00:11:43,740 locomotives up there number 9902 and 287 00:11:42,000 --> 00:11:47,279 9907 288 00:11:43,740 --> 00:11:49,740 you've got a command station here 289 00:11:47,279 --> 00:11:52,019 that runs the protocol to the rails and 290 00:11:49,740 --> 00:11:54,540 then you can have as many of these 291 00:11:52,019 --> 00:11:57,180 throttles as they're called to let you 292 00:11:54,540 --> 00:11:59,339 control one or more of the locomotives 293 00:11:57,180 --> 00:12:00,899 this is a wired throttle this is a 294 00:11:59,339 --> 00:12:03,779 wireless one 295 00:12:00,899 --> 00:12:07,079 and the net effect is at any point you 296 00:12:03,779 --> 00:12:09,600 could say well locomotive 9907 turn your 297 00:12:07,079 --> 00:12:11,760 headlight on or move to the left 298 00:12:09,600 --> 00:12:13,740 and none of the other locomotives will 299 00:12:11,760 --> 00:12:16,079 do anything except that one because the 300 00:12:13,740 --> 00:12:19,079 packets have arrived in local locomotive 301 00:12:16,079 --> 00:12:21,839 9907 and it moves 302 00:12:19,079 --> 00:12:25,320 so the the standard DCC was 303 00:12:21,839 --> 00:12:27,720 put forward by the U.S national model 304 00:12:25,320 --> 00:12:29,519 Railway Association it's actually the 305 00:12:27,720 --> 00:12:32,459 result of work by a German company 306 00:12:29,519 --> 00:12:36,440 called lens which gave the protocol to 307 00:12:32,459 --> 00:12:36,440 the NRA and made it open 308 00:12:37,980 --> 00:12:44,579 so commercial DCC products come in a 309 00:12:42,600 --> 00:12:46,500 wide variety and and as I said the the 310 00:12:44,579 --> 00:12:48,959 lens company was actually a commercial 311 00:12:46,500 --> 00:12:50,760 entity their view was to try and make 312 00:12:48,959 --> 00:12:52,740 more Railways more realistic more 313 00:12:50,760 --> 00:12:54,480 interesting and so individual control of 314 00:12:52,740 --> 00:12:56,519 the trains on the layout seemed to be 315 00:12:54,480 --> 00:12:59,220 something that would add value what it's 316 00:12:56,519 --> 00:13:01,860 also added is a whole lot of margin for 317 00:12:59,220 --> 00:13:03,420 the manufacturers 318 00:13:01,860 --> 00:13:06,000 um so you can see the example I give 319 00:13:03,420 --> 00:13:08,279 here is a locomotive that just runs on 320 00:13:06,000 --> 00:13:12,139 regular DC 321 00:13:08,279 --> 00:13:14,760 might sell for 275 that same logo with 322 00:13:12,139 --> 00:13:18,440 digital command control and sound 323 00:13:14,760 --> 00:13:18,440 capability is nearly double the price 324 00:13:18,540 --> 00:13:24,600 in order to run those nice locomotives 325 00:13:22,200 --> 00:13:26,220 you need a controller like this this 326 00:13:24,600 --> 00:13:27,540 these are the commercial offerings a 327 00:13:26,220 --> 00:13:30,420 couple of commercial offerings anyway 328 00:13:27,540 --> 00:13:32,100 the one the left is extremely simple 329 00:13:30,420 --> 00:13:33,899 you can see it's only got a few buttons 330 00:13:32,100 --> 00:13:36,420 it's got one knob 331 00:13:33,899 --> 00:13:39,540 simple plug pack 332 00:13:36,420 --> 00:13:42,360 that sells for 230 dollars 333 00:13:39,540 --> 00:13:44,040 so there's a lot of margin in digital 334 00:13:42,360 --> 00:13:48,240 control 335 00:13:44,040 --> 00:13:50,820 and the manufacturers have been 336 00:13:48,240 --> 00:13:52,680 quite good at creating little lock-in 337 00:13:50,820 --> 00:13:55,860 features as well 338 00:13:52,680 --> 00:13:58,260 so these guys for instance that runs the 339 00:13:55,860 --> 00:14:01,820 standard DCC protocol to the track 340 00:13:58,260 --> 00:14:01,820 but you can buy another throttle 341 00:14:01,860 --> 00:14:05,399 um to plug into that and it will send 342 00:14:03,720 --> 00:14:08,220 commands as well 343 00:14:05,399 --> 00:14:10,440 but the connection between this and its 344 00:14:08,220 --> 00:14:12,800 sibling throttle is a proprietary 345 00:14:10,440 --> 00:14:12,800 standard 346 00:14:13,820 --> 00:14:20,240 so yes even in the world of model 347 00:14:16,019 --> 00:14:20,240 railways there's vendor locking 348 00:14:20,420 --> 00:14:23,779 oh joy 349 00:14:23,880 --> 00:14:32,160 all right so the DCC ex project is one 350 00:14:28,800 --> 00:14:33,240 that I discovered online last year and 351 00:14:32,160 --> 00:14:35,160 and 352 00:14:33,240 --> 00:14:37,980 joined the team 353 00:14:35,160 --> 00:14:39,720 and the the project 354 00:14:37,980 --> 00:14:41,699 has several goals one of which is to 355 00:14:39,720 --> 00:14:44,279 make DCC far more affordable and 356 00:14:41,699 --> 00:14:46,199 accessible for everybody 357 00:14:44,279 --> 00:14:48,019 um because the electronics in those 358 00:14:46,199 --> 00:14:49,620 commercial 359 00:14:48,019 --> 00:14:51,959 controllers 360 00:14:49,620 --> 00:14:54,120 you know if you went to China and got 361 00:14:51,959 --> 00:14:56,279 the one on the left Made For You in even 362 00:14:54,120 --> 00:14:58,980 small quantities would be 363 00:14:56,279 --> 00:15:02,399 ten dollars I mean injection molding is 364 00:14:58,980 --> 00:15:03,480 expensive but the electronics inside can 365 00:15:02,399 --> 00:15:06,600 now be made 366 00:15:03,480 --> 00:15:09,420 in even in very small batches because of 367 00:15:06,600 --> 00:15:11,579 automated factories very cheaply 368 00:15:09,420 --> 00:15:14,339 so the idea was to try and come up with 369 00:15:11,579 --> 00:15:16,440 well could we use the Arduino platform 370 00:15:14,339 --> 00:15:19,860 could we use some of the maker Shields 371 00:15:16,440 --> 00:15:20,760 that the plug into the Arduino easily 372 00:15:19,860 --> 00:15:23,820 um 373 00:15:20,760 --> 00:15:26,699 could be even out innovate 374 00:15:23,820 --> 00:15:28,199 the uh the market because 375 00:15:26,699 --> 00:15:31,620 I don't know whether you've noticed but 376 00:15:28,199 --> 00:15:33,240 in your other consumer devices the 377 00:15:31,620 --> 00:15:34,560 software is the thing that bugs you the 378 00:15:33,240 --> 00:15:36,839 most right 379 00:15:34,560 --> 00:15:39,360 you get this nice new consumer device 380 00:15:36,839 --> 00:15:40,440 and someone's written some software for 381 00:15:39,360 --> 00:15:42,980 it 382 00:15:40,440 --> 00:15:45,420 and it's got a bug 383 00:15:42,980 --> 00:15:47,040 and I know about you but as a software 384 00:15:45,420 --> 00:15:48,320 person that knows the living crap out of 385 00:15:47,040 --> 00:15:51,240 me 386 00:15:48,320 --> 00:15:53,820 because you can see that it's just you 387 00:15:51,240 --> 00:15:55,680 know it needs fixing and the the great 388 00:15:53,820 --> 00:15:57,000 problem then is well how do you get the 389 00:15:55,680 --> 00:16:00,000 fix 390 00:15:57,000 --> 00:16:04,079 there's a lot of I the example I like to 391 00:16:00,000 --> 00:16:06,540 really use a lot is the um 392 00:16:04,079 --> 00:16:08,760 the one of the modems most people use 393 00:16:06,540 --> 00:16:10,920 the routers they use consumer grade 394 00:16:08,760 --> 00:16:12,959 routers at home 395 00:16:10,920 --> 00:16:15,600 they're generally abandoned after about 396 00:16:12,959 --> 00:16:18,480 12 months there's no firmware updates 397 00:16:15,600 --> 00:16:20,519 any security bugs in there any any 398 00:16:18,480 --> 00:16:23,360 issues with the Linux kernel that they 399 00:16:20,519 --> 00:16:27,139 happen to use to flash that particular 400 00:16:23,360 --> 00:16:27,139 modem or router are 401 00:16:27,660 --> 00:16:32,100 no longer supported there's no easy way 402 00:16:30,959 --> 00:16:34,920 of 403 00:16:32,100 --> 00:16:36,600 updating them and the the manufacturer 404 00:16:34,920 --> 00:16:38,220 simply doesn't care 405 00:16:36,600 --> 00:16:41,720 of course that's the basis for why 406 00:16:38,220 --> 00:16:44,579 project like open wrt began 407 00:16:41,720 --> 00:16:46,019 and there in fact I think a godsend in 408 00:16:44,579 --> 00:16:51,500 that regard well we're doing the same 409 00:16:46,019 --> 00:16:51,500 essentially for DCC and model railroads 410 00:16:51,839 --> 00:16:56,579 so 411 00:16:53,519 --> 00:16:59,579 in but what what's interesting is that 412 00:16:56,579 --> 00:17:01,800 model Railway clubs are very much about 413 00:16:59,579 --> 00:17:03,959 community and the people gather they 414 00:17:01,800 --> 00:17:05,459 were the men sheds before they were men 415 00:17:03,959 --> 00:17:09,419 sheds really 416 00:17:05,459 --> 00:17:10,199 back when they were mostly men sadly 417 00:17:09,419 --> 00:17:12,419 um 418 00:17:10,199 --> 00:17:14,179 people will gather and enjoy their Hobby 419 00:17:12,419 --> 00:17:18,380 and 420 00:17:14,179 --> 00:17:18,380 create a community around that 421 00:17:18,660 --> 00:17:22,500 so DCC ex 422 00:17:21,299 --> 00:17:25,740 um 423 00:17:22,500 --> 00:17:27,839 the project itself is all developed and 424 00:17:25,740 --> 00:17:30,120 coordinated by GitHub 425 00:17:27,839 --> 00:17:31,940 but the main Community Gathering happens 426 00:17:30,120 --> 00:17:35,580 in Discord chat 427 00:17:31,940 --> 00:17:37,260 for historical reasons really 428 00:17:35,580 --> 00:17:39,419 but it's interesting to watch people 429 00:17:37,260 --> 00:17:41,820 join 430 00:17:39,419 --> 00:17:43,799 the nice thing about Discord chat is 431 00:17:41,820 --> 00:17:46,380 that we can 432 00:17:43,799 --> 00:17:48,000 provide Global support immediately to 433 00:17:46,380 --> 00:17:51,320 all of our users 434 00:17:48,000 --> 00:17:54,200 and this isn't common in open source 435 00:17:51,320 --> 00:17:56,640 projects you know get to talk to the 436 00:17:54,200 --> 00:17:58,700 developers very directly or quite as 437 00:17:56,640 --> 00:18:01,679 directly as happens on the Discord chart 438 00:17:58,700 --> 00:18:03,360 uh chat 439 00:18:01,679 --> 00:18:05,640 so the software began with the ex 440 00:18:03,360 --> 00:18:08,960 command station project that was the the 441 00:18:05,640 --> 00:18:12,620 replacement of the DCC controller 442 00:18:08,960 --> 00:18:15,059 it's all gpl3 but now there are seven 443 00:18:12,620 --> 00:18:16,740 sub-projects as part of the ecosystem 444 00:18:15,059 --> 00:18:19,140 the interoperate and need to work with 445 00:18:16,740 --> 00:18:21,600 that and each of those projects has a 446 00:18:19,140 --> 00:18:24,419 project lead that thought what if I 447 00:18:21,600 --> 00:18:25,980 could do this in software and it could 448 00:18:24,419 --> 00:18:28,860 talk to that 449 00:18:25,980 --> 00:18:31,380 so in the in this case for instance A 450 00:18:28,860 --> 00:18:33,840 friend of mine has done a project that 451 00:18:31,380 --> 00:18:35,820 lets you run a model Railway turntable 452 00:18:33,840 --> 00:18:38,520 turn the locomotives around them but it 453 00:18:35,820 --> 00:18:41,160 talks to DCC ex and they they 454 00:18:38,520 --> 00:18:43,679 interoperate nicely so it spawned a 455 00:18:41,160 --> 00:18:45,059 bunch of sub-projects and all those 456 00:18:43,679 --> 00:18:46,860 people are part of the same community 457 00:18:45,059 --> 00:18:50,720 and talking to each other 458 00:18:46,860 --> 00:18:50,720 so we're getting this kind of 459 00:18:52,320 --> 00:18:56,400 the number of features being added it 460 00:18:54,720 --> 00:18:58,260 seems to be accelerating as people get 461 00:18:56,400 --> 00:19:00,720 excited about what's possible and and 462 00:18:58,260 --> 00:19:03,660 scratch their own Technical Edge to add 463 00:19:00,720 --> 00:19:05,700 to the ecosystem in some way 464 00:19:03,660 --> 00:19:07,860 so we've got 15 to 20 volunteer 465 00:19:05,700 --> 00:19:10,880 developers with various hardware and 466 00:19:07,860 --> 00:19:10,880 software backgrounds 467 00:19:11,340 --> 00:19:15,960 some of them are even over 70 years old 468 00:19:13,260 --> 00:19:18,600 and they're all writing software 469 00:19:15,960 --> 00:19:21,480 one of them is 70 year old years old and 470 00:19:18,600 --> 00:19:23,100 just retired this year and uh and he's 471 00:19:21,480 --> 00:19:25,500 the lead developer 472 00:19:23,100 --> 00:19:26,700 so 473 00:19:25,500 --> 00:19:29,460 so 474 00:19:26,700 --> 00:19:31,380 age is no barrier and it never has been 475 00:19:29,460 --> 00:19:33,179 a model railroad model railroading has 476 00:19:31,380 --> 00:19:34,679 often been something that retirees have 477 00:19:33,179 --> 00:19:37,200 done anyway but it's really interesting 478 00:19:34,679 --> 00:19:39,320 to see how many people have joining our 479 00:19:37,200 --> 00:19:42,179 community and they're going well I'm 70 480 00:19:39,320 --> 00:19:43,980 and I've heard about this and I've never 481 00:19:42,179 --> 00:19:46,080 programmed an Arduino in fact I've never 482 00:19:43,980 --> 00:19:50,100 programmed in anything 483 00:19:46,080 --> 00:19:52,740 but how do I do this oh look you mean I 484 00:19:50,100 --> 00:19:54,840 can change this so it's it's really 485 00:19:52,740 --> 00:19:57,419 interesting the generational connection 486 00:19:54,840 --> 00:20:00,600 is is lovely actually 487 00:19:57,419 --> 00:20:03,780 and we're based all across the Royal U.S 488 00:20:00,600 --> 00:20:06,120 UK Sweden France Austria India and 489 00:20:03,780 --> 00:20:06,780 Australia 490 00:20:06,120 --> 00:20:08,220 um 491 00:20:06,780 --> 00:20:10,620 and 492 00:20:08,220 --> 00:20:14,580 it's interesting I I said to the lead 493 00:20:10,620 --> 00:20:16,740 Project Lead Fred one day you know when 494 00:20:14,580 --> 00:20:18,780 I turned up in this group I was talking 495 00:20:16,740 --> 00:20:20,760 to people about well railroading they're 496 00:20:18,780 --> 00:20:22,260 extremely passionate about model 497 00:20:20,760 --> 00:20:24,360 railroading but they're also extremely 498 00:20:22,260 --> 00:20:26,340 passionate about software and open 499 00:20:24,360 --> 00:20:28,440 source 500 00:20:26,340 --> 00:20:30,720 um and and in fact we're starting to do 501 00:20:28,440 --> 00:20:33,000 open Hardware Designs as well 502 00:20:30,720 --> 00:20:35,880 and I said if it felt like I'd met my 503 00:20:33,000 --> 00:20:37,440 people found my people because I'd had 504 00:20:35,880 --> 00:20:39,539 these passions for 505 00:20:37,440 --> 00:20:40,620 longer than I could remember and finally 506 00:20:39,539 --> 00:20:43,380 there were a bunch of people globally 507 00:20:40,620 --> 00:20:45,679 that had the same it was really very 508 00:20:43,380 --> 00:20:45,679 nice 509 00:20:53,340 --> 00:20:56,120 okay 510 00:21:01,500 --> 00:21:07,260 the same time all right 511 00:21:04,140 --> 00:21:08,580 slight slight glitch you get those 512 00:21:07,260 --> 00:21:09,900 all right 513 00:21:08,580 --> 00:21:12,559 um 514 00:21:09,900 --> 00:21:12,559 so 515 00:21:14,880 --> 00:21:18,020 in order to make 516 00:21:18,179 --> 00:21:21,900 the project really accessible we started 517 00:21:19,919 --> 00:21:23,820 using the Arduino platform 518 00:21:21,900 --> 00:21:26,700 and it for those who don't know it's 519 00:21:23,820 --> 00:21:28,740 just an 8-bit microcontroller with a 520 00:21:26,700 --> 00:21:30,720 bunch of peripherals 521 00:21:28,740 --> 00:21:31,919 we've written all this code in C plus 522 00:21:30,720 --> 00:21:34,620 plus 523 00:21:31,919 --> 00:21:37,200 or the pseudo C plus or close to C plus 524 00:21:34,620 --> 00:21:40,080 plus the Arduino provides most of our 525 00:21:37,200 --> 00:21:41,940 developers actually use vs code and 526 00:21:40,080 --> 00:21:43,380 platform i o because it's a much more 527 00:21:41,940 --> 00:21:45,840 sophisticated development environment 528 00:21:43,380 --> 00:21:48,780 but we've tried to make sure that the 529 00:21:45,840 --> 00:21:51,360 code will always compile properly in the 530 00:21:48,780 --> 00:21:53,340 Arduino IDE because we understand that 531 00:21:51,360 --> 00:21:54,960 that's a necessary part of making our 532 00:21:53,340 --> 00:21:57,780 code accessible 533 00:21:54,960 --> 00:21:59,039 to more naive users who perhaps couldn't 534 00:21:57,780 --> 00:22:00,840 cope with 535 00:21:59,039 --> 00:22:02,880 a full vs code and platform i o 536 00:22:00,840 --> 00:22:04,260 installation but nonetheless want to 537 00:22:02,880 --> 00:22:06,059 contribute 538 00:22:04,260 --> 00:22:09,059 so we're very careful about that there's 539 00:22:06,059 --> 00:22:12,419 some 25 000 lines of code in 540 00:22:09,059 --> 00:22:15,120 just the command station Pro the other 541 00:22:12,419 --> 00:22:17,400 ecosystem projects have have even more 542 00:22:15,120 --> 00:22:19,260 lines of code 543 00:22:17,400 --> 00:22:21,299 initially this was all running on an 544 00:22:19,260 --> 00:22:23,039 Arduino Uno which is perhaps the 545 00:22:21,299 --> 00:22:26,220 smallest of the AVR 546 00:22:23,039 --> 00:22:28,140 that's useful in a maker environment it 547 00:22:26,220 --> 00:22:29,580 only has two kilobytes of ram though so 548 00:22:28,140 --> 00:22:32,159 we very quickly 549 00:22:29,580 --> 00:22:33,720 very quickly ran foul of the 2K limit 550 00:22:32,159 --> 00:22:36,720 and 551 00:22:33,720 --> 00:22:37,860 standardized on the mega which has 8K of 552 00:22:36,720 --> 00:22:39,720 RAM 553 00:22:37,860 --> 00:22:41,039 now you may think that's a very small 554 00:22:39,720 --> 00:22:42,240 amount of memory 555 00:22:41,039 --> 00:22:43,020 but 556 00:22:42,240 --> 00:22:44,880 um 557 00:22:43,020 --> 00:22:48,440 it oddly gives you a great deal of 558 00:22:44,880 --> 00:22:48,440 discipline as a software developer 559 00:22:48,559 --> 00:22:52,679 you think very carefully about how 560 00:22:51,179 --> 00:22:56,299 you're implementing things if you want 561 00:22:52,679 --> 00:22:58,200 it to fit in just well the runtime 562 00:22:56,299 --> 00:23:00,539 variables and what have you to fit the 563 00:22:58,200 --> 00:23:02,580 buffers and everything else to fit in 8k 564 00:23:00,539 --> 00:23:06,720 RAM and it turns out the lead developer 565 00:23:02,580 --> 00:23:07,980 who's 70. grew up on systems with that 566 00:23:06,720 --> 00:23:11,220 much RAM 567 00:23:07,980 --> 00:23:12,960 oddly enough so it became something of a 568 00:23:11,220 --> 00:23:15,299 passion of his to actually see just how 569 00:23:12,960 --> 00:23:17,220 much functionality can we squeeze into a 570 00:23:15,299 --> 00:23:21,980 microcontroller that only runs at 16 571 00:23:17,220 --> 00:23:21,980 megahertz and only has 8K of RAM 572 00:23:22,020 --> 00:23:26,580 and it's quite extraordinary what should 573 00:23:23,940 --> 00:23:28,500 you do now the really nice thing about 574 00:23:26,580 --> 00:23:30,020 this is that when you build out the 575 00:23:28,500 --> 00:23:32,580 hardware 576 00:23:30,020 --> 00:23:35,159 which generally requires three pieces of 577 00:23:32,580 --> 00:23:37,320 which most of our users have three 578 00:23:35,159 --> 00:23:39,419 pieces of Hardware the Arduino itself 579 00:23:37,320 --> 00:23:41,400 the motor Shield to actually drive the 580 00:23:39,419 --> 00:23:43,080 signal out to the trains and then a 581 00:23:41,400 --> 00:23:45,659 Wi-Fi board 582 00:23:43,080 --> 00:23:47,580 that comes to less than eighty dollars 583 00:23:45,659 --> 00:23:49,620 Australian 584 00:23:47,580 --> 00:23:52,559 if you buy the parts cheaply from 585 00:23:49,620 --> 00:23:55,799 AliExpress in China and prepared to wait 586 00:23:52,559 --> 00:23:58,640 it can be half that 587 00:23:55,799 --> 00:24:01,559 and it's more functional than 588 00:23:58,640 --> 00:24:05,480 most of the DCC systems that cost 589 00:24:01,559 --> 00:24:05,480 anything less than a thousand dollars 590 00:24:10,200 --> 00:24:13,440 so this is this is the general setup 591 00:24:12,120 --> 00:24:14,460 you'll see there's a mega in the middle 592 00:24:13,440 --> 00:24:16,320 there 593 00:24:14,460 --> 00:24:18,960 there's a power supply for powering 594 00:24:16,320 --> 00:24:20,940 everything some cabling to the track 595 00:24:18,960 --> 00:24:23,400 and then 596 00:24:20,940 --> 00:24:25,740 um most people end up using one of the 597 00:24:23,400 --> 00:24:28,559 Wi-Fi throttles 598 00:24:25,740 --> 00:24:30,780 so the protocol it talks to all Wi-Fi 599 00:24:28,559 --> 00:24:32,159 devices and open protocol called why why 600 00:24:30,780 --> 00:24:33,659 throttle 601 00:24:32,159 --> 00:24:36,539 and 602 00:24:33,659 --> 00:24:38,640 there are apps on both Android and iOS 603 00:24:36,539 --> 00:24:40,679 to let you drive your trains so you can 604 00:24:38,640 --> 00:24:42,960 choose whichever platform you've got so 605 00:24:40,679 --> 00:24:44,039 your average cell phone can immediately 606 00:24:42,960 --> 00:24:47,039 connect 607 00:24:44,039 --> 00:24:49,919 with an app and the apps 608 00:24:47,039 --> 00:24:52,080 most of the apps are free there's one or 609 00:24:49,919 --> 00:24:55,020 two paid apps on there 610 00:24:52,080 --> 00:24:58,679 Apple platform the really really 611 00:24:55,020 --> 00:25:00,960 functional app on the Android platform 612 00:24:58,679 --> 00:25:03,740 is completely open source as well 613 00:25:00,960 --> 00:25:03,740 as being free 614 00:25:06,659 --> 00:25:12,419 um so you can run four throttles off a 615 00:25:09,600 --> 00:25:15,539 single 8-bit microcontroller 616 00:25:12,419 --> 00:25:18,900 and we've added all sorts of facilities 617 00:25:15,539 --> 00:25:21,360 but the the real that the really good 618 00:25:18,900 --> 00:25:22,980 one here is xrail it's a scripting 619 00:25:21,360 --> 00:25:24,600 language to let you do animation 620 00:25:22,980 --> 00:25:27,059 automation 621 00:25:24,600 --> 00:25:29,940 so it will let you detect a train 622 00:25:27,059 --> 00:25:31,620 approaching a Crossing light up the 623 00:25:29,940 --> 00:25:35,279 crossing lights for you 624 00:25:31,620 --> 00:25:38,419 and that's all state machine driven and 625 00:25:35,279 --> 00:25:38,419 still fits in 8k 626 00:25:41,279 --> 00:25:44,520 all right so 627 00:25:43,260 --> 00:25:46,559 we've had a bunch of development 628 00:25:44,520 --> 00:25:49,340 challenges as you can imagine 629 00:25:46,559 --> 00:25:52,320 relying on open source sounds fantastic 630 00:25:49,340 --> 00:25:54,179 but doesn't doesn't come without its 631 00:25:52,320 --> 00:25:57,240 issues 632 00:25:54,179 --> 00:26:00,380 um fortunately the Arduino platform was 633 00:25:57,240 --> 00:26:03,000 used by so many millions of people 634 00:26:00,380 --> 00:26:05,460 since 2005 that it's actually very 635 00:26:03,000 --> 00:26:11,179 mature most of the library is a very 636 00:26:05,460 --> 00:26:11,179 robust and debugged and the 637 00:26:11,460 --> 00:26:15,000 um and the documentation is quite quite 638 00:26:13,500 --> 00:26:15,960 good 639 00:26:15,000 --> 00:26:18,299 um 640 00:26:15,960 --> 00:26:21,059 the third party open source libraries 641 00:26:18,299 --> 00:26:23,100 that come with Arduino vary in quality a 642 00:26:21,059 --> 00:26:25,140 lot and because this is an embedded 643 00:26:23,100 --> 00:26:26,580 system 644 00:26:25,140 --> 00:26:29,100 there's this thing about embedded 645 00:26:26,580 --> 00:26:29,940 systems people get very grumpy when they 646 00:26:29,100 --> 00:26:31,679 stop 647 00:26:29,940 --> 00:26:34,200 especially when they crash for no reason 648 00:26:31,679 --> 00:26:36,900 they can understand and because many of 649 00:26:34,200 --> 00:26:38,279 our users are naive with respect to 650 00:26:36,900 --> 00:26:41,279 technology and what have you want this 651 00:26:38,279 --> 00:26:42,960 to be the level of reliability needed 652 00:26:41,279 --> 00:26:45,480 for DCC 653 00:26:42,960 --> 00:26:48,240 controllers is is perhaps well above 654 00:26:45,480 --> 00:26:49,799 what you know it's running a train you 655 00:26:48,240 --> 00:26:52,020 don't want to do the Gomez Adams thing 656 00:26:49,799 --> 00:26:54,480 and have them actually Collide it would 657 00:26:52,020 --> 00:26:57,980 be good if this thing kept accepting 658 00:26:54,480 --> 00:27:02,940 commands so we've had to in general 659 00:26:57,980 --> 00:27:06,179 re-implement libraries from scratch or 660 00:27:02,940 --> 00:27:08,400 um and we try very hard where we do that 661 00:27:06,179 --> 00:27:09,840 to pick libraries with compatible 662 00:27:08,400 --> 00:27:12,179 licensing 663 00:27:09,840 --> 00:27:13,740 make sure that you know we're 664 00:27:12,179 --> 00:27:16,679 contributing back to the community in as 665 00:27:13,740 --> 00:27:18,600 much as we can and and so on but a lot 666 00:27:16,679 --> 00:27:20,039 of Open Source software developers 667 00:27:18,600 --> 00:27:23,240 especially in the abandoned space seem 668 00:27:20,039 --> 00:27:26,179 to pick various different licensing 669 00:27:23,240 --> 00:27:30,500 models and some of them we just can't 670 00:27:26,179 --> 00:27:30,500 readily accept their code 671 00:27:31,140 --> 00:27:34,140 um 672 00:27:32,520 --> 00:27:36,000 so the you know the standard problems 673 00:27:34,140 --> 00:27:37,620 are that the other thing is that many 674 00:27:36,000 --> 00:27:38,580 many open source projects live for a 675 00:27:37,620 --> 00:27:40,679 while 676 00:27:38,580 --> 00:27:43,140 while the person has the enthusiasm and 677 00:27:40,679 --> 00:27:45,960 then they they move on and and get 678 00:27:43,140 --> 00:27:48,720 abandoned they get picked up and forked 679 00:27:45,960 --> 00:27:50,880 and then you don't know really how well 680 00:27:48,720 --> 00:27:52,460 they've been Falcons on 681 00:27:50,880 --> 00:27:57,179 so we um 682 00:27:52,460 --> 00:28:00,059 we focus really hard on not creating 683 00:27:57,179 --> 00:28:02,159 abandoned wear ourselves 684 00:28:00,059 --> 00:28:05,220 we want this project to go on Beyond us 685 00:28:02,159 --> 00:28:08,520 and we want to documented well enough 686 00:28:05,220 --> 00:28:11,900 that it can be picked up readily and and 687 00:28:08,520 --> 00:28:15,000 kept going so the team's quite diverse 688 00:28:11,900 --> 00:28:17,220 lots of skills and we apply them 689 00:28:15,000 --> 00:28:19,440 to making sure that 690 00:28:17,220 --> 00:28:22,039 this thing doesn't end up 691 00:28:19,440 --> 00:28:22,039 lost 692 00:28:22,320 --> 00:28:25,500 now 693 00:28:23,460 --> 00:28:27,240 without cave Ram you do eventually get 694 00:28:25,500 --> 00:28:31,020 to a point 695 00:28:27,240 --> 00:28:33,840 no matter how clever you are as a 1970s 696 00:28:31,020 --> 00:28:35,580 based Mainframe programmer 697 00:28:33,840 --> 00:28:38,820 um 698 00:28:35,580 --> 00:28:41,220 you eventually need to grow and we have 699 00:28:38,820 --> 00:28:42,960 the interesting thing is that all of the 700 00:28:41,220 --> 00:28:47,279 features that we put in recently is 701 00:28:42,960 --> 00:28:49,679 still fit within that 8K realm barely 702 00:28:47,279 --> 00:28:51,600 but what we're finding is the users as 703 00:28:49,679 --> 00:28:52,980 they discover the platform are getting 704 00:28:51,600 --> 00:28:53,820 more and more excited about what I can 705 00:28:52,980 --> 00:28:55,919 do 706 00:28:53,820 --> 00:28:58,799 and and so we've had users turn up and 707 00:28:55,919 --> 00:29:02,520 say well my layout is 708 00:28:58,799 --> 00:29:07,620 eight meters square and it has 100 709 00:29:02,520 --> 00:29:09,799 switches and 500 signals and can you do 710 00:29:07,620 --> 00:29:09,799 that 711 00:29:10,260 --> 00:29:14,940 and the answer is well 712 00:29:12,240 --> 00:29:18,360 not make K really 713 00:29:14,940 --> 00:29:19,679 we can go a long way but we can't go 714 00:29:18,360 --> 00:29:21,840 that far so 715 00:29:19,679 --> 00:29:23,700 we've got to the point where we need to 716 00:29:21,840 --> 00:29:25,860 make a transition to one of the 32-bit 717 00:29:23,700 --> 00:29:28,980 platforms what's happened in the 718 00:29:25,860 --> 00:29:32,220 embedded world is that those 32-bit 719 00:29:28,980 --> 00:29:37,020 processes have become insanely cheap 720 00:29:32,220 --> 00:29:42,179 you can get uh an arm cortex m0 running 721 00:29:37,020 --> 00:29:45,600 at 48 megahertz for 50 cents 722 00:29:42,179 --> 00:29:48,000 and it'll be three millimeters Square 723 00:29:45,600 --> 00:29:51,600 so the time has come for us to look at 724 00:29:48,000 --> 00:29:55,080 transitioning to to 32-bit arm is a very 725 00:29:51,600 --> 00:29:57,059 obvious Target but also esp32 which is 726 00:29:55,080 --> 00:29:59,240 one that Hugh mentioned this morning as 727 00:29:57,059 --> 00:29:59,240 well 728 00:29:59,460 --> 00:30:03,059 it's very attractive because it's got 729 00:30:01,140 --> 00:30:04,799 the Wi-Fi built in so it actually reduce 730 00:30:03,059 --> 00:30:06,539 the number of components you need to buy 731 00:30:04,799 --> 00:30:10,320 and the modules 732 00:30:06,539 --> 00:30:13,080 just the individual esp32 module even 733 00:30:10,320 --> 00:30:15,720 for a consumer buying one of them 734 00:30:13,080 --> 00:30:18,120 are four dollars 735 00:30:15,720 --> 00:30:19,679 that comes with dual 240 megahertz 736 00:30:18,120 --> 00:30:21,960 processors 737 00:30:19,679 --> 00:30:25,620 and a Wi-Fi stack 738 00:30:21,960 --> 00:30:28,260 yeah now the problem with we have found 739 00:30:25,620 --> 00:30:31,500 with with espressive is that 740 00:30:28,260 --> 00:30:34,980 uh Wally Hardware's quite amazing their 741 00:30:31,500 --> 00:30:38,039 software isn't quite so amazing 742 00:30:34,980 --> 00:30:40,260 and particularly they're open source uh 743 00:30:38,039 --> 00:30:42,240 support isn't as terrific 744 00:30:40,260 --> 00:30:44,760 so when look at looking at the 32-bit 745 00:30:42,240 --> 00:30:47,580 platforms we have 25 000 lines of code 746 00:30:44,760 --> 00:30:49,799 now and we have a legacy problem because 747 00:30:47,580 --> 00:30:52,320 it runs on the Arduino core 748 00:30:49,799 --> 00:30:54,720 so in looking at the 32-bit platforms 749 00:30:52,320 --> 00:30:59,240 we've been looking at can we stick with 750 00:30:54,720 --> 00:30:59,240 one that already has Arduino support 751 00:30:59,480 --> 00:31:05,520 so that because we're a volunteer team 752 00:31:02,580 --> 00:31:06,720 we we had lives some of them are retired 753 00:31:05,520 --> 00:31:07,880 but they seem to be doing a lot of 754 00:31:06,720 --> 00:31:10,559 traveling 755 00:31:07,880 --> 00:31:12,840 and the rest of us have families and and 756 00:31:10,559 --> 00:31:14,880 jobs and so on so we don't have the 757 00:31:12,840 --> 00:31:16,679 engineering resources to really complete 758 00:31:14,880 --> 00:31:19,500 the retool to a different platform very 759 00:31:16,679 --> 00:31:21,840 quickly anyway 760 00:31:19,500 --> 00:31:23,760 and the problem we've found is that the 761 00:31:21,840 --> 00:31:26,179 Arduino core support for the different 762 00:31:23,760 --> 00:31:28,980 processes varies a bit 763 00:31:26,179 --> 00:31:30,419 especially as all of these are 764 00:31:28,980 --> 00:31:33,740 essentially 765 00:31:30,419 --> 00:31:33,740 third-party provided 766 00:31:34,020 --> 00:31:39,260 um because Arduino has grown and decided 767 00:31:37,020 --> 00:31:42,299 to go off into iot land 768 00:31:39,260 --> 00:31:45,620 and doesn't really have maker intentions 769 00:31:42,299 --> 00:31:45,620 quite like it used to 770 00:31:49,260 --> 00:31:54,000 so Arduino has actually decided that 771 00:31:51,419 --> 00:31:55,679 they will shift all of their all of 772 00:31:54,000 --> 00:31:58,140 their platforms all their 32-bit 773 00:31:55,679 --> 00:32:01,820 platforms over to embed OS 774 00:31:58,140 --> 00:32:04,440 and for us that's too big a leap to take 775 00:32:01,820 --> 00:32:06,299 and we found that the 32-bit support and 776 00:32:04,440 --> 00:32:07,500 the Arduino course has really been quite 777 00:32:06,299 --> 00:32:11,039 difficult 778 00:32:07,500 --> 00:32:13,020 now we try and when we find bugs in 779 00:32:11,039 --> 00:32:16,500 anything we try to engage with the 780 00:32:13,020 --> 00:32:19,799 Upstream providers we issue bug reports 781 00:32:16,500 --> 00:32:22,020 we provide code where we find a solution 782 00:32:19,799 --> 00:32:25,700 what have you but what we find is very 783 00:32:22,020 --> 00:32:30,360 often they go completely 784 00:32:25,700 --> 00:32:32,700 ignored it's the best way to put it 785 00:32:30,360 --> 00:32:34,399 so out of all of the platforms we've 786 00:32:32,700 --> 00:32:37,919 looked at so far 787 00:32:34,399 --> 00:32:39,779 the stm32f4 range from St 788 00:32:37,919 --> 00:32:42,320 microelectronics seems to be the most 789 00:32:39,779 --> 00:32:42,320 promising 790 00:32:42,480 --> 00:32:45,480 um 791 00:32:43,080 --> 00:32:47,960 and and that's the one we're working on 792 00:32:45,480 --> 00:32:47,960 at the moment 793 00:32:50,539 --> 00:32:54,539 in fact 794 00:32:52,320 --> 00:32:57,419 the porting to new architectures that 795 00:32:54,539 --> 00:33:00,240 both the samd and the STM 796 00:32:57,419 --> 00:33:01,740 32 Ranger is my responsibility with the 797 00:33:00,240 --> 00:33:03,240 team 798 00:33:01,740 --> 00:33:06,600 um one of the other team members has 799 00:33:03,240 --> 00:33:08,820 done the ESP port to the esp32 800 00:33:06,600 --> 00:33:10,679 and what we discovered was that 801 00:33:08,820 --> 00:33:13,200 despite there being two processors the 802 00:33:10,679 --> 00:33:15,120 Wi-Fi Stacks quite a lot of work 803 00:33:13,200 --> 00:33:18,360 and it wouldn't respond to interrupts 804 00:33:15,120 --> 00:33:20,399 very um reliably 805 00:33:18,360 --> 00:33:22,980 which for Mission critical 806 00:33:20,399 --> 00:33:26,220 in better work we have to produce a 807 00:33:22,980 --> 00:33:28,500 waveform with 58 microsecond transitions 808 00:33:26,220 --> 00:33:31,019 very reliably it would be good if 809 00:33:28,500 --> 00:33:33,000 interrupts were actually taken when they 810 00:33:31,019 --> 00:33:34,620 should 811 00:33:33,000 --> 00:33:35,760 so what's the future 812 00:33:34,620 --> 00:33:37,080 um 813 00:33:35,760 --> 00:33:38,760 it's 814 00:33:37,080 --> 00:33:40,919 it's been interesting to watch the last 815 00:33:38,760 --> 00:33:42,120 six months seems to be in a bit of a 816 00:33:40,919 --> 00:33:44,640 watershed we've had more and more 817 00:33:42,120 --> 00:33:46,559 developers joining the team 818 00:33:44,640 --> 00:33:48,539 um people turning up with some serious 819 00:33:46,559 --> 00:33:50,340 skills and some technical itches that 820 00:33:48,539 --> 00:33:52,980 they want to scratch and then working 821 00:33:50,340 --> 00:33:56,519 extremely well with the team to uh to 822 00:33:52,980 --> 00:33:59,940 build out new functionality 823 00:33:56,519 --> 00:34:03,000 um we've even got uh YouTube bloggers 824 00:33:59,940 --> 00:34:04,440 now actually putting up YouTube articles 825 00:34:03,000 --> 00:34:06,840 about 826 00:34:04,440 --> 00:34:08,399 the uh the product 827 00:34:06,840 --> 00:34:10,619 um 828 00:34:08,399 --> 00:34:12,659 we've got an ecosystem of Hardware being 829 00:34:10,619 --> 00:34:16,339 developed as well 830 00:34:12,659 --> 00:34:20,220 um so release 5.0 is due out soon and 831 00:34:16,339 --> 00:34:22,500 contains a raft of of new and funny uh 832 00:34:20,220 --> 00:34:24,480 features 833 00:34:22,500 --> 00:34:26,760 so there you go there's model 834 00:34:24,480 --> 00:34:31,099 railroading and how model railroading 835 00:34:26,760 --> 00:34:31,099 and open source Collide thank you 836 00:34:34,520 --> 00:34:37,520 thank you 837 00:34:38,220 --> 00:34:41,639 fabulous this is on thank you so much 838 00:34:40,020 --> 00:34:45,419 for that presentation 839 00:34:41,639 --> 00:34:47,099 we have about 10 minutes for questions 840 00:34:45,419 --> 00:34:49,639 and we have one to start us off 841 00:34:47,099 --> 00:34:49,639 fantastic 842 00:34:50,940 --> 00:34:54,119 um 843 00:34:51,480 --> 00:34:57,780 really a question but did you have a 844 00:34:54,119 --> 00:35:00,000 look at the RP 2040 as a micro to use 845 00:34:57,780 --> 00:35:02,540 we have we've done a bunch of 846 00:35:00,000 --> 00:35:04,800 prototyping work to see if the Pio 847 00:35:02,540 --> 00:35:08,339 functionality can produce the waveform 848 00:35:04,800 --> 00:35:09,720 for us the last thing I was um which it 849 00:35:08,339 --> 00:35:11,540 can 850 00:35:09,720 --> 00:35:15,540 um 851 00:35:11,540 --> 00:35:17,040 the there are a couple of drivers that I 852 00:35:15,540 --> 00:35:19,820 didn't mention 853 00:35:17,040 --> 00:35:19,820 the 854 00:35:20,640 --> 00:35:28,800 currently the motor board that we use 855 00:35:24,920 --> 00:35:31,260 is in the Arduino form factor and so 856 00:35:28,800 --> 00:35:35,480 we've tried to look at platforms that 857 00:35:31,260 --> 00:35:38,780 come in that same Arduino Uno R3 858 00:35:35,480 --> 00:35:41,520 socket layout because we want to provide 859 00:35:38,780 --> 00:35:43,560 our existing user base a really easy 860 00:35:41,520 --> 00:35:46,260 transition to the new 861 00:35:43,560 --> 00:35:48,720 to any new standard we come up with so 862 00:35:46,260 --> 00:35:52,200 and we and we want people to be able to 863 00:35:48,720 --> 00:35:54,480 buy the existing Mega option if their 864 00:35:52,200 --> 00:35:56,640 current needs don't require 32-bit 865 00:35:54,480 --> 00:35:58,320 processor and so on 866 00:35:56,640 --> 00:36:03,060 the other thing we discovered when we 867 00:35:58,320 --> 00:36:05,820 looked at the stm32 product is 868 00:36:03,060 --> 00:36:07,320 they have a nucleo range of of boards 869 00:36:05,820 --> 00:36:09,900 that are 870 00:36:07,320 --> 00:36:12,960 better made and cheaper 871 00:36:09,900 --> 00:36:15,960 than the Arduino 8-bit boards yes 872 00:36:12,960 --> 00:36:18,180 despite being 32 bits 873 00:36:15,960 --> 00:36:21,119 so the RP 2040 is really attractive from 874 00:36:18,180 --> 00:36:24,000 point of view of of its price but it 875 00:36:21,119 --> 00:36:25,940 doesn't have a lot of gpio it has this 876 00:36:24,000 --> 00:36:28,200 Pio which is Handy 877 00:36:25,940 --> 00:36:29,940 but it doesn't come in a form factor we 878 00:36:28,200 --> 00:36:31,560 can go right well we can plug that in 879 00:36:29,940 --> 00:36:33,359 right away 880 00:36:31,560 --> 00:36:35,839 so 881 00:36:33,359 --> 00:36:38,760 it's there as a future opportunity 882 00:36:35,839 --> 00:36:41,940 obviously it uses arm cortex underneath 883 00:36:38,760 --> 00:36:44,880 as well so all the work we've done to 884 00:36:41,940 --> 00:36:46,680 make our 8-bit code 32-bit clean 885 00:36:44,880 --> 00:36:49,200 and aligned on the right band reason why 886 00:36:46,680 --> 00:36:50,820 it means that you can do that easily and 887 00:36:49,200 --> 00:36:52,440 there are one or two people exploring it 888 00:36:50,820 --> 00:36:54,960 but it hasn't become our priority 889 00:36:52,440 --> 00:36:58,260 because we've got this other option in 890 00:36:54,960 --> 00:37:00,119 the STM range that's really drop in 891 00:36:58,260 --> 00:37:01,380 do it now 892 00:37:00,119 --> 00:37:04,520 so 893 00:37:01,380 --> 00:37:04,520 did I ask you a question 894 00:37:08,460 --> 00:37:13,079 I was just wondering if there's any sort 895 00:37:11,160 --> 00:37:15,119 of similar efforts on the locomotive 896 00:37:13,079 --> 00:37:17,700 side of things to provide open source 897 00:37:15,119 --> 00:37:21,000 and open Hardware options for those 898 00:37:17,700 --> 00:37:23,940 that there have been the the difficulty 899 00:37:21,000 --> 00:37:24,599 with locomotives is 900 00:37:23,940 --> 00:37:26,940 um 901 00:37:24,599 --> 00:37:29,760 even in the reasonably generous Oneness 902 00:37:26,940 --> 00:37:30,960 to 87 scale there's not a whole lot of 903 00:37:29,760 --> 00:37:34,320 room 904 00:37:30,960 --> 00:37:36,420 in the locomotive so any design has to 905 00:37:34,320 --> 00:37:40,140 be fairly miniaturized it has been made 906 00:37:36,420 --> 00:37:44,160 with all of the smallest snd sized 907 00:37:40,140 --> 00:37:46,200 components now you can do contract 908 00:37:44,160 --> 00:37:49,619 manufacturers in China now will let you 909 00:37:46,200 --> 00:37:52,980 do small batches of things with those 910 00:37:49,619 --> 00:37:55,500 tiny components in them but it's uh it's 911 00:37:52,980 --> 00:37:59,760 a it's quite a level up in engineering 912 00:37:55,500 --> 00:38:02,220 from just doing an Arduino style Board 913 00:37:59,760 --> 00:38:04,520 of our own for instance so we're in the 914 00:38:02,220 --> 00:38:07,800 hardware we're looking at at creating 915 00:38:04,520 --> 00:38:10,380 our goal my goal 916 00:38:07,800 --> 00:38:14,099 suggested to the team was we come up 917 00:38:10,380 --> 00:38:17,099 with open designs that use Kai CAD 918 00:38:14,099 --> 00:38:20,099 circuits produce print and circuit 919 00:38:17,099 --> 00:38:22,619 boards produce the Gerber files and then 920 00:38:20,099 --> 00:38:25,800 anyone can now upload those to a 921 00:38:22,619 --> 00:38:28,260 manufacturer like jlc PCB and go I'd 922 00:38:25,800 --> 00:38:30,720 like 10 of those make them now 923 00:38:28,260 --> 00:38:34,500 with all the components on 924 00:38:30,720 --> 00:38:36,420 so were we to go for the DCC decoder end 925 00:38:34,500 --> 00:38:37,740 of things we try we'd like to try and do 926 00:38:36,420 --> 00:38:40,560 the same thing 927 00:38:37,740 --> 00:38:43,320 so that even you know the the most most 928 00:38:40,560 --> 00:38:45,420 clubs have an Electronics Gig if that 929 00:38:43,320 --> 00:38:47,160 person in a club can go right well I I 930 00:38:45,420 --> 00:38:49,440 know how to upload the files I know how 931 00:38:47,160 --> 00:38:51,380 to get jlc PCB to make us a hundred for 932 00:38:49,440 --> 00:38:55,079 the club should we do a batch order 933 00:38:51,380 --> 00:38:59,220 that's that's my goal for a for Open 934 00:38:55,079 --> 00:39:01,320 Source Hardware for DCC and we don't 935 00:38:59,220 --> 00:39:04,920 quite have the expertise for boards 936 00:39:01,320 --> 00:39:07,140 small enough to be decoders not made any 937 00:39:04,920 --> 00:39:09,540 easier by the fact that 938 00:39:07,140 --> 00:39:10,920 modern locomotive manufacturers have 939 00:39:09,540 --> 00:39:13,980 come up with their 940 00:39:10,920 --> 00:39:15,960 drop-in ones and they all have different 941 00:39:13,980 --> 00:39:17,700 shapes 942 00:39:15,960 --> 00:39:19,880 so there's vendor locking everywhere you 943 00:39:17,700 --> 00:39:19,880 look 944 00:39:21,900 --> 00:39:26,220 but we will we do have code 945 00:39:24,480 --> 00:39:27,720 aimed at doing that we just don't have a 946 00:39:26,220 --> 00:39:29,760 hardware designers yet 947 00:39:27,720 --> 00:39:32,040 um okay that's the locomotive size what 948 00:39:29,760 --> 00:39:34,560 about fur points and signals and lights 949 00:39:32,040 --> 00:39:35,300 on the track that's all cater for 950 00:39:34,560 --> 00:39:38,579 already 951 00:39:35,300 --> 00:39:40,380 so this is CeX we'll talk to existing 952 00:39:38,579 --> 00:39:42,119 maker boards that will drive all that 953 00:39:40,380 --> 00:39:45,300 sort of stuff so you can plug into the I 954 00:39:42,119 --> 00:39:46,980 squared C bus a Servo controller and 955 00:39:45,300 --> 00:39:48,780 then all your points can be surveyed or 956 00:39:46,980 --> 00:39:50,760 you can have semaphores that are servoed 957 00:39:48,780 --> 00:39:52,920 or you can have you know people emerging 958 00:39:50,760 --> 00:39:54,420 from buildings via servos all that sort 959 00:39:52,920 --> 00:39:56,040 of stuff 960 00:39:54,420 --> 00:39:57,180 um what we're going to do though is 961 00:39:56,040 --> 00:40:00,780 we're going to come up with a bunch of 962 00:39:57,180 --> 00:40:02,280 open Hardware Designs that take because 963 00:40:00,780 --> 00:40:03,780 the maker boards at the moment are 964 00:40:02,280 --> 00:40:06,060 designed for people to just sort of plug 965 00:40:03,780 --> 00:40:08,280 in with Dupont connectors and and wire 966 00:40:06,060 --> 00:40:10,440 up ad hoc what we'd like to have is a 967 00:40:08,280 --> 00:40:12,060 nice sort of ecosystem where people can 968 00:40:10,440 --> 00:40:13,020 just plug those things together and they 969 00:40:12,060 --> 00:40:15,300 work 970 00:40:13,020 --> 00:40:17,780 so we're going to do Hardware designs 971 00:40:15,300 --> 00:40:17,780 for all of that 972 00:40:18,359 --> 00:40:22,740 hi 973 00:40:19,440 --> 00:40:24,359 uh just wondering if you can elaborate a 974 00:40:22,740 --> 00:40:27,060 bit more on the physical layer because 975 00:40:24,359 --> 00:40:29,040 the rails are carrying both the power 976 00:40:27,060 --> 00:40:30,780 and the signaling I just want to 977 00:40:29,040 --> 00:40:32,480 understand more about that also what are 978 00:40:30,780 --> 00:40:34,740 Power districts 979 00:40:32,480 --> 00:40:36,060 sorry yes I probably didn't explain that 980 00:40:34,740 --> 00:40:36,859 well 981 00:40:36,060 --> 00:40:39,660 um 982 00:40:36,859 --> 00:40:44,520 basically it's a square wave on the 983 00:40:39,660 --> 00:40:46,400 rails where each rail alternates 984 00:40:44,520 --> 00:40:49,619 polarity 985 00:40:46,400 --> 00:40:51,900 and it's at a frequency of around 986 00:40:49,619 --> 00:40:54,380 what's it end up being six kilohertz or 987 00:40:51,900 --> 00:40:57,599 something six and a bit kilohertz 988 00:40:54,380 --> 00:41:01,140 it was it was designed a long time ago 989 00:40:57,599 --> 00:41:03,780 it was designed by Lance in 1980. using 990 00:41:01,140 --> 00:41:05,640 1980 technology and understanding of 991 00:41:03,780 --> 00:41:09,060 switching and all that sort of stuff so 992 00:41:05,640 --> 00:41:11,040 it probably could be improved now with 993 00:41:09,060 --> 00:41:13,980 in different frequency choice and all 994 00:41:11,040 --> 00:41:15,980 sorts of things people are also looking 995 00:41:13,980 --> 00:41:20,339 at transporting the protocol wirelessly 996 00:41:15,980 --> 00:41:22,920 so you just put us a voltage on the 997 00:41:20,339 --> 00:41:24,480 rails and then the protocol goes 998 00:41:22,920 --> 00:41:25,740 wirelessly because now Wireless has 999 00:41:24,480 --> 00:41:27,180 gotten smaller we can actually put 1000 00:41:25,740 --> 00:41:29,640 inside of Loco 1001 00:41:27,180 --> 00:41:32,040 which wasn't the case in 1980 there's 1002 00:41:29,640 --> 00:41:34,140 another scheme called Dead rail where 1003 00:41:32,040 --> 00:41:35,520 you actually take the the power off the 1004 00:41:34,140 --> 00:41:37,619 rails entirely 1005 00:41:35,520 --> 00:41:40,260 and you put rechargeable batteries in a 1006 00:41:37,619 --> 00:41:42,300 locomotive and you put the electronics 1007 00:41:40,260 --> 00:41:44,760 in there and then control that 1008 00:41:42,300 --> 00:41:45,900 wirelessly with no voltage on any of the 1009 00:41:44,760 --> 00:41:47,640 Rails 1010 00:41:45,900 --> 00:41:49,980 because one of the traditional weak 1011 00:41:47,640 --> 00:41:52,140 points of model railroading has been how 1012 00:41:49,980 --> 00:41:53,520 well can you pick up and how reliably 1013 00:41:52,140 --> 00:41:54,900 can you pick up the voltage off the 1014 00:41:53,520 --> 00:41:58,140 rails 1015 00:41:54,900 --> 00:41:59,700 modern DCC locomotives often have what 1016 00:41:58,140 --> 00:42:02,220 they call a keep alive in them with this 1017 00:41:59,700 --> 00:42:03,480 capacitor in it so if they go over a 1018 00:42:02,220 --> 00:42:05,700 dead portion of the track they can keep 1019 00:42:03,480 --> 00:42:07,079 driving the motor until they reach a 1020 00:42:05,700 --> 00:42:08,760 portion of the track that's got better 1021 00:42:07,079 --> 00:42:12,060 contact 1022 00:42:08,760 --> 00:42:14,339 question power districts um 1023 00:42:12,060 --> 00:42:15,839 turns out when you put Electronics in in 1024 00:42:14,339 --> 00:42:18,119 locomotives people want to put more and 1025 00:42:15,839 --> 00:42:21,060 more Electronics in and and the 1026 00:42:18,119 --> 00:42:23,599 locomotives are with sound in them can 1027 00:42:21,060 --> 00:42:27,180 consume quite a lot of power 1028 00:42:23,599 --> 00:42:31,020 our base design only puts out about 1.5 1029 00:42:27,180 --> 00:42:33,480 amps per per section of track that 1030 00:42:31,020 --> 00:42:35,400 you've created a district in 1031 00:42:33,480 --> 00:42:37,560 um 1032 00:42:35,400 --> 00:42:39,720 sorry it only puts out 1.5 amps so what 1033 00:42:37,560 --> 00:42:40,980 you end up doing is creating is sort of 1034 00:42:39,720 --> 00:42:43,260 splitting the track into some power 1035 00:42:40,980 --> 00:42:45,000 districts and putting giving each of 1036 00:42:43,260 --> 00:42:46,859 them a power supply basically that runs 1037 00:42:45,000 --> 00:42:48,359 off the same signal but it just 1038 00:42:46,859 --> 00:42:51,119 amplifies 1039 00:42:48,359 --> 00:42:52,920 for a different portion of the track 1040 00:42:51,119 --> 00:42:56,339 the issue you have I mean you can try 1041 00:42:52,920 --> 00:42:58,560 putting 20 amps into your rails 1042 00:42:56,339 --> 00:42:59,760 well anything goes wrong it tends to 1043 00:42:58,560 --> 00:43:02,339 melt things 1044 00:42:59,760 --> 00:43:04,140 so what we try what we suggest is people 1045 00:43:02,339 --> 00:43:06,839 only ever think about putting it in most 1046 00:43:04,140 --> 00:43:08,520 five amps into the rails and that means 1047 00:43:06,839 --> 00:43:09,960 at some point on a really big layout 1048 00:43:08,520 --> 00:43:10,859 you've just got to chop it in half and 1049 00:43:09,960 --> 00:43:12,839 go 1050 00:43:10,859 --> 00:43:15,240 we run one amplifier in there one 1051 00:43:12,839 --> 00:43:18,000 amplifier in there but we run the same 1052 00:43:15,240 --> 00:43:19,560 DCC signal out to everything so when 1053 00:43:18,000 --> 00:43:22,220 they transition from one to the other 1054 00:43:19,560 --> 00:43:22,220 it's seamless 1055 00:43:25,619 --> 00:43:28,339 one in the front row 1056 00:43:29,280 --> 00:43:36,119 not so much a question but just the 1057 00:43:31,440 --> 00:43:39,480 observation the MIT Tech Model Railroad 1058 00:43:36,119 --> 00:43:43,500 Club was a very big part of early hacker 1059 00:43:39,480 --> 00:43:44,480 culture to the 1960s even earlier I 1060 00:43:43,500 --> 00:43:46,740 think yeah 1061 00:43:44,480 --> 00:43:49,760 but due to the lack of Internet no one 1062 00:43:46,740 --> 00:43:49,760 knew about it um 1063 00:43:50,099 --> 00:43:53,160 no it was a very active group and it was 1064 00:43:51,900 --> 00:43:56,400 really interesting if you read the 1065 00:43:53,160 --> 00:43:59,160 history of that group at MIT the kinds 1066 00:43:56,400 --> 00:44:02,099 of people attracted to that group are 1067 00:43:59,160 --> 00:44:06,839 precisely the people in in our community 1068 00:44:02,099 --> 00:44:08,400 the same kind of ethos yeah it's the 1069 00:44:06,839 --> 00:44:10,220 history of it's certainly worth reading 1070 00:44:08,400 --> 00:44:12,780 for that reason 1071 00:44:10,220 --> 00:44:14,280 just a final question for me 1072 00:44:12,780 --> 00:44:16,500 um has all of these Innovations sort of 1073 00:44:14,280 --> 00:44:18,119 lit a fire under the the providers of 1074 00:44:16,500 --> 00:44:19,319 those proprietary services that you grew 1075 00:44:18,119 --> 00:44:22,500 up with and have they come up with 1076 00:44:19,319 --> 00:44:24,599 anything amazing as a result uh no well 1077 00:44:22,500 --> 00:44:26,880 no what they've done is some of them 1078 00:44:24,599 --> 00:44:28,460 have upped their attempts to further 1079 00:44:26,880 --> 00:44:32,040 vendor locking 1080 00:44:28,460 --> 00:44:35,339 but but one vendor in the US TCS 1081 00:44:32,040 --> 00:44:38,760 actually came out with a throttle 1082 00:44:35,339 --> 00:44:41,880 that speaks the open y throttle protocol 1083 00:44:38,760 --> 00:44:43,800 and will control our Hardware 1084 00:44:41,880 --> 00:44:45,300 so there's a little wind there a little 1085 00:44:43,800 --> 00:44:46,680 wind they've got two throttles you can 1086 00:44:45,300 --> 00:44:47,700 buy commercial throttles you can buy 1087 00:44:46,680 --> 00:44:49,640 that talk 1088 00:44:47,700 --> 00:44:52,260 that protocol 1089 00:44:49,640 --> 00:44:54,119 that protocol 1090 00:44:52,260 --> 00:44:55,200 is also a legacy in our view because 1091 00:44:54,119 --> 00:44:57,660 there's lots of things that were 1092 00:44:55,200 --> 00:44:59,280 designed into that in 2014 that you 1093 00:44:57,660 --> 00:45:01,920 wouldn't do now 1094 00:44:59,280 --> 00:45:04,260 so we have our own protocol but that's 1095 00:45:01,920 --> 00:45:06,300 open and we're talking about 1096 00:45:04,260 --> 00:45:07,800 getting support for that too 1097 00:45:06,300 --> 00:45:08,640 well I hope many more changes there 1098 00:45:07,800 --> 00:45:09,240 because if you can't beat them I'm 1099 00:45:08,640 --> 00:45:11,099 trying 1100 00:45:09,240 --> 00:45:13,260 to join us yes thank you so much 1101 00:45:11,099 --> 00:45:15,240 everyone for being here um of course 1102 00:45:13,260 --> 00:45:18,500 that session off one final round of 1103 00:45:15,240 --> 00:45:23,489 applause for Paul thank you so much 1104 00:45:18,500 --> 00:45:23,489 [Applause]