Computers Overview
Commodore PET
            IEC (for C64)
            Parts List
            User's Guide
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair ZXSpectrum
Memotech MTX
Memotech CP/M
Atari ST
Commodore Amiga
DEC 3000 AXP
Raspberry Pi



Commodore PET Projects - petSD+


petSD+ - Assembly





Last Firmware Update : Get it here


The original petSD was designed to be constructible by the average electronics hobbyist, and one of the design goals was to be able to use through-hole-technology (THT) components, rather than surface mount chips. The one exception was the FT232RL USB-serial-adapter for which a THT equivalent was not available. The USB - serial adapter has been dropped from the petSD+ design, the only surface mount component remaining is the SD card reader.

Assembly of petSD+ is relatively straightforward, if you have reasonable soldering skills and some experience of constructing electronics projects, then you should have little difficulty with self-assembly and you can skip to the assembly details. However, it is probably not a good project for a novice to start out on.

Before you start to build your petSD+, you should read through this page and study the photos to satisfy yourself that your skills are up to it. If you have any doubts about your ability to follow the steps below and make a reasonable job of building petSD+, I would strongly advise that you reconsider whether your should attempt to build it yourself. At the very least, get some practice with soldering components onto a piece of prototype board before you take the plunge and have a go at petSD+. 


Tools Required

The tools listed here are the bare minimum that you will need, most hobbyists will have considerably more tools at their disposal which will likely make construction easier.

Tool Minimum Notes
Soldering iron


Fine (conical) tip

No temperature control


A temperature controlled solder station allows the user to have much more control over the tip temperature and reduces the risk of damaging the component or PCB tracks.

In this case, the most sensitive components, i.e., the ICs, should all be mounted in sockets. With care, the passive components can be soldered using a very basic iron with little risk.

Soldering iron stand A simple metal stand More advanced (i.e., more expensive) cradles may include lights, magnifying glasses, clamps to hold the work-piece etc.
Solder From your plumber ?

NO !

You need a good quality, electronics grade, solder. I use 0.7mm diameter, 60% Tin/40% Lead solder with integral flux.

Due to the potential health risks associated with lead, in recent years, the use of lead based solder in manufacturing has been phased out (see RoHS). Lead-free solders are available, but, are a bit more difficult to work with as they have higher melting points and don't flow as easily.

When using lead based solder, take sensible precautions, such as having adequate ventilation. not breathing in the fumes (that applies to all solders), etc.

Test equipment

Continuity tester

Preferably with an audible alert (buzzer)

The first task is installation of the SD card reader, it is critical that its installation has been proven before progressing with the build as it will be almost impossible to correct after the board has been completed.

The minimum requirement is for a basic continuity tester, but a basic multi-meter than can measure voltage and resistance is recommended, particularly if you need to fault-find a non-working board.

Various   Good quality miscellaneous tools, small side-cutters, long nose pliers, etc. etc.


Parts Required

If you have purchased a kit of parts for petSD+, or you are gathering the parts together yourself, make sure that you have the parts listed on this page.

Notes :

  1. Some parts are optional, depending on whether you need the real time clock or the LCD display and whether you choose to mount petSD+ internally or externally to your PET

  2. The PCB includes an In-System Programming (ISP) port for programming the MCU for first use, when the device configuration "fuses" are set and a boot loader is loaded for the first time. Once the boot loader has been configured, the application firmware can be loaded from the SD card. Since the petSD+ parts kit will include a pre-programmed MCU, the ISP port header will not be included in the parts kit.

  3. The PCB and parts list allows for the inclusion of the additional components (X1, C7 & C8) required to provide an external clock signal to the MCU as used in the design of the original petSD. The use of an external oscillator is not required for petSD+, the recommended option is to use the MCU's internal 8MHz RC oscillator and the default petSD+ fuse map is configured for this option. Although the external clock option could be used, the MCU fuse map would need to be modified, which cannot be done using the boot loader and would require the use of an MCU programmer. In view of this, the petSD+ parts kits will not include X1, C7 and C8.

  4. petSD+ requires a +5V power supply for operation, this can be provided in a couple of ways - either from the PET cassette port using a custom cable (available as an additional option), or using a stand alone, "wall wart", PSU rated for at least 500mA at 5 volts. If mounted internally, power can be picked up from a convenient place on the PET PCB.


