21 votes

ICSP or Pre-Programmed Microcontroller

If you have the space for a header, that's probably the best option, and the slightly staggered pins Majenko recommends is a good way to hold a connector in place without adding complexity. But here'...
user avatar
  • 66.1k
19 votes
Accepted

ICSP or Pre-Programmed Microcontroller

I would suggest always including a header in that kind of quantity (small). If you get to larger quantities you can consider pads for pogo pins (you'd have to make a fixture to hold the PCB in ...
user avatar
16 votes
Accepted

How to Use an External ST-Link/V2 with the STM32F4 Discovery Board

You'll need to isolate the microcontroller from the st-link portion of the board. To do this just remove the jumpers on the CN3 pins. Then, to use your external st-link, make the following ...
user avatar
  • 1,265
14 votes

ICSP or Pre-Programmed Microcontroller

I always add space for an ICSP header, even if it's not populated. I have three ways of doing it at the moment depending on situation. One of my designs has a very fine pitch header for which I have ...
user avatar
  • 55.5k
14 votes

Absolute cheapest, (easy) way of starting programming on ARM microcontrollers

The stm32F0 and stm32L0 line have discovery boards running about $10, and Keil will provide a full function IDE for this line at zero cost. The Keil free pro MDK install instructions are HERE Also, ...
user avatar
10 votes

PIC programming through FPGA

No, you don't need to, in fact you can't, use SPI, UART, or I2C to program the PIC. The only way to get a new program into a PIC that doesn't have special code loaded for that purpose (a bootloader) ...
user avatar
10 votes

What is the difference between Microchip and ICD and PICKit?

There is a nice comparison between the PICKit 3, ICD 3, and Real ICE here. The big difference between the PICkit 3 and ICD 3 is speed -- the PICKit run at USB 1.1/Full Speed (12 Mbs), and the ICD ...
user avatar
  • 47.1k
8 votes

BOOT0 vs BOOT1 circuit design in STM32f103 (ST-LINK)

Right below Figure 10 of AN2586 it mentions: Resistor values are given only as a typical example. These pins can be tied directly to VDD or GND, but it is common practice to use resistors for a ...
user avatar
  • 2,429
7 votes

Absolute cheapest, (easy) way of starting programming on ARM microcontrollers

Easiest way- shell out >$10K USD for a full-functioned Keil Pro compiler, buy their JLINK debugger (another $1K maybe- there are cheaper ones with some limitations). IAR is another expensive ...
user avatar
7 votes
Accepted

SWDAP vs CMSIS-DAP vs DAPLink

CMSIS is the generic name for ARM-specified infrastructure around Cortex processors. The project we know today as DAPLink actually started as mbedmicro/CMSIS-DAP, we can find multiple references of ...
user avatar
  • 1,145
6 votes

ICSP or Pre-Programmed Microcontroller

If one is using a processor which can be reprogrammed in circuit, I would highly recommend that boards be designed in such a way as to allow its use, even if actually using the feature would require ...
user avatar
  • 44.6k
6 votes

What's a production programmer for PIC

Microchip's "production programmer" distinction is largely only meaningful for old chips. The old flash parts, like the 16F877 for example, had to be checked at both Vdd limits after programming. ...
user avatar
6 votes
Accepted

Understanding programmers for microcontrollers

There is no magic sauce, it's all just clocks and data lines going up and down in voltage in the right succession. Sometimes the programming voltages are a bit higher than the normal interface ...
user avatar
  • 633
6 votes

Absolute cheapest, (easy) way of starting programming on ARM microcontrollers

Here's what I use: STM32F103 "minimum system board" (see e.g. here, Cortex-M3 core), runs on 3.3V or USB power without any external components, clones come for about US$3 each. This fits nicely your ...
user avatar
  • 3,775
6 votes
Accepted

What's the risk of leaving VPP/MCLR floating?

It's not 'floating' in the second circuit, that particular PIC has an internal pull-up. You should read the datasheet for the particular processor you are using. It's only 404 pages, a trifle ...
user avatar
6 votes

Can a Raspberry PI be used for high voltage parallel programming?

No. It says that you can use an Arduino for HVPP with additional hardware. Similar hardware (a shield or hat or pants or whatever Raspberry Pi calls it) could be developed for the Raspberry Pi, but ...
user avatar
  • 12.8k
6 votes

avrdude: error: program enable: target doesn't answer. 1

I was pulling my hair out as I had received 20 Atmega328P's and the first one I was able to get programmed with my USBasp Programmer, but swapping the processors I was not able to program on ...
user avatar
  • 61
5 votes

What is needed for basic PIC programming?

I would say that you lose your PICs in the basement. They are "C" devices and do not have Flash. This means that they may be erasable by UV (Quartz Window) or totally non-erasable OTP devices. You ...
user avatar
5 votes

Why do I have to disconnect and reconnect the Microchip ICD3 after every programming?

I haven't really solved the problem, but I've found a rather ugly workaround that is just barely better than nothing. I've written the following python-script to reset the USB-port. This gets the ICD ...
user avatar
5 votes
Accepted

PIC18F1220 production build of C code not working

Problem here is that the PIC18F1220 and 18F1320 require that the MCLR pin to be connected at least to Vdd through 1-10kOhm resistor. This enables the POR as the datasheet states. If the MCLR pin is ...
user avatar
5 votes

Absolute cheapest, (easy) way of starting programming on ARM microcontrollers

The easiest start probably is one of the third-party clone boards. Random example from ST. That requires a programmer using the 'SWD' protocol. ST make 'ST-LINK' branded ones, I'm not sure if you have ...
user avatar
  • 45.1k
5 votes
Accepted

Can I covert a 3.3v/5v USB TTL Serial device to 1.8v using a LM1117 1.8v regulator?

Pin 4 of the PL2303 or FT232R SOIC package is VDD_325/VCCIO, the Serial level voltage input. If you inject 1.8V there, the serial UART pins will be at 1.8V TTL levels. http://www.prolific.com.tw/...
user avatar
  • 71.2k
5 votes

ST-LINK/V2 repairing issue

You need to upload ST Link firmware onto the MCU. It might be possible with some soldering/desoldering involved. I am not sure if the original firmware is available freely, but there is STSW-LINK007 ...
user avatar
  • 10.8k
4 votes

How can I tell that USBasp is working?

The error message you are seeing means that the chip is not responding to the "enable programming mode" command that the programmer is sending. Either you have got the connections wrong, or the ...
user avatar
  • 41
4 votes

What is the difference between Microchip and ICD and PICKit?

The main differences between ICD4 and PICKit 4 are as follows: o Power to Target: ICD4 can provide up to 1A, whereas the PICkit4 can only provide 50 mA. o Breakpoints: ICD 4 supports complex ...
user avatar
  • 51
4 votes

Will one pic programmer program all pic chips?

Unfortunately, there is no single programmer that will program all PICs. If you go to the in the installation directory for MPLABX (on my machine it is "C:\Program Files (x86)\Microchip\MPLABX\docs"),...
user avatar
  • 47.1k
4 votes

Programmer gives me an error in programming a big hex file

All these Programmers are based on USBASP which is not professional programmer/debugger tools and many parameters e.g. USB cable length make some problems at writing speed and performance. I had same ...
user avatar
4 votes

Program a PIC24FJ64GB002 with a pickit 2

PICkit 2 does not support the PIC24FJ64GB002, either as a programmer or as a debugger. See below from MPLAB
user avatar
4 votes

Understanding programmers for microcontrollers

There are four methods to get code into a microcontroller. In order of accessibility: Bootloader. This is what the arduino uses. There is code running on the microcontroller that is capable of ...
user avatar
  • 21k
4 votes
Accepted

SWD AHB-AP access gives ACK_FAULT

The issue I found out was when I wrote to the CSW register to configure the access field-size in AHB-AP, I inadvertently cleared the MasterType[29], Hprot1[25], Res1[24] and DbgStatus[6] bits ...
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible