My simplified pickit2 clone
http://simon.derr.free.fr/site/spip/spip.php?article11

This is a description of my very simplified home-made pickit2 clone.
Basically I took the schematic in the User Guide and removed everything I could.
What I removed:
Leds (pretty useless)
The eeproms (they are not even used by the firmware)
The Vdd circuitry. Hence this programmer can not supply power to the target circuit. I thought this would be a problem for older devices such as 16F628 or 16F877A that, in theory, require Vpp before Vdd, but actually, it works anyway !
The switch.
Notes:
The self-inductance L1 is supposed to be 680 uH. I used an unknown one, salvaged from an old PC power supply. It’s the black cylinder in the photo. Since the Vpp voltage is regulated, that should not matter.
The 10-ohm R1 is here so that C6 does not draw too much current from the USB when you plug the programmer.
C4 must have a voltage rating of at least 25V.
The Vdd feedback is set to a fixed value of 3.4V, which is OK for both 5V and 3.3V PICs. I have successfully programmed 16F, 18F, dspic30, and dspic33 chips with this programmer.

(Some parts from the schematic do not appear on the photo because I used second-hand SMD resistors, and hence they are on the other side of the circuit. The layout was originally designed for regular thru-hole components, though. See below.)
This circuit is very simple, and I built it on a veroboard.
Here is the layout that I used :


The lightblue marks are the places were I did cut the strips of the veroboard (with a Dremel).
There’s a slight caveat, of course: to build this PIC programmer, you need a ... PIC programmer, to load this program on the 18F2550.
You can then use the program supplied by Microchip (Here) to use it, or to troubleshoot it (Check that Vpp works fine. That’s pretty much all that remains in this circuit). The first time that you launch it it will update the firmware to its newest version.
http://simon.derr.free.fr/site/spip/IMG/zip/PK2V021000.hex.zip
http://simon.derr.free.fr/site/spip/IMG/zip/pickit.zip
My simplified pickit2 clone的更多相关文章
- 【转】Build Your own Simplified AngularJS in 200 Lines of JavaScript
原文:http://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/ Build Your o ...
- Design Patterns Simplified - Part 3 (Simple Factory)【设计模式简述--第三部分(简单工厂)】
原文链接:http://www.c-sharpcorner.com/UploadFile/19b1bd/design-patterns-simplified-part3-factory/ Design ...
- Git从码云Clone代码到本地
Git从码云或者Github 克隆代码到本地 1.下载安装Git,傻瓜式下一步下一步即可... 2.配置Git: 2.1.选择你要clone到本地的路径:右键--->$ Git Bash Her ...
- SCVMM中Clone虚拟机失败显示Unsupported Cluster Configuration状态
在SCVMM进行虚拟机的Clone,虽然失败了,但是Clone出虚拟机却显示在SCVMM控制台的虚拟机的列表中,并且状态是Unsupported Cluster Configuration.无法修复, ...
- [LeetCode] Clone Graph 无向图的复制
Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...
- git clone出现的error: The requested URL returned error: 401 Unauthorized
error: The requested URL returned error: 401 Unauthorized while accessing https://git.oschina.net/.. ...
- ssh配置git clone简易流程
1. 生成密钥 ssh-keygen -t rsa -C "jaynaruto@qq.com" //如果只有一对密钥,建议不要修改默认的密钥名称,即一直按回车即可 此命令会在你当前 ...
- 49. 3种方法实现复杂链表的复制[clone of complex linked list]
[本文链接] http://www.cnblogs.com/hellogiser/p/clone-of-complex-linked-list.html [题目] 有一个复杂链表,其结点除了有一个ne ...
- java Clone 的心得记录
我看有些类并没有实现Cloneable接口,这种情况下调用clone()方法也不try catch也不throws: 但是如果我自己这样搞,也不实现Cloneable,接口,直接调用clone()方法 ...
随机推荐
- 读取文件和输入——read 脚本命令
Linux之read命令使用 read命令: read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 1)read后面的变量var可以只有一个,也可以有多个,这时如果输入 ...
- 80端口被System占用 造成Apache不能启动的解方案
运行netstat -aon | findstr :80 ,发现pid是4的进程占用着80端口,这还是一个系统进程,kill不掉.所以只能另想办法: 1.打开注册表:regedit 2.找到:HKEY ...
- SQL中rownum和order by的执行顺序的问题
在一个SQL中,如果同时使用rownum和order by,会有一个先后顺序的问题. 比如select id1,id2 from t_tablename where rownum<3 order ...
- C# 文件存在,但是File.Exists 判断不存在的问题
这里说的不是文件路径错了的情况,而是明明文件就存在,但是File.Exists返回false. win10系统. 查看接口说明才知道,如果你不是按管理员方式启动VS,而此文件需要管理员权限才能访问,此 ...
- pyqt5猜数小程序
程序界面用qt设计师制作,并用pyuic5命令转换成form.py文件 #-*- coding:utf-8 -*- from PyQt5.QtWidgets import QApplication,Q ...
- ES6 一些笔记
一. let/const: 1. “暂时性死区”概念:在代码块内,使用let/const命令声明变量之前,该变量都是不可用的.这在语法上,称为“暂时性死区”(temporal dead zone,简称 ...
- CSUOJ 1011 Counting Pixels
Description Did you know that if you draw a circle that fills the screen on your 1080p high definiti ...
- count 【mysql】
如果你的需要是统计总行数时,为什么要使用count(*),而避免使用指定具体的列名? count()函数里面的参数是列名的的时候,那么会计算这个字段有值项的次数.也就是,该字段没有值的项并不会进入计算 ...
- python opencv3 grabcut前景检测
git:https://github.com/linyi0604/Computer-Vision import numpy as np import cv2 import matplotlib.pyp ...
- Qt Quick快速入门之qml与C++交互
C++中使用qml对象,直接使用findChild获取qml对象,然后调用setProperty方法设置属性,当然必须在加载qml之后才能使用,不然findChild找不到对象,用法如下. engin ...