HVProg

  • Compatible with AvrStudio
  • Supports all AVR controllers
  • Parallel and serial High-Voltage-Programming
  • Small and easy layout with only a few parts
  • STK500 protocol
  • Schematics and board layout available

This project is no longer developed and supported!

Introduction

The project started as an enhancement of Martin Thomas Evertool project. He has rebuilt the AVRISP and JTAG adapter with only a few parts. Unfortunately they both don’t support high-voltage programming modes - the only possibility to ‘rescue’ AVR controllers when you e.g. disabled the reset or SPI fuses. The only widely available possibility was the STK500 from ATMEL.

HVProg is a redesign of the original STK500 without all components only required on a development board. It is based on the original ATMEL schematics that are freely available on the net (e.g. at avrfreaks.net). The main target was to keep all nessecary functionality to program all available AVR controllers in every programming mode supported by the STK500.

If you are looking for a development board for ATMEL AVR controllers you better buy the original STK500. If you only need an ISP programming adapter, the AVRISP included in Evertool is the better choice for you!

Please keep in mind that HVProg…

  • can’t replace a real development board and will never do
  • has no ESD protoction
  • needs a stabilized 12V and 5V input voltage in the Basic-Version
  • needs a working programmer to be built (AvrProg compatible preferred, more in the software section)
  • has only been tested in 5V environments

There are two versions of the project available:

  • The Basic-Version has separate connectors for the different programming modes and is only available as schematic. It needs a stabilized 5V and 12V input voltage and is supposed to be used for own board development only. This version will not be updated except to correct errors.
  • The Advanced-Version is available as schematic and board layout. Adapter boards for HV-Programming can be easily built and a good tutorial how to build a case for HVProg is linked. This version needs an unstabilized input voltage of at least 15V (AC or DC).

 

Changelog

  • 29.09.2005 : Programming problem solved. See Software-Section
  • 24.04.2005 : Completely updated site with lots of new info
  • 06.11.2004 : Version 0.3 with less parts
  • 05.10.2004 : Schematics as eagle file released
  • 03.10.2004 : First version released (V0.2)

 

Licence

Creative Commons License
HVProg is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

THIS WORK IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORSAS ISAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS WORK, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 

Programming interfaces

Basic-Version

  • 6 Pin ISP
  • 10 Pin ISP
  • Serial-High-Voltage Programming (no standard connector)
  • Parallel-High-Voltage Programming (STK500 compatible control und data connectors and one connector with other required signals)

Advanced-Version

  • 6 pin ISP
  • 20 pin connector for ISP, parallel and serial high-voltage programming

 

Hardware {#sec-hardware}

Basic-Version (v0.3)

  • Schematic (Eagle-Format, Freeware 4.11): [Download]({static}/hvprog/dl/hvprog_03.sch}
  • Schematic as gif-file: Download
  • Part list as text-file: Download

Advanced version (v0.5)

  • Schematic (Eagle-Format): Download
  • Schematic as gif-file: Download
  • Board (Eagle-Format): Download
  • Case: There is a very good guide from avr-projekte.de on how to build a case for HVProg. The site is in german but with lots of self explaining pictures.
  • Pictures of the assembled PCB are in the gallery

 

Connector details

  • ISP: The connector is compatible with the ATMEL standard (see STK500 User Guide page 51)

  • HV-Seriel: For exact pinning check the appropriate controller datasheet. Section Memory Programming/High Voltage Serial Programming

Pin nameuC pin
SWCLKXTAL1
TRSTReset (High Voltage Enable Jumper must be set)
PPD0‘Serial Data Input’ (usually PB0)
PPD1‘Serial Instr. Input’ (usually PB1)
PPD2‘Serial Data Output’ (usually PB2)

 

  • HV-Parallel: For special connections check STK500 User Guide (Table 3-3 page 21, look for BSEL2 and PJUMP)
Pin nameuC pin
VCCtarget supply voltage uC
GNDground
TRSTReset (High Voltage Enable Jumper must be set)
SWCLKXTAL1
PPC0If BSEL2 then connect to PortA.0 otherwise not needed
PPC1PortD.1: Rdy/Bsy
PPC2PortD.2: OE
PPC3PortD.3: WR
PPC4PortD.4: BS1
PPC5PortD.5: XA0
PPC6PortD.6: XA1
PPC7PortD.7: PAGEL
PPD0PortB.0
PPD1PortB.1
PPD2PortB.2
PPD3PortB.3
PPD4PortB.4
PPD5/MOSIPortB.5
PPD6/MISOPortB.6; if PJUMP connect it to PortC.0
PPD7/SCKPortB.7; if PJUMP connect it to PortC.1

 

  • External clock to reanimate controllers with wrong clock settings (fuses) is available on SWCLK. The external clock has to be connected to XTAL1 and can be adjusted up to 3,69MHz with the STK500 plugin in AvrStudio.

 

Software {#sec-software}

The original ATMEL firmware is available in .ebn-format that is only supported by AvrProg (included in AvrStudio). When you have the original Avr910 programmer or an improved version (like the one from Klaus Leidinger) you can directly flash the firmware into the At90s8535 or Mega8535 (won’t work with original Avr910). The firmware file is in the AvrStudio directory: Stk500\stk500.ebn.  

Software installation

  1. Connect the ISP programming adapter with your computer and the ISP port on the HVProg board
  2. Mount the ‘Selfprogramming’ jumper to pin 1,2
  3. Connect the power supply (Basic: only 5V supply needed. Advanced: Regular supply)
  4. Start AvrProg (AvrStudio: Tools/AvrProg)
  5. Select the firmware in <AvrStudio directory>\Stk500\stk500.ebn
  6. Set the appropriate fuses (ext. high frequency crystal, only for Mega8535)
  7. Flash the firmware
  8. Disconnect the power supply and then the programming adapter
  9. Mount the ‘Selfprogramming’ jumper back to pin 2,3 (default)  

Important

If you use Klaus Leidinger’s programmer please upgrade its firmware to version 3.8. Otherwise you might get problems when you use a Mega8535.  

How to set the fuse bits

 

 

FAQ

When writing the firmware with Klaus Leidinger’s programmer you get a write error (90s8535 only) The problem is known and is the result of a bug in the programmers firmware. An Update is available here and should be used to prevent errors.

HV-Programming is not working with Basic-Version The 12V power supply must be between 11.5V and 12.5V otherwise the programming mode cannot be entered.

HV- and/or ISP-Programming modes are not working The ‘Selfprogramming’ Jumper must be placed on pin 2,3. For HV-Mode the ‘High Voltage Enable’ jumper hast to be mounted, too.

Can i use HVProg with the new 2.x firmware? Yes, the original STK500 is completely emulated. All future firmware version should work without any problems.

 

Rebuilds

Here are rebuilds of the original HVProg which are slightly modfied and/or extended.

It is possible that some of the specifications given above do not apply for these version.

Board and case from Klaus Leidinger From: Klaus Leidinger
Download: This board is now the official version. The download link is in the hardware section.
Website: www.mikrocontroller-projekte.de
Board from Crazy Horse From: Crazy Horse
Download: Schematic and Board