Skip to content

BuildHardware

Mikael Hildenborg edited this page Jun 21, 2026 · 8 revisions

Hardware building

The design goals for the hardware:

  • Simple to build by hand.
  • No surface mount components.
  • Cheap and easy to find components.
  • Simple enough for breadboard build.

To fullfill those goals and the project goals, the following decisions was made:

  • Use of Raspberry Pico which is cheap and have very good software support as well as the excellent PIO's making bitbanging the ACSI interface much easier.
  • Use of a SD-MOD instead of surface mounted SD-Card slot.
  • Use of IDC connectors and flat cable for RS-232, removing the need to keep track of connector pins and individual cables.
  • RS-232 connector is DB-9 to require smaller flat cable, so a DB-9 to DB-25 adapter is needed for ST/STE.
  • ACSI connector is built using pins through the PCB. This is a workaround for the inexistent ACSI DB-19 connector.

Example of a device with a DB-9 to DB-25 adapter. Ready to use on a ST/STE: Atari-Link ST/STE example

Schematic

If you do not have KiCad installed to view the design files, then there is a pdf of the schematics if you need to have a closer look at something.

Parts needed

The PCB can be ordered from PCBWay.
NOTE!:
It is possible to order with components mounted, but do this on your own risk as no verification of proper mounting have been done!
RS-232 cable and ACSI pins are not part of the PCB components!
END NOTE

Parts list:

  • 4x electrolyte capacitors 0.1uF 50v
  • 3x ceramic capacitors 1uf
  • 8x resistors 47ohm (33ohm to 100ohm acceptable)
  • 2x resistors 10K ohm (2K ohm to 10K ohm acceptable)
  • 1x MAX3232
  • 1x 74LVC245 (must be LVC)
  • 1x 74LVC244 (must be LVC)
  • 1x Adafruit SD-Mod
  • 1x Raspberry Pico H (with headers)
  • 1x IDC header 2x5 male. Example.
  • 1x IDC flat cable connector 2x5 female. Example.
  • 1x DB-9 flat cable connector female. Example.
  • 1x 10 conductor flat cable. Example.
  • 1mm diameter wire or nails to use as ACSI pins.

Complete set of components

Build device steps

The steps building the device have been chosen from the assumption that the people needing this step by step guide are not experts and do not have expert equipment.

Step1 - mount resistors

There are eight 47ohm resistors that protect the data lines and should be soldered to the R1, R2, R3, R4, R5, R6, R7 and R8 positions.
There are also two 10K ohm resistors that are used as pullup resistors that should be soldered to R9 and R10 positions.
The PCB should look like this:
Resistors mounted

Step2 - mount IC's

The three IC's should be mounted as follows:
MAX3232 to position U1.
74LVC245 to position U2.
74LVC244 to position U5.
Be careful to place all IC's in the correct direction! Line up the notch in the IC with the symbol on the PCB like this:
IC closeup

When the IC's are soldered, the PCS should look like this:
IC closeup

Step3 - mount ceramic capacitors

There are three ceramic 1uf capacitors that are used as decoupling capacitors for the IC's. Solder them to the C5,C6 and C7 positions and make the PCB look like this:
Ceramics mounted

Step4 - mount electrolyte capacitors

There are four electrolyte capacitors used to charge pump current to RS-232 levels. They should be soldered to C1,C2,C3 and C4 positions, and the pins are positive and negative and must be placed in the correct holes.
This image shows how electrolyte capacitors have a light colored band on one side. This band should match up with the filled side of the circle on the PCB.
Electrolyte closeup

When soldered it should look like this:
Electrolyte closeup

And when all electrolytes are in place, the PCB should look like this:
Electrolytes mounted

Step5 - mount the Pico

It is assumed that you have a Raspberry Pico H, where the headers already are mounted.
Place the Pico on the U4 position and make sure the USB port is to the left on the PCB.
After soldering the Pico, you should have a PCB looking like this:
Pico mounted

Step6 - mount SD-Card Mod

The SD-Card Mod from Adafruit comes with a pinheader. This pinheader may be too long and in that case, just cut it to correct length.
First solder the pinheader to the SD Mod position. Be careful with heating the pinheader as the plastic melts quite fast.
Pin header mounted

Next solder the SD-Card Mod to the pin header and make the PCB look like this:
Pin header mounted

Step7 - mount RS-232 IDC socket

This step is needed if you will build the flat cable later.
If you plan on soldering your own cable directly to the PCB, then this step can be skipped.

Solder the male IDC header to the J2 position and make sure to place the notch upwards.

IDC header mounted

Step8 - mount ACSI pins

This is the hardest part for a beginner to solder.
The steps below have been chosen specifically to increase the chances of success.
In this example, the pins are made of a 1mm steel wire that I found in the local hardware store.

The first trick is to have a female DB-25 connector to use as a pinholder. In my case I use a DB-9 to DB-25 adapter:
Adapter Adapter

Then I put the wire through a hole in the PCB and into the DB-25 connector as far as it goes:
Pin 1 placed

