Home Products Prices Directory Order Contact New Books Files Links Other
DonTronics Home PageDT106 28/40 Pin PICmicro on a SimmStick.
Bottom of Page

Updated 26-Aug-99
DT106 Solder mask problem. (SMP)
Just got my new dt106 boards and have found a serious problem. The Simm Socket edge connector is solder masked when it shouldn't be. This means it can't be used readily as a SimmStick. Sure it is a stand alone CPU board with a 40 pin I/O header and a programming header, so it isn't at the point of being completely useless.

I now have to get new boards done to replace these, and this will mean another 2 or 3 weeks delay.  The fault was my end and not the fault of my board manufacturer.

I just had a friend use a scalpel to remove the solder mask from the 30 pads and solder tin the pads, then remove the excess with a solder sucker, however this isn't a job for newbies and not exactly professional, but it can be done in about 20 minutes with skillful hands.

For people that already have ordered dt106 boards from me, I would like to make you an offer.
Wait just a little longer for those new correct boards, or I can send you two of these boards with the solder mask problem. (Now known as DT106SMP). My apologies for this inconvenience.

And for users that are prepared to take the DT106SMP boards as is, then I am selling them at 3 for $20AUD.
Now this becomes a nicely priced PIC16F87x proto board. And I have hundreds of them.

PIC16F877-20/P 40 pin DIP Now Available $25AUD each.

dt106act.pdf  This is the schematic in PDF format, about 29K long.

And below is the overlay.

We have put a 485 footprint over the 232 chip, 40 pin header is pin compatible with chip, so you would need to solder header on the solder side for an emulator pod.

28, and 40 pin footprints to suit all current PICmicro flash PIC1687x devices.
Alternative RS-232 or RS-485 Comms
78L05 Regulator
Eeprom. Same pinout for MicroChip 24LCxx family.
8570 Ram. can be used as second Eeprom location.
Provision for power up/reset circuit which allows both a cmos and open collector Brown Out circuit chips to be fitted if the user chooses to use one, as the 40 pin footprints match older PICmicro devices also.
Provision for LCD 14/16 pin header, and mounting holes for selected 1 and 2 line displays, plus contrast pot.
Provision for Crystal (and Caps), or Resonator Oscillator.
A 40 pin header (40 pin dip compatible) at the top edge of the board.
DS-1302 Real Time Clock.
SimmStick compatible, which means it is a Load/Run operation for Flash Micros if used in conjunction with a suitable programming platform such as the DT001.
10 pin programming header that matches the programming header on the DT001 board.

Assembly Instructions still to be completed. (28-Aug-99)
There is a lot more to write, and a few points to be cleared up, but please just let me know if you have any queries or feedback at all.

Also read DT001 for programming a Flash PICmicro SimmStick in slot 1
Read P16PRO regarding software Registration for programming the 87x family.

The Micro can be any of the new flash 87x family and many old PICmicros that fit the 28 pin skinny Dip and 40 pin DIP footprints.

You can even change Micro types if you install a 28 pin socket in the U5 position, and two 20 pin machine pin strips into the U1 position.

1 by 780L5 +5 VR1 Voltage regulator in TO-92 case. (Optional)

1 by Capacitor C5 15pf Ceramic (This should suit all types of Crystals)
1 by Capacitor C6 15pf Ceramic (Read page 135 of the data sheet for full details.)
And either a Crystal of a suitable value, or a 3 pin Resonator. If a crystal is fitted then C5 and C6 must be installed. If you use a Resonator, then you mustn't install these two caps.

1 by Capacitor C9  10uf Tantalum or Electro.
1 by Capacitor C10 .01uf (or .1uf) Ceramic
1 by Capacitor C11 .01uf (or .1uf) Ceramic

1 by Capacitor C12 10uf Tantalum or Electro.
1 by Capacitor C13 .01uf (or .1uf) Ceramic

1 by Resistor  R1 10K .25 watt
1 by Resistor  R2 10K .25 watt
1 by Resistor  R3 470 Ohms .25 watt
There is an option for a series resistor between OSC2 and the crystal.  The 16F87x data sheet shows this resistor in Figure 12-2 on page 135 of the data sheet. Use a 470 ohm resistor there when running the chip in HS mode, or it will burn up the crystal very quickly.

X1 Crystal or Resonator to match your clock requirements.
The most common device used is a 20Mhz Crystal and two 15pf caps.

X2 32.768khz Crystal and C7 and C8 (22pf Ceramic)
Optional Timer 1 input.

X3 32.768khz Crystal with a load capacitance of 6pf. (For Optional DS-1302 Clock)

