Getting Started with Visual Studio Community 2019

A few quick notes before I dive into the meat of the article.

  1. I will not automatically show you the best technique for advanced programming; not because I want to make you inferior, but because I want to slowly introduce you to more and more advanced concepts over time. So there may be some things I show you now that I’ll later tell you not to do normally. Don’t panic or get upset; those lessons are meant to help you understand important concepts, and it’s just as important to learn what NOT to do as it is to learn what you CAN do.
  2. Most of the stuff I’ll show you will be using Visual Studio 2019 Professional. For the most part, you’ll see the same tools as I would, but if something is missing or seems odd, don’t worry! I won’t use anything that isn’t available for the Community Edition – and if somehow I manage to do that, just send me a message and let me know; I’ll get you the info you need to proceed.
  3. Don’t panic about the complexity of what you’ll see. Remember that a key to something complex is to focus on the small pieces. If you don’t panic and worry about the big picture, you’ll have the Sistine Chapel before you realize it.

Launching Visual Studio

Assuming you’re using Windows 7 or 10, go to your Start menu and look for “Visual Studio 2019”. You’ll get asked if you’d like to sign up for a Microsoft account.

You can skip past (click Not now, maybe later). Then you’ll get presented with this screen:

This will let you select the configuration options for using the software in an optimal way. for the “Development Settings:” drop-down menu, choose Visual C#. You can choose the color scheme you think you’ll like. You can always change it later if you like. At some point I will do an article on playing with the preferences for the IDE; and there are a LOT of options. For now, I’m going with Dark. It’s easier on my eyes, so that’s what I tend to stick with. The theme won’t affect what tools are available, so just pick whatever seems best to you for now.

Welcome to… another menu screen…

OK, this is actually a good thing. From here, you’ll be able to start building your first application. You won’t initially see anything on the left side of the screen under “Open recent”; that’s because you haven’t done anything yet. In the future, programs you’ve written will be available here for you to reopen.

For now, we’re going to Create a new project (the button on the lower right of the screen). Good grief! What is all this?

Again, relax. This is where we select the type of project we’re going to work with. This give you an idea though of what sort of capabilities you’ll have for development. You may not see as much as I have here, but you’ll still likely see a lot of options in that right-hand list. Let’s filter down to something more manageable. Under “All languages”, select C#. Under “All platforms” select Windows, and under “All project types”, select Console. At this point, you should see a MUCH smaller set of options. The ones you’ll most likely see are “Console App (.NET Core)”, “Console App (.NET Framework)” and “Workflow Console Application”. As long as you see the first two options, we’re in good shape. Select “Console App (.NET Framework)” and click “Next”.

This is the option to set up a project that will work specifically on Windows, and run in what you may recognize as a command-line interface (some people will call it a DOS interface, and while that’s fine, understand that DOS really refers to an operating system that is really no longer in use). Regardless of whether you call it command line or DOS, this will let us build a simple text based application.

Egads, another screen?! Yes!

Yes. But don’t worry, we’re almost through this initial set of steps. On this screen, we’ll have a few options for what we can do. First, let’s give our project a name. It default to ConsleApp1, but that’s not an entirely useful name. You’d like to have SOME idea of what the app is for. It’s not going to be much, in this case, but we should have something better than ConsoleApp1. Change this to say HelloWorld. Note, there shouldn’t be any spaces in this field if you can avoid it. You will probably notice that as you renamed the project, the Solution name field also changed to HelloWorld. Let’s explain this just a bit.

Projects? Solutions? Huh?

OK, this isn’t really all that bad, but it’s valuable to know. Most of the time when you want to build a larger sort of application, you won’t want to slap everything into a single big file. It makes it hard to sort through problems, it makes the program potentially WAY larger, and if you want to make some of your code re-usable, this isn’t going to make that task easier.

A Solution is a container for a series of related projects. Some projects will be actual applications. Some will be collections of functions you may choose to reuse later. Some projects might be for building a website. So you could, for example, say you have a project for an application, a project for a website, and a project that has some code used by both. Each part is it’s own project, but they are all part of the solution. Later, you might have an entirely new solution, but you’ll want to reuse the library project; can you can do that, by copying it from one place to another.

If you want an analogy: imagine you’re hungry. You want to make dinner, and a dessert. You have ingredients in your fridge. Well, some ingredients (like milk or eggs) are used in many different recipes. You probably don’t keep separate batches of eggs and milk in different fridges. You keep them together, and when you need an egg, you get it. When you need milk, you get it. What about salt or sugar? Well, you don’t need to keep them in the fridge, but you’ll have them in another cupboard. Again, not all recipes need sugar or salt, but if you do, you can get them out of the right place. You’ll have a recipe, which is the instructions of how to use those ingredients to make your recipes. And you don’t just mix all the ingredients for both recipes together (if you think strawberry jelly goes well with fish, maybe you would, but frankly, your nuts).

So you follow your recipes, produce each of the parts of your meal. And when you’re done, you can now enjoy the fruits of your labor. Congratulations; you solved the problem of being hungry.

The places we store ingredients, and cookware and whatnot; those are all library projects. The recipes might also be a form of library. The actual process of preparing the recipes are also projects, but instead of being libraries, they’re programs. They are the direct control over the process of making your meal. And the entirety of making the meal and dessert? Well, your problem was that you were hungry. The solution was to make the recipes.

So a solution is a container for projects. In the case of HelloWorld, we don’t need to separate them any more than this, because we’ll only have one simple project in here. They can have the same name and it won’t be an issue.

For the Location, you can leave it to default to wherever it is. More than likely you’d see something like “C:\Users\someuser\sources\repos”. For the time being, that’s just fine. Later on we can look at other ways and places to store things.

You may have noticed a checkbox that says Place solution and project in the same directory. Frankly, I don’t recommend that. If you leave it unchecked, you’ll have a folder for the solution, and then each project will have it’s own sub-folder. I find that easier to deal with, personally. Finally, you’ll see a drop-down box that is labelled for Framework. If you click on that, you’ll see a ton of entries like .NET Framework 2.0, .NET Framework 3.0, etc. It’s not likely you’ll ever need to go to a much older version than what’s current, but it is useful to have all of the options in there in case you later download a project from the web and want to try to update it to what’s current. As of this article, the current version is .NET Framework 4.7.2. If you did your install of Visual Studio right in the last article, you can just select this value if it’s not already set, and click “Create”.

You’ll now have a much more complex looking screen, with a big window in the center with a lot of text in it.

Before you can say “What is all this?” let me explain what all of this is.

The Visual Studio Interface

Remember, first, that Visual Studio is an IDE (integrated development environment) and that means that it’s a collection of tools related to the task of writing programs. So there’s a lot of stuff that will show up on your screen. I’ll cover the important ones to be aware of here; don’t panic if you see some additional stuff on my screen and you don’t have it on yours. I do a lot of development in here, so I’ve moved some stuff around for convenience. You’ll be able to see the most important stuff right away, and at another point, I’ll describe what you can do to switch things around. Don’t worry, it’s not likely that you’ll hurt anything by doing this.

Across the top is a typical menu bar. File, Edit, View, etc… all things we see in most of the programs on a computer. Below that is a toolbar with a set of icons. Initially you’ll see ones you recognize, like new, open, save and the undo and redo buttons. Next to that you’ll see a couple of drop-downs. Once will probably say “Debug”, the next will say “Any CPU”. Then you’ll have a Play button (a green arrow on my screenshot) and the word “Start”. And then there will be some more icons. The biggest one to be aware of is that Play / Start button. We’ll use this to actually run our first program. Over to the right of the screen, you’ll see a panel called “Solution Explorer”. You may also see a tab for “Team Explorer” and “Properties”. You can switch tabs if you’d like just to see what’s in them, but make sure you’re back on Solution Explorer when you’re done.

If that panel looks like the next image, you can click and drag the “Properties Tab” down; you’ll see a little set of icons appear, shaped like a plus. Drag over the lowest box, and it’ll separate so you can see it AND the Solutions / Team Explorer tabs separately.

On the left side of the screen, you’ll see a panel labelled “Toolbox”. That’s something we’ll cover later. At the bottom of the screen you’ll see “Output” with two tabs. One is called “Output” and the other is “Error List”. You might see some more tabs, too, but again, we’ll worry about that all later.

Finally, smack in the middle of the screen, you’ll see a window labelled “Program.cs” and have the results of a cat running across your keyboard… no, not really. You’ll see a bunch of text with some different colors and a series of numbers down the left side.

This is called the source code of your program. If you have a solution that has lots of libraries and files to it, you’ll see more tabs open across the top bar over time; but for now, we’ll just focus on what’s here.

The numbers on the left side of this window are actually line numbers. If you’re writing a program and something fails, this will help you to find where your mistake is.

Lines 1 – 5 on my example start with the word “using” followed by a few more words, and then a semi-colon. These are usually called “directives” or sometimes “includes”. Essentially, this is a collection of libraries of common code that your application may (or will) need. They’ll probably all look kind of dim-colored; that indicates that we aren’t actually using any of them just yet. This program will only really use one, but we can leave this as is.

Next, you’ll see the word “namespace” followed by “HelloWorld”. A namespace is a sort of container used for coding. We’ll get into more detail on that later as well.

Next, we see “class Program”. This the starting point of the actual application. We’ll discuss classes more soon, but something you’ll here in a lot of languages is the phrase “everything is a class” or “everything is an object”. What this really just means is that every part of a program written in these languages is essentially a sort of component that is used for operation. The initial class for C sharp is Program. That indicates that this is the program container.

Next, you’ll see “static void Main(string[] args)”. If you’re wondering what all this means, don’t worry, we’ll get to it when we’re ready. Lastly, you might notice a series of characters that look like this: { } Commonly they’re referred to as curly braces or brackets. Note how they’re placed. They indicate a sort of start and stop to a logical “container”. As we expand our skills, we’ll see their relevance quite quickly.

OK. What does this program do? Nothing! If you tried to run it now, it’d start and end… and chances are it would happen so fast you might not even see a window show up for it. If you do, it’ll be a sort of black box, and it’ll immediately disappear.

Let’s actually make something happen.

One Quite Note

Be aware that programming languages are typically case sensitive, especially when it comes to the names of functions, variables, and the like. Make sure you’re careful about names and spacing when you type things in, because quite often you can make a mistake by forgetting to make something uppercase. A key example will be the commands “Console.WriteLine” and “Console.ReadKey”, which we will use below. If you forget to capitalize the L in WriteLine, or the K in ReadKey, the program will NOT work.

One nice feature that helps with this is called IntelliSense. It’s a feature in Microsoft products (along with numerous others for programming) that will help you to select the right command and instructions. As you type, it will pop-up a list of possible values and try to guide you to the best choice. I’ll cover that in more depth at another point, but based on some feedback I received, I figured it was important to note that before we got too far into this.

Adding To The Code

