I was finally able to get my LEGO collection out of storage… and I realized how nice it would be to be able to program the LEGO RCX again as an adult and try to make some simple robots again…
The only problem is that all that hardware is ancient at this point… and finding any dev tools for the thing is probably going to be a bit of a pain…
But, luckily, people wrote a bunch of crap back in the day and apparently it’s still available via apt-get so that should be a good starting point:
apt-get install brickos brickos-docThe other problem I have is that I don’t actually have a one of the IR programming towers. But someone also tackled that problem in the past and it looks like it might be a pretty simple project to build out a tower using a simple PIC program.
So, I’m off to the races! I’ll post back if I get all the way to a finished project!
EDIT:
Well, that apt-get line installed all the tools correctly (as far as I can tell). The build system uses a version of gcc for the h8300 chip in the RCX so that should make development a bit easier. A little more work was needed to get a decent dev environment up and running:
mkdir ~/rcx_work cp -R /usr/share/doc/brickos/examples/demo ~/rcx_work/
cd demo/
gunzip trailerbot.c.gz
makeAnd then I could try sending the brickos firmware to the RCX using this block:
sudo firmdl3 --tty=/dev/usb/legousbtower0 /usr/lib/brickos/brickOS.srecAnd I should have then been able to send compiled RCX programs to the device using this block:
sudo dll --tty=/dev/usb/legousbtower0 sound.lxBut that failed because my attempt at making an IR tower from scratch failed. I don’t have an IR receiver module to complete the two way communication link yet. Once I get my hands on one, I’ll try this project again.
EDIT:
So! After a bit of waiting, and playing, and fiddling, I was able to put together a tiny Arduino shield that would act like an RCX tower! I’ve posted the project over on my GitHub account under the HardwareProjects repo, where I am storing a few of my hardware projects!
My first attempt at the board came back from OSHPark today and it had three bugs on it due to an off by one error on the header pins. I greenwired the board and now I can program the RCX with no issues! This is the command I’m using:
dll -t/dev/ttyUSB0 -p 1 ./rover.lxI’ve fixed these three errors and added the EAGLE files to the repo if other people want to make the board.
Now I just need to get the brickos stuff installed on a REAL machine instead of a tiny linux netbook…
The original, working, test circuit:

Notes on the schematic. I ditched the external FTDI once I got the board working. The one on the Arduino is enough…:

Working, fixed board!:

