PICList Project

Communitary Universal Microcontroller Programmer

The CUMP concept

Status

This project is being actively developed.  Visit the CUMP mailing list for more information.

History / Beginning

An open source project:

It all started with a post on the PICList you can read the original PICList threads starting here:

Edson Brusque started the CUMP mailing list on http://groups.yahoo.com.

Glossary

Donations

Resolutions

All parts easily obtained and assembled at low cost by beginners.

Abstracted interface (modular, can be serial, parallel, USB, etc...) and using a command language that will be easy to send from any host including an ASCII dumb terminal.

High level language text or tokens sent to MB processor which is either

A 40 pin connector interface to a matching socket on the DB (Daughter Board: Where the programming socket and any additional circuitry necessary for the device being programmed reside) so that direct plug in, ribbon cable, card slot connector, DIL pins to cable, etc... can be used. The pin assignements have been set:

  1 SCK_SCL (SPI & I2C clock)
  2 GND
  3 SDI_SDA (SPI & I2C data)
  4 SDO (SPI data)
  5 TxD (UART Transmit)
  6 +5V
  7 RxD (UART Receive)
  8 BD0 (Bi-Directional 0)
  ...
35 BD27 (Bi-Directional 27)
36 VAR1 (Variable Voltage Supply 1)
37 VAR2 (Variable Voltage Supply 2)
38 BD28 (optional)
39 BD29 (optional)
40 BD30 (optional)

Space available on MB for extra latches, with software support but these are not required and can be left off for targets that are serially programmed or they can be moved to a DB.

Multiple Variable high voltage supplys on the motherboard or manually adjustable depending on how the builder wants to do it.

See also

Summary

A universal programmer that operates independant of operating system, can program any device via "daughter boards"(DBs) which are adaptor boards that will plug into the main board. The Main Board (MB) will have various circuits designed to provide compatability with almost any device. There will be a power supply board that is seperate, due to the large amount of argument surrounding that subject. There will also be a one time programming board to get the firmware onto the MCU on the MB. And, there will be a board for communication interfacing so that the programmer will not be resricted to any specific protocol.

Firmware:

Hardware:

MB
The Main Board will have: (Note: the choice of controller is currently under "discussion" on the CUMP list. I have posted a comparison table of available MCUs that could fit the bill.)
DB
The DBs will have:

Comm Board
The Comm Board will have:

PSupply
The supply board wil have:

Previous recommendations considered by the list

Hardware

It has been suggested that the SIMM form factor be adopted. (Note: The SIMM form factor has been essentially rejected due to various reasons. Visit the CUMP mailing list archives for more info) This would make the product compatible with the

A ZIF socket not permanently connected to any one DB, with a 40-pin header so that it can be connected to a second 40-pin header on any DB.

A device similar to a breakout box for extremely cheap (but slow) rerouting of traces for programming, but that should be a DB.

Software

Byron A Jeff has recommended the use of the IPL license from http://www.sci.usq.edu.au/staff/house/ipl/ipl.htm(Note: He has recently said that the GPL would likely be more appropriate for this project)

Suggestions

See also: