Introducing DCC++ ---a complete open-source DCC station and interface

Gregg Aug 25, 2015

  1. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    I note that these posts are a little dated. This is where I landed using the JMRI site link. Is there a more populated thread [that I appear to be struggling to find] or a source of more up to date input? Thanks, R-
     
  2. Sumner

    Sumner TrainBoard Member

    325
    282
    6
    What type of DCC++ information are you seeking?

    Sumner
     
  3. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    I thought there would be more conversation about the system to be honest, it seems such a no brainer in terms of ease and cost but after initial launch - well, virtually no comment. As the system is open source I wonder where support [acknowledging that this would come from users] would come from?

    R-
     
  4. Keith Ledbetter

    Keith Ledbetter TrainBoard Member

    167
    115
    8
    Well there is tons and tons of info out there. It's not like this is the o ly thread. There are. Hundreds and lots more in other places but yes being open source it's very scattered and not well organized. The original creator fairly quickly left the scene which didn't help and so to my knowledge there has never been a concerted effort to pull and keep all the updates together and fresh etc. Unfortunately that's the life of open source. Some ends up being well supported documented etc and most end up like this. It's still great but it requires users to do a lot of research etc. On their own. Until someone wants to invest the massive amount of time and effort to do for the public good. In this since hou get what you pay ;)

    I would love it to me more controlled documented updated organized etc but who is going to do it. I know I dont have much time to donate to that cause.
     
  5. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    Hi Keith, thanks for the insight. I have to confess I have googled DCC++ until my fingers are sore and apart from the JMRI site [which is how I ended up here] and the DCC++ [somewhat limited] website I struggled to gather together sufficient information to assist the newbie to enter and deal with the subject - or anyone else for that matter.

    I suppose there must be a connection with JMRI for the links to be on that site but that and Github provide little basic “how to” type info.

    Are you a DCC++ user?

    R-
     
  6. Keith Ledbetter

    Keith Ledbetter TrainBoard Member

    167
    115
    8
    My suggestion would be to read through this thread. It gives you everything you need to succeed.
     
  7. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    Thank you, I have made a start with that but at 91 pages it is a bit time consuming. I will persevere. R-
     
  8. Sumner

    Sumner TrainBoard Member

    325
    282
    6
    [​IMG]

    Not sure if this is what you are looking for but if you are just interested in getting it up and running and using it I've put the links and such one needs to accomplish that here....

    http://1fatgmc.com/RailRoad/DCC/page-1.html

    They are what I used when I returned to the hobby this past year. At this point I'm not interested in modifying it, I just wanted to get it up so I could run trains. It isn't that hard to do if you go to the link above and follow the links that are provided,

    Sumner
     
  9. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    Ijust found that page this afternoon and I think it will be perfect for what I want to do just now. I can hopefully find out about the rest later. Right now I have an 8 month puppy taking up all my time and exhausting my patience. :LOL: Thank you. R-
     
  10. FlightRisk

    FlightRisk TrainBoard Member

    65
    19
    3
    I forked the DCC++ code and have been working on it. The way I see it, while there is at least one other fork I haven't spent a lot of time comparing, it started with Greg and then stopped in 2015. Mike (Atanisoft) picked it up and made some additions and changes, notably wifi support for the esp8266, support for I2C LCD screens, multiple interfaces into the basestation, ability to run multiple concurrent motor boards, improve the current monitoring/short circuit code, and changing it over to the PlatformIO IDE instead of the Arduino IDE. I am working on the PlatformIO code and added back the Arduino IDE version because it's easier for most people. I added support for other motor boards, support for the Nano instead of just the Uno and Mega, and changed the current monitoring code to be in milliamps instead of obtuse pin readings. I'm still checking things over before pushing it all up to Github.

    It would be nice is this was all in one place. I'm still trying to figure out how to use Git to handle 3 versions that all need to be updated together. The ESP build is different if people need to use the esp8266 for a wifi connection. I like the direct serial connection myself. The "main" Basestation version of DCC++ is identical for the PlatformIO and Arduino IDE, it is just the formatting of the project so it opens in the IDE of your choice. So I'm developing in PlatformIO and then just copying the files that change over to the Arduino IDE folder and then committing them separately into a new project folder in Github. I'm sure there is an easier way where files are shared between projects that if you make a change in one file, it gets added to the other files, but I haven't had time to figure that out. If anybody is also working on trying to maintain this code and has some ideas, I'm happy to listen. There should be a better way to organize it and I don't want to re-invent the wheel if someone else has done some work keeping up with its history.

    It is work mentioning that Atanisoft stopped working on the version I am working on to do a completely new version based on the ESP32 board, which is a tiny board like the Arduino Nano, but is 32bit, faster multi-core CPU, built in wifi and bluetooth, etc. You can find the thread here. I see it at the same time as the future and as a different market. I think we should maintain DCC++ because it works on the Uno/Nano/Mega, etc. 8 bit processors. People have a lot of them, they know them, and there is a lot of info on taking a board and sticking a motor shield on it, connecting it to JMRI and you are good to go. The ESP32 version will have its own custom board with everything on it for plug and play. So for a lot of people having 1 board with no soldering, cutting traces, adding jumpers, etc. will be a nice option. You could either use it with JMRI or use your phone or anything with a browser to be your throttle since Mike has written it to not need any other software. Certainly for non-tinkerers, when it is all fleshed out, that may the way to go.
     
    Atani, Roger Beschizza and vasilis like this.
  11. vasilis

    vasilis TrainBoard Member

    102
    36
    6
    (y)(y)The documentation is a challenge too with a lot of work. Its a pity so if so much work cannot be used because of lack of documentation.
     
  12. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    I agree completely. I am not technically minded so the ease of use [and, as I have retired, the low cost] made this a great choice for me. I operate DCC already - on a 10' x 2' end to end layout - using the Hornby Elite and Railmaster, but the loco detection element although spoken about many years ago is still to materialise. Train Controller is too expensive and too complicated for me.

    It is indeed a great shame that such a good project may just fall by the wayside through lack of organisation and coordination. The YouTube videos are great but only give part of the picture. As you say FlightRisk, not everyone is a tinkerer and a straightforward and simple guide on what is involved available in a single repository would be fantastic.

    As I have said I am retired now so could commit some time to pull the many elements together - but I would need help to find it all, work out what is missing, create the missing parts and establish a system for storing, retrieving and publishing it all.

    R-
     
  13. FlightRisk

    FlightRisk TrainBoard Member

    65
    19
    3
    I'm trying to update the code comments to be current with the changes and work on documentation. There was such a good start with Greg's files and videos, but it is just all over the place. I see some pull requests on the original DCC++ that were never put into the code. So I want to add them to the code I have. It may be hard because I am starting from Atani's version, which itself was a fork, but I think it can be done. I'll try to get in touch with one person in particular who made the most significant additions and must be running it on his setup. The trouble is I don't know all of the "standards" that could make this open and easy for others to maintain when someone drops out. Github should always have at least 2 people with supervisor rights to it and there should be an open Wiki for documentation. I'm hoping that if people can't help, they can at least offer ideas. Maybe the docs could just be a file that is part of the Github project. I've used Subversion in the past, so have a lot to learn about Git (and PlatformIO) and how to work in an open source environment so that everything can be maintained without having one person having to approve everything. Thanks for your offer to help Roger, certainly organizing what is out there is a great start. That's how I clean my garage; I pull everything out into a big pile to see what I'm dealing with and then throw some of it out and then label bins for the rest ;)
     
    vasilis and Roger Beschizza like this.
  14. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    Sounds as though you have a good head start on it - and I like the plain no nonsense [technical] way you write. Let me know if my limited capabilities will be of any assistance. R-
     
  15. Keith Ledbetter

    Keith Ledbetter TrainBoard Member

    167
    115
    8
    I do like the idea of pulling all the info together. Probably a wiki page with links to the github is best. I am more than happy to help do what I can. There is tons of good info out there on locoduino as well and good work by geoff bunza and Dave bodnar among many many others including some threads on this board around throttles etc that I think just needs pulled together. There is also a DCC++ library by Trusty that is nice.

    I also think key to document the issues such as known read/write code adjustments and threshold ack issues, current sense issues, etc. as these are keys to helping others. I honestly havent done a lot lately as was waiting to experiment with Atanis latest esp and custom board hardware but could certainly help pull info I know of together.
     
    vasilis likes this.
  16. Keith Ledbetter

    Keith Ledbetter TrainBoard Member

    167
    115
    8
    Lets start a new thread with reference material and links as a start then let's go from there.
     
    vasilis likes this.
  17. Roger Beschizza

    Roger Beschizza TrainBoard Member

    18
    1
    2
    Fantastic and very worthy of the system.

    I wonder if a listing like this would help us to know where we were and those new to the project to find their way around? R-
     
    Last edited: Feb 16, 2020 at 5:16 PM
  18. FlightRisk

    FlightRisk TrainBoard Member

    65
    19
    3
  19. Sumner

    Sumner TrainBoard Member

    325
    282
    6
    Good idea and I was going to post the following at the new link but didn't want to clutter it up. I feel it is good to post on a public forum but since threads there can get so cluttered with non-relevant posts I'd suggest somehow trying to keep it clean and only contain current chronological information. If you also posted the final findings in a thread that could only be modified by the relevant people that would be nice.

    The other option is to also post it on someone's private site that is open to the public, more than one person's personal or other train oriented site would be good. That way it could also be updated and just provide the steps require by someone new getting into DCC++ since no one else could post to it. I tried to do that to some degree on my site here...

    http://1fatgmc.com/RailRoad/DCC/page-1.html

    .... but I mainly have links there that to go to posts that will help a person setup DCC++ the first time. It would be better if it was presented on one continuous page with a step by step plan that someone who is not computer literate could follow and have success.

    Keep it as simple as possible so someone with minimum knowledge would be will go give it a try and would be successful. I wouldn't go into all of the motor shield options that one could use and other variations that would just be confusing to someone that only wants to get DCC++ up and running along with JMRI and Decoder Pro.

    If you wanted to go that route I would be willing to be one of the persons that would host the final step by step instructions. I'd suggest having it on more than one site in case an individual site goes down and disappears.

    I'm a little surprised that someone isn't offering an Arduino and motor shield along with a Raspberry Pi with JMRI loaded on it as a finish plug it in and run trains unit. Seems there would be a market for that I'm sure.

    Sumner
     
    Last edited: Feb 17, 2020 at 1:55 AM
  20. FlightRisk

    FlightRisk TrainBoard Member

    65
    19
    3
    Apologies to Gregg because I keep typing "Greg". Mr. Berman has 2 g's in his name ;)
     

Share This Page