Product successfully added to your shopping cart
There are 0 items in your cart. There is 1 item in your cart.
Total products
Total shipping  To be determined
Continue shopping Proceed to checkout

mikroBasic PRO for PIC

mikroBasic PRO for PIC is a full-featured Basic compiler for PIC devices.

The feature rich environment you can experience today is the result of 15 years of dedicated work and steady progress. The ever-increasing number of hardware and software libraries, intuitive IDE, integrated Visual TFT software, detailed documentation, a full box of additional tools.


Your Strong Ally.

mikroBasic PRO for PIC is a full-featured Basic compiler for PIC devices.

The feature rich environment you can experience today is the result of 15 years of dedicated work and steady progress. The ever-increasing number of hardware and software libraries, intuitive IDE, integrated Visual TFT software, detailed documentation, a full box of additional tools.

Library manager Libstock

You will love mikroBasic!


Pay once and never worry about it again. Once you buy the compiler you are entitled to lifetime free upgrades. Upgrading the compiler takes only a few minutes and a few clicks. We are constantly adding new features to the compiler, you can keep track of what is happening on the Software Roadmap page.

Our support team is always available – you can rely on our help while you are developing. The compiler license guarantees free product lifetime technical support.


mikroBasic offers a unique mechanism to easily use libraries in your project, just select the libraries you need and they will be instantly available in your code. No need for dozens of #include directives. You can also install and manage third-party libraries using our package manager and library manager.

Simply select the libraries you need for your project, by checking the box. Or press the “Check All” button to include them all.

With more than 1000 library functions you’ll save time, effort and you’ll write better code.

Visit LibStock and download fully functional and working projects, and install them with a single click.

Library manager Libstock
Library manager Libstock


Every single library that is in our compiler is covered by a working example. More than 145 ready-made working examples, to help you understand how the library works or give you useful code snippets for your project.


The mikroBasic PRO for PIC currently supports 619 PIC and we are constantly adding new ones.

You can be part of the process by letting us know what microcontroller you wish to see supported next, by using our helpdesk and submitting a ticket.


Create amazing user interfaces thanks to the integrated Visual TFT

The integrated solution allows for a streamlined workflow. Drag and drop graphic elements while the compiler generates the code automatically in the background. Modify the generated code in the compiler and create event functions. Seamlessly switch between designing and coding using keyboard shortcut F12.

Try it out for yourself and create fully functional GUIs with just a few clicks. And don’t worry about the code, the compiler will take care of that.

To enable Visual TFT, you need to acquire the Visual TFT license separately. That is why we prepared a 30% discount on the Visual TFT software if you purchase it with the compiler.

Visual TFT supports 17 TFT controllers and five different display resolutions. So, we even have the hardware prepared for your next graphic project.

VisualTFT Software


The ideal environment for you to write, compile, execute, and debug your code. All the tools you could think of, and more, are there. The Library Manager, Interrupt Assistant, Project Explorer, Quick Converter and more.

Click here to get an in-depth explanation of each part of the IDE.


The perfect toolbox

mikroBasic comes equipped with fully-functional software tools that can boost your efficiency and do the job for you, so you can be more productive in your work: LCD Custom Character Tool, GLCD Bitmap Editor, Seven Segment Editor, UART Terminal, UDP Terminal, HID Terminal, ASCII Chart, Active Comments Editor, Interrupt Assistant, Advanced Statistics and much, much more.

Comprehensive help file
VisualTFT Software

Hardware debugging

Detect and correct all the code errors in seconds. mikroBasic has native support for hardware debugging when used with the mikroProg in-circuit programmer and debugger. It supports Step-over, Step-into, Step-out, Run, and Run To Cursor debugging operations. Also, the debugger supports standard and advanced breakpoints, which enable you to exploit the full potential of hardware debugging.

Comprehensive documentation

The help file is the best place to start if you want to get to know the compiler. The easy-to-read format and detailed explanations of every functionality and feature will make you an expert in no time.

