Building a REX
Introduction
Building a REX, BKW version.
This is essentially a REX1 with a modified pcb layout from Steven Adolph's original.
Electrically identical.
Software identical.
PCB shaped to snap into a 3d-printed carrier, and provide connections for power and PORT_EN for programming the CPLD.
Original version of this page, for building the original REX1
Parts & Materials
- PCB: https://oshpark.com/shared_projects/DKF7eN1c
- BOM: https://www.digikey.com/short/pbn7vw
- Sled: http://shpws.me/RngB
Other Compatible Flash Chips and how to identify them
Tools & Software
- Cheap clone Xilinx Platform USB programmer.
- https://www.ebay.com/sch/i.html?_nkw=xilinx+usb&_sop=15
- Look at the pictures for ones that say model DLC9G preferrably, or DLC9LP. Don't put "DLC9G" or "DLC9LP" in the search, you will only get the overpriced ones.
- Get one that includes a "flying leads" cable, with separate loose individual wires on one end.
- 5v power source (actually anything 3.3 to 5v)
- https://www.ebay.com/sch/i.html?_nkw=usb+ttl+cable&_sop=15
- A cheap usb-ttl cable is perfect. It's cheap, and already ends in loose wires with female dupont pins.
- Just use the red and black wires and ignore the rest.
- PC with at least one usb port, and a COM port or usb-serial adapter.
- Sandpaper, medium grit (120 or so), and a hard flat surface like a cutting board.
- Do not necessarily need anything fancy. I actually used this exact one to build a few REXs, although now I use a Hakko FX-888D.
- Or the strongest reading glasses you can get at a local drug store. 3.00x or higher.
- 0.1" (2.54mm) pitch
- You only need 10 pins. Break off a section of 6 pins, and a section of 4 pins.
- A Tandy Model 100, 102, or 200.
- Xilinx ISE 14.7 or ISE 14.7 LabTools software
- You only need the iMPACT tool, and that is included in the Lab Tools package, which is a much smaller subset of the full ISE package. If all you want to do is program this chip, then just get Lab Tools.
- This software is old and needs special futzing to make it work, no matter what OS you are using.
- Installing on Ubuntu Linux
- Installing on Windows.
- A DOS (aka TPDD client) for the M100
- There are several dos's, and several ways to get one installed. These are a few options:
- Get dlplus and use the "teeny" installer that comes with it to install Teeny.
- Get mComm for Windows or Android and use the dos installer that comes with it to install either Teeny or TS-DOS.
- Get the ts-dos mp3 and play it from a phone into the cassette port to install TS-DOS. Go into BASIC and type: SOUND OFF:CLEAR 0,57089:RUNM "CAS:DOS100.CO"
- Get a real tpdd and bootstrap it's utility disk to install "Floppy".
The rex firmware updater needs a TPDD server. dlplus and mComm above are both tpdd servers, which come with tpdd client installers, and previously you used to be able to just use those for the tpdd server as well. But there is a bug in the latest REX build 254 files, such that it only works (reliably) with LaddieAlpha as the TPDD server. But LaddieAlpha does not come with any dos installer, and so right now it's a bit inconvenient. You have to get one of the above packages just to use it's dos installer, and then you have to get LaddieAlpha also and use it for the rest of the rex setup process.
Directons
Prep the Bare PCB
Lay a piece of medium grit (100-200) sandpaper face up on a hard flat surface like a cutting board.
Sand the edges of the PCB on the sandpaper just enough to clean off the panelization break-away points.
Use magnification to look closely at the castellated edge contacts for copper or gold "flags" hanging on the edge of most contacts. Scrape them off with an xacto knife.
Solder the Electronic Components
Solder these parts onto the matching labeled locations on the pcb.
- U1 = XCR3064XL
- U2 = 29F800 (on the back side)
- U3 = LP2980
- R1 = 10K ohm
- C1 = 1.0 uF
- TP1 & TP2 = right-angle pin (optional)
Don't be too intimidated by the tiny legs on that TSOP-48 chip.
Just use magnifying glasses, lots of flux, and the DRAG TECHNIQUE.
Another example: https://youtu.be/09qb0KY_IF4
The TP1 and TP2 pins are only needed if you think you will ever perform the hardware modification required to use the main rom management feature.
Clean the Finished PCB
Even "No-Clean" flux should still be removed as much as possible after soldering. But without an ultrasonic cleaner, it is just about impossible to get the flux cleaned out from under the chips. So, using no-clean just means the flux that inevitably isn't removed, won't be too harmful. Use 99% isopropyl alcohol and a small paint brush to wash the flux off.
Program the CPLD
Now we need to flash the CPLD (Xilinx) with the .jed file. This configures the blank CPLD into a functional circuit that actually does something.
- Get the .jed file from here.
- Connect the jtag, 5vdc, and PORT_EN jumper.
Snap the PCB Into the Carrier
Place the end of the PCB without the hole into the carrier first, then snap the rest of it in.
Flash the Firmware
Install the REX into a Model 100, 102, or 200.
Follow the 4.9 update directions to load the firmware.
The directions for the 4.9 update state that you use any tpdd device to serve the 3 files to the M100/T102/T200, but in fact at least at present, it does not work with actual tpdd1 or tpdd2 drives at all, and is not reliable with just any tpdd server either. You must use specifically LaddieAlpha.
TODO: Document this more fully, but here is a bullet list.
- Get a proper serial cable
- Install a TPDD client on the M100/T102/T200: Any, teeny, floppy, ts-dos. If you don't have anything already, then get the "dlplus" zip file and run the teeny installer that comes with it.
- Get LaddieAlpha onto a PC.
- Get the 3 update files.
- Run LaddieAlpha in the dir with the 3 update files.
- Use whatever TPDD client you installed on the M100 to copy rf149.co to the M100.
- Run rf149.co on the M100.
Until this part of the directions is improved, there are several pictures of the full process here: https://photos.app.goo.gl/aNfjvB1XucSehPGB9
Done!
That was the last step. You're done! Consult the REX docs to start using it!
References
Version c6 pcb, pcb is obsolete, but has pics of the Firmware flash process
Version c8 pcb, more pics of building the current version
Original sources and support files