POT 1 10K (For Optional LCD)

Optional RS-232 Serial Communications:
1 by Capacitor C1 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 by Capacitor C2 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 by Capacitor C3 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 by Capacitor C4 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 by MAX-232 U2 (or equivalent)
It may also pay to install a 16 pin socket for the Max-232, 
as you may have to remove it for some configurations.
Optional RS-485 Serial Communications:
1 by MAX-485 U5 (or equivalent)

RS-232 and RS-485 Comms can't be installed together as the chip footprints overlap each other.

Brown-Out Circuit:
This small IC (U6) in a TO-92 package is used to stop the Micro operation becoming unpredictable during a power 'brown-out'. In most cases this isn't required. It's just an added precaution for reliable operation. The older PICmicros may well need this device.

By just simply ignoring the brown-out circuit and installing resistors R1 and R2, the circuit operation should be fine.
R1, R2, and R3 must be installed at all times for normal operation. Yes, even if you don't use a brown-out circuit.

If you wish to use the brown-out circuit, it's just added to the board, and can be either a CMOS or Open Collector type.
You can use the following I.C.'s:
Panasonic MN13811-S (Open Collector)
Panasonic MN1381-S (CMOS)
Zetek ZM33064
Motorola MC33064/P
Other types may also be suitable. These should switch at between 4.2 and 4.6Volts. This is for +5 Volt operation.


Serial Out Jumper block, default connected.

Serial In Jumper block, default connected.

Header block for unused gates of MAX-232

VCC Isolate to 40 pin header J1. Default Isolated.

Used to Isolate the +5V signal on the edge connector from the 78L05 regulator output if it is installed. Both outputs should never be used together. The track on the solder side of the board under JP5 needs to be cut to isolate the 78L05 regulator output. A test link and two male posts are used to reinstall the regulator output.

40 pin header, pin for pin layout compatible with 40 pin Micro.
Also read the notes on the J4 Programming header.

J2: Real Time Clock:
Used for Dallas DS-1302 to get power from a standby battery to it's VCC2.
The Dallas DS-1302  (U8) requires a crystal (X3) with a load capacitance of 6pf. We have these 32.768khz crystals in stock.
Sample code can be found at http://www.dontronics.com/rtc.html.

The Real Time Clock control lines can be connected to here. Make sure you don't conflict with other signals used.

Programming header. Default connected through J4 on the solder side of the board.
This header mates with J1, the 10 pin programming Header on the DT001 board, and if a 10 pin header cable is made up with flat ribbon cable, the board can be programmed via this cable. You have to cut the tracks on the solder side of the DT106 board, but make sure you don't cut the earth track (pins 9 and 10) The other 4 tracks can be cut.
This allows the program/run switch on the DT001 board to be used. To return the header to a stand alone controller, 4 Test Links need to be used when the IDC crimp connector cable is removed. These must be placed across header J4, pins 1 and 2, 3 and 4, 5 and 6, and 7 and 8.
This header pinout is the same as the Dr. Russ Reiss Configuration, however a suitable cable can be made up to match it with any ISP programmer.

This allows you to program the board just via a 10 pin flat ribbon cable. If a 40 pin header is used in position J1, then the setup can be effectively used as an emulator. But watch out for pin crossover. If you crimp a 40 wire cable with a .6" DIP connector one end, and a .1" by 2 rows of 20 pins IDC type connector the other, you will find that you need to solder the 40 pin male header onto the DT106 board on the solder side of the board.
Please beleive me that this happens in 99% of cases. I fully stretched the subject out on the PIClist.

Loading and Isolation Problems with programming:

Using Slot one of the DT001 board:
The DT106 will program in much the same manner as the DT101 using an 84, however there are some conflicts.
As you have only 30 pins on the Simm Bus, some signals will be missing between the slot 1 DT106, and slots 2 to 7.
These would need to be manually jumpered from perhaps the J1 header to a second DT106 board, if the full signals need to be transferred between SimmSticks.

As the DT106 board has provision for peripherals on RB6 and RB7, which are programming pins, you would eithe need to remove these devices (LCD and JI I/O), or use the programming header principle.

For instance, you could put the DT106 into Slot 2, install the programming header between the DT001 and DT106 board, remember to cut the correct tracks on the solder side of the DT106 board, and you have full isolation of the LCD and J1 header.

Using a stand alone board with a programming header:
Pretty straight forward. You install the header cable, cut the tracks so you have full isolation. You can then connect a 40 wire header cable (on the solder side of the board) off to your target system. This can be any 87x target board. You just pop the 40 pin header into your board. Depending on VCC requirements, you may choose to use JP4 to isolate or extend the power to the target board.

