Sunday 12 January 2014

How to make crimp connectors


In this post I will show you how to make your own crimp connectors such as those from proto-pic. These allow you to create your own 0.1" cables with the right number of pins and cable length for your project.

To create your own cables you will need
  • 0.1" (2.54mm) crimp connector housings. These come in a range of different pin sizes each 1x2 pin, 1x4 pin etc
  • Female crimp pins for 0.1" housing. One for the end of each wire but allow for 10% wastage when ordering. 
  • Crimping tool. The 0.1-1.0 mm² Capacity, 16-28 AWG crimping tool sold by proto-pic worked fine for me.
  • Wire stripper
  • Roll of wire

Step 1 - strip the wire

  • Cut the individual wires to length from the roll of wire
  • Trim the individual wires to the same length to make a neat and tidy cable
  • Strip 2-3mm from the end of each wire. 
When stipping the wire you want the length to be so that when the wire is inserted into the pin the PVC is in the area highlighted in black in the photo below; the stipped wire is in the area shown in red and it MUST NOT extend into the area shown in orange. The stripped wire in the photo is actually a bit too long and I cut a fraction off the end so that it did not extend out of the red area.


Step 2 - placing the pin in the crimping tool

Crimping the pin is a fiddly process but if you follow these steps you should be successful. The first step is to place the pin (without the wire) into the crimping tool and squeeze down to hold the pin in place but not  squash it.

It is critical that the pin is placed in the crimping tool correctly and understanding what the crimping process does will make it easier understand how the pin should be placed correctly.

The crimping tool folds over the two sets of edges to firmly hold the wire in place. The first set of edges fold over and clamp onto the PVC to secure the wire in place, highlighted in black in the picture. The second set of edges fold over and clamp onto the stripped wire to form the electrical connection, highlighted in red. The box shaped part of the pin, the area in orange, MUST NOT be squashed when crimping or it will destroy the pin.

The edges that fold over onto the PVC do not fold as far as the folds over the stripped wire and if you look at your crimping tool you will see that the teeth are shaped so that one half gets squashed (crimped) more than the other. It is critical to ensure that the pin is placed in the crimping tool the right way around in this respect.



Place the pin into the crimping tool, with the folds pointing upwards, and squeeze until the pin is held in place but not squashed and ensure the box part sticking safely out of the side.


Step 3 - insert the wire into the pin

Securely holding the pin in place by keeping pressure on the crimping tool handle feed the wire into the pin. The PVC part should be just inside so that it is under the first set of folds. If you see the stripped wire sticking out of the other end into the box part of the pin then you have inserted it too far and need to pull it back slightly.

Step 4 - crimp the pin

Once the wire is in the right position squeeze the handle fully to crimp the wire.

If it has been done correctly the first set of folds are securely clamped onto the PVC (area in black) ; the second folds are clamped onto stripped wire (area in red) and non wire is sticking into the box-end and the box is not squashed or damaged.


Step 5 - insert the pin into the housing

With the fiddly part complete the final step is to push the pin into the housing until it clicks in place.



Good luck!

Sunday 5 January 2014

Register Design v0.2


Changes from v0.1

In developing the Register Board schematic and PCB the design has undergone a change from v0.1 in that the Temp register has been removed. This greatly simplified the design and eliminated a number of ICs as the Internal Data Bus can now be connected directly to the ALU right input. The Temp register was originally intended to optimise a few operations such as adding A to itself by avoiding a memory read/write operation. On balance the simplification in complexity will hopefully outweigh the loss.

Register Board v0.2 Design


The following drawing shows the Register design for the Juno. Juno has the following registers:

  • A - General purpose register
  • B - General purpose register
  • IX(L) - Index Register low byte
  • IX(H) - Index Register high byte
  • SP(L) - Stack Pointer low byte
  • SP(H) - Stack Pointer high byte
  • PC(L) - Program Counter low byte. 
  • PC'(L) - Copy of the Program Counter low byte. Connected to the Address bus.
  • PC(H) - Program Counter high byte.
  • PC'(H) - Copy of the Program Counter high byte. Connected to the Address bus.
  • MAR(L) - Memory Address Register low byte. Not visible to the programmer.
  • MAR(H) - Memory Address Register high byte. Not visible to the programmer.  
  • Status Register

