Home Generator The simplest pic microcontroller programmer. The simplest JDM programmer for PIC on passive components. Features of practical use

The simplest pic microcontroller programmer. The simplest JDM programmer for PIC on passive components. Features of practical use

So, the time has come to study microcontrollers, and then program them, and I also wanted to assemble devices on them, the circuits of which are now on the Internet in abundance. Well, we found a diagram, bought a controller, downloaded the firmware... and what should we use to flash it with??? And here a radio amateur who begins to master microcontrollers is faced with the question of choosing a programmer! I would like to find the best option in terms of versatility - simplicity of circuit - reliability. “Branded” programmers and their analogues were immediately excluded due to the rather complex circuit, which includes the same microcontrollers that need to be programmed. That is, it turns out to be a “vicious circle”: in order to make a programmer, you need a programmer. So the search and experiments began! In the beginning, the choice fell on PIC JDM. This programmer works from the com port and is powered from there. This option was tested, confidently programmed 4 out of 10 controllers, with a separate power supply the situation improved, but not much; on some computers it refused to do anything at all, and it does not provide protection from the “fool”. Next, the Pony-Prog programmer was studied. In principle, it’s almost the same as JDM. The “Pony-prog” programmer is a very simple circuit, powered from the computer’s com port, and therefore, on forums and on the Internet, questions about failures when programming it very often appear , or other microcontroller. As a result, the choice was made on the “Extra-PIC” model. I looked at the diagram - very simple, competent! At the input is MAX 232, which converts RS-232 serial port signals into signals suitable for use in digital circuits with TTL or CMOS levels, does not overload the computer's COM port with current, since it uses the RS232 operating standard, and does not pose a danger to the COM port .Here is the first plus!
Works with any COM ports, both standard (±12v; ±10v) and non-standard COM ports of some models of modern laptops that have reduced signal line voltages, up to ±5v - another plus! Supported by popular programs IC-PROG, PonyProg, WinPic 800 (WinPic800) and others - the third plus!
And it’s all powered by its own power source!
It was decided - we need to collect! So in the magazine Radio 2007 No. 8 a modified version of this programmer was found. It allowed programming microcontrollers in two modes.
There are two known ways to put PICmicro microcontrollers into programming mode:
1.With the supply voltage Vcc turned on, raise the voltage Vpp (at the -MCLR pin) from zero to 12V
2.With the Vcc voltage off, raise the Vpp voltage from zero to 12V, then turn on the Vcc voltage
The first mode is mainly for devices of early development; it imposes restrictions on the configuration of the -MCLR pin, which in this case can only serve as an input for the initial installation signal, and many microcontrollers provide the ability to turn this pin into a regular line of one of the ports. This is another plus of this programmer. Its diagram is shown below:

Larger
Everything was assembled on a breadboard and tested. Everything works perfectly and reliably, no glitches were noticed!
A signet was drawn for this programmer.
depositfiles.com/files/mk49uejin
everything was assembled into an open case, the photo of which is below.




The connecting cable was made independently from a piece of eight-core cable and standard Komov connectors, no null modems will work here, I warn you right away! You should be careful when assembling the cable; you will immediately get rid of headaches in the future. The cable length should be no more than one and a half meters.
Photo of the cable


So, the programmer is assembled, the cable is also assembled, it’s time to check all this equipment for functionality, look for glitches and errors.
First of all, we install the IC-prog program, which can be downloaded from the developer’s website www.ic-prog.com. Unpack the program into a separate directory. The resulting directory should contain three files:
icprog.exe - programmer shell file.
icprog.sys - driver required to work under Windows NT, 2000, XP. This file must always be located in the program directory.
icprog.chm - Help file.
Installed, now we need to configure it.
For this:
1.(Windows XP only): Right click on the icprog.exe file. “Properties” >> “Compatibility” tab >> Check the box for “Run this program in compatibility mode for:” >> select “Windows 2000”.
2.Run the icprog.exe file. Select “Settings” >> “Options” >> “Language” tab >> set the language to “Russian” and click “Ok”.
Agree with the statement “You need to restart IC-Prog now” (click “Ok”). The programmer shell will restart.
Settings" >> "Programmer