Assembly Instructions - PCB Version 1.0

petSD+ Schematic PCB Component Side PCB Solder Side

The parts list includes a suggested order for mounting the components, with the exception of the SD card slot, it isn't essential that you follow the sequence indicated, but the sequence follows a logical order that has been shown to work and allows the parts to be installed without obstructing the installation of components to be mounted later in the sequence.


The first item to be mounted and tested must be the SD card slot


It is the only surface mount component and it is easier to mount it without having to worry about other, already placed, components. More importantly, if there is a problem with the installation of the card slot, it will be almost impossible to fix it after the surrounding parts are soldered in.


Please pay particular attention to installation and testing of the card slot before moving on.



The instructions and most of the photos below were provided by Nils based on his work when he created the first of the petSD+ prototype boards. The medium sized images on this page should be adequate to help you identify the location of the components, but for more detail, click on the image to open up the full size photo.

Steps only required if the optional components are to be included

 LCD Display - this is the recommended option

 Real Time Clock - this is the recommended option
   Location dependent on internal / external mounting choice - see notes


Seq. No.

 Description / notes Photo
1 Details for the SD Card slot - model : Attend 104H-TDA0-R

As you can see, the contacts, particularly those for, Signal Common (Sc), Write Protect (Wp) and Card Detect (Cd) are a bit on the small side, with Sc and Wp very close together !

1 Mount the SD card slot

For maximum stability, the slot should be placed with the two locating pins near the front of the slot set into the holes provided. 

The slot should be positioned as far to the left as the solder pad positions will allow to ensure that there is enough room for the spacer bolt to the right.

Here, an unsoldered DIP-20 socket has been been placed in the IC4 position to ensure that there is acceptable clearance on both sides.

1 Apply some solder onto the three pads on the left side of the slot first, then place the slot, clean your soldering iron tip heat the leads only without applying extra solder.

The solder that you applied before should melt and give a good connection without shorts. The remaining terminals at the rear of the SD card slot should now be soldered to the PCB.

Verify your work with a continuity tester and an SD card

1 Set the card's Write Protect (WP) switch to the LOCKed position (writes disabled) - insert the card - measure between Signal Common and pin 20 of the MCU (IC1) (Write Protect) as shown

Provided that your continuity tester comes with a buzzer:

If the card is completely inserted with write protect on, there will be silence. If it is removed half the way, it will beep. If this is not the case, either the Wp, the common connection Sc or both are bad.

1 Verify the Card Detect switch

Measure between ground and pin 19 of the MCU as shown

If the card is pushed in completely, it will beep, if it is removed (half way), there will be silence.

Make sure, both switches are working NOW! It will be almost impossible to fix them later!


*** TIP ***     Bending the component legs


This photo shows how the component legs should be bent prior to soldering. The component on the left has its legs bent outwards and can easily product shorts to adjacent components.

The one on the right has its legs bent inwards and is the safer method to follow.

R1  15k,  1/4W,  5%

(Required for LCD only)

D1 & D2  Schottky diode, DO35, p/n BAT42

Check the orientation of the diode to ensure correct polarity

(Required for RTC only)

R3 & R4  330R,  1/4W,  5%
R5  1k,  1/4W,  5%
R6  2k2,  1/4W,  5%
R7  4k7,  1/4W,  5%

R2 is the resistor for the LCD backlight, its value depends on the actual display used. Placing the resistor on the display itself, rather than on the PCB, will make it easier to replace it should it be necessary to change the type of the display. In that case, a wire link should be put in the R2 position on the PCB (See "e" below).

R2  As required,  1/4W,  5%

(Required for LCD only)

R8  10k,  1/4W,  5%
R9  100k,  1/4W,  5%
10a The external oscillator (X1) for the MCU was intended to be installed inside the MCU socket, however, on the Version 1.0 PCB, there is not enough clearance.

