New uIEC/SD Connector Found

SD Card Socket
SD Card Socket

Though I tried for weeks to source a few more of the connectors used on the current uIEC/SD design, the effort proved fruitless.  In parallel, I started asking suppliers for other options.  As the hope for more old stock dwindled, I decided to source a new connector.  I selected a connector that is both less expensive than the older option and can be sourced from multiple companies.  This should alleviate my dependence on a single supplier for such a critical component.

I also purchased a stock of Micro SD sockets.  The price was right, and I think it’s time I designed something using uSD.

Of course, this decision implies I have to finish the new uIEC/SD board design, spin a new board, and create a new surface mount stencil.  Still, the total cost compares favorably to buying old stock SD connectors, even if they were available.

IEEE-488 Connector Supplies

IEEE-488 24 pin Centronics Connector
IEEE-488 24 pin Centronics Connector

As some may know, IEEE-488 is no longer a preferred global interface standard.  I would even go so far as to state it was niche even in its heyday.  HP used it as the “Hewlett Packard Interface Bus”, and it was also known as the “General Purpose Interface Bus” (GPIB), as I recall.  Still, more names do not increase a standard’s usage.

Now, 30+ years later, it’s becoming quite difficult to find economical sources for IEEE-488 parts. I surmised cables would be expensive, given the number of wires in IEEE-488 cables and the pass through connectors present on many of them. However, I was surprised at the expense for the Centronics 24 pin connector used in the standard. Though 36 pin Centronics (parallel port) connectors are nominal in price, I initially found but a single source offering the 24 pin connectors.  Of course, that source offers them for $9.00 a piece.

Recently, I’ve found a more economical source, one that can supply not only the connector, but also the special studs that the standard requires.  Though the minimum order is 1000 units, I feel there’s enough demand to justify a bulk purchase.  The ZoomFloppy hardware supports the connector already, and future devices should support IEEE-488 as well.  Thus, I’ve ordered 1000 connectors, and will add them to the store at the reduced price one they arrive.

Discontinued Components!

I guess I should feel lucky I have been immune to the issue until now, but I have just received word that the newest batch of uIEC/SD units is stalled.  The SD connector has been discontinued from 3M, and though I successfully ordered a final reel of them for this production run, the supplier evidently over-committed the remaining units.  I’ve spent the last few days attempting to source a comparable option, to no avail.  Seeing no other options, I will have to redesign the board to accommodate another SD connector, which means the 200 existing PCBs are now official useless, I’ll need to order a new surface mount stencil (used to apply the solder paste to the PCB before parts are laid onto the board), and the pre-ordered units will be delayed beyond May 31.

It does cause me to wonder why 3M decided to discontinue the offering.  It was a economical and very robust connector, so I can’t imagine it was little-used.  In any case, it’s no longer available, and I’m left to find a suitable replacement and notify customers of the additional delay.

Interfacing Concerns

Often times, classic computer peripheral designs can easily utilize contemporary electronics components without compromise.  However, two areas require special care:

  • Electrical Interfacing
  • Physical Interfacing

As electronics components move to LVTTL (3.3 volt) and below, designs require more buffering to maintain electrical compatibility.  Thankfully, such buffering solutions are common and relatively inexpensive. Connectors, on the other hand, bring additional issues.