1.Check the settings, select the COM port you are using, click “Ok”.
2.Next, “Settings” >> “Options” >> select the “General” tab >> check the “On” item. NT/2000/XP driver" >> Click "Ok" >> if the driver has not been installed on your system before, click "Ok" in the "Confirm" window that appears. The driver will be installed and the programmer shell will restart.
Note:
For very “fast” computers, you may need to increase the “I/O Latency” parameter. Increasing this parameter increases the reliability of programming; however, the time spent on programming the chip also increases.
3. “Settings” >> “Options” >> select the “I2C” tab >> check the boxes: “Enable MCLR as VCC” and “Enable block recording.” Click “Ok”.
4. “Settings” >> “Options” >> select the “Programming” tab >> uncheck the item: “Check after programming” and check the box “Check during programming”. Click "Ok".
So it's set up!
Now we should test the programmer in a place with IC-prog. And here everything is simple:
Next, in the IC-PROG program, in the menu, run: Settings >> Programmer Test

Before performing each point of the testing methodology, do not forget to set all the “fields” to their original position (all “checkboxes” are unchecked), as shown in the figure above.
1.Tick the “On” field. Data Output", in this case, a “checkmark” should appear in the “Data Input” field, and the log level should be set on the (DATA) contact of connector X2. “1” (at least +3.0 volts). Now, close the contact (DATA) and the contact (GND) of connector X2 with each other, and the mark in the “Data Input” field should disappear while the contacts are closed.
2.When checking the “On” field. Clocking" on the (CLOCK) pin of connector X2, the log level should be set. "1". (at least +3.0 volts).
3.When checking the “On” field Reset (MCLR)", on the contact (VPP) of connector X3, the level should be set to +13.0 ... +14.0 volts, and the D4 LED (usually red) should light up. If the mode switch is set to position 1, the HL3 LED will light up
If during testing, any signal does not pass through, you should carefully check the entire path of this signal, including the connection cable to the computer’s COM port.
Testing the data channel of the EXTRAPIC programmer:
1. Pin 13 of the DA1 chip: voltage from -5 to -12 volts. When checking the box: from +5 to +12 volts.
2. Pin 12 of the Da1 chip: voltage +5 volts. When checking the box: 0 volts.
3. Pin 6 of the DD1 chip: voltage 0 volts. When checking the box: +5 volts.
3. 1 and 2 pins of the DD1 microcircuit: voltage 0 volts. When checking the box: +5 volts.
4. Pin 3 of the DD1 chip: voltage +5 volts. When checking the box: 0 volts.
5. Pin 14 of the DA1 chip: voltage from -5 to -12 volts. When checking the box: from +5 to +12 volts.
If all testing was successful, the programmer is ready for use.
To connect the microcontroller to the programmer, you can use suitable sockets or make an adapter based on a ZIF socket (with zero pressing force), for example, like here radiokot.ru/circuit/digital/pcmod/18/.
Now a few words about ICSP - In-Circuit Programming
PIC controllers.
When using ICSP on the device board, it is necessary to provide the ability to connect a programmer. When programming using ICSP, 5 signal lines must be connected to the programmer:
1. GND (VSS) - common wire.
2. VDD (VCC) - plus supply voltage
3. MCLR" (VPP) - microcontroller reset input / programming voltage input
4. RB7 (DATA) - bidirectional data bus in programming mode
5. RB6 (CLOCK) Synchronization input in programming mode
The remaining microcontroller pins are not used in in-circuit programming mode.
Option for connecting ICSP to PIC16F84 microcontroller in DIP18 package:

1. "MCLR line" is decoupled from the device circuit by jumper J2, which opens in the in-circuit programming (ICSP) mode, transferring the MCLR pin to exclusive control of the programmer.
2. The VDD line in ICSP programming mode is disconnected from the device circuit by jumper J1. This is necessary to eliminate current consumption from the VDD line by the device circuit.
3.Line RB7 (bidirectional data bus in programming mode) is isolated in terms of current from the device circuit by resistor R1 with a nominal value of at least 1 kOhm. In this regard, the maximum inflow/outflow current provided by this line will be limited by resistor R1. If it is necessary to ensure maximum current, resistor R1 must be replaced (as in the case of VDD) with a jumper.
4. Line RB6 (PIC synchronization input in programming mode), like RB7, is isolated in terms of current from the device circuit by resistor R2, rated at least 1 kOhm. In this regard, the maximum inflow/drainage current provided by this line will be limited by resistor R2. If it is necessary to ensure maximum current, resistor R2 must be replaced (as in the case of VDD) with a jumper.
ICSP pin locations for PIC controllers:


This diagram is for reference only, it is better to check the programming conclusions from the microcontroller datasheet.
Now let's look at the microcontroller firmware in the IC-prog program. We will look at the example of the design from here rgb73.mylivepage.ru/wiki/1952/579
Here is the device diagram


