In-Circuit debugger, created by E.E. Atanasios Melimopoulos. Updated Ver 1r1 (3/20/2009)


This project was sent by Electrical Engineer Atanasios Melimopoulos (Copyright (c) June 15, 2007)


In-Circuit Debugger




In-Circuit-Debuggers, as you may already know, have become the PIC's debugging standard tool for many programmers because it's easy use and handy interface to the target picplaced- board. They come with MPLAB plug-ins that provides a full rich set of commands and functions in order to debug your code in real time.


After hours of using some brands of ICDs, ICD2, etc. on different projects, I faced some hardware situations where the two pin interface ICD <-> PIC becomes annoying and sometimes difficult to work around. Apart from the fact that your target pic must run at selected clock frequencies that allows the ICD-Uart baudrate multiplier to fit. Also, some pics do not allow the same on-hook commands upon which ICDs are based. There is no electrical isolation between the pic-target board and the USB/Serial PC-GND interface.


Insider PCB Thinking about it, I decided to build the INSIDER, based on the following:


  • 1Bit Interface placed on ANY I/O selected spare pin (or carefully shared). ICD 2bit interface is too much, usually on 12Fxxx 8-pin pics where there are only 6 I/O pins. Also on bigger pics, like 16Fxxx and 18Fxxxx where the RB port is the most useful, the fact that RB6-RB7 are forced to be the 2bit ICD interface, may goes against your hardware I/O connections and sometimes you can't share their use.

  • 1Bit Interface independent of the target PIC clock speed from 20KHz to 50MHz. ICD 2bit interface communicates to the target pic via serial ASCII link, that's why the pic clock freq must be close to an integer multiple of the chosen baudrate.

  • 1Bit Interface independent of the target PIC type (12Fxxx, 16Fxxx, 18Fxxxx) ICD commands and features are based on some bootstrap routines that Microchip places on most of its MPU types. But depending of the devices class, family and generation, this routines differs and so the ICD implementation of this functions.

  • Electrical Isolation between the target PIC hardware and the PC workstation. PICs MCU are very useful on AC-line applications where the pic floats driving a MOSFET HBridge PWM converter or a Triac controlled power assembly, etc. That's why it is so important to isolate the PC from the Target-PIC using an isolated connection ICD tool.

  • Small, easy to build, easy PC interface and very easy to use. With a double side 1"x 2" PCB, just one 18pin dip 16F628 pic, a dual-optocoupler, leds, a pushbutton, some resistors, serial connector, etc. I think this is a small and easy to build circuit. With no more than 10 well designed commands and the most basic interface available: Hyperterminal using the PC serial-Ports.

    Against some opinions, PC serial comm ports are not obsolete, my Dual Core PC desktop has two and my Core 2 Duo Laptop (HP nx6320) has one. Of course I could place an USB-Uart bridge chip in order to use the PC USB port (maybe later) and you can find a handy PCI card serial port for your Desktop PC. (USB-serial-port cable doesn'lt work).


    By now I have no time to design and build an IDE Windows interface that would allow Symbolic cross-references to the user program to be debugged, the interface between the INSIDER and the PC is via Hyperterminal. So, all the variables and address references to the user program are absolute HEX, although not being so friendly because of this. At least, the INSIDER'ls Commands Set is designed to ease the HEX management as much as it was possible. In the near future, this Command set will be the console commands upon which the IDE windows based INSIDER Program will work (Anyone wants to help? Welcome).


    This is a non-profit based project so the same is applicable to any other source of contribution sent and shared with. There is no responsibility to the author about any kind of damage, injuries and consequences of any type in projects where the INSIDER will be involved. Any feedback, contributions or modifications needed to build and IDE windows program for the INSIDER, are welcome and you can contact me via email: email


    You can download the entire document, PCB, schematic and software here: (Last update: 7/10/2009) ZIP File, 320Kb.


    Originally posted (11/20/2008)


     < How to get 1 Second with Microcontrollers.Homepage
    microcontroller Index
    LCD Clock/Calendar> 


    If any information, data, picture or design infringes a copyrighted material, please send me an e-mail asking to remove it along with the supporting data.
    Some features may not work with Google Chrome. © 2006-2010 Jose Pino - Powered by JPC Alpha