Comprehensive help file
VisualTFT Software

Flexible licensing options


Buy the compiler and the License Code will be sent to your inbox instantly. Once you activate the license you can use it on up to two computers.


Do you need a portable license, that can be used on multiple computers? USB Dongle license is the perfect solution.


Own, manage, and deploy multiple software licenses. Instead of buying several licenses at a regular price, use the Site License option and get licenses for your whole team or class at a special price. Learn more.

Start developing
out of the box!

mikroLab - essential tools for the efficient developer

Code, compile, program, and debug – all in one environment. Choose the development board, and you’ll soon see that the rest of the tools are perfectly arranged around it.

mikroLab contains everything a developer needs to explore the possibilities of the microcontroller architectures we offer: a development board (with integrated programmer and debugger), the compiler license, an assortment of accessories, and as a bonus, a free license for one of our GUI design tools (either Visual TFT or Visual GLCD).


Single solution for designing GUIs, coding the backend, compiling and debugging

With the integrated Visual TFT you can create amazing user interfaces, simply drag and drop visual elements and the compiler will generate the code for you. Save time and focus on making your graphic design the best possible.

Seamlessly switch between designing and coding using keyboard shortcut F12.


Manage all your data quickly and easily. Make the workspace comfortable and suited to your need. Use the default layout of the IDE, or arrange the windows manually. Navigate through all the projects you are working seamlessly and save time with the intuitive IDE of the mikroBasic compiler.


Advanced Project Management

Edit Project gives you a full overview of the entire set of configuration bits in each chip. Select only among listed options, described in simple terms. Edit project includes predefined schemes of oscillator settings for most widely used microcontrollers. Simply load your desired scheme, and you are ready to go.

Don’t waste your time browsing for examples. Let them come to you. New Project Explorer window leads you to your projects. It displays all of compiler’s many included examples by default. But simply point the path to any other folder and fast recursion-search algorithm will extract all of projects inside and will display a tree view of your project files up to any depth. Double click opens the project and sets it as active. Easily switch between the projects as often as you want.

Library manager

Only mikroBasic offers the unique mechanism to easily use any available library in your project. Special OneClick technology allows you to speed up your development.

Just click on the checkboxes of the libraries you need and they will be instantly available in your code. As we always think one step ahead, we programmed Library manager to allow easy usage of third party libraries installed with Package Manager software.

Notice: Visit LibStock and download fully functional and working projects, and install them with a single click.

Library manager
Code Assistant

Code Assistant

Control-space is probably the most widely used shortcut among programmers. Why? Because it initiates Code Assistant - programmer’s first aid kit. No one needs to memorize function names.

Focus on your code, and let the syntax write itself correctly. Write function calls with one click of your keyboard. Code assistant in mikroBasic PRO for PIC also suggests correct names of constants, URLs, Active comments and variables, so you have it all covered. You don’t ever have to get another Syntax error message.

Wild Card Code Completion

Use Code Completion for all those times when you need to list identifier names that contain a certain word, or when you only know a part of the identifier name.

Simply type \* in the Code Editor, followed by the phrase, and presses Ctrl+Space - a list of identifiers containing this phrase will be shown.

Interrupt Assistant Window
Active Comment Preview

Active Comments

We have developed Active Comments - a unique feature of mikroBasic PRO for PIC. Any comment can become your multimedia event hook.

Add images, files and URLs to any active comment and assign events as you like.

Right Mouse Click can open browser with URL, Mouse Over can display the image, and Double Click can open a specified file.

You can add:

  • Images
  • Files
  • URLs

Add local variable declaration option

Easily declare a local variable.

  • First, enter the desired variable's name in the Code Editor.
  • Then select this option from Edit menu (Shift+Ctrl+V). Here you can the select variable type, dimension, and add a volatile qualifier if needed.
  • After pressing the OK button, a variable declaration will be placed.
Local variable declaration
Interrupt Assistant Window

Interrupt Assistant

The compiler also includes the Interrupt Assistant, that can help you in configuring interrupts.