here is the firmware
We are flashing the PIC12F629 controller. This microcontroller uses the osccal constant for its operation - it is a hexadecimal calibration value of the internal MC generator, with the help of which the MC reports the time when executing its programs, which is written in the last peak data cell. We connect this microcontroller to the programmer.
The screenshot below shows in red numbers the sequence of actions in the IC-prog program.


1. Select microcontroller type
2. Press the “Read microcircuit” button
In the “Program Code” window, in the very last cell there will be our constant for this controller. Each controller has its own constant ! Don't erase it, write it down on a piece of paper and stick it on the microcircuit!
Let's move on


3. Click the “Open file...” button and select our firmware. The firmware code will appear in the program code window.
4. We go down to the end of the code, right-click on the last cell and select “edit area” in the menu, enter the value of the constant that you wrote down in the “Hexadecimal” field, and click “OK”.
5. Click “program microcircuit”.
The programming process will begin; if everything was successful, the program will display a corresponding notification.
We take the chip out of the programmer and insert it into the assembled breadboard. Turn on the power. We press the start button. Hurray it works! Here is a video of the flasher working
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
That's sorted out. But what should we do if we have a source code file in asm assembler, but we need a hex firmware file? A compiler is needed here. and it exists - this is Mplab, in this program you can both write firmware and compile it. Here is the compiler window


Installing Mplab
We find the MPASMWIN.exe program in the installed Mplab, usually located in the folder - Microchip - MPASM Suite - MPASMWIN.exe
Let's launch it. In the (4) Browse window we find our source code (1).asm, in the (5) Processor window we select our microcontroller, click Assemble and in the same folder where you specified the source code your firmware will appear.HEX That's all ready!
I hope this article will help beginners in mastering PIC controllers! Good luck!

One day I decided to assemble a simple LC meter for pic16f628a and naturally it had to be flashed with something. I used to have a computer with a physical COM port, but now I only have USB and a pci-lpt-2com board. To begin with, I assembled a simple JDM programmer, but as it turned out, it did not want to work with either the pci-lpt-com board or the usb-com adapter (low voltage of RS-232 signals). Then I rushed to look for usb pic programmers, but there, as it turned out, everything was limited to the use of expensive pic18f2550/4550, which I naturally didn’t have, and it’s a pity to use such expensive MKs if I very rarely do anything at peaks (I prefer av- Yes, flashing them is not a problem, they are much cheaper, and it seems to me that it is easier to write programs on them). After delving for a long time on the Internet in one of the many articles about the EXTRA-PIC programmer and its various variants, one of the authors wrote that extrapic works with any com ports and even a usb-com adapter.

The circuit of this programmer uses a max232 logic level converter.

I thought that if you use a usb adapter, it would be very stupid to convert the usb to usart TTL, TTL to RS232, RS232 back to TTL levels twice, if you can just take the TTL signals of the RS232 port from the usb-usart converter chip.

So I did. I took the CH340G chip (which has all 8 com port signals) and connected it instead of max232. And this is what happened.

In my circuit there is a jumper jp1, which is not in the extra peak, I installed it because I didn’t know how the TX output would behave at the TTL level, so I made it possible to invert it on the remaining free NAND element and, as it turned out, it was right there is a logical one at the TX pin, and therefore there is 12 volts at the VPP pin when turned on, but nothing will happen during programming (although you can invert TX in software).

After assembling the board, it was time for testing. And here came the main disappointment. The programmer was identified immediately (with the ic-prog program) and started working, but very slowly! In principle - as expected. Then in the com port settings I set the maximum speed (128 kilobaud) and began testing all the found programs for JDM. As a result, PicPgm turned out to be the fastest. My pic16f628a was fully flashed (hex, eeprom and config) plus verification for about 4-6 minutes (reading is slower than writing). IcProg also works, but slower. There were no programming errors. I also tried to flash eeprom 24c08, the result is the same - everything sews, but very slowly.

Conclusions: the programmer is quite simple, it does not contain expensive parts (CH340 - 0.3-0.5 $, k1533la3 can generally be found among radio junk), works on any computer, laptop (and you can even use tablets on Windows 8/10). Cons: it is very slow. It also requires external power for the VPP signal. As a result, it seemed to me that for infrequent flashing of peaks, this is an easy to repeat and inexpensive option for those who do not have an ancient computer with the necessary ports at hand.

Here is a photo of the finished device:

As the song says, “I made him out of what was.” The set of parts is very diverse: both SMD and DIP.