I cut the wire and put it through another hole:
Pin 2 placed

And cut the second wire and solder both.
As the wire is thick and long, it needs more heat to solder than ordinary components and some soldering pens may struggle to deliver enough heat.
When this is done we will have a more stable platform:
Pin 1 and 2 soldered

Now we just need to repeat the work and put a wire into every ACSI hole: All pins mounted

Solder all the pins and remove the DB-25 connector. If you turn the PCB around, it should now look like this:
(NOTE: there should be no empty unsoldered holes in the PCB)
All soldered

Build cable steps

The cable is designed to be quick to build without having to keep track of which cable should go to which pin.

Step1 - mount IDC connector

There are many different flat cable IDC connectors, so the one you use may differ in how it is assembled.
The vital part in any case, is to keep track of how the flat cable is oriented to the connector. In the image below, I have decided to place the IDC connector with the notch up and the color coded flat cable with the black conductor to the right side of the IDC connector:
IDC orientation

First put the flat cable through the connector and press hard on the connector to close it up:
IDC closed

In case your connector have pull out protection, then wrap the cable around:
IDC wrap

And put the pull out protection in place:
IDC protect

The finished contact looks like this: (NOTE: the black conductor is to the right.)
IDC closed

Step2 - adjust flat cable

The IDC connector needs ten conductors, but the DB-9 connector can only take nine. So we need to remove one conductor.
Use your nails (or a sharp knife) to separate the outmost conductor on the opposite side of the black conductor:
Conductor separated

Then pull it lose all the way to the IDC connector and cut it off.
It should look like this:
Conductor cut

Step3 - mount DB-9 connector

As with the IDC connectors, there are many variants of how the DB-9 connector is assembled. And like the IDC connector, the vital part is how the flat cable is oriented to the DB-9 connector.
In this case we orient the DB-9 connector and cable so they go together like this:
DB-9 orientation

Insert cable and press connector together to get this:
DB-9 closed

And with the pull out protection:
DB-9 protect

When all is done and the cable is plugged into the device, this is what you should see:
Atari-Link DB-9 example

Setting up

The device must be flashed with firmware and have a SD-Card with hard disk images in it to work.
Go to: Atari-Link releases and download the latest "atari-link.zip" release and unpack it.

Step1 - install firmware

On the Pico mounted on the device, press and hold the "bootsel" button while connecting a USB cable between the Pico and your PC.
A USB drive should appear on your PC and you can release the "bootsel" button.
From "atari-link.zip", drag and drop the file "atari_link.uf2" to the USB drive.
Disconnect the Pico USB cable.

Step2 - setup SD-Card

Format a SD-Card in a FAT compatible format.
From "atari-link.zip", copy the following files to the SD-Card:
"tos32mb_ahdi5_boot.img"
"tos32mb_gdbsrv.img"
"config.txt"

Insert the card into the device.

Step3 - testing

It is assumed that you do not have any hard disk connected to your Atari.
If you do, then you need to change the "AcsiId" in the "config.txt" file.

Put the device into your Ataris ACSI port and insert the RS-232 connector into the modem port.
Connect a USB cable between the device and your PC.
This should make a USB drive appear. This drive contains two files: "GDBSRV.GTP" and "GDBSRV.TTP". This is the "tos32mb_gdbsrv.img" that is visible as a USB drive.

Now start your Atari and it should boot the image: "tos32mb_ahdi5_boot.img"

Alternative SD-Card

If you have another SD-Card Mod or want to connect to an SD-Card another way, then the image below shows you how the Raspberry Pico pins are connected to the SD-Mod header pins.
Atari-Link SD-Mod pins

Alternative RS-232

If you want to build your own RS-232 cable or solder a cable directly to the PCB, then this is how you do it.
First you need to know that the RS-232 port on the PCB is null-modem prepared, meaning that a straight cable (as in the example above using flat cable) will automatically produce a null-modem cable which is what is needed.
The RS-232 pins on the PCB is numbered as the image below shows:
Atari-Link RS-232 pins The pin number 10 is unused and unconnected.
Pin 1 to 9 can be straight connected to pin 1 to 9 on a DB-9 connector to get a working cable.
To connect the PCB pins to a DB-25 connector, then connect the pins using this table:

PCB pin DB-25 pin
1 8
2 3
3 2
4 20
5 7
6 6
7 4
8 5
9 22

Conclusion

The device will provide a hard disk emulator that also connects as a USB stick.
It also provides a USB to RS-232 null modem cable.
The setup using the released firmware and hard disk images will provide the Atari with: one boot disk where the Atari can read and write to, and one development disk where gdbserver resides. The development disk is read only to the Atari while USB can read and write to it.
This is a setup that is specifically made for general Atari development and have been tested on computers from Atari 520ST with TOS1.4 up to TT and EmuTos.
It is now possible to modify the example projects from m68k-atari-dev toolchain, to use the device USB drive and serial connection to remotely execute and debug software for Atari using an IDE such as VsCode.