OpenLCB Dev Board Bootloader: So Far, No Love
The folks on the OpenLCB mailing list nailed the problem for me. Turns out the AT90CAN128 (and ATmega128) use different pins for application SPI, and ICSP SPI. Go figure. More detailed post to follow. And, here is the more detailed post with fix. Having some difficulties using ArduinoISP to upload my Arduino bootloader onto the AT90CAN128. I’ve double checked all the connections, but haven’t had any luck. Does anyone know what this error might portend? Would purchasing a JTAG programmer be of any use...
read moreIntroducing CmdrArduino: A Library for Building DCC Command Stations with Arduino
I’ve begun writing a library for Arduino that assists in making DCC command stations, called CmdrArduino. It is available for download or forking from github. CmdrArduino is meant as a middle-layer between the DCC waveform and the cab or cab network. The primary class, DCCPacketOrganizer, provides hooks for sending commands to the rails, such as setting a locomotive’s speed, or switching a turnout. DCCPacketOrganizer takes these commands, makes DCCPacket objects out of them, prioritizes them in queues, and sends packets from the queues to the rails. Right now, the code is...
read moreDCC Waveform Generation Arduino Sketch v.1
Update 8 Jan, 4:13PM: You are probably more interested in this: CmdrArduino. Update 13 Dec, 10:24AM: Hat-tip to Rob Heikens for spotting the bug. My sketch is now working; it’s included below in place of the old, broken code. The sketch below is a very basic demonstration of how to use Timer1 to generate a DCC waveform. The sketch puts DCC packets on the rails via Arduino pins 9 and 10; most are idle packets, but every 20th packet is an advanced operations packet that instructs the loco at address 03 to increase its speed by 1 until maximum speed is reached, at which point the speed is...
read more

Recent Comments