Portal for car enthusiasts

How to program PIC microcontrollers or Simple JDM programmer. How to program PIC microcontrollers or Simple JDM programmer Do-it-yourself programmers for pic controllers

Tell in:
It is not a problem for many radio amateurs to quickly assemble a circuit they like on a microcontroller. But many beginners to work with microcontrollers are faced with the question of how to program it. One of the simplest options for programmers is the JDM programmer.
Program - programmer ProgCode v 1.0 This program works in WindowsXP. Allows programming PIC controllers of the medium family (PIC16Fxxx) via the computer's COM port. The programmer connection indicator (in the upper right corner of the window) in the absence of a programmer on the port selected in the settings turns red. If the programmer is connected, the program detects it and the indicator in the upper right corner takes the form shown in Figure 1. The control panel is located in the left part of the program window. This panel can be minimized by clicking on the button in the toolbar or by clicking on the left edge of the window (this is convenient when the program window is maximized to full screen).

Figure (screenshot of ProgCode v1.0)


If a HEX file is loaded into the program, then it is advisable to first select the MK in the list of controllers for which the downloaded firmware is designed. If this is not done, then the file, designed for a microcontroller with a larger memory than selected in the list, will be truncated and part of the program will be lost - a warning is displayed with this file loading option.

If this does not happen, then you can select the desired controller after loading the file into the program.

SFR File Format The ProgCode programmer supports its own file format. These files have the .SFR extension and allow you to store additional information about the program designed for the microcontroller. This file stores information about the type of microcontroller. This allows, when loading an SFR file, not to worry about pre-selecting the type of MK in the settings.

Port and protocol settings when connecting the programmerAfter installing the program, all the settings that are necessary for the programmer to work with the JDM scheme shown on this page are set by default.
The signal inversion in the above circuit is only needed for the OutData output, since in this circuit the signal is inverted by the matching transistor. On all other outputs, inversion is disabled.



The pulse delay can be equal to 0. Its adjustment is provided for "particularly difficult" instances of controllers that cannot be flashed. The same applies to the write pause allowance - it is zero by default. If you increase the values ​​of these settings, the programming time of the controller will increase significantly.

The "check on write" checkbox should be checked if you need to "on the fly" check everything that is written to the microcontroller for correctness and compliance with the source file. If this checkbox is unchecked, the check is not performed at all and there will be no error messages, even if such errors actually exist.
Port speed selection - any speed can be selected. For the JDM programmer, this parameter does not matter.

WindowsXP uses buffering of information transmitted through COM ports. These are the so-called FIFO buffers. To avoid errors when programming through JDM, this mechanism must be disabled. You can do this in Windows Device Manager.

Go to the control panel, then:
Administrative Tools - Computer Management - Device Manager

Then we select the port to which the JDM programmer is connected (for example, COM1) - we look at the properties - the port settings tab - in addition. And uncheck the box "Use FIFO buffers"

Figure - Configuring the COM port to work with the JDM programmer



After that, we restart the computer.


Local Project Explorer In addition to directly programming controllers, the program has a convenient project browser for MK, located both on local computer folders and on the Internet. This was done for ease of use. Often, the projects you need are in different folders, and you have to spend time getting to the right directory to view the project. Here you can easily add the necessary folders to the list of folders and view any project with two or three mouse clicks.

Any file, when double-clicking on it in the browser panel, will open in the program itself - this applies to pictures, html files, doc, rtf, djvu (with plugins installed), pdf, txt, asm. The file can also be opened by double-clicking in the browser using an external program installed on the computer. To do this, the extension of the desired file type must be registered in the "File associations" list. If you do not specify the path to the opening program, Windows will open the file in the default program (this is convenient for opening archives that do not always open unambiguously). If the path to the opening program is specified in the list, the file will be opened in the specified program. It is convenient to view files like SPL, LAY, DSN in this way.

Figure (screenshot of ProgCode v1.0 browser)