28 pin Skinny Dip:
OK, there is no way you are going to get this matching up via a 40 pin header system, but it's not that hard to do.
1) Crimp a special cable.
2) Use a small vero board to give you a 40 pin input to a 28 pin output with male header pins, and 28 wires., and use crimp connectors in and out. Many variations on this. You are an engineer. I can hear your brain ticking now. :-)

The PICmicro PIC16F877 40 pin DIP device is an EEPROM or flash micro and could become very popular now that it is starting to appear, so it has been decided to go ahead with some designs for a SimmStick, and to get a product within a month or two. This will mean a Program/Run operation, without touching or moving the micro.

Basically, it will be the same as the PIC004 on a Two Inch SimmStick, with changes and upgrades.

Programming the PIC16F877 on a SimmStick.  by Peter Averill
Hardly finished this page, when Peter came up with this info and has the 877 programmed and working in a SimmStick.
As such, the PIC004 board is suitable for programming 877 chips, however it is a little messy.

For us to get a SimmStick up and running in the next month or two, means some quick questions and answers to suit, so I hope users will tell us what is required. As I haven't been a regular on the PIClist because of commitments, I have missed out on most of the chat. I normally chase this info myself, but decided to let the web work for me this time.

Just got a copy of EPE magazine (UK). It shows a programmer that has provision to program 40 pin .6 Inch 874's, and 877's, as well as 28 pin .3" 873's and 876's. Are these the only DIP sizes that will be available?
If so, a DT106 may well suit both types, as the 28 pin socket can fit inside the 40 pin.
(1-Jul-99 This appears to be correct.)

Are the burning techniques the same as the 84?
If so, standard programmers such as the DT001 can be used without modification. It would just need the file length changed in the programmer software. (15-Jun-99, yes we have done all of this)

Changes to the old PIC004 schematic: (these are available on special for $5AUD Limited stock)
Remove the transistor comms and replace with RS-232 chip, same as DT101.
Replace the 7805 with 78L05, same as other SimmSticks.
Remove 8570 Ram. Not popular. (maybe leave, can be a second Eeprom location)
Leave EEPROM, same pinout for MicroChip 24LCxx family.
Does it need provision for power up/reset circuit, same as DT101? This board should still be useable for the older non flash 40 pin devices. This allows both a cmos and open collector B/O circuit chip to be fitted if the user chooses to use one.
(1-Jul-99 same B/O as DT101, suits all chips, and can be an optional component in either CMOS or Open Collector)
Provision for LCD 14/16 pin header on the top edge of the board? Will mean a pot as well.
Provision for Crystal or Resonator clock, same as other SimmSticks.
A 40 pin header (40 pin dip compatible) at the top edge of the board.

Other minor Changes:
Remove clock in/out tracks to bus. I am starting to think that these are the two most under-used pins on the bus. If you had multiple processors, would you really want to run clock signals along the bus? Or simply use an extra crystal?

Scenix Micros:
Ideally, any new SimmStick should be useable for the Scenix family. I understand the clock in/out is used for programming. Is there anything else I need to know? I doubt if the  DT001 will program Scenix chips without modification, but I want at least the SimmStick to be correct at this stage. Hence another reason for the "PAD Solder" clock points.
(1-Jul-99 No, Scenix parts not compatible with 28 and 40 pin devices. Thanks Eric.)

Ian Du Rieu has a good target board interfacing idea for SimmStick:
See the bottom of the DT001CHA page. Peter Homann has another way of doing it.
You would use two DT106 boards, one in slot 1 of the DT001 board, this is the programming slot, and another in the last slot.

The board in slot 1 will have the micro and crystal, and is switched from programming mode to run mode using the on board 4PDT switch. This disconnects the peripheral signals (your custom circuitry) during the programming phase, and adds it to the other slots in the Run mode. The extra signals of the 40 pin device will need to be jumpered with the 20 pin header and flat ribbon cable between the two DT106 boards. This won't be required for 28 pin micros, and certainly isn't needed on the original 18 pin DT101 setup.

The second DT106 board can then be used to jumper your full 40 pins to a target board via a 40 pin to 40 pin header cable with DIP crimp connectors. By using the "PAD Solder" method on the clock and +5V lines, means the clock isn't extended to your target board, and the +5V can be sourced from your target board, or the Simm bus, again, your choice. It means any PICmicro flash part can be developed in the actual final circuit board, whatever that may be.
Have a read over the DT101 method of doing it, if this sounds complex. See: dt001cha.html

