I am going to use this page to document a project that I want to work on. Digital command control of trains can be very expensive. There are lots of ideas and pointers on the Internet for various Do-It-Yourself kits. Hopefully this site will be yet another portal that other DIY'ers will find useful.
I have my table built. It's a modular 8x4 made up of 4 2x4 tables with an extruded foam top. It looks to be a great place to start.
The wireless development kit from http://www.robotshop.ca finally arrived. There was no documentation or software of any kind but don't be concerned. Everything is available for download on the description page for the spark-fun transceiver development kit . I have what I need to get experimenting.There is even a link to a free C compiler. And they threw in a really cool pen. Thanks RobotShop!
The MERG DCC Page link is a great DYI site. It contains a very complete set of kits and specs from which to build on. Many of the designs are based on Microchip's PIC Microcontrollers.
National Model Railroad Association (NMRA) is the place to get the DCC specifications and protocol standards.
I will try to document my programming of the MCU. Hopefully some of this information will be helpful to others.
The Protocol
The protocol is interesting to parse. I found the standard hard to read at times. The address space is partitioned. There are baseline and extended mobile packets. There are also accessory decoder address spaces. It takes the two initial bits to partition the address of the DCC packet into accessory and mobile spaces. I think the protocol is a good place for me to start. I think I will redo the addressing so that it is more linear and use more of a network protocol suitable for wireless communications. I will attempt to have base-station gateway protocol that will convert to and from DCC and the wireless protocol. I will do my best to leverage the current DCC spec where ever possible.
I think that I will use a more linear addressing scheme that does not encode any information in it. I will use more data to explicitly state packet type using a higher degree of encapsulation. I think I should be able to get data to the devices faster than the current DCC spec.