This is how the file association settings window looks like:




Project Explorer on the InternetThe Project Explorer on the Internet, as well as the local project browser, allows you to quickly go to the desired site on the Internet with a couple of clicks, view the project and, if necessary, immediately flash the program into the MC.



When reviewing projects on the Internet, if the project page contains a link to a file with the SFR extension (this is the file format of the ProgCode program), then such a file, when clicked on it, will open in a new tab of the program and is immediately ready for firmware into the microcontroller.
The list of links can be edited using the "Edit" button. This will open the window for editing the list of links:





Description of the IC programming process Most modern ICs contain flash memory, which is programmed using the I2C protocol or similar protocols.
Rewritable memory is available in PIC, AVR and other controllers, memory chips of the 24Cxx type, and similar ones, various MMC and SD memory cards, ordinary USB flash cards that connect to a computer via a USB connector. Consider writing information to the flash memory of the PIC16F628A microcontroller There are 2 the DATA and CLOCK lines that carry information. The CLOCK line is used to supply clock pulses, and the DATA line is used to transmit information.
To transfer 1 bit of information to the microcontroller, you must set 0 or 1 (depending on the value of the bit) on the data line (DATA) and create a voltage drop (transition from 1 to 0) on the clock line (CLOCK).
One bit for the controller is not enough. He waits after five more to take this package of 6 bits as a command. The controller really likes commands, and they should consist of exactly 6 bits - this is the nature of the PIC16.
Here is the list and meaning of the commands that the PIC is able to understand. There are not so many commands - the vocabulary of this controller is small, but do not think that it is completely stupid - there are devices with fewer commands "LoadConfiguration" 000000 - Loading configuration
"LoadDataForProgramMemory" 000010 - Loading data into program memory
"LoadDataForDataMemory" - 000011 - Loading data into data memory (EEPROM)
"IncrementAddress" 000110 - Increase the address of the PC MK
"ReadDataFromProgramMemory" 000100 - Reading data from program memory
"ReadDataFromDataMemory" 000101 - Reading data from data memory (EEPROM)
"BeginProgrammingOnlyCycle" 011000 - Start programming cycle
"BulkEraseProgramMemory" 001001 - Complete erasure of program memory
"BulkEraseDataMemory" 001011 - Complete erasing of data memory (EEPROM)
"BeginEraseProgrammingCycle" 001000 - Start programming cycleThe controller reacts to these commands in different ways. In different ways, after issuing the command, you need to continue the conversation with him.
In order to start a full-fledged programming process, it is also necessary to apply a voltage of 12 volts to the MCLR output of the controller, then apply a supply voltage to it. It is in this sequence of voltage supply that there is a certain meaning. After power up, if the PIC is configured to run from the internal RC oscillator, it can start executing its own program, which is not allowed when programming, as a failure is inevitable.
Pre-feeding 12 volts to the MCLR avoids this scenario.
When writing information to the flash memory of the MC programs after the command "LoadDataForProgramMemory" 000010 - Loading data into the program memory, you must send the data itself to the controller - 16 bits,
which look like this: “0xxxxxxxxxxxxxxx0”. The crosses in this word are the data itself, and the zeros around the edges are sent as a frame - this is the standard for the PIC16. There are only 14 significant bits in a word. This series of controllers has a 14-bit command representation format.
After the transmission of the data word is completed, the PIC waits for the next command.
Since our goal is to write a word to the MK program memory, the next command should be the command
"BeginEraseProgrammingCycle" 001000 - Start programming cycle Upon receiving it, the controller disconnects from the outside world for 6 milliseconds, which it needs to complete the recording process. Signals at the microcontroller pins are generated by a computer using special programs - programmers. COM, LPT or USB ports can serve for signal transmission. Programs such as PonyProg, IsProg, WinPic800 work with the JDM programmer.
JDM programmer circuit A very simple programmer circuit is shown in the figure. In this circuit, although the control of the voltage supply sequence is not implemented, it is very simple and it is possible to assemble such a circuit very quickly, using a minimum of parts.
Figure (diagram of JDM programmer)