Peter Averill: 11-Jun-99
(Who wrote all the stuff at: http://www.dontronics.com/vicuni.html)
It's a winner Don, just do it.

K.H. 14-Jun-99
Don, I just purchased a few SIMMSTICK products from Wirz, here in the US.  I must say they are fine products.  I am in the process of a design that is best suited for the new 16F877 chip.  I need the additional I/O and EEPROM rather than many 16F84s.  I would like to use your proposed DT106 for this purpose.

Ian Du Rieu 14-Jun-99
> Hi Don,
> Do you know what the story is with the burning algorithm for the PICS?
> I believe they take about 10mS per byte.
> Is it possible to burn in say 1mS increments, testing after each 1mS to
> see if the byte has burnt. The object of the exercise is to shorten the
> burn time during development.
> I recall doing something like this with 2716s in a past life.

Yes I have been there, wrote a lot of burner stuff in the old days.

> Just
> wondering if it can be done with PICs. If a full 16F84 takes about 10
> seconds to burn, then a full 16F877 could take about 80 seconds.

I see your point, and it's valid.
Software must also burn only buffer length, burn only changes to the last burn, (you may only be changing a byte) and do it without a verify, all user selectable, that's if all of that is possible.

Now you have to convince the software Authors. :-)

I checked again programming of PIC16F877 with P16PRO and there is no need to change the DEVICE.INI entry for this PIC. If you use programming hardware with only one VPP, then hardware setup must be changed so the VPP and VPP1 are the same (don't change DEVICE.INI). PIC16F877 can be programmed much faster as PIC16F84 with progdelay of 2m seconds (but can also be programmed with 10ms delays).
Bojan Dobaj (Author P16Pro)

Subject:              Re: 877
        Date:              Tue, 22 Jun 1999 00:50:31 +0930
       From:              Ian Du Rieu <idurieu@
 Organization:              http://www.LeonAudio.com.au
         To:              Don McKenzie <don@

Hi Don.

Bits arrived today. Thanks.

I reckon 1 PCB will do both prototype and emulator functions. See attached JPG. I propose 2 cables for the 40 pin header.
-One to a 40 pin DIP for emulator function. This has GND & all the data lines only

-The other to connect to a prototype rig. This has all pins except xtal
Be nice if the new PCB was a bit taller. Make it easier to get to the reset button.
It appears that having pins 1 & 2 swapped in the 40 pin IDC/PCB transition connector is the norm. Couldn't find any that didn't do this. Didn't have room on the DT202 to fit ZIF & 40 Pin IC socket so used IDC header socket instead.

A note from my schematic...
"DT001 mod.
Lines D6 & D7 connect to the PIC via the load/run switch.
Need to get RB6 & RB7 to this PCB for connection to 40 Pin emulator
Pins 1,2 & 3 are unused on the SimStick Bus.
Connect D6 (socket 2 on DT001) to A1 on socket 1
Connect D7 (socket 2 on DT001) to A2 on socket 1"

Does this sound reasonable?
I think it's a better option than having 2 PCBs as we discussed the
other day.

I'll send you a schematic when it's done. Can you read protel for
Windows format?

Subject:         DT106
   Date:         Sun, 27 Jun 1999 20:45:28 +1000 (EST)
   From:        averill@
Hi Don,

Just a suggestion for the DT106 board. A 8pin RTC chip could be useful in many embedded controller applications.

(We may put this on board also.)

Subject:         DT106 suggestion
   Date:         Fri, 09 Jul 1999 22:40:37 -0700
   From:        Stephen Howell <showell@(anti-spam)vic.bigpond.net.au>

Your DT106 looks like a winner. DO IT. Especially like the LCD  interface.

Project to consider for later:
A 1" cutdown version for 28 pin 876/873.
Maybe only has MAX232, 5V reg and possibly brown out with small proto area.  I have a use for a board like that now.

Stephen Howell

Subject:              Re: PIC16F87x and 84 proto boards.
 Resent-Date:              Mon, 12 Jul 1999 22:05:32 -0400
 Resent-From:             sisuser@
          From:             Paul Gwizdala
The layout of this board seems to be a huge step in the right direction with J1 allowing bus connection to off board components and what not.  The LCD and other added items are great.  This will cut down the prototyping time a lot.  Only one other possible addition would be to allow connection on board from other programmers such as the micro-engineering's EPIC +.
A lot of us have investments in other manufactures tools.  A simple 5x2 connector would do the job.   Great work.
Home Products Prices Directory Order Contact New Books Files Links Other
DonTronics Home Page
mailto: don@dontronics.com_
Copyright © 1996-99 DonTronics
Top of Page