You can launch it from the drop-down menu Tools › Interrupt Assistant.

Parameter Assistant

Many functions. Even more parameters. Was it word, or byte? You don’t have to scroll through Help file.

Just hit CTRL+SHIFT+SPACE and function parameters will be listed for you.

Parameter Assistant
Code Folding

Code Folding

When your code overgrows the size of your screen, it’s always better to fold those completed blocks, and work in a clearer surrounding.

This way you can always see the big picture.

Built-in tools

What’s the point of a compiler if you have to do all the hard work yourself. mikroBasic PRO for PIC offers you several most useful integrated tools that will help you get the job done with minimum effort.

  • Active Comment Editor
  • ASCII chart
  • Export Code To HTML Tool
  • GLCD Bitmap Editor
  • HID Terminal
  • Interrupt Assistant
  • LCD Custom Character
  • Seven Segment Editor
  • UDP Terminal
  • USART Terminal
  • USB HID Bootloader
Built-in tools
Quick Converter

Quick Converter

Your fast pocket converter of binary, float, HEX and Radix 1.15 formats into formats you need in your code.

It even displays ASCII values of your bytes.

In-Circuit Debugging

mikroBasic PRO for PIC has native support for hardware step-by-step In-Circuit Debugger when used with fast USB 2.0 mikroProg™ programmer (in both on-board and standalone version). Debugger is a separate DLL module which supports Step-over [F8], Step-into[F7], Step-out[Ctrl+F8], Run[F6], Run To Cursor[F4] debugging operations. Also, debugger supports standard and advanced breakpoints, which enable you to exploit the full potential of fast debugging.

Watch Clock

Software Simulator

If you want to go through your code and monitor the values of your variables searching for bugs and errors, Software Simulator is the best way to do so.

Software simulator supports all debugging modes as hardware debugger, but instead of executing the code on real hardware, it simulates code flow on your PC. Using Watch Clock you can precisely measure the code execution time in microseconds or in clock cycles.

Advanced Statistics

After you build your project, you can always look under the hood with mikroBasic’s Advanced Statistics. It is a powerful tool that visually describes most important information about your project.

Take a look at your variables, arrays and constants and know how much memory your program consumes. See which function calls which in the functions tree window. See how big are your functions and how are they linked in memory, which is especially important if you want to write your own bootloader applications.

Functions Sorted By Size

mikroC, mikroBasic, mikroPascal for PIC v7.1.0

The new version of our most popular compilers integrates Visual TFT, the GUI design software.

  • Release date: TBD
  • IDE build: TBD
  • cmd line build: TBD

List of features applies to all three languages unless specified otherwise.

License owners are entitled to a lifetime of free upgrades.

Compiler Changelog

Version TBD - Work in progress

Here is the June progress report on the PIC compilers:

  • New MCUs will be supported.
  • Update for mikroProg Suite for PIC.
  • Update for hardware debugging/ICD.

Version 7.1.0

Version 7.1.0. of mikroC, mikroBasic and mikroPascal for PIC has been released today, together with the update to mikroProg Suite. The new version was released to add ICD support for 35 new MCUs. List available below.


ICD support for additional 35 MCUs:

P16F1508    P16F18344   P16LF18313
P16F1509    P16F18345   P18F24K40 
P16F1773    P16F18346   P18F25K40 
P16F1776    P16F18854   P18F26K40 
P16F1777    P16F18855   P18F27K40 
P16F1778    P16F18856   P18F45K40 
P16F1779    P16F18857   P18F46K40 
P16F18313   P16F18875   P18F47K40 
P16F18323   P16F18876   P18F65K40 
P16F18324   P16F18877   P18F66K40 
P16F18325   P16LF1508   P18F67K40 
P16F18326   P16LF1509

Version 7.0.0

Version 7.1.0. of mikroC, mikroBasic and mikroPascal for PIC has been released on March 16, together with the update to mikroProg Suite. The new version was released to add ICD support for 35 new MCUs. List available below.


