{"product_id":"open-source-dcc-locomotive-decoder","title":"Open Source DCC Locomotive decoder","description":"\u003cp\u003eThe Open Source DCC Locomotive Decoder is \u003cspan\u003ebuilt on an open-source platform, designed for hobbyists who want the ability to customise, enhance, and evolve their model railroad systems. It is\u003c\/span\u003e powered by the \u003cstrong\u003eRP2040\u003c\/strong\u003e microcontroller from the Raspberry Pi Foundation, providing high-performance and different control schemes.\u003c\/p\u003e\n\u003cp\u003eIt is fully compatible with DCC standards, and features advanced PID motor control for smooth acceleration, deceleration, and maintaining speed under varying loads. Programmable outputs provide realistic sound and lighting effects, and the open-source software, built on Raspberry Pi’s C-SDK, allows complete customisation of your model locomotive. With community support and continuous upgrades, it keeps your system future-proof with the latest features and improvements.\u003c\/p\u003e\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMicrocontroller: RP2040 by the Raspberry Pi Foundation.\u003c\/li\u003e\n\u003cli\u003eCompatibility: Fully compatible with DCC standards.\u003c\/li\u003e\n\u003cli\u003eProgramming: Open-source software built on top of Raspberry Pi’s C-SDK.\u003c\/li\u003e\n\u003cli\u003eMotor Control: Advanced PID control for maintaining speed under different loads as well as smooth acceleration and deceleration.\u003c\/li\u003e\n\u003cli\u003eSound and Lighting: Programmable outputs for realistic lighting effects.\u003c\/li\u003e\n\u003cli\u003eSound: Not yet, but with direct access to some GPIO’s and the source code anyone can have a stab at it.\u003c\/li\u003e\n\u003cli\u003eConnectivity: Supports additional sensors and actuators for extended functionality.\u003c\/li\u003e\n\u003cli\u003eCommunity: Access to a vibrant community for support, ideas, and collaboration.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eSpecifications\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMemory: 264KB of SRAM, and 8MB of onboard Flash memory.\u003c\/li\u003e\n\u003cli\u003eCore: Dual-core ARM Cortex-M0+ processor, up to 133 MHz, overclockable (how is that even a word) to 250MHz.\u003c\/li\u003e\n\u003cli\u003eInput\/Output: 6 Digital I\/O logic IO signals and 4 30V\/450mA outputs.\u003c\/li\u003e\n\u003cli\u003eCommunication: UART, I2C, SPI can be configured for communication with external devices.\u003c\/li\u003e\n\u003cli\u003eDimensions: Compact form factor (20x25mm) for easy integration into model locomotives.\u003c\/li\u003e\n\u003cli\u003eMotor current: 2.8A max continuous, with motor driver mounted to chassis.\u003c\/li\u003e\n\u003cli\u003ePCB:\n\u003cul\u003e\n\u003cli\u003e4-layer board with solid ground plane for improved heat distribution.\u003c\/li\u003e\n\u003cli\u003eBig solder pads for easy soldering of wires to the PCB.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003eWeight: 8g\u003c\/li\u003e\n\u003cli\u003eDimensions: 2.5 x 2 x 0.5 cm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eFirmware\u003c\/h3\u003e\n\u003cp\u003eThe device is flashed with the latest available firmware at the time of shipping so if you are just aiming to run the decoder you can do so.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eLocomotive Control: Precise control over speed, direction, and operational characteristics.\u003c\/li\u003e\n\u003cli\u003eEnvironmental Effects: Dynamic control of lighting to enhance realism.\u003c\/li\u003e\n\u003cli\u003eAutomation: Integration with sensors for automated control scenarios and feedback.\u003c\/li\u003e\n\u003cli\u003eDynamic GPIO control: Allows you to dynamically assign GPIO functions using CV’s.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eGetting Started\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe OpenDec02 board is based on Gabriel Koppenstein's open-source project found \u003ca href=\"https:\/\/github.com\/gab-k\/RP2040-Decoder\"\u003ehere\u003c\/a\u003e. All kudos for this project goes to Gabriel, the only thing we have added is an optimised layout and our knowledge in production. His GitHub pages describe the architecture and how to work with the device in a very clear manner.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eOn our boards we have brought out the D+\/D- signals for the USB interface which can simplify flashing of the device when we produce them in bulk. Feel free to use them any way you want. A cut-off USB cable can be used to connect with the device, remember though that the USB stack causes overhead which can conflict with the tight timing of the DCC protocol decoder.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eResources\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/gab-k\/RP2040-Decoder\/wiki\" rel=\"noopener\" target=\"_blank\"\u003eArchitectural documents\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/usercontent.one\/wp\/ilabs.se\/wp-content\/uploads\/2024\/03\/98-00299-1.pdf?media=1689860297\" rel=\"noopener\" target=\"_blank\"\u003eSchematic\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/PontusO\/RP2040-Decoder\" rel=\"noopener\" target=\"_blank\"\u003eSoftware repository (Github)\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"iLabs","offers":[{"title":"Default Title","offer_id":50847368708369,"sku":"105896","price":15.2,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0901\/6285\/6209\/files\/open-source-dcc-locomotive-decoder-the-pi-hut-105896-42236870656195.jpg?v=1735211755","url":"https:\/\/abcd3032.myshopify.com\/hi\/products\/open-source-dcc-locomotive-decoder","provider":"Tayyab Zak","version":"1.0","type":"link"}