One of the questions when connecting the programmer to a computer is the question - how to provide selective isolation. In order to avoid damage to the COM port in the event of a malfunction in the circuit. Some circuits use the MAX232 chip, which provides selective isolation and signal level matching. In this scheme, the issue is resolved more simply - using battery power. The level of the signal coming from the computer is limited by the zener diodes VD1, VD2, and VD3. Despite the simplicity of the JDM programmer circuit, it can be used to program most types of PIC microcontrollers. The jumper between the COM6 (DSR) and COM7 (RTS) pins is designed so that the program can determine that the programmer is connected to the computer.

The connection of the programmer outputs to a specific MK depends on the type of MK. Often, several panels are mounted on the programmer board, which are designed for a certain type of controller.

The table shows the purpose of the legs of some types of MK during programming.




drawings are given with the assignment of the pins of the most common MKs when programming.

Pinout (pinout) of microcontrollers PIC16F874A, PIC16F877A in the DIP40 package.
Pinout (pinout) of PIC16F627A, PIC16F628A, PIC16F648A microcontrollers in DIP18 package.
The PIC16F84, PIC16F84A microcontrollers have the same arrangement of pins for programming.

The pin assignment for microcontrollers of the PIC16Fxxx series, depending on the type of case, is standard in most cases, but if there is any doubt about this, then it is most reliable to check the datasheet for a specific instance of the MK. Part of the documentation is available on the Russian site http://microchip.ru The complete collection of datasheets and other documentation is on the website of the manufacturer of PIC microcontrollers: http://microchip.com
Project index The program allows you to directly go to the index page, view the description of the desired project with a couple of clicks and immediately flash the program into the controller.



If necessary, flash the controller with the selected firmware - click on the SFR format file, for example Timer_a.sfr
The program downloads the file from the server in a new tab.



After that, it remains only to insert the MK into the programmer socket, if it has not already been done, and click on the "Write all" button.
The program is recorded in MK. After that, the controller is inserted into the device board and the device is ready for operation.

You can download the program on the file download page: http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 Section:

Once I decided to assemble a simple LC meter on pic16f628a and of course 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 at my disposal. 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 using expensive pic18f2550 / 4550, which I naturally didn’t have, and it’s a pity to use such expensive MKs if I very rarely do something at peaks (I prefer Avr- s, it’s not a problem to flash them, they are much cheaper, and it seems to me that it’s easier to write programs on them). After digging for a long time on the Internet in one of the many articles about the EXTRA-PIC programmer and its various options, one of the authors wrote that extrapic works with any com ports and even a usb-com adapter.

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

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

And so he did. I took the CH340G chip (which has all 8 com-port signals) and connected it instead of max232. And that's what happened.

In my circuit there is a jumper jp1, which is not in the extra peak, I put it because I did not 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 did not lose, as it turned out, directly the TX pin is a logical one, and therefore there is 12 volts at the VPP pin when turned on, and nothing will happen during programming (although you can invert TX programmatically).

