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.

 

uZoomFloppy Updates

uZoomFloppy PCB
uZoomFloppy PCB

Based on forum feedback, I have refined the Micro ZoomFloppy design for fit and function.  Many people comments on the non-optimal placement of the USB connector.  I noticed that as well, but the original design goal was to provide maximum installation flexibility.  Placing the USB connector on board eliminated the need to mount a USB jack on the case.  Installers could simply connector a suitable cable to the connector and let the cable ass through the case at some convenient point.  However, the idea was abandoned when others pointed out that the placement of the connector would interfere with other ICs on the drive PCB in many drive configurations.  The new design places the USB connector on a separate PCB assembly, which connects to the main board via a 4 wire cable.

The 1541 parallel cable connector remains on the layout.  Even when the board is populated, the parallel connector can be used by another ZoomFloppy device for parallel operations.

 

Other changes were smaller:

  • Jumpers were added to bridge any signals that were not passed through the connectors.  This allows the design to be used without the uC and related circuitry as a simple parallel cable connector board.
  • The 1571 parallel cable connector was added to the design.  Again, this is useful when the board is unpopulated and would then be installed in the 6526 socket on a 1571 drive.  Unlike the 1541 parallel connector, this connector does not serve a function when installed in the 1571 6522 socket.

Now, the software must be modified and tested for correct operation before the PCB can be assembled.

Micro ZoomFloppy

Micro ZoomFloppy
Micro ZoomFloppy

During a discussion on the Lemon64 forum, someone suggested a version of ZoomFloppy that would fit inside the CBM drive.  After some tweaks to the idea, I hereby present “Micro ZoomFloppy”.  This unit will sit in the 6522 IC socket and provides complete ZoomFloppy functionality.  The only external connection is a USB jack

Though the board looks finished, it’s just a rough draft.  Some pin changes would help with layout, and I still have one wire to route.  Still, it is coming along nicely.

In case you’re wondering, the 2×8 connector on the bottom is the parallel port header.  The PCB serves double duty.  When fully populated, it’s a complete ZoomFloppy unit.  But, if not populated, it can still be used to add parallel port capabilities to a 1541 device.

Jim

uIEC/SD Daughtercard Revision

uIEC Daughterboard v3.1
uIEC Daughterboard v3.1

Due to some changes in the PCB houses my assembler uses, and cost issues with the DIN6 connector for the uIEC/SD daughtercard, it’s actually cheaper to create a new PCB design than to use the old one.  To that end, I have slightly modified the design to include a power supply connector and a switch to disable the RESET line (in case you wanted the device to stay in a subdirectory across reboots of the computer).  To stay on delivery targets, I need to send this off to the assembly house this week, but I am interested in comments on the changes and any others that might be possible.  Before people ask, I attempted to add a second IEC connector, but then the IEC connectors must be positions to face the side, and the board ends up larger than the uIEC/SD itself.