The "work-around" is to fit the oscillator to the underside of the PCB, it is easier to install the oscillator BEFORE fitting the socket.

This has no practical impact for units fitted with the RTC since the coin cell holder is also mounted on the underside of the PCB.
11 Install the sockets for IC1, IC2, IC3 and IC4
Install the socket for IC5 (Required for the RTC only)
11 Ensure that the notch in the sockets is placed at the mark on the PCB as shown in this example

C1, C3, C4


C5, C6, C9



 100nF DELETED - DO NOT INSTALL (see below)

Manufacturing tolerances mean that some of the ceramic capacitors in the kit can be somewhat thicker than others. C4 and C5 are fitted between IC sockets 2, 3 and 5, fit these first so that you can choose the most suitable capacitors for these locations.



C7 & C8  18pF

The capacitors for the X1 oscillator are the orange ones just next to the MCU socket.
C10  100nF

(Required for RTC only)

C11, C13, C14  1uF
L1 10 uH, 200 mA, diameter <= 4 mm
L2 33 uH, 200 mA, diameter <= 4 mm
Q1  IRFD9024

Take care to position the transistor correctly, as shown

RR1 5 x 10k Resistor Package

Ensure that the "dot" on the package is aligned with the index mark on the PCB (the square box at one end of the RR1 stencil)

RR2 4 x 47k Resistor Package

Ensure that the "dot" on the package is aligned with the index mark on the PCB (the square box at one end of the RR1 stencil)

IC6  MCP1702-3302


  APEM PHAP3305B (Reset)










The default (preferred) location for these switches is on the PCB, if petSD+ is to be mounted internally to the PET, these switches and LCD display can be mounted remotely. 

P5  10 Pin box header (LCD connector)

Ensure header is located with keyway facing inwards

(Required for LCD only)



 Barrel jack, 6.3x2.1mm


*** TIP ***     Positioning the power socket

It is very easy to end up with the power socket off-centre, this can look very ugly but securing the socket with a small amount of glue will allow it to be accurately placed before soldering .



 47uF 16v Electrolytic


Ensure that the polarity is correct

With the board being so densely populated, the original leads on the variable capacitor are too big to pass through the small holes for CV1.

Cut off the original leads and use a couple of the off-cuts from other components that you have already mounted to make some new, thinner, leads and solder them to the vari-cap.

Note that one leg must be bent to match the PCB hole pitch.



 5-25pF Variable Capacitor







P1, P2 2 x 12 or 2 x 13 Pin Headers (for IEEE-488)

Ensure headers are located with keyway facing inwards




 IEEE-488 Connector

The PCB has header positions for either a proper IEEE-488 connector or 2 x dual row pin headers which can be used for in/out IEEE-488 ribbon cable connections.

Note : The PCB has space for only 1 of these options



 32.768 kHz oscillator for RTC


Take care to not short the crystal's case with one of the two connections, make sure that there is some clearance between the can and the PCB. Verify that there are no shorts with the continuity tester. To ground the case, apply some extra solder at the top end of the can and bridge between the can and the reset switch ground connection.



 CR2032 Battery holder, SMD


Take care to make sure that the positive and negative terminals are placed correctly - the "+" connection should be towards the centre of the PCB.


To reduce the stress on the battery connections to the PCB, you could apply a little glue to the battery holder prior to soldering.



 CR2032 Coin Cell battery


To plug in the battery, place it so that it lays under the two golden fingers at the right side, then press and move the battery to the right until it snaps in.

To remove the battery, use a flat screw driver to lever the battery out of the holder.

The screw driver / lever should move the battery to the right and upwards at the same time.


 M3 spacer bolts, internal thread, 18 mm


 M3 distance sleeves, 8 mm


These parts are intended for mounting the display, however, even if not using the display, the legs will provide a stable base of the unit.



 LED Green


 LED Red


The cathode (shorter lead, flattened side of the LED) goes into the square box on the PCB, both on the left side.


The next step is to fit the ICs into their sockets.


The legs on new chips have their legs slightly splayed, they need to be bent slightly so that they fit into the sockets (or directly into a PCB)  Images from RS-Components

