The PIC Designer
In August 2002 a wide ranging debate started on the PICLIST mailing list on the best way to standardize a programming/development platform for novice PIC users. The PICLIST membership could then use this platform as a common basis of discussion.
During the discourse of the goals of this project I formulated an experimenter's design station I dubbed the PIC Designer. I finally got off my lazy butt and built a prototype.
This page serves as a repository for the ideas, pictures, and software for the PIC Designer.
Note: I decided to drop PICLIST from the name, because the project wasn't picked up by the list for implementation. So below any references to the PICLIST Designer should be PIC Designer.
The Designer Hardware Concept
This is the original PIC Designer concept posted on a
August 7th, 2002 PICLIST post (Note that this archive is password
protected. You can get the password from the top level page of the
archive)
Well it's crystal clear to me now what the hardware should be now:
- A preprogrammed 16F877 that serves both as the initial target and as a
programmer for future PIC devices.
- The part is proprogrammed with a Wloader style bootloader and a WISP style
ICSP programmer interface. The box interfaces to the PC via a standard serial
interface. I'd only provide the ICSP interface and leave programming ZIF
sockets out of the equation. Note that the bootloader/program interface would
not use the hardware USART. That interface is left free for the user to learn
and design with. Softwarewise I'd be sure to have a cloner so that the
bootloader can be transferred to subsequent chips.
- I/O would consist of at minimum LED indicators, 7 segment, LCD, buttons,
pot/opamp for A/D testing/input, and RS232 serial interface to the hardware
USART. Also I'd like to see at least one PWM based RC low pass circuit.
Finally I'd like to propose for the first time adding a canned IR
demodulator so that IR remote experiments can be performed. Each should
be able to be disabled via a jumper so that the user can choose which
onboard devices are active.
- The board must have a prototyping area. My thought is that it should be a
breadboard for quick prototyping.
- Finally there should be an external interface socket/cable/card connector
that provides access to the I/O pins of the internal PIC
The Designer Usage Concept
The post further explains the usage of the Designer
... This project is much less
a simple programmer than an evaluation style board. In fact I'll take a first
crack at a name to reflect that: The PIC Designer (PD?). Here are
the bullets about the PD:
- Its purpose is less a programmer and more a tool for learning about the PIC
and the common types of equipment that a typical design would use. So I think
it's quite valuable to interface typical I/O devices to the board.
- It should serve as a project prototyping platform in addition to a learning
tool. How much easier is it to get a project going if everything is already
wired? Rarely is their educational utility in the process of hooking up
components. So the PD will jumpstart project development for beginners
and grizzled veterans alike.
- I keep pounding the point that the ideal tool grows with you. the PD will
have the facilities to do simple tasks (LED work) to the more complex
(Displays, input, PWM, A/D)
- And finally it'll serve as the platform for designing projects independant
of the designer. The combination of a ICSP style programmer plus a bootloader
cloner means that projects large and small can be facilitated via the PD.
It's worth repeating that none of these facilities will hamper the ability of
novice PIC developer to learn the basics. In fact it'll be enhanced because
they won't have the chores of building/testing a programmer, building a
prototype board for the projects, and the finally getting to programming.
With the designer it'll literally be plug it up and get to programming. So the
novice can focus on what's important in the beginning: the process of building
programs to handle common embedded tasks.
The difference between the PLD and other proposed designs, which seem to fall
into the category of assembled programmers, is that I'd buy one of them because
it will be useful. And that's the point folks: design and deliver a
developement product that will be useful at the beginning and will continue to
be useful as you progress.
Updates
- My plan is to user Wouter's ZPL in lieu of
Wloader.
- The host part is upgraded to the 16F877A, which the latest update
of picprg can finally program (link will be added once I stabilized the release (March 14th, 2004)
- All the hardware isn't on board yet, but it's coming.
Prototype Pictures
The
PIC Designer Prototype Gallery has a collection of shots of my prototype. I'll fill in the captions as I get time.