Juno Register Design v0.2

 Status Register

The Status Register contains the following four ALU operation flags which are set when performing a mathematical operation
  • V - overflow
  • C - Carry
  • Z - Zero
  • N - Negative
The Status Register also contains two flags which can be set by ORing the Status Register
  • Interrupts disabled - when set interrupts are disabled. 
  • Reserved (for future use)
The Status Register is connected directly to the micro-code sequencer (and by a tri-state buffer to the Left Bus) and is used to implement instructions such as branching on conditions.

EagleCAD Board Design

The Eagle CAD schematic can be downloaded here and the PCB board here.

There was not enough space on the PCB to include the Status Register components therefore this will be placed on its own dedicated PCB. 
Register Board v0.2 PCB

EagleCAD PCB settings

  • Text - size 0.04, ratio 10%, font = vector
  • Mounting holes - 3.0mm mounting holes. Top left 0.20, 2.95. Bottom Right 3.75, 0.20
  •  Signal Net class - width 0.25mm, drill 0.25mm, clearance 0.25mm
  • Power Net class - width 0.3mm, drill 0.3mm, clearance 0.3mm
  • Signal 0.012inch (selected from EagleCAD's defaults)
  • Power 0.016inch (selected from EagleCAD's defaults. Slightly bigger than the 0.3mm minimum)
  • Ground plane on top and bottom. Isolation on polygon set to 0.012

Parts list

Part      Value          Package      Library  Position (inch)       Orientation

/OE_AB                   1X02         pinhead  (3.85 1.55)           R90
/OE_REG                  1X09         pinhead  (1.9 0.1)             R0
A         74HC574N       DIL20        74xx-eu  (0.4 0.9)             R90
ABUS0..7                 1X08         pinhead  (0.9 3.05)            R0
ABUS8..15                1X08         pinhead  (3.85 2.35)           R90
ALU-ZBUS                 1X08         pinhead  (3.85 0.9)            R90
B         74HC574N       DIL20        74xx-eu  (0.85 0.9)            R90
C1        0.1uF          C050-030X075 rcl      (0.5 0.2)             R270
C2        0.1uF          C050-030X075 rcl      (3.05 1.65)           R0
C3        0.1uF          C050-030X075 rcl      (1.7 1.65)            R0
C5        0.1uF          C050-030X075 rcl      (2.15 1.65)           R0
C6        0.1uF          C050-030X075 rcl      (0.8 0.25)            R0
C7        0.1uF          C050-030X075 rcl      (3.4 0.2)             R270
C8        0.1uF          C050-030X075 rcl      (1.25 0.25)           R0
C9        0.1uF          C050-030X075 rcl      (1.7 0.25)            R0
C10       0.1uF          C050-030X075 rcl      (2.15 0.25)           R0
C11       0.1uF          C050-030X075 rcl      (2.6 0.25)            R0
C12       0.1uF          C050-030X075 rcl      (3.05 0.25)           R0
C15       0.1uF          C050-030X075 rcl      (2.6 1.65)            R0
C17       10uF           E5-5         rcl      (1.65 3.05)           R180
IX(H)     74HC574N       DIL20        74xx-eu  (1.75 0.9)            R90
IX(L)     74HC574N       DIL20        74xx-eu  (1.3 0.9)             R90
LBUS                     1X08         pinhead  (0.1 0.9)             R90
L_REG                    1X13         pinhead  (0.1 2.1)             R90
MAR(H)    74HC574N       DIL20        74xx-eu  (3.1 2.35)            R90
MAR(L)    74HC574N       DIL20        74xx-eu  (2.2 2.35)            R90
PC'(H)    74HC574N       DIL20        74xx-eu  (2.65 2.35)           R90
PC'(L)    74HC574N       DIL20        74xx-eu  (1.75 2.35)           R90
PC(H)     74HC574N       DIL20        74xx-eu  (2.65 0.9)            R90
PC(L)     74HC574N       DIL20        74xx-eu  (2.2 0.9)             R90
PWR                      1X02         pinhead  (2 3.05)              R0
SP(H)     74HC574N       DIL20        74xx-eu  (3.55 0.9)            R90
SP(L)     74HC574N       DIL20        74xx-eu  (3.1 0.9)             R90