After assembling the board, it's time for testing. And then came the main disappointment. The programmer was determined immediately (with the ic-prog program) and earned, but very slowly! Basically, it's to be expected. Then in the settings of the com port, I set the maximum speed (128 kilobauds) and started testing all the programs found for JDM. As a result, PicPgm turned out to be the fastest. My pic16f628a was flashed completely (hex, eeprom and config) plus verification somewhere around 4-6 minutes (moreover, 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 is sewing, but very slowly.

Conclusions: the programmer is quite simple, it does not have expensive parts (CH340 - $0.3-0.5, k1533la3 can be found among radio junk), it works on any computer, laptop (and you can even use windows 8/10 tablets). Cons: It's very slow. It also requires external power for the VPP signal. As a result, as it seemed to me, 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 blinded him from what was." The set of parts is the most diverse: both smd and DIP.

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

List of radio elements

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 deals with the Extra-PIC programmer, data on which is obtained from (DOC Rev.1.03.00). The programmer is working, if everything is assembled as indicated below, then everything works when you first turn it on. Personally, I took this scheme from the site of Timofey Nosov

List of supported chips when used with IC-PROG v1.05D:
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 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.

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

Schematic diagram of the programmer.
On the side of the programmer, a DB9 connector is used.
Very often they make a mistake and put a “plug” (“daddy”, “pins”), i.e. the same as on the PC side!

Attention! The material is for general reference only. Be sure to check that the specified pinout matches the microcontroller you have chosen. To do this, refer to the Data Sheets and Programming Specifications for the appropriate 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, clean with solvent or alcohol with a toothbrush, dry with a hair dryer.
Inspect through the light for hair shorts and non-solders.
Prepare the power supply for voltage not less than 15V and not more than 18 volts.
UNSOLAR THE EXTENSION CORD
female-male for a COM port (not to be confused with null-modem and modem cables; 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. up to 9-9.). Be sure to do everything yourself. I had a problem with the cable, and I sinned on the programmer =)
2. Download the IC-PROG program from or from the developer's site.
3. Unpack the program into a separate directory. The resulting directory should contain three files:
icprog.exe - programmer shell file;
icprog.sys is a driver required to work under Windows NT, 2000, XP. This file must always be in the program directory;
icprog.chm - Help file.
4. Set up the program.

For Windows95, 98, ME

For Windows NT, 2000, XP

(Only for Windows XP ):

Right click on the icprog.exe file.

« Properties» >> tab « Compatibility» >>

Set the checkbox to

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

select " Windows 2000«.

Run the file icprog.exe.

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

agree with the statement " You need to restart IC-Prog now» (press « 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 in the system before, in the appeared window " Confirm» click « Ok". The driver will install and the programmer shell will restart.

Note:

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

« Settings» >> « Options» >> select the tab « I2C» >> set the checkboxes on the items:

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

The program is ready to go.

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

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries , but also the leap into electronic typesetting, remaining essentially unchanged.

DIY PIC controller programmer

This device - the so-called JDM programmer, is the simplest design for flashing PIC family controllers. The undeniable advantages - simplicity, compactness, power without an external source of this classic programmer circuit made it very popular among radio amateurs, especially since the circuit is already 5 years old, and during this time it has established itself as a simple and reliable tool for working with microcontrollers.

Schematic diagram of the programmer for pic controllers:

Power supply for the circuit itself is not required, because the COM port of the computer is used for this, through which the microcontroller firmware is controlled. For low-voltage programming mode, 5v is enough, but all options for changing (fuses) may not be available. The connector for connecting the COM-9 port was mounted directly on the printed circuit board of the PIC programmer - it turned out very convenient.

You can plug the board without extra cords directly into the port. The programmer was tested on various computers and when programming MK series 12F, 16F and 18F, showed a high quality firmware. The proposed scheme allows programming PIC12F509, PIC16F84A, PIC16F628 microcontrollers.

For programming, WinPic800 is used - one of the best programs for programming PIC controllers. The program allows you to perform operations for microcontrollers of the PIC family: reading, writing, erasing, checking FLASH and EEPROM memory and setting configuration bits.

Various types of microcontrollers PIC12C508, PIC12C509, PIC16C84 and memory chips with I2C interface are programmed by inserting into the connector as shown in the figure above.

PIC microcontrollers have earned fame due to their unpretentiousness and quality of work, as well as versatility in use. But what can a microcontroller give without the ability to write new programs to it? Without a programmer, this is nothing more than a piece of iron that is amazing in form. 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 differ in reliability and functionality, which they provide to the owners of microcontrollers. So, if a home-made one is made, then, as a rule, it is calculated for only one model of the 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 known to many under the name PICkit 2. Its popularity is due to explicit and implicit merits. The obvious advantages that this USB PIC programmer has can be listed for a long time, among them: relatively low cost, ease of operation and versatility with respect to the entire family of microcontrollers, from 6-pin to 20-pin.