Additional 40 MCUs supported:

P10F320     P16F18854 
P10F322     P16F18855 
P10LF320    P16F18856 
P10LF322    P16F18857 
P16F15354   P16F18875 
P16F15355   P16F18876 
P16F1773    P16F18877 
P16F1776    P16LF1566 
P16F1777    P16LF1567 
P16F1778    P16LF18313
P16F1779    P18F24K40 
P16F18313   P18F25K40 
P16F18323   P18F26K40 
P16F18324   P18F27K40 
P16F18325   P18F45K40 
P16F18326   P18F46K40 
P16F18344   P18F47K40 
P16F18345   P18F65K40 
P16F18346   P18F66K40 
P18F67K40   P16LF2550


  • Config register bit description "Block 3 not code protected" two times. Fixed for multiple MCU
  • OPA3CON register and bits missing from P16(L)F178x
  • TxTMR and TMRx register naming unification for P16(L)F161x
  • Bad RAM scopes sometimes included more (+1) then it should


New features:

  • Visual TFT integrated into compiler IDE
  • Design, Code, Compile, Debug, Program... All from one place
  • Simple and fast switch between design and coding
  • Automated synchronization of edited event file with design, awareness and background compiler on generated code
  • Automated synchronization of generated files with edited code, merge
  • One project, One application with combined predefined visual and compiler settings on one place
  • Easy switching from old projects
  • Added site license activation


  • Export Project now export whole folder structure.
  • Clean Project Folder cleans whole folder structure.
  • Cleaning changed from selecting specific files to selecting file types to clean.
  • I2C timeout implemented in all I2C libraries as requested on forum poll.


  • Ctrl+space did not work with arrays without dimension in declaration
  • Watch window elements with Inf or Nan values changed unexpectedly
  • Watch windows throws unexpected error in certain case
  • USART Terminal exceptions in various cases
  • USART Terminal received data may be lost
  • USART Terminal sending data slow



  • Added library for STMPE610
  • Added FLASH libraries for P16(L)F1902(3)
    • Added new functions to Conversion library
      • ByteToStrWithZeros
      • ShortToStrWithZeros
      • FloatToStr_FixLen
    • Added Flash libraries for P12F617, P16F720, P16F721
  • Added function pointers in I2C libraries
  • Timeout implemented in all I2C libraries
  • New functions for Port Expander library
  • I2C timeout implemented in all I2C libraries as requested on forum poll.
    • ADC_Init_Advanced implemented in all ADC libraries as requested on forum poll.
    • PWM Stop (where multiple PWM modules use same timer) doesn't stop the timer module.


  • UART_Remappable_Init sometimes not setting the correct baud rate
    • PWM Remappable library added for P18F46J53
    • P16F1789 missing library support for PWM3
    • ADC library missing for P18F66J50
    • I2C library missing for P16F1847

Version 6.6.3


  • New: Added site license activation.
  • Improved: Export Project now export whole folder structure.
  • Improved: Clean Project Folder cleans whole folder structure. Cleaning changed from selecting specific files to selecting file types to clean.

Version 6.6.1


  • Fixed: Fixed case sensitive system libraris caused compiler to fail

Version 6.6.0


  • New: Additional 8 MCU supported:
PIC16F1574 PIC16F1575  PIC16F1578  PIC16F1579
PIC16F1764  PIC16F1765  PIC16F1768  PIC16F1769
  • Fixed: divide simplified toi shift bug (P16ENH family only)
  • Fixed: long vs. int addition bug (P16ENH family only)


  • Project Explorer
    • added stop active folder search option
    • added folder up shortcut
  • Library Manager
    • added hint on function
    • added drag and drop of function into editor
  • New: Added Back and Forward navigation (similar to web browser navigation)
  • Project Manager
    • File handling (rename file directly from Project Manager, auto add of new file to project)
  • New: Add local variable by identifier (CTRL+SHIFT+V)
  • New: Wild Card '*' supported in code completition
  • New: Wild Card '*' supported in Rouotine List
  • New: Code completition handles 1 character permutation
  • New: Synchronized editing


  • Fixed: Proper channel cleaning prior to usage of ADC_Get_Sample() functions in ADC libraries for PIC16 and PIC18.
  • Fixed: Timer selection for PWM2 in PWM Remappable lib.