However, with contemporary connectors moving to serial-based solutions and miniature sizes, larger classic connectors become harder to source and more expensive.  This, in turn, greatly drives up product costs and can often price a product out of manufacturing viability.  Thus, a while ago, I started dipping my toe into the bulk purchasing pool.  With success in hand, I’ve expanded the effort, just recently purchasing 24 and 40 pin headers (for PCB designs that plug into DIP sockets, IEEE-488 jacks (for ZoomFloppy usage), 22/44 .156″ edge connectors (for VIC-20 expansion port usage), and DIN6 jacks (for most IEC-based applications).

While there is inherent risk in such purchases, I feel it’s required to ensure designs can be viably produced and sold.

uIEC/SD Daughtercard v3.1 Final

uIEC Daughtercard v3.1
uIEC Daughtercard v3.1

After I’ve worked on a project for a suitable amount of time, it’s important to let it sit for a few days to allow the design to “mature”, so to speak.  Sometimes, nothing changes, but other times, you come up with a great idea that solves lingering concerns with the existing design.

With the uIEC/SD daughtercard design “n the shelf”, an email exchange with customer Ken Page caused me to rethink parts placement.  I was unsatisfied with the vertical arrangement of the uIEC/SD main board in the v2 design, but could find no other way to mount the board.  However, during the conversation, I came upon the idea of moving the IEC connectors to the bottom of the board.  That solved two problems.  One, the board needs “standoffs” when plugged into the VIC/64/128 cassette port, or else the board will flex when buttons are pushed or SD cards are inserted.  Bottom mounted IEC connectors provide the required height positioning.  With them mounted under the unit, I can now offer a horizontal mounting option.  In addition, I was able to add 2 more connection pinouts.  This means that one can use the daughtercard as a miniature “backplane”, attaching up to 3 uIEC/SD units to a single daughtercard.

I also took the opportunity to put a 7805 voltage regulator pinout on the board and a “barrel plug” wall power adapter option.  I do not intend to populate those items, but customers can easily add them.

I realized that no amount of restructuring this design will appeal to everyone.  Some people want the smaller board with the single IEC connector.  So, I decided to offer both options.  The older design is harder the manufacture, so I will price accordingly.

uIEC/SD Daughtercard modifications

uIEC/SD 3.1 Daughtercard Rev2
uIEC/SD 3.1 Daughtercard Rev2

After completing the first revision of the uIEC/SD daughtercard, I grew unsatisfied with with the sole but significant shortcoming.  In all applications except the C128DCR usage, the dual IEC connectors would obscure some important port of the host machine.  On the VIC/C64/C64C, the connectors would prevent user port usage, while C128/C128D applications would affect video and IEC connector usage.  With so many machine types affected, there was little reason to include a cassette port connector, since many of the uses would require a USB power supply.

Removing the cassette port connector would create two issues:

  1. The unit would cost more to produce and sell (mandatory USB power supply).
  2. Complexity would be increased (additional power supply to attach, additional power connection required, additional item to remember when packing unit for travel).

When considering placement options today, I happened upon a nonstandard placement idea that appears to resolve the shortcoming without undue implications.

Since it was important to retain the cassette port connector, this meant IEC jack placement must be directly opposite the cassette port jack.  Any other option exhibits the initial issue.  However, that left no location for the actual uIEC/SD unit itself.  I realized I could orient the drive into a vertical position.  Not only does this cleanly resolve the placement issue, this also removes a long standing shortcoming of the previous design.  Previously, inserting or removing a card meant holding onto the entire unit so it would not push away from the user. In the new orientation, insertion and removal will require one hand.

The vertical orientation now means VIC-20, C64, C64C, and C128 users can see the top of the unit while looking at their machine.  Card access is much easier.

The sole downside: With the unit now perpendicular to the daughtercard plane, enclosure mounting will pose additional challenges.  However, I’m much happier with this design over the previous revision:

  • IEC ports no longer restrict access to C128, C128D, VIC-20,C64, or C64C owners.
  • Many owners never enclose the unit.  The new revision puts the unit behind the machine and physically attaches the unit to the machine, minimizing the need for an enclosure.
  • The few that do mount in an enclosure appear savvy enough to construct an extension for the uIEC/SD connector or determine an alternate connection method.

I appreciate comments and thoughts on this new design.  Namely, how do people feel about a vertical drive configuration?

uIEC/SD Daughterboard Redesign

uIEC/SD Connector v3.1
uIEC/SD Daughterboard v3.1

With the next batch of uIEC/SD units, I found both financial and feature-enhancement reasons to redesign the connector daughterboard.

Compared to the earlier daughtercard option, there are some key advantages to the new unit:

  • Dual IEC connectors.  No longer much the uIEC/SD be the last unit in the IEC bus chain.
  • Onboard RESET button
  • Via jumper, Machine reset can optional reset uIEC/SD.
  • Better function button access
  • Solder pads for all major functions (buttons, PWR, GND)
  • No more pigtail power connector
  • Mini-USB power supply support

The only downside to the new design is the IEC port placement.  On the C64/C64C, the IEC ports will interfere with the user port, while they will interfere with IEC and Video ports on the C128/C128D.  The C128DCR seems to be least affected.  Thus, I am still debating design elements.  Comments/Thoughts are greatly appreciated.

Why the change now?

  • Significant savings can be realized by utilizing a new IEC jack footprint.
  • I am running low on C2NPower PCBs (used for the pigtail) and resupply is not cost effective at present.
  • Wiring pigtails takes time, which in turn slows down order fulfillment.
  • Some people object to the power pigtail approach.

 

X-Pander3, VIC-20 Edition

XPander3 VIC PCB
XPander3 VIC PCB

After a lengthy wait, I am finally finishing the VIC version of the X-Pander3 cartridge expansion system.  The design is subject to some more changes, but I am starting to source the required cartridge port connectors needed for the design.

The unit shares design elements from the C64 version, but provides maximum flexibility for the VIC-20 owner:

  • I/O2 and I/O3 are swappable
  • All BLK and RAM signals can be switched
  • As with the C64 version, Slot 3 can be vertical or horizontal
  • Standoffs to align board with height of expansion port
  • All controls are located on right side for ease of access
  • The ubiquitous “RESET” switch!

The unit will likely retail for a bit more than the C64 version, mainly due to the additional components and the larger (7.5″x5.0″) PCB size.

Astute viewers will notice an unused switch on each bank.  I invite suggestions for use.

Micro Project: PS2Encoder

PS2Encoder PCB
PS2Encoder PCB

A year or so ago, a retro systems enthusiast requested a hardware interface that would allow PS/2 keyboards to be utilized on older machines expecting RS232 or ASCII Parallel output.  I quickly mashed some existing PS/2 libraries with a keyscan to ASCII function and delivered the first version of PS2Encoder.

Even though there were issues with the PS/2 libraries, I quickly moved onto other project work.  Recently, I found myself thinking about the design and where I left off.  Since the original design and development were completed, I rewrote the PS/2 library to be more compact and address the issues exhibited by this project.  Thus, I decided to set about updating this project to include the new libraries and also create a small universal PCB design for the project.

Due to a common heritage of the PS/2 library, migrating to the new code did not take long.  As expected, operation of the new routines addressed the longstanding issues.  I also took some time to add a bit more functionality to the design.

Features include:

  • Unit outputs ASCII via 8-bit parallel port and RS232
  • Parallel output support configurable active high or active low strobe
  • Output supports variable intercharacter delay (0-2.5s in 10mS increments)
  • RS232 BPS rate can be set from 110-57600 bps
  • BS sends either BS or DEL
  • CR sends CR or CRLF
  • Crystal is optional
  • CAPSLock operation works, and LEDs are supported
  • Configuration can be performed from the keyboard.  When CONFIG jumper is installed, Ctrl/Alt/BS places the unit into configuration mode, where keypresses set various options.
  • Configuration mode also allows starting “debug”, where actual keyscan values are sent to the RS232 and parallel ports.

Of course, PS/2 is a dying interface, and thus utility is limited.  Thus, if I can find a low-cost uC offering that supports USB OTG (On the Go), I will update the design again with a USB KB option.

Finally, I created a universal PCB layout that includes the following features:

  • Supports 24 pin .6″ IC socket connection as well as 2×12 header connection.
  • Crystal footprint included on PCB
  • PS/2 connector footprint included on PCB
  • Through hole design makes DIY construction easy.