For those who dare to repeat the circuit, almost any one will be suitable as a usb-uart converter (ft232, pl2303, cp2101, etc.), instead of k1533la3, k555 will be suitable, I think even k155 series or a foreign analogue 74als00, it may even work with logical NOT elements of the type k1533ln1. I am attaching my own printed circuit board, but anyone can redraw the wiring there for the elements that were available.

List of radioelements

Designation Type Denomination Quantity NoteShopMy notepad
IC1 ChipCH340G1 To notepad
IC2 ChipK1533LA31 To notepad
VR1 Linear regulator

LM7812

1 To notepad
VR2 Linear regulator

LM7805

1 To notepad
VT1 Bipolar transistor

KT502E

1 To notepad
VT2 Bipolar transistor

KT3102E

1 To notepad
VD1-VD3 Rectifier diode

1N4148

2 To notepad
C1, C2, C5-C7 Capacitor100 nF5 To notepad
C3, C4 Capacitor22 pF2 To notepad
HL1-HL4 Light-emitting diodeAny4 To notepad
R1, R3, R4 Resistor

1 kOhm

3

The article discusses the Extra-PIC programmer, data about which is obtained from (DOC Rev.1.03.00). The programmer is working, if you assemble everything as indicated below, then everything works the first time you turn it on. Personally, I took this diagram from Timofey Nosov’s website

List of supported chips when used with the IC-PROG v1.05D program:
Microchip PIC controllers: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, P IC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F 77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A , PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C71 1, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774 , PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876 A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448 , PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Note: microcontrollers marked with an asterisk (*) are connected to the programmer only through the ICSP connector.

Serial EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

Programmer circuit.
The programmer side uses a DB9 female connector (“female”, “hole”).
Very often they make mistakes and put in a “plug” (“male”, “pins”), i.e. the same as on the PC side!

Attention! The material is for general reference only. Be sure to ensure that the pinout shown matches the microcontroller you choose. To do this, refer to the Data Sheets and Programming Specifications for the corresponding microcontroller (usually everything is the same).

Full version:

Photo of the finished board:

Step-by-step instructions or “How to flash a PIC controller”

1. Assemble the Extra-PIC programmer, wash with solvent or alcohol with a toothbrush, and dry with a hairdryer.
Inspect through the light for hair shorts and loose connections.
Prepare the power supply for voltage not less than 15V and not more than 18 volts.
UNSOLD THE EXTENSION CORD
female-male for COM port (not to be confused with null-modem and cables for modems; ring the cord - the first plug, should go to the first socket, etc.; the numbering of plugs and sockets is drawn on the connector itself 1-1, 2- 2, 3-3, etc. until 9-9.). Be sure to do everything yourself. I had a problem with the cable, and I blamed the programmer =)
2. Download the IC-PROG program from or from the developers website.
3. Unpack the program into a separate directory. The resulting directory should contain three files:
icprog.exe – programmer shell file;
icprog.sys – driver required to work under Windows NT, 2000, XP. This file must always be located in the program directory;
icprog.chm – Help file.
4. Set up the program.

For Windows95, 98, ME

For Windows NT, 2000, XP

(Windows XP only ):

Right-click on the icprog.exe file.

« Properties» >> tab « Compatibility» >>

Place a check mark on

« Run the program in compatibility mode for:» >>

select " Windows 2000«.

Run the file icprog.exe.

Select " Settings» >> « Options» >> tab « Language" >> set the language " Russian" and press " Ok«.