In between the curly braces under the “static main” line, hit your enter or return key a few times. Go to the first line after the opening curly brace { and type in the following:

Console.WriteLine(“Hello, world!”);
Console.ReadKey();

Your program will look like this:

Go ahead and hit that “Start” button at the top of the screen.

Congratulations – you just wrote a program. It doesn’t do very much, but that’s not a problem. It actually did something. To exit, you can either hit the “Stop” button in Visual Studios, click the X on the windows to close it, or press any key on your keyboard and it’ll finish and close itself.

Down at the bottom of the screen, you’ll see in the “Output” window something like this:

This indicates that the program ran; when our programs get longer, we’ll see more information here that we can use to track through steps and do what’s called “debugging”. If you look at your code window, you’ll notice now that the first line “using System;” is now brighter than the other lines. That’s because we’re actually using code from that library. The Console.WriteLine and Console.ReadKey code is part of a general library called “System”.

We’ll dissect this program in more depth in a few articles. But for now, “Hello, world!”. Go ahead, and show it off! You made a computer program.

Preparing to Get Into Programming

If you’re entirely new to programming, this post will help you get set up to do your first project. We won’t do any coding just yet; for one thing, we have no way to turn the code we write into an actual program. To perform this process, we need a tool called a compiler. Compiling is a term that defines the process of transforming human-readable code from a language like C# (read as C Sharp) into machine usable code. If you’ve ever heard of the terms “binary code” or “machine code” or even “assembly language”, these are the low level instructions that the physical hardware of your computer understands. You could write programs in those languages, but frankly, it is a very slow process at best, and most of the time, there is no need to use a language so granular as that.

What is C#?

C# is a programming language that follows a general series of structural rules and approaches that make up what is known as the C family of languages. These languages include: C, Objective C, C Sharp and C++. The structure of the code written in these languages (referred to as their syntax) is relatively similar, but while some (C Sharp and Objective C) are relatively easy to use, others (C and C++) are far more elaborate. The complex languages are commonly used for building the operating software of your computer (Windows, Mac OS, etc), advanced video game development, and especially intensive mathematical or scientific programming.

There are a lot of other languages that also share the style and format common to the C languages, so once you’ve started using this format, it becomes much easier to start learning the other languages.

Why are there so many other languages if they all work in such a similar fashion? In addition to the uses I mentioned above, some of the languages are specific to working on certain platforms (Windows, MacOS, iOS, Android, etc) and some of them are meant for uses for specific types of development (desktop applications, websites, mobile device applications, and more). As a result, different languages evolved to specifically handle those various needs.

Think of it this way: why are there so many different types of road vehicles? Cars, pickup trucks, tractor trailers, tanker trucks, fire trucks… each of these vehicles serves a different purpose; they are used for personal transportation, moving heavy loads, or carrying the equipment to handle emergencies. I doubt very much that you’d want to try to plow snow in a place like Buffalo, NY or Denver, CO with a small sports car with a giant plow mounted on it. By the same token, you aren’t going to be taking a person who was in an serious accident to a hospital using your motorcycle.

Setting up an IDE

While it is possible to write the code for most languages in a simple tool like Notepad or another simple text editor, the fact is that you’d need another set of tools to actually perform the steps for compiling that code into an application; and the process can be lengthy, to the point that it can be a nightmare to manage.

It can be done that way, but it’s a painful process. Fortunately, there is a much easier alternative; the IDE – Integrated Development Environment. An IDE is a program that is generally graphical in nature that allows you to write your code, correct syntax errors (like spell check in a word processor), and test and fix logic (debugging). An IDE will almost always come with a compiler (or will help you to set up an external compiler program) that will then take your code and perform the necessary transformation into an actual program. In more advanced IDEs, they may have built-in tools to help you optimize your program, connect to other systems for more extensive development, and provide many more features to make advanced development much easier to handle. One of the best features of an IDE is that they usually perform things like syntax highlighting and color coding – they will actually display the language with colors to help denote what you’re seeing, which makes it easier to tell if you’ve made a mistake.

There are many IDEs on the market today. Some can be VERY expensive, and others are free. In some cases, like the one we’ll use, there is a free edition and more advanced professional versions you can upgrade to if you need the advanced functionality. Chances are, if you’re working through this material, you’re not a professional, so the free edition is all you need. In that case, you can use the tool I’m introducing here.

Microsoft Visual Studio Community Edition

Microsoft released Visual Studio was first introduced in 1997, and supported several languages. At the time, there were only professional or enterprise versions of the software. Since then, Microsoft has released many updates and new versions to the software. As of now (February 2020) the most recent stable build is Visual Studio 2019.

One of the great things about Visual Studio is that there are versions for all of the major computer platforms, so you can technically develop along the same vein if you’re an Apple user instead of a Windows person. There is a catch, however. You are limited to the types of projects you can do outside of Windows. Simply put, the graphical applications you use on a Mac require libraries and functionality that is different from Windows, so if you want to write applications for Apple machines, you’ll need to do a bit more.

Getting Up and Running

For now, I am going to run with the assumption that you’re a Windows user. Keep in mind, if you have a relatively modern Mac, there are options to set up Windows on the machine. One approach is to use a Virtual Machine. This is a program that lets you create a “virtual” computer that resides on your physical machine. In essence, you simulate having a computer with it’s own disk space, memory, programs, etc. That machine can be turned on and off at will and can be set up with any number of different operating systems and virtual hardware configurations. The best part about a virtual machine is if you royally screw up, you can delete the copy of the system and build a new copy. That approach to doing all this is beyond the scope of this article, but you can easily find a TON of information on the topic by going through you’re preferred search engine and looking for the term Windows virtual machine on MacOS, or Linux, or whatever you may be using.

But assuming that you are either on a Windows machine or at least a virtual machine, we can get ourselves started. Go to your preferred search engine and look for “microsoft visual studio community edition” or you can go directly to https://visualstudio.microsoft.com/downloads/.

Select the option to download Visual Studio Community edition. The file that downloads will help you set up the program, so once it finishes downloading, open it and you’ll get a screen that contains a list of options.

It will then be replaced with the following:

These are the general groups of components you can install. If you have the room, you can feel free to install the whole package, but that’ll take up a SIGNIFICANT amount of space on your hard drive, so check to make sure you have the space to do that. As you click on options, a small label at the bottom of this screen will tell you how much space is required. If you check against your C drive, you’ll see how much you have available.

Start by selecting .NET desktop development, Universal Windows Platform Development, Data storage and processing, and .NET Core cross-platform development. Then, up near the top, you’ll see “Individual Components”. Click this and you’ll get a VERY long list of individual features.

Make sure to check all of the options in the images above. There are actually more options beyond that third image, but we don’t need to concern ourselves with that for now. In the lower right-hand corner of the window is a drop-down box that will default to Install while downloading; the other options is Download all, then install. In theory, if you have a slower machine / connection, the second option is better, because it won’t slow down the overall function of your machine trying to do both at the same time. Now, just click the “Install” button to the right and the process will start running.

This will take a while, especially depending on your connection and computer. I hope you’re not still on a dial-up connection. There’s a LOT there to download and you’ll be at it all day. If you’re on a better connection though, the typical install time is somewhere between 5 minutes and half-an-hour. You can do something else in the meantime; maybe read and try my article on baking a loaf of bread; or if you do have that slow connection, consider something that’ll take a bit more time… like learning to play the violin flawlessly, or drafting a workable peace plan for the entire world. OK, I’m just kidding, those things aren’t nearly as slow-moving as a dial-up internet connection.

Wait, what if I need something else?

The nice thing about the setup for Visual Studio is that you can always add on functionality later on if you need some additional tools or libraries. If you used the pictures above as a guide, though, that’s it! You’re ready to go.

Conclusion

If you’re disappointed that you didn’t actually write a program, don’t be! You can’t learn to write software if you don’t have the tools to do it properly; and you want to learn to do this properly, so one thing at a time. In my next article, I’ll give an overview of the program we just installed; then we’ll make a simple console app. It won’t do much, but it’ll hopefully start you on the path to having a neat hobby and some useful skills.

One Month Later…

Well, if you’ve been following my posts lately (and judging by the site tracking, you haven’t)… wait, I haven’t MADE any blog posts in nearly a month. OK, I will level with you, I just was too preoccupied with work and household stuff to get to much here; so it’s really no surprise that my traffic took a nose-dive, because my work on this site did first.

Right now I’m in the process of getting another site project wrapped up, so for at least a little while longer, there won’t be much to see. I haven’t really had an opportunity to do anything with the West Seneca Valley Railroad; I definitely don’t do woodworking during this time of year (winter is NOT a great time for me to try this stuff without a proper shop environment)… so that leaves me with time in the kitchen.

I’ve tried out a few small new things recently. I have improved on the approach I take to doing cinnamon rolls; mostly I just do them as freestanding rolls now instead of in one of those pan setups.

I’ve made some sour cream glazed donuts which turned out quite nicely, some pizza dough that was not too shabby, and I’ve pretty much stopped buying any bread at stores. I’m not supposed to have much of that anyway, but since the kids still can have some, the home-made stuff is a lot better than having God-knows-what stuff put into the bread in factories.

So anyway, I’m going to try to wrap up some work I have pending now and maybe in a month or so I’ll be able to get back to something else more – interesting. I’ll try to post up some other things in the mean time.

One side-note, I have been playing around with the Unity development engine, just for fun, so when I have a bit of time and experience, I might try my hand at making a small game. If I do, I’ll post it up for download from the site.

That’s it for now.

Back in the Kitchen

It’s been some time since I’ve done anything on here; 3 major projects have occupied ALL of my time lately, so I haven’t had a chance to do much for hobbies since before the new year.

Fortunately, all three projects wrapped up more-or-less at the same time, so my weekends and evenings are a bit more freed up, finally. I intend to get back to the trains soon, and now that I’m past this major hurdle of work, I’m going back to working out more.

And I’m getting back to spending time in the kitchen. It took a while to get a good stretch of time for doing this stuff; it’s not that any of the recipes I have takes a particularly long time to set up; most of them are under 20 minutes. The problem is that I wouldn’t have a second period of time in the same day (or the following morning) to conclude the process.

So while I was trying to get all of my work out of the way, this was on hold.

This weekend I got back in the kitchen, and after a bit of planning and prep, I popped out a few new(ish) recipes. I say new(ish) because the one is a rehash of a recipe I’ve already done before; the other two are completely new for me, but it’s not like I came up with these entirely on my own. I spent some time reading up on a few articles on Pinterest and going through the material of Steve Gamelin. For those of you who are not familiar with Steve, he has a channel on YouTube and some great books on Amazon (available for Kindle / Kindle Unlimited) that really teach the art of making great breads without insane effort.

That is great for me, because I don’t have so much time that I can just focus on nothing but baking; but I can produce some excellent quality baked goods to go along with all of my other types of cooking. And the result is nothing short of fantastic; at least, that’s what my family and co-workers told me.

I’ll include the links to Steve’s materials down below, and I will write at length about the individual projects in the near future; but for now, here’s a few shots of the results of a weekend back in the kitchen.

Upper left is the Emile Henry loaf pan my mom got me last year. It took me until now to get to use it because of those aforementioned projects taking up so much of my time. Now that my time is freed up, I’ll be putting that to a LOT more use. the next two shots are the loaf that came out of that pan. That’s a Steve Gamelin recipe, tweaked slightly and doubled to make proper use of that pan. It’s a dense, filling bread, and everyone who’s had a piece said it was fantastic. So I guess I got that right.

Next are two shots of a recipe I found on Pinterest. I’ll post up my information on that soon; it’s an Apple Cinnamon loaf. It took two tries, and it reinforced the important fact that you need to be ready to adjust things for each oven. Still, the recipe was amazing and was a hit with everyone.

Finally, a second Steve recipe, “Turbo” Cinnamon Rolls. They’re turbo because you use more yeast to cut down on the time for the rise. Rather than the minimum 8 hours, you can get these ready in as little as 2.5. It took me more like 3.5, but that was part of me learning how to do those little ones.

So that was my weekend of baking. I also will note that Kelly took her first stab at soldering and did a bunch of the connectors for the train layout. She did a great job, so I’ll write a post about that soon, too.

Check back soon for more updates, including (hopefully) a re-design on the site.

Steve Gramelin on Amazon
https://amzn.to/30W875X

Steve Gramelin on YouTube
https://bit.ly/3aIAtF8

Update Coming

I only have a few minutes to spare, but I did want to post an update; the kids and I managed to get wiring for the West Seneca Valley Railroad’s main bus completed for two of the four tables. We have power feeds installed in the lead-up to Mary Ann Junction, and the entirety of the yard and engine facilities now is fully powered.

The Atlas MP-15 locomotive is still functioning well after the initial lubrication job. I’ll probably do one last dab of the 106 grease this upcoming week, but I want to let it have a bit more break-in time before I determine whether or not to do any more.

Eli has gotten a good handle on soldering, and Caidi is up for more work this week; I’m putting together footage I’ve recorded on how we’re wiring the power bus. That should be up after next weekend when I’m on vacation. I’m a bit behind on what I wanted to do, but I think with a bit of time coming up, I can be through all of that, and then start handling the plastering work, finally. Possibly we’ll also build the turnout control panel for Charlottesville.

Keep an eye out for updates after December 26th. Until then, Happy Holidays!

Oiled and lubed up!

You can rest easy, knowing that this will NOT be a gross article. It’s a (surprise) model train post. It’s also NOT a marketing ploy, a sales pitch or anything else of that nature. It is, instead, just a basic review of a product that I put to use for the first time. I am so impressed with what it accomplished that I feel compelled to write an article on it. I will follow up in 90 days and let everyone know how things are working out, but based on my experiences, and reading other reviews and discussions, I’m fairly certain I will be another advocate for these products.

I am writing about Labelle Lubricants. These products are available from many hobby shops and on-line retailers; they’re actually meant for many hobbies – model airplanes, cars; essentially anything that makes use of small motors and gears can benefit from these products. And the selection of products is very large; some are general purpose, some are meant for specific applications.

I purchased 3 different lubricants that are made specifically (more or less) for model trains. I can speak to the 2 I’ve used so far, though I’m sure the 3rd would also be an excellent product. If I put it to use at some point, I’ll make mention of it as well.

This all started about 4 months ago. I purchased an Atlas MP-15 locomotive (N-Scale, of course) in the Conrail colors; road number is 9625 (model number 40003833 in their catalog). Now I’ll start out by saying this little engine is a beautiful model. I’m no rivet counter, but I’ll gladly say that I was looking forward to having this gem on my layout, and when it arrived, I was very excited. I have the DCC unit, and the decoder was already installed; I programmed the road number and put it on my test track (this was before i had my layout built up to a semi-running condition). The lights came on, and I set the throttle to 10… nothing happened. I bumped it to 20 and it started moving and screeched like a banshee. It was a horribly unpleasant sound, and I immediately stopped the locomotive. I double checked the manual; there were no real instructions except how to disassemble the engine, should the need arise. It was supposed to be lubricated already.

I tried again, double checking to make sure it was fully on the rails. It was. And once again, it screeched and shook down the rails. And I mean it really shook. Like it was lurching to move every step of the way.

So now I was not happy. This was a locomotive I wanted for my collection for a while; my son wanted to see an actual switcher on the layout, and neither of us was happy to see this beautiful looking machine struggle. I took the locomotive apart and tested it all the way down to the motor. The motor ran fine. The bearing blocks were running well, and individually, I could roll the trucks back and forth on a track with no indication of binding or struggle. In fact, i could nudge them and they rolled smoothly on a piece of track until they lost momentum.

That left the worm gear that transfers the power to the trucks. And I could see, they looked dry as a bone in the desert. So now I was pretty sure that whatever lubricants had been put on were a source of the problem; at least in part.

Some reading on-line had led me to understand that, sometimes, Atlas locomotives will arrive requiring re-lubrication, either on the bearing blocks or the work gear attached to the motor drive shaft. It’s nothing wrong with the product as a whole, but it does happen. Also, though, sometimes it was a matter that the locomotive needed a break-in period. I gave it about two hours of running time over the next month or so, and at lower speeds, the screeching wasn’t so bad, but the halting, jerky motions did NOT really improve.

I put the locomotive aside and promised I’d get back to it as soon as I could; after doing a bit of research and discussing the issue on a few forums, I decided I’d get a Labelle lubricant package as soon as my budget would permit and see if that helped any.

Fast forward to about a week ago. I had a coupon for $20 at Model Train Stuff (http://www.modeltrainstuff.com) and I figured, now was as good a time as any to get the stuff and see if I could get this desired but under-performing locomotive to work better. Besides, I also wanted some track cleaning supplies, and you never know if you might not need the oils or lubricants at some other point.

I purchased one each of Labelle 102 (Medium viscosity gear oil), 106 (Plastic-compatible grease) and 108 (Multi-purpose oil, light). When they came in, I immediately took them downstairs and sat down with the little locomotive, hoping this would do the truck. I disassembled the trucks (since the bearing blocks seemed fine, I didn’t worry about those for now) and made sure I could see the work gears inside of the frame.

I cleaned the gears that were exposed on the truck (I didn’t take it all the way apart; I didn’t want to go nuts right away) using a small piece of paper towel, then proceeded to apply a few drops of the 102 gear oil to the exposed gears on each truck. I rolled them back and forth on a segment of track, wiped the track down with some Isopropyl alcohol (to make sure nothing in excess ended up on the rails) and reassembled the locomotive.

I double checked everything and put it on the rails; she fired up and started moving. It was smoother, but there was still a bit of that annoying screech. OK, well, the oil seemed to help the gears on the trucks a bit more. They were OK when I got it, but it seemed a bit smoother. Maybe that worm gear needed something as well.

This is where I got out the second product, the 106 gear grease. The instructions say to put a small dab of it (they said pea sized, but I used a bit less since I have n-scale) and to move the gears so that it coats them evenly. Then I put a dab on the worm gear. There’s no real way for me to turn it, but I figured that running might help it work into the gear a bit. I reassembled the locomotive again (really just putting the trucks back on) and took it back over to the layout.

WOW! The screech was still a tiny bit there, but it was dramatically reduced. I only heard a touch of it as I went over 65% on my throttle. I had read the instructions, and it said after running it a bit, apply one more small dab to the gears that seemed to be the issue, and run it again.

So I took it apart one more time, put another small dab on the work drive, reattached it, and went back to the table. Smooth. No screech. The locomotive was gliding along with almost no sound whatsoever. HOLY COW, THIS WORKED!

Now understand, folks; I am a novice to a lot of this stuff. I made it my goal to learn how to operate my models effectively and efficiently. I knew about cleaning the track, and the wheels whenever possible. On small scales like N, this is especially important because the contact areas are tiny. That being said, I had never done a lubricant job on a locomotive before. Well, not effectively, anyway. I had one other engine that I’d tried to do this with about 4 years back, but the dust that built up in that apartment so often never helped the situation much.

But to get this locomotive and cringe about the noise made me fearful that it was about to happen again. Nope! I know now, the first thing to try if I have issues in the future is to clean the wheels, clean the gears and apply the lubricants I have. And chances are this will resolve everything. I’m not saying that there aren’t other things that can contribute to an engine having issues, but if you get halting, jerky motion accompanied by undesired sound, you may be suffering from inadequate lubricant on the moving parts. Check that first.

Now the 108 light oil I didn’t put to use, but if I understand it correctly, this is the stuff I’d use for axle issues and for the bearing blocks inside of the locomotive (the ones that the drive shaft from the motor spin in). Since I didn’t try that as of yet, I’m not going to say anything one way or the other. But again, I’ve read that the product is brilliant and having seen the quality and effect of the 102 and 106 product, I’m inclined to trust it should the need arise.

Now folks, I’m going to repeat this here. I am not being paid to review a product; I didn’t get any offers for a free product if I write up a review. I went on advice from a few people and put out the money to buy these products. Well, sort of. That $20 coupon made the cost about just the shipping and nothing else. I would consider it a great buy even without that coupon though. $20 worth of product and a locomotive is running super smooth. You can buy these products individually, or as a pack; when I went shopping for them, the packs were all sold out, but the difference in price was pretty much nil. I will tell you this; you can search all you want, but I will use this product from now on whenever maintenance is needed.

In a few days, I will follow up on the engine and see if I have to apply a bit more of the grease. One person said it might be a good idea since it takes time to work it’s way in everywhere, but he also said to make sure I don’t over-grease it. So I’ll check it, apply a bit more if needed, and run it as much as I can. In about 3 months, I’ll post an update on this about my further experience.

However, if you are experiencing issues with running, especially small scale locomotives, do not hesitate to check this stuff out. Again, the products are listed below, and I bought mine from M.B. Klein on http://www.modeltrainstuff.com

  • Labelle 102 – Gear Lubricant
  • Labelle 106 – Grease with PFTE
  • Labelle 108 – Light Oil

The price for each is normally $9.69, though it’s less on the M.B. Klein site. If you get the kit pack, it’s $29.07 (again, less on M.B. Klein) but even if you can’t find the kit, it’s a difference of about $0.08. Not really a concern.

A bit of clean-up

Unfortunately, this wasn’t a weekend with time for me to get much done. I’m not complaining, just staying fact. There was a lot to do, so this weekend didn’t see any big progress on the wiring. Still, though, I didn’t want to go without doing anything, so I took a break for about two hours and just did a quick project to tidy up a bit on the layout.

I’ve installed one of the two Digitrax UP5 panels into the front board of a table. No longer do I have my power supply and command station perched on the edge of the layout with cables dangling everywhere. Now I have that stuff sitting under Mary Ann Junction, where I will eventually build a self in; in time I will also add in my other UP5 on the other end of the layout, and a UR92 radio transceiver so I can make use of wireless controllers.

It’s not much, but for the moment, it cleans up a bit around the layout, so it was beneficial, and still counts as progress for me.

Some wiring work done

I managed to squeeze in some time this weekend, working on the West Seneca Valley Railroad. In the process, I managed to get one entire table almost entirely wired up. I might add a few more feeders in sections, but I can say that the yard table is done. The next section will be where the engine service facility and yard lead / consist track are will be starting. I’m hoping I’ll get to this by week’s end, but a large collection of work projects means it’ll be a bit of time to get to that – it might not be until next weekend that I can work on this more. But for now, here is some footage of the updates.

Track Plan: Details and Parts

I had a few people ask me recently for a list of parts and a detailed layout plan. This is thrown together and stitched using Photoshop. I’m hoping to do a cleaner version at some point, but hopefully for now this will suffice for anyone who has questions.

Kato Part NumberKato Part Description (Name)Count
20‑000S24896
20‑010S18624
20‑020S12417
20‑030S6412
20‑032U649
20‑040S6211
20‑048B50C24
20‑070S461
20‑071S294
20‑100R249‑454
20‑101R249‑152
20‑110R282‑4514
20‑120R315‑458
20‑150R718‑154
20‑160R481‑1516
20‑202EP718‑15L7
20‑203EP718‑15R6
20‑210WX3101
20‑220EP481‑15L14
20‑221EP481‑15R8
20‑222EP481‑15Y1
20‑434S248B/black1
20‑438DS248B/black1
20‑464S124B/black1
s60lS60L12
s60rS60R10

Review: LETSCOM Bluetooth Headphones

I really meant to write this review a few months back, but I got sidetracked by more important things and couldn’t get back to it before now. Fortunately, I have the time that I didn’t have before, so I can do this now.

Back in the beginning of September, just as I started to get active again, I realized one of the things that I struggled with when it came to exercising is that I need to distract myself from the fact that I am, in fact, exercising.

I’ll be honest in saying I don’t generally enjoy working out, especially when I am first starting to do so. It’s been even worse since I’m almost 40, and pretty heavy to boot. However, I have discovered that one thing that helps me get through exercise is to have some sort of distraction; especially music and / or videos to watch.

Video is tricky because, while I can use my phone, it only really works for a treadmill or bike, and stationary bikes are annoying to me, so that leaves me with the treadmill. And the problem there is that with such a small screen, you’re bouncing too much to really be able to concentrate on what you are watching, especially once you get above 3 miles an hour.

So that leaves music.

I personally love big headphones for music. Frankly, I prefer the feel of having something over my ears, and not in them. Still, it’s not comfortable or easy to use such headphones when you exercise. They might be OK on a treadmill, but forget it for anything else. They’re big, bulky, and it just really won’t work right.

Most ear buds are a problem, too. Due to the way my ears are shaped, I’ve never really had a set of earbuds that could stay in. One or both of them would drop out, or I have to push them so far in that it’s really uncomfortable. So It’s been a nightmare to find anything that works effectively. Until I got the Letscom IXP7 sports buds. The reason these work so well for me is that they have a very comfortable over-the-ear clasp that really works great for me.

In addition, the buds are wireless, Bluetooth, and come with 4 different size earpiece covers (sorry, I don’t know the official name of these parts) that allow for a snug but VERY comfortable fit, and make the sound absolutely fantastic. The quality of the audio is amazing, especially considering the price tag (as of this writing, you can buy them on Amazon for around $17. They’re apparently waterproof for being out in the rain and coping with sweat. I can’t speak to the rain thing, since I don’t enjoy getting soaked when I’m exercising, but I do sweat like you wouldn’t believe, and nothing more than a quick wipe off with a damp paper towel gets them nice and clean.

No, these are not Apple AirPods Pro, but for the price, they do exactly what I want them to do, and they do it well. So are they going to compare to higher cost units? Maybe… maybe not. If you really want some premium sound, you might look at a higher-end unit. But don’t dismiss these as a poor product. Frankly, I love these things, and I consider this a fantastic purchase that I intend to use a lot.

As a quick side note on that, I walk almost every day at work for 30 – 60 minutes. I typically charge them once a week, and I also use them at other times, too. So the battery life is fantastic, and again, for this price, even if they only last me two years, I feel like I got my money’s worth.

Make sure to check them out on Amazon. Available in a number of colors. I bought green on black.