33 I have one of these - it's an IC lead setting tool, the tool can dress the legs of 0.3" and 0.6" ICs. The tool does a really good job, but it's only shown here so that I can flaunt mine :-)
33 The same effect can be achieved by carefully bending the legs on one side at a time on a flat surface.

(Photo from

Install the ICs in their sockets
IC1  ATmega1284P-PU
IC2  SN75160BN
IC3  SN75161BN
IC4  74LVC245A
IC5  PCF8583  (Required for RTC only)
33 Take care to align the "notch" in the end of the IC with corresponding notch printed on the PCB at each IC.

Check that every pin on each IC has been properly inserted into its socket.


LCD Assembly / Fitting

Seq. No.

 Description / notes Photo
Pin Number, Left to right, facing front (unmarked)
1  Vss (0V)
2  Vdd (+5V)
3  Vo (For LCD)
4  RS (Register Select)
5  R/W (Not Used)
6  E (Enable)
7  DB0 (Data 0 - not used)
8  DB1 (Data 1 - not used)
9  DB2 (Data 2 - not used)
10  DB3 (Data 3 - not used)
11  DB4 (Data 4)
12  DB5 (Data 5)
13  DB6 (Data 6)
14  DB7 (Data 7)
15  A (LED Anode)
16  K (LED Cathode)

Interconnection between the PCB and the display uses a 10-way ribbon cable, fitted with an IDC connector at the PCB end, and soldered directly to the back of the display at the other.

When it has been fitted, the cable is not subjected to any significant strain, so a low profile connector, i.e., one with no strain relief clip fitted, is preferred, since there is limited clearance between the PCB and the display.

Note the orientation of the cable with respect to the key on the plug

Lay the ribbon cable on the underside of the display with the IDC plug connector facing towards you and the dimple facing the centre of the display PCB.

Obviously, you need to make sure that the cable is long enough to mate with the petSD+ PCB header, but leaving it too long will make it difficult to fit the display on top of the PCB.

Close up of the connections
Add a shorting link between the terminals shown
As described in step 8, R2 is best placed on the LCD itself, rather than on the petSD+ PCB. Solder the resistor across terminals 1 and 16 on the front of the LCD as shown.

(See the hardware page for how to determine the correct value of R2, it should normally be in the 3R to 6R range.)

Plug the display cable into the mating connector on the petSD+ PCB (P5) and fix the display to the M3 spacer bolts using the M3 pan head screws.


Assembly of the Cassette Port Power Cable

Seq. No.

 Description / notes Photo


Connect the wires to both the upper and the lower sides.

When viewed from the rear, the cassette port power terminals are at the left hand side of the connector.

Although the PET edge connector has a key slot in it, the connector plug does not include one, either fit one yourself, or mark the connector to ensure that you know how to connect it.

Power The two halves of the cover shell
Power Power cable with cover fitted
Power Update 12/06/2015

I obtained a very small number of cassette port connector covers from Nils, these have now been allocated to a few of the folks who have requested a petSD+. Unfortunately, although the connectors themselves are still available, I have not been able to source additional covers. As the first power cable photo shows, without the cover, there would be no strain relief for the cable and I am not happy with the relatively heavy power cable just hanging off the solder tags so I am proposing alternative options for powering petSD+. . . . .

Power The most convenient way would be to use a cheap "wall wart" AC/DC power supply with an output of >500mA at 5VDC.

I can supply these if required, but you can probably source them as cheaply as I can.

Power The PET cassette port could still be used to provide power, but I would intend to use a short length of lightweight cable - probably no longer than 1 meter.

(A cable like this would be a little difficult to disconnect from the PET without pulling on the wires soldered to the connector.)

Power Update 20/07/2015

Dave Curran had the same issues with providing external power for his pet microSD and has solved the strain relief issue by designing a small board to hold the cassette port connector and power lead. Dave has kindly made some of these boards, as well as the design files, available to me, so I am able to offer them as an option for petSD+.
Power Dave has produced the boards in green and blue. Initially, I shall only be able to supply the board in green, but, if there is a demand, I will be able to supply the boards in blue to match the cassette edge connectors that I have.
(The board also allows cassette port pass-through.)
Power I will be able to supply a power cable (or the parts to make it) like the one shown here. It includes Dave's cassette port board, a PET cassette port edge connector and a 1m cable with a 5.5mm x 2.1mm plug to connect to the petSD+ power socket.


ISP Port Connector

Seq. No.

 Description / notes Photo
ISP Should you wish to fit the ISP port connector, a convenient point in the assembly would be at the same time as P5 is installed (step 22. Alternatively, the connector can be added after the board has been completed.

Note, to allow a programmer to be connected, the connector will protrude beyond the edge of the board and should be mounted orientated as shown.

ISP As noted on Nils' errata page, the prototype design has an error in the ISP connection.

If the ISP connector is added, you will need to cut the track from IC4 pin 12 and connect pin 12 to pin 1 on the ISP connector via a 680 ohm resistor (R10) on the underside of the board as shown in the photo.


Debug Message Logging (Development Tool)


 Description / notes Photo
  It is possible to configure petSD+ to write debug messages that can be logged to a TTL level RS232 type serial port.

The serial line shares the port with the green LED and debug output is enabled by setting CONFIG_UART_DEBUG=y in configs/config-petSD+ (a compile-time option).

  Modern PCs are rarely fitted with a TTL RS232 port, but USB converters are readily available.

One example, and the one used by Nils , is shown here, it uses a PL-2303HX USB to Serial Bridge Controller. It is available from ebay sellers for as little as 1-2


Internal Mounting Suggestions


 Description / notes Photo


 2-way DIP switch (optional)

If petSD+ is to be mounted internally, the LCD and image selection switches would not be required and a 2-way piano dip switch can (optionally) be installed to configure the IEEE-488 device address from 8-11 in the same way as was done with a Commodore 1541-II drive

Style The system board used in CBM 8032/8096 (not SK) computers has an internal pin header ("J12")for the IEEE-488 port, adjacent to "J1", the edge connector for the external IEEE-488 port.

On the PCB in my machine shown here, the header position is not populated, so a 2x12, 0.1" pitch, pin-header would need to be installed to allow the internal petSD+ to be connected internally.

Style If the white connector ("J11") is fitted to the system board, but not used, it could supply power to petSD+, on my machine though, it is used to provide power to the 64kB RAM board that sits above the system board.
Style When mounting petSD+ internally, another option would be to copy the solution that Dave Curran uses for some of his petMicoSD offerings and use a couple of test clips to pick up power from a convenient point on the PET PCB, such as "C11", or somewhere closer to where your petSD+ will be located..

Photos courtesy of Dave Curran

Style As shown in this photo, there is lots of free space inside a CBM 8032/8096 to locate a petSD+.

As is it highly unlikely that you will be moving your machine around a lot, it may be acceptable to just place the petSD+ board in the empty space at the front left of the case - suitably insulated from the metal base of the computer.

Style Alternatively, a better option would be to use self adhesive PCB supports like this to fix the petSD+ PCB to the base off the computer, raising it off the bottom to provide clearance for the battery holder (if fitted) and protecting against the solder side of the board from making contact with the case.

C12 This capacitor was intended to smooth the voltage generated by the option buttons to help de-bounce the circuit. However, it turns out that C12 is more of a liability than a help and should be removed.

Provided that you have some basic tools, removal of C12 is straightforward. As C12 is located behind the PREV button, if the LCD screen is fitted it should be temporarily disconnected to allow C12 to be removed.

Caution : As the clearance between the LCD and petSD+ PCB is quite tight, the LCD connector plug does not have any strain relief on the cable - carefully remove the plug by pulling on the edges of the plug - do not pull on the ribbon cable, you will almost certainly ruin it.

Provided that you have a soldering iron and even basic skills with using it, C12 can be de-soldered without too much difficulty. Alternatively, you can just remove it by cutting its legs with fine point snips.  

If you would have difficulty in doing this yourself, drop me an e-mail and we can try and work something out.


mailto: Webmaster

 Terms & Conditions