Agree with the statement " You need to restart IC-Prog now" (click " Ok«).

The programmer shell will restart.

« Settings» >> « Programmer«.

Check the settings, select the COM port you are using, click " Ok«.

« On NT/2000/XP driver" >> Click " Ok» >>

if the driver has not been installed on the system before, in the window that appears, “ Confirm» click « Ok". The driver will be installed and the programmer shell will restart.

Note:

For very “fast” computers, you may need to increase the “ I/O Latency". Increasing this parameter increases the reliability of programming; however, the time spent on programming the chip also increases.

« Settings» >> « Options" >> select the tab " I2C» >> check the boxes:

« Enable MCLR as VCC" And " Enable block recording". Click " Ok«.

The program is ready to use.

5. Install the chip into the programmer panel, observing the position of the key.
6. Connect the extension cord, turn on the power.
7. Launch the IC-Prog program.
8. Select the PIC16F876A controller from the drop-down list.

It just so happened that I began my acquaintance with microcontrollers with AVR. For the time being, I avoided PIC microcontrollers. But, nevertheless, they also have unique designs that are interesting to repeat! But these microcontrollers also need to be flashed. I am writing this article mainly for myself. In order not to forget technology, how to flash a PIC microcontroller without problems and waste of time.

How to program PIC microcontrollers or Simple JDM programmer

For the first circuit - I tried long and hard to make a PIC programmer using circuits found on the Internet - nothing came of it. It's a shame, but I had to turn to a friend to flash the MK. But it’s not a good idea to constantly run around with friends! This same friend recommended a simple circuit that works from a COM port. But even when I assembled it, nothing worked. After all, it’s not enough to assemble the programmer - you also need to customize the program for it, which we will use to flash it. But that’s exactly what I couldn’t do. There are a whole bunch of instructions on the Internet, and few of them helped me...

Then, I managed to flash one microcontroller. But since I was doing the stitching under severe time pressure, I didn’t think to save at least a link to the instructions. And I didn’t find her afterwards. Therefore, I repeat - I am writing an article to have my own instructions.

So, a programmer for PIC microcontrollers. Simple, although not 5 wires like the AVR microcontrollers I still use. Here's the diagram:

Here is the printed circuit board ().

The COM connector is soldered with pins directly onto the contact pads (the main thing is not to get confused with the numbering). The second row of pins is connected to the board with small jumpers (I said it very unclearly, yeah). I’ll try to give you a photo... even though it’s scary (I don’t have a normal camera right now).
The worst thing is that PIC microcontrollers require 12 volts for firmware. And it’s better not 12, but a little more. Let's say 13. Or 13.5 (by the way, experts - correct me in the comments if I'm wrong. Please.). 12 volts can still be obtained somewhere. Where is 13? I simply got out of the situation - I took a freshly charged lithium-polymer battery, which had 12.6 volts. Well, or even a four-cell battery, with its 16 volts (I flashed one PIC like this - no problem).

But I got distracted again. So - instructions for flashing PIC microcontrollers. We are looking for the WinPIC800 program (unfortunately, the simple and popular icprog did not work for me) and setting it up as shown in the screenshot.

After that, open the firmware file, connect the microcontroller and flash it.

PIC microcontrollers have earned fame due to their unpretentiousness and quality of operation, as well as versatility in use. But what can a microcontroller do without the ability to write new programs onto it? Without a programmer, this is nothing more than a piece of amazingly shaped hardware. The PIC programmer itself can be of two types: either home-made or factory-made.

The difference between factory and homemade programmers

First of all, they are distinguished by the reliability and functionality that they provide to microcontroller owners. So, if you make a homemade one, then, as a rule, it is designed for only one model of PIC microcontroller, while the programmer from Microchip provides the ability to work with various types, modifications and models of microcontrollers.

Factory programmer from Microchip

The most famous and popular is the simple PIC programmer, which is used by many people and is known to many as PICkit 2. Its popularity is due to its obvious and hidden advantages. The obvious advantages that this USB programmer for PIC has can be listed for a long time, among them: relatively low cost, ease of operation and versatility relative to the entire family of microcontrollers, ranging from 6-pin to 20-pin.

Using a programmer from Microchip

You can find many tutorials on its use that will help you understand all sorts of aspects of its use. If we consider not only a PIC programmer purchased second-hand, but purchased from an official representative, then we can also notice the quality of support provided with it. So, in addition there are training materials on use, licensed development environments, as well as a demo board, which is designed to work with low-pin microcontrollers. In addition to all this, there are utilities that will make working with the mechanism more enjoyable and will help monitor the process of programming and debugging the microcontroller. A utility is also supplied to stimulate the operation of the MK.

Other programmers

In addition to the official programmer, there are others that allow you to program microcontrollers. When purchasing them, you don’t have to count on additional software, but for those who don’t need more, this is enough. A rather obvious disadvantage is that for some programmers it is difficult to find the necessary software to be able to work efficiently.

Manually assembled programmers

And now, perhaps, the most interesting thing is the PIC controller programmers, which are assembled manually. This option is used by those who do not have money or simply do not want to spend it. If you purchase from an official representative, you can count on the fact that if the device turns out to be of poor quality, you can return it and get a new one in exchange. And when purchasing “from hand” or using bulletin boards, in case of poor-quality soldering or mechanical damage, you cannot count on reimbursement of expenses and receiving a high-quality programmer. Now let's move on to the hand-assembled electronics.

