Revision and Upgrade Information

  • See the downloads page for downloadable patches and include files.
  • See the version history for information about changes and additions in specific revisions.

Upgrade Policy

microEngineering Labs, Inc. offers low cost software upgrades to the latest revision at any time.  If you purchased software from one of our distributors, we recommend that you contact the same distributor to purchase the upgrade.   

Qualification for upgrades:

You are entitled to purchase an upgrade if you purchased the original software from microEngineering Labs or one of our authorized distributors.

Our software licenses are not transferable.  This means that if you purchase a used copy of our software from an individual, you are not entitled to an upgrade.  If you purchase our software on EBAY or a similar auction site, make sure the seller is an authorized distributor of our products.  You may check our distributor list to verify a seller.

When you order an upgrade, we will search our database for a record of the original purchase.  If a record cannot be found, this usually means that you purchased from a distributor.  You will be asked to provide a copy of the original invoice as proof of purchase.

Purchasing Upgrades:

There is a special "cross-grade" offer to move from the standard PICBASIC™ Compiler to the PICBASIC PRO™ Compiler: $199.95 plus shipping with proof-of-purchase of PBC.

Online ordering for upgrades is now available.  You may need to fax proof of purchase to qualify.  Upgrade disks will be shipped to you.  There are no downloads available.

Add Upgrades To Basket:

PICBASIC PRO™ Compiler $25.00 Upgrade Now!
PBP CROSSGRADE for PBC owners
(with manual)
$199.95 Upgrade Now!
Programmer Software $10.00 Upgrade Now!

Ordering by mail:

United States:
Use our order form to create documentation.  Print the completed form and include it with your payment and proof of purchase.  Make sure that your return address, telephone number, and email address are correct on the form.  This helps to avoid delays caused by incomplete or unclear information.  Credit card orders may be faxed.  Shipping cost will be calculated based on the method you choose on the form.

Outside the United States:
If you purchased software from one of our distributors, we recommend that you contact the same distributor to purchase the upgrade.  If this is not possible, use our order form to calculate shipping costs and generate documentation.  Print the completed form and include it with your payment and proof of purchase.  Make sure that your return address, telephone number, and email address are correct on the form.  Credit card orders may be faxed.

Version History

  • PICBASIC PRO™ Compiler
  • PICBASIC™ Compiler
  • melabs USB/U2 Programmer
  • melabs Field Programmer
  • melabs Serial Programmer
  • EPIC™ Programmer
  • melabs Loader
  • Latest Release: 2.60 (July 2009)

    • DOWNLOAD PATCH for 2.60A (June 2010):
      • Adds support for: PIC12F1822, 12LF1822, 16F1823, 16LF1823, 12F617, 16F722A, 16F723A, 16LF722A, 16LF723A, 18F23K22, 18F24K22, 18F25K22, 18F26K22, 18F43K22, 18F44K22, 18F45K22, 18F46K22, 18LF23K22, 18LF24K22, 18LF25K22, 18LF26K22, 18LF43K22, 18LF44K22, 18LF45K22, 18LF46K22
      • Fixes WRITE for WORD variables
      • Fixes assembly errors for 16F1826/16F1827
      • Fixes baud rate accuracy for SERIN/SEROUT commands
      • Fixes ADCIN for 18F46J11 family
      • Fixes WRITECODE for 18F4520 family
      • Workaround added for enhanced 14-bit devices and MPASM 5.36
      • Fixes PBPMPLAB.BAT for 64-bit systems
    • Adds support for Enhanced Mid-range Core PIC16F1826, 1827, 1933, 1934, 1936, 1937, 1938, 1939, 1946, 1947, PIC16LF1826, 1827, 1933, 1934, 1936, 1937, 1938, 1939, 1946 and 1947.
    • Adds support for PIC18F13K22, 13K50, 14K22, 14K50, 24J11, 24J50, 25J11, 25J50, 26J11, 26J50, 44J11, 44J50, 45J11, 45J50, 46J11, 46J50, 66J90, 66J93, 67J90, 67J93, 86J90, 86J93, 87J90, 87J93, PIC18LF13K22, 13K50, 14K22, 14K50, 24J10, 24J11, 24J50, 25J10, 25J11, 25J50, 26J11, 26J50, 44J10, 44J11, 44J50, 45J10, 45J11, 45J50, 46J11 and 46J50.
    • Adds new functions ATN (arctangent) and HYP (hypotenuse).
    • Adds new commands ARRAYREAD, ARRAYWRITE (for enhanced string handling), DO..LOOP, ELSEIF, EXIT, ON GOSUB and ON GOTO.
    • Adds Word and Long modifiers and allows multiple data for READ and WRITE.
    • Adds NO_CLEAR_STKPTR Define for more control of stack for RESUME to label.
    • Adds RESET_ORG Define for 14-bit core.
    • Adds WRITE_INT Define to disable/enable interrupts for WRITECODE.
    • Adds COFF debug file support for MPLAB 8.20 and beyond.
    • Changes plugin for MPLAB 8.20 and beyond.
    • Changes to new USB framework for support of new USB parts.
    • Fixes DATA statement for up to 256 values on one line.
    • Fixes OWIN and OWOUT presence detect for PIC18.
    • Lengthens default command and data times for LCDOUT.
    • Adjusts timing for SOUND command for 12-bit core.
     

    Previous Release: 2.50 (August 2007)

    • DOWNLOAD PATCH to 2.50c (March 2009):
      • Adds support for PIC16F722, 723, 724, 726, 727, PIC16LF722, 723, 724, 726, 727, PIC18F6393, 6493, 6628, 66J11, 66J16, 6723, 67J11, 8393, 8493, 8628, 86J11, 86J16, 8723 and 87J11.
      • Adds Erasecode to erase data space for 12-bit core.
      • Fixes Owout for greater than 8MHz for 14-bit core.
      • Fixes PORTH and TRISH for PIC18F85J50, 86J50, 86J55 and 87J50.
      • Fixes byte + word = long for PIC18.
      • Fixes PBPL bit access for bits 8 through 31 of long variables.
      • Fixes PBPW division of constants (folding) for constants greater than 32767.
      • Adds Microchip USB 1.3 fixes for PIC18.
      • Fixes USB for PIC18F87J50 series parts.
      • Sets Adcin default clock to rc for PIC16F882, 883, 884, 886 and 887.
      • Fixes Hpwm pin for PIC12F615, PIC12HV615, PIC16F616, 685, 690, 785, PIC16HV616 and 785.
      • Fixes Hserin2 timeout for PIC18.
      • Fixes I2C_SLOW Define for PIC18.
      • Fixes operator precedence in If..Then for long PIC18 (be safe - use parentheses.)
      • Fixes Lookup2 for non-long PIC18.
    • Adds support for PIC12F519, 609, 615, PIC12HV609, 615, PIC16F526, 610, 882, PIC16HV610, PIC18F2458, 2553, 4458 and 4553.
    • Adds support for low-voltage: PIC18F23K20, 24K20, 25K20, 26K20, 43K20, 44K20, 45K20, 46K20, PIC18F65J50, 66J50, 66J55, 67J50, 85J50, 86J50, 86J55 and 87J50.
    • Adds signed long (32-bit) variable type for PIC18Xxxxx.
    • Adds Read and Write EEPROM data for 12-bit core.
    • Adds WRITE_INT Define to disable/enable interrupts for Write.
    • Revises HPWM and adds additional channels.
    • Adds further optimizations.
    • Adds CAN registers for PIC18F4585.
    • Fixes Adcin for PIC16F88x.
    • Fixes RAM bank allocation for PIC16F631, 946, PIC18F2515, 2523, 2525, 2610, 2620, 4515, 4523, 4525, 4610 and 4620.
    • Fixes additional possible memory allocation of word-sized variable at bank boundary for PIC18Xxxxx.
    • Fixes PM assembler for PORTF, PORTG TRISF and TRISG for PIC16F946.
    • Fixes more miscellaneous warning/error messages.

    Previous Release: 2.47 (June 2006)

    • Adds support for PIC16F616, 631, 677, 883, 884, 886, 887, PIC16HV616, 785, PIC18F2423, 2420, 2450, 2523, 2682, 2685, 4423, 4420, 4450, 4523, 4682 and 4685.
    • Adds support for low-voltage PIC18FJ devices: PIC18F24J10, 25J10, 44J10, 45J10, 63J11, 63J90, 64J11, 64J90, 65J10, 65J11, 65J15, 65J90, 66J10, 66J15, 66J60, 66J65, 67J10, 67J60, 83J11, 83J90, 84J11, 84J90, 85J10, 85J11, 85J15, 85J90, 86J10, 86J15, 86J60, 86J65, 87J10, 87J60, 96J60, 96J65 and 97J60.
    • Adds HSER_SPBRGH and HSER2_SPBRGH defines for PIC18Xxxxx.
    • Adds minor optimizations for PIC18Xxxxx.
    • Increases number of table elements allowed for Lookup and Lookup2 for PIC18Xxxxx.
    • Improves accuracy for Nap and Sleep for PIC18Xxxxx.
    • Allows temp variable in banks other than 0 for 12-bit core.
    • Changes internal bit names to avoid possible conflicts.
    • Hides "__CONFIG Deprecated" warning for PIC18Xxxxx.
    • Fixes Readcode and Writecode for PIC16F88.
    • Fixes Adcin and Dig for 12-bit core.
    • Fixes possible memory allocation of word-sized variable at odd address on page boundary for PIC18Xxxxx.
    • Fixes PM for PORTD and PORTE for PIC16F59.
    • Fixes miscellaneous error messages.

    Previous Release: 2.46 (January 2005)

    • DOWNLOAD PATCH 2.46A (October 2005):
      • Adds support for PIC10F222, PIC12F510, PIC16F506, 685, 687, 689, 690, 946, PIC18F1230, 1231, 1330, 1331, 2221, 2321, 4221, 4321, 6527, 6622, 8527 and 8622.
      • Fixes Hserin/Hserout defines for PIC16F688.
      • Fixes possible bank select issues for moving data into a bit on PIC18 series MCUs.
    • Adds support for PIC10F202, 206, PIC12F635, PIC16F59, 636, 639, 785, 913, 914, 916, 917, PIC18F2410, 2420, 2455, 2480, 2510, 2520, 2550, 2580, 4410, 4420, 4455, 4480, 4510, 4520, 4550, 4580, 6310, 6390, 6627, 6722, 8310, 8390, 8627 and 8722.
    • Adds support for full speed USB PIC18F2455, 2550, 4455, and 4550.
    • Adds OPTION2 for PIC16HV540.
    • Adds CAN externals to PIC18F2680 and 4680.
    • Changes XINST default to off for PIC18Fxxxx.
    • Fixes bank addresses for PIC18F6410, 6490, 8410 and 8490.
    • Fixes Next for word index with a byte variable Step.
    • Fixes possible Debugin, Hserin2 or Serin2 Dec timeout at wrong time.
    • Fixes no Debugin or Hserin2 modifier timeout for PIC17Cxxx.
    • Fixes no Hserin2 modifier timeout for PIC18Xxxxx.
    • Fixes USBOut for length in any bank for PIC16C745 and 765 low speed devices.
    • Fixes USB descriptor for PIC16C745 and 765 Jan Axelson demo.

    Previous Release: 2.45 (Febuary 2004)

    • Adds support for PIC12F508, 509, 683, PIC16F505, 684, 688, 716, 737, 747, 767, 777, 87, 88, PIC18F2331, 2431, 2515, 2525, 2585, 2610, 2620, 2680, 4331, 4431, 4515, 4525, 4585, 4610, 4620, 4680, 6410, 6490, 8410 and 8490.
    • Allows spaces in path/filename.
    • Improves compatility with MPLAB® 6.
    • Updates USB routines to version 1.25.
    • Removes dependence on some Microchip PIC18Xxxxx macros.
    • Fixes subtract bit from byte and word to word result.
    • Fixes PIC16F648A BANK2 RAM setting.
    • Fixes some PIC18Xxxxx bank selections.

    Previous Release: 2.44 (July 2003)

    • Adds support for PIC16F54, 57, PIC18F2439, 2539, 4439, 4539, 6520, 6525, 6585, 6621, 6680, 8520, 8525, 8585, 8621 and 8680.
    • Adds REPEAT..UNTIL.
    • Adds 9 bit parity to HSERIN, HSERIN2, HSEROUT and HSEROUT2.
    • Changes PIC18Fxxxx DATA and EEPROM to allow odd locations.
    • Fixes constant folding for large numbers.
    • Fixes unable to load COD file for MPLAB 6.
    • Fixes parity with timeout in serial instructions.
    • Fixes PIC18Xxxxx DEBUGIN modifier timeout.
    • Fixes PIC18Xxxxx SERIN2 DEC modifier timeout.
    • Fixes PIC18F1220 and 1320 configuration error.
    • Fixes PIC18F6620, 6720, 8620 and 8720 BANK12 RAM setting.

    Previous Release: 2.43 (December 2002)

    • Adds support for PIC16C557, 16F627A, 628A, 630, 648A, 676, 818, 819, PIC18F1220, 1320, 2220, 2320, 4220 and 4320.
    • Adds HSERIN2 and HSEROUT2.
    • Eliminates warnings for PULSIN_MAX and some registers.
    • Fixes ADCIN resetting VREF on some devices.
    • Fixes some bank preference selections for 18Xxxxx.
    • Fixes USBIN and USBOUT to work with variable length.
    • Changes PICStic 5 support.

    Previous Release: 2.42 (August 2002)

    • Adds support for PIC12F629, 675, PIC16F873A, 874A, 876A and 877A.
    • Adds separate CAN definition file.
    • Changes PBPW to work with upper ASCII characters.
    • Fixes SYSTEM for bit variables.
    • Changes DEBUG and DEBUGIN baud rate rounding.
    • Changes OWIN and OWOUT timing for high OSC frequencies.
    • Fixes SELECT CASE for byte arrays.
    • Fixes USBIN and USBOUT jump to forward references label.
    • Changes 12-bit core CLEAR to not clear bank 0.
    • Fixes PIC17Cxxx HSERIN timeout.
    • Fixes PIC17Cxxx logical and bitwise NOT.
    • Changes PIC18Xxxx I2CREAD and I2CWRITE timing.
    • Fixes READ and WRITE for PIC18Fxx2.

    Previous Release: 2.41 (March 2002)

    • Adds support for PIC16F72, PIC18F6620, 6720, 8620, 8720 and PicStic5.
    • Adds CHS3 to ADCIN.
    • Adds ERASECODE, READ, WRITE, WRITECODE for PIC18Fxxx.
    • Adds PIC18Fxxx Defines for loaders.
    • Changes configuration for PIC18Fxxx to match latest MPASM.
    • Changes PicStic variable usage.
    • Fixes Bad Val Op xx fatal error.
    • Fixes SYMBOL for alias + 1.
    • Fixes SEROUT2 with flow control and no timeout didn't clear WDT.
    • Fixes missing PAUSEUS Define for SHIFTOUT.
    • Changes 12-bit core TO, PD to NOT_TO, NOT_PD.
    • Fixes 12-bit core NAP, SLEEP wakeup didn't restore OPTION register.
    • Fixes 12-bit core PULSOUT.
    • Fixes PIC17Cxxx end of page call/goto problem.
    • Fixes PIC17Cxxx COUNT, NAP and SLEEP.
    • Fixes access bank location for PIC18Xxx8.
    • Fixes # for PIC18Xxxx.
    • Fixes ADCIN for PIC18Cxx8.

     

    Previous Release: 2.40 (September 2001)

    • Adds support for PIC16C432, 433, 745, 765, 781, 782, 925, 926, PIC18C601, 801, PIC18F242, 248, 252, 258, 442, 448, 452 and 458.
    • Adds limited support for 12-bit core PIC12C508, 509, PIC12CE518, 519, PIC16C505, 54, 55, 56, 57, 58 and PIC16HV540.
    • Adds BASIC source level debugging for MPLAB.
    • Adds DIV32 31-bit x 15-bit divide function.
    • Adds HPWM hardware PWM command.
    • Adds OWIN and OWOUT one-wire commands.
    • Adds SELECT CASE statements.
    • Adds USBINIT, USBIN and USBOUT low-speed USB commands.
    • Adds NO_CLRWDT Define.
    • Adds PULSIN_MAX Define.
    • Changes PEEK and POKE to be more compatible with the standard PICBASIC Compiler.
    • Changes REV to be more compatible with BS2.
    • Changes PIC16F627 and 628 default oscillator to XT.
    • Fixes label address for DATA with @.
    • Fixes parity for HSERIN.
    • Multiple serial WAIT modifiers no longer combined into one.
    • TRIS can now be used on PIC17Cxxx devices, as well as, DDR.
    • Fixes PIC17Cxxx END, NAP and SLEEP statements.
    • Fixes PIC18Cxxx BRANCH, BRANCHL, LOOKDOWN, LOOKDOWN2, LOOKUP and LOOKUP2 statements.
    • Fixes PIC18Cxxx illegal opcode with MPLAB 5.40.

    Previous Release: 2.33

    • Adds support for PIC16F73, 74, 76, 77, 18C658, 858 and PicStic 2K.
    • Adds semicolon (;) as comment character.
    • Adds odd parity to SERIN2 and SEROUT2.
    • Adds Define for loaders.
    • Changes READ and WRITE to work with PIC16F627 and 628.
    • Saves count if WAITSTR times out.
    • Fixes SHIFT_PAUSEUS Define for SHIFTIN and SHIFTOUT.

    Previous Release: 2.32

    • Code page optimization changed to fix subroutine ordering problems.
    • Fixes alias for bit numbers > 7 and bit array bank allocation.
    • Header files for PIC16F87x changed from _LVE_OFF to _LVP_OFF.

    Previous Release: 2.31

    • Adds support for PIC16F870 and 871.
    • Adds STR modifier to I2CREAD and I2CWRITE.
    • Adds READCODE and WRITECODE commands.
    • Adds word array element aliases.
    • Adds path to includes to allow source files to be in their own subdirectory.
    • Adds -E command line option to redirect errors to a file.
    • Adds 18Cxxx USE_LFSR Define.
    • Fixes ADCIN for 10 and 12 bits.
    • Fixes STR modifer for arrays in BANK2 and 3.
    • Fixes for 18Cxxx only: ADCIN for 8 bits, I2CREAD, I2CWRITE, Serout and Serout2 open drain modes.

    Previous Release: 2.30

    Previous Release: 2.21

    Previous Release: 2.20

    Previous Release: 2.12

    Previous Release: 2.11

    Latest Release: 2.10

    Previous Release: 2.04

    Previous Release: 2.03

    Previous Release: 2.01

    Initial Release: 2.00


    PICBASIC™ Compiler

    Latest Release: 1.45

    Previous Release: 1.44

    Previous Release: 1.43

    Previous Release: 1.42

    Previous Release: 1.41

    Previous Release: 1.40a

    Previous Release: 1.40

    Previous Release: 1.32

    Previous Release: 1.31

    Previous Release: 1.30

    Previous Release: 1.20

    Previous Release: 1.11


    melabs Programmer Software

    melabs USB/U2 Programmer

    melabs Field Programmer

    melabs Serial Programmer

    EPIC™ PIC® Programmer

    Windows (meprog.exe)

    Latest Release: 4.32

    Latest Release: 4.31

    Previous Release: 4.30

    Previous Release: 4.24

    Previous Release: 4.23

    Previous Release: 4.22

    Previous Release: 4.21

    Previous Release: 4.20

    Previous Release: 4.10

    Previous Release: 4.01

    Previous Release: 4.00

    Previous Release: 3.31

    Previous Release: 3.30

    Previous Release: 3.20

    Previous Release: 3.13

    Previous Release: 3.12

    Previous Release: 3.11

    Previous Release: 3.10

    Previous Release: 3.00

    Windows (EPICWIN.EXE)

    Latest Release: 2.45

    Previous Release: 2.44

    Previous Release: 2.43

    Previous Release: 2.42

    Previous Release: 2.41

    Previous Release: 2.40

    Previous Release: 2.32

    Previous Release: 2.31

    Previous Release: 2.30

    Previous Release: 2.20

    Previous Release: 2.11

    Previous Release: 2.10

    Previous Release: 2.03

    Previous Release: 2.02

    Previous Release: 2.01

    Previous Release: 2.00

    DOS (EPICDOS.EXE, EPIC.EXE)

    Release: 1.42

    Previous Release: 1.41

    Previous Release: 1.40

    Previous Release: 1.32


    melabs Loader (no longer available)

    Latest Release: 2.10

    Previous Release: 2.00

    Previous Release: 1.00