Version 6.4.0


  • New: Additional 61 MCU supported:
PIC12F1571 PIC16F1718  PIC16LF1713 PIC18LF45K50
PIC12F1572  PIC16F1719  PIC16LF1716 PIC12F1612
PIC16F1784  PIC16LF1717 PIC12LF1501 PIC16F1786
PIC16LF1718 PIC12LF1571 PIC16F1787  PIC16LF1719
PIC12LF1572 PIC16F1788  PIC16LF1784 PIC12LF1612
PIC16F1789  PIC16LF1786 PIC16F1454  PIC16F1829LIN
PIC16LF1787 PIC16F1512  PIC16F753 PIC16LF1788
PIC16F1513  PIC16HV753  PIC16LF1789 PIC16F1613
PIC16LF1454 PIC18F65J94 PIC16F1703  PIC16LF1512
PIC18F66J94 PIC16F1704  PIC16LF1513 PIC18F67J94
PIC16F1705  PIC16LF1613 PIC18F85J94 PIC16F1707
PIC16LF1703 PIC18F86J94 PIC16F1708  PIC16LF1704
PIC18F87J94 PIC16F1709  PIC16LF1705 PIC18F95J94
PIC16F1713  PIC16LF1707 PIC18F96J94 PIC16F1716
PIC16LF1708 PIC18F97J94 PIC16F1717  PIC16LF1709
  • Improved Improved linkage.
  • Improved Allocation of locals to registers.
  • Fixed: Problem with absolute and ldm specifier P16ENH.
  • Fixed: Linkage of bit type locals variables.
  • Fixed: Problem for interrupt routine P16 in higher page.
  • Fixed: Shifting of signed operands algebric simplification error.


  • Improved win7 and Win8 .chw files ignored when opening package help files from library manager.
  • Improved Project Manager nodes expanded only when project is set to be active.
  • Improved URL for live update is retrieved from UpdateVersion.ini file.
  • Fixed: Running compiler IDE without administrator rights on Windows 8 caused live update not to work.
  • Fixed: New lines at beginning of .dct files caused AV program issues.


  • New: Added standard headers assert.h and stdbool.h.
  • New: USB library for PIC16F145x mcu.
  • New: Added PWM library for PIC16F1503 and PIC16F1507
  • Fixed: Pin initialization in PWM3 for PIC18FxxK22
  • Fixed: PIC16F1503 now use correct flash library

Version 6.4.0


  • Improved Faster optimization and linkage.
  • Improved Allocation of locals to registers.
  • Fixed: Call tree generator did not work for specific examples
  • Fixed: Pointer to types that has overridden memory specifier was incorrectly dereferenced


  • Improved Function tree changed to work with new call tree generator.


  • Fixed: Changed PWM functions names for PIC16 enchanced chips (145x and 150x)

Version 5.8.0


  • New: Additional 19 MCU supported:
PIC12F1501 PIC16F1455
PIC16F1459  PIC16F1508
PIC16F1509  PIC16LF1455
PIC16LF1459 PIC16LF1503
PIC16LF1507 PIC16LF1508
PIC16LF1509 PIC16LF1782
PIC16LF1783 PIC16LF1847
PIC18F24K50 PIC18F25K50
PIC18F45K50 PIC18F66J99
  • New! Initializer of local variables can be variable expression
  • Fixed: Const Folding of ternar operator
  • Fixed: Handling of void in expressions
  • Fixed: Anonymous union definition and tag definition conflict
  • Fixed: Handling of poniters to functions stored in FLASH (PIC16 only)


  • New! Live update support
  • New! Added shortcut button for Package examples.
  • New! Pointer handling in watch window shows data it points to.
  • New! Function pointers show the name of the function currently pointing at.
  • New! Value hint in debug mode for pointers shows data it points to.
  • New! Code assistant (CTRL+SPACE) for pointer to structures.
  • Fixed: Issue with setting MCU frequency.
  • Fixed: Creating project with empty name.
  • Fixed: Creating project which name which starts with a digit.
  • Fixed: "File Save As", "Project Save As" and "Save Project Group" give wrong file filters.
  • Fixed: Active comment starts with a digit caused IDE to crash.
  • Fixed: It is not possible to save a project group when projects were added from Project Explorer.
  • Fixed: Statistics window did not always stayed on top.
  • Fixed: In debug mode changing focus between editor and watch list was not momental (Insert, Delete key...).
  • Fixed: Closing file while compile is in progress caused IDE to crash.
  • Fixed: Search paths was not refreshed on starting IDE if "Search Path" window was opened when IDE was closed.
  • Fixed: Removed space characters in front of line code When a bookmarked line is displayed in bookmark window.


  • New! Low level TFT Library functions are now open source,
    available for user editing (located in __Lib_TFT_Defs).
  • New! Additional TFT controllers supported:
    • HX8347G (16-bit communication)
    • ILI9340 (8-bit communication)
    • ILI9481 (8-bit communication)
  • New! Flash library for P12F1840, P12LF1840 and P16F721.
  • New! ADC libraries for P18F24K50, P25K50 and P18F45K50.
  • New! Flash library for P12F1501.
  • New! PWM libraries for P12F1501, P16F1455, P16F1459, P16F1508, P16F1509.
  • Improved T6963C, SPI_T6963C and S1D13700 libraries supporting invert color.
  • Improved Added new function for setting state of CANTX pin in CAN Library.
  • Fixed: USB library, now is possible to use more than 3 string descriptors.
  • Fixed: PIC18F6273 now support 2 MSSP modules.
  • Fixed: PPS library for PIC18F27J53 now return correct value.
Site license banner

License Code

Choose this licensing option if you want to activate your compiler license in seconds. You can use it on up to two computers. We will send you the Registration code as soon as you purchase the compiler, which you will use to request the Activation code. That is the whole process - your compiler license is activated. It’s the quick and straightforward licensing option for this fast-paced world.

Learn more.

USB Dongle License

Plug the USB Dongle into your computer and activate the license. Use your compiler license anywhere. If you are looking for a portable license that can be used on different computers the USB Dongle license is what you need. The USB Dongle contains a single license, it registers the compiler while it's connected. So, carry it anywhere with you. You will not be tied to one computer or one office.

Learn more.

Site License

Site license banner

Site Licenses for MikroElektronika Compilers

The regular licensing model for MikroElektronika software works best for individual users. If you run a two-person team, a whole R&D department, or teach a class, the Site License is a better solution. It allows you to own, manage and deploy multiple single licenses, with some major benefits:

Affordable: Instead of buying multiple licenses at regular price, we will quote a special discounted price. Schools and universities will get the best deals.

Flexible: With the Site license, individual licenses are not tied to individual computers/users. In other words, you don’t have to buy a compiler license for each person who will use it. The number of licenses you own only defines how many compiler copies can be in active use at the same time. You control who has access.

Here's How It Works

  1. Once you purchase a given number of compilers, we will send you the installation for the Site License Manager (available for Windows and Linux). It’s an application that runs a server from your computer.
  2. Enter the Site License activation key in the License Manager application
  3. To give members of your team/class access, simply share IP address and/or PORT number of the Site License server (visible from within the application)
  4. To activate their compiler, members of your class/team connect to the server by entering the IP address and PORT number you gave them.
  5. Once an individual user finishes his work session, the user slot becomes available again

Site License Inquiry

Clicking on Submit will open a Support Ticket which will be assigned to the person who can best deal with the issue in question. You will immediately receive an automated response message and will be able to monitor communication thread through our Support Center.

You Might Also Need

Products in the same category