The PIC programmer can be designed for specific models or be universal (for all or almost all models). They are assembled on microcircuits that can convert signals from the RS-232 port into a signal that will allow programming the MK. You need to remember that when you assemble a design given by someone, the PIC programmer, the circuit and the result must match one to one. Even small deviations are undesirable. This remark applies to beginners in electronics; people with experience and practice can improve almost any circuit if there is room for improvement.

It’s also worth saying a word about the software package that is provided by the USB programmer for PIC, assembled with your own hands. The fact is that it is not enough to assemble the programmer itself according to one of the many schemes presented on the world wide web. You also need software that will allow the computer to flash the microcontroller with its help. Icprog, WinPic800 and many other programs are often used as such. If the author of the programmer circuit himself did not indicate the software with which his creation can do its job, then you will have to find out yourself by brute force. The same applies to those who assemble their own circuits. You can write a program for MK yourself, but this is real aerobatics.

Universal programmers that are suitable not only for RIS

If a person is interested in programming microcontrollers, then it is unlikely that he will constantly use only one type. For those who do not want to buy separate programmers for different types of microcontrollers from different manufacturers, universal devices have been developed that can program microcontrollers from several companies. Since there are quite a few companies producing them, it’s worth choosing a couple and talking about the programmers for them. The choice fell on the giants of the microcontroller market: PIC and AVR.

The universal PIC and AVR programmer is equipment whose peculiarity lies in its versatility and the ability to change the operation thanks to the program without making changes to the hardware component. Thanks to this property, such devices easily work with microcontrollers that were released for sale after the release of the programmer. Considering that the architecture will not change significantly in the near future, they will be suitable for use for a long time. Additional pleasant properties of factory programmers include:

  1. Significant hardware restrictions on the number of programmable microcircuits, which will allow programming not one, but several pieces of electronics at once.
  2. Possibility of programming microcontrollers and circuits based on various technologies (NVRAM, NAND Flash and others).
  3. Relatively short programming time. Depending on the programmer model and the complexity of the programmed code, it may take from 20 to 400 seconds.

Features of practical use

Separately, it is worth touching on the topic of practical use. As a rule, programmers are connected to USB ports, but there are also variations that work using the same wires as the hard drive. And to use them you will have to remove the computer cover, sort out the wires, and the connection process itself is not very convenient. But the second type is more versatile and powerful, thanks to it the firmware speed is faster than when connected via USB. Using the second option does not always seem to be such a convenient and comfortable solution as with USB, because before using it you need to do a number of operations: take out the case, open it, find the necessary wire. You don’t have to worry about possible problems from overheating or power surges when working with factory models, since they usually have special protection.

Working with microcontrollers

What is necessary for all programmers with microcontrollers to work? The fact is that, although the programmers themselves are independent circuits, they transmit computer signals in a certain sequence. And the problem of how to explain to the computer what exactly needs to be sent is solved by the programmer software.

There are quite a lot of different programs available in the public domain that are aimed at working with programmers, both home-made and factory-made. But if it is manufactured by a little-known company, was made according to the design of another electronics enthusiast, or by the person reading these lines himself, then the software may not be found. In this case, you can use a search of all available programming utilities, and if none of them work (if you are sure that the programmer works well), then you need to either take/make another PIC programmer, or write your own program, which is a very high level of pilotage.

Possible problems

Alas, even the most ideal technology is not without possible problems, which, no, no, will arise. For improved understanding, it is necessary to make a list. Some of these problems can be corrected manually with a detailed inspection of the programmer, others can only be checked if you have the necessary testing equipment. In this case, if the PIC microcontroller programmer is factory-made, it is unlikely to be repaired. Although you can try to find possible causes of failures:

  1. Poor quality soldering of programmer elements.
  2. Lack of drivers to work with the device.
  3. Damage inside the programmer or wires inside the computer/USB.

Experiments with microcontrollers

So, everything is there. How to start working with equipment, how to start flashing a microcontroller with a programmer?

  1. Connect external power, connect all equipment.
  2. Initially, an environment is needed with the help of which everything will be done.
  3. Create the required project, select the microcontroller configuration.
  4. Prepare a file containing all the necessary code.
  5. Connect to the programmer.
  6. When everything is ready, you can flash the microcontroller.

Above, only a general diagram was written, which allows you to understand how the process occurs. It may differ slightly for individual development environments, and more detailed information about them can be found in the instructions.

I would like to write a separate appeal to those who are just starting to use programmers. Remember that, no matter how basic some steps may seem, you must always adhere to them so that the equipment can work normally and adequately and perform the tasks you set. Good luck in electronics!

New on the site

>

Most popular