Using a programmer from Microchip

On its use, you can find many training lessons that will help you deal with all sorts of aspects of use. If we consider not only the PIC programmer, bought "from 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 for use, licensed development environments, as well as a demo board, which is designed to work with low-output microcontrollers. In addition to all this, there are utilities that will make working with the mechanism more enjoyable, help you track the process of programming and debugging the microcontroller. A utility is also supplied to stimulate the work 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 rely 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 in order to be able to work efficiently.

Hand built programmers

And now, perhaps, the most interesting - 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. In the case of a purchase from an official representative, you can count on the fact that if the device turns out to be of poor quality, then you can return it and get a new one in return. And when buying "by hand" or using bulletin boards in case of poor-quality soldering or mechanical damage, you can't count on reimbursement of expenses and getting a high-quality programmer. And now let's move on to hand-assembled electronics.

The PIC programmer can be designed for certain 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. It must be remembered that when you assemble a design given by someone, the PIC programmer, the circuit and the result must fit 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.

Separately, it is worth saying a word about the software package, which is provided by a USB-programmer for PIC, assembled by oneself. The fact is that it is not enough to assemble the programmer itself according to one of the many schemes presented on the global network. You also need software that will allow the computer to flash the microcontroller with it. As such, Icprog, WinPic800 and many other programs are often used. If the author of the programmer scheme himself did not indicate the software with which his creation will be able to perform its work, then you will have to find out by enumeration yourself. The same applies to those who assemble their own circuits. You can write a program for MK yourself, but this is already a real aerobatics.

Universal programmers that are suitable not only for PIC

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

The universal PIC and AVR programmer is a piece of equipment, the peculiarity of which lies in its versatility and the ability to change the work thanks to the program without making changes to the hardware component. Due to this property, such devices easily work with MKs, which were released for sale after the release of the programmer. Given that the architecture will not change significantly in the near future, they will be usable for a long time to come. 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. The ability to program microcontrollers and circuits based on various technologies (NVRAM, NAND Flash, and others).
  3. Relatively short programming time. Depending on the model of the programmer and the complexity of the code being programmed, 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 which the firmware speed is greater 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: get 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 the operation of all programmers with microcontrollers? The fact is that, although the programmers themselves are independent circuits, they transmit computer signals in a certain sequence. And the task of how to explain to the computer what exactly needs to be sent is solved by the software for the programmer.

There are quite a few different programs that are freely available that are aimed at working with programmers, both home-made and factory ones. But if it is manufactured by a little-known enterprise, was made according to the scheme of another electronics lover or by the person reading these lines, then the software may not be found. In this case, you can use the enumeration of all available programming utilities, and if none of them fit (if you are sure that the programmer works well), then you must either take / make another PIC programmer, or write your own program, which is very high aerobatics.

Possible problems

Alas, even the most ideal technique is not without possible problems, which, no, no, and will arise. For a better understanding, you need to make a list. Some of these problems can be corrected manually during a detailed inspection of the programmer, some can only be checked if the necessary test equipment is available. In this case, if the PIC microcontroller programmer is factory-made, then it is hardly possible to repair it. Although you can try to find possible causes of failures:

  1. Poor 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 technology, how to start flashing a microcontroller with a programmer?

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

Above, only a general scheme was written, which allows you to understand how the process takes place. For individual development environments, it may differ slightly, and more detailed information about them can be found in the instructions.

I would like to separately write an appeal to those who are just starting to use programmers. Remember that no matter how elementary some steps may seem, it is always necessary to adhere to them so that the equipment can work normally and adequately and perform the tasks you have set. Good luck with electronics!