Download the compiler for your architecture

mikroBasic PRO for PIC

Included demo license enables up to 2K of program words of FREE output code.

Release version: 7.1.0
Release date: 16 March 2017
Release type: Major release
See PIC Compilers Roadmap >

Release Changes

Compiler

  • New: Version 7.1.0 adds ICD (in circuit debugger) support for 35 new MCUs:
  • PIC16F1508
  • PIC16F18344
  • PIC16LF18313
  • PIC16F1509
  • PIC16F18345
  • PIC18F24K40
  • PIC16F1773
  • PIC16F18346
  • PIC18F25K40
  • PIC16F1776
  • PIC16F18854
  • PIC18F26K40
  • PIC16F1777
  • PIC16F18855
  • PIC18F27K40
  • PIC16F1778
  • PIC16F18856
  • PIC18F45K40
  • PIC16F1779
  • PIC16F18857
  • PIC18F46K40
  • PIC16F18313
  • PIC16F18875
  • PIC18F47K40
  • PIC16F18323
  • PIC16F18876
  • PIC18F65K40
  • PIC16F18324
  • PIC16F18877
  • PIC18F66K40
  • PIC16F18325
  • PIC16LF1508
  • PIC18F67K40
  • PIC16F18326
  • PIC16LF1509

Tools

  • New mikroProg Suite For PIC updated (v2.51)

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

mikroBasic PRO for PIC32

Included demo license enables up to 8192 bytes of program words of FREE output code.

Release version: 4.0.0
Release date: 18 July 2017
Release type: Major release

See PIC32 Compilers Roadmap>

Release Changes

Compiler

  • New supported MCUs:
  • P32MX130F256B P32MZ0512EFK144 P32MZ1024EFK100
    P32MX130F256D P32MZ1024EFE064 P32MZ1024EFK124
    P32MX230F256B P32MZ1024EFE100 P32MZ1024EFK144
    P32MX230F256D P32MZ1024EFE124 P32MZ1024EFM064
    P32MX270F256DB P32MZ1024EFE144 P32MZ1024EFM100
    P32MX450F256HB P32MZ1024EFF064 P32MZ1024EFM124
    P32MX470F512LB P32MZ1024EFF100 P32MZ1024EFM144
    P32MZ0512EFE064 P32MZ1024EFF124 P32MZ2048EFG064
    P32MZ0512EFE100 P32MZ1024EFF144 P32MZ2048EFG100
    P32MZ0512EFE124 P32MZ1024EFG064 P32MZ2048EFG124
    P32MZ0512EFE144 P32MZ1024EFG100 P32MZ2048EFG144
    P32MZ0512EFF064 P32MZ1024EFG124 P32MZ2048EFH064
    P32MZ0512EFF100 P32MZ1024EFG144 P32MZ2048EFH100
    P32MZ0512EFF124 P32MZ1024EFH064 P32MZ2048EFH124
    P32MZ0512EFF144 P32MZ1024EFH100 P32MZ2048EFH144
    P32MZ0512EFK064 P32MZ1024EFH124 P32MZ2048EFM064
    P32MZ0512EFK100 P32MZ1024EFH144 P32MZ2048EFM100
    P32MZ0512EFK124 P32MZ1024EFK064 P32MZ2048EFM124
    P32MZ2048EFM144
  • New: ICD support for PIC32MZxxEF family
  • New: ICD support for new PIC32MX MCUs
  • New: Hardware Floating Point Unit supported at PIC32xxEFxx MCU familly
  • New: aligned type and variable attribute added (mikroC only)
  • New: packed type and variable attribute added (mikroC only)
  • New: FreeRTOS support implemented. (mikroC only)
  • New: Added indfuncall directive. (mikroC only)
  • New: Initializer of local variables can be variable expression (mikroC only)
  • New: Code Generator unaligned access supported (LWL, LWR instructions) (mikroC only)
  • New: Key file license is now obsolete
  • Improved: Better optimization of address propagation
  • Improved: Faster optimization and linkage
  • Improved: Allocation of locals to registers (mikroC only)
  • Improved: Code completion for pascal and basic now supports array of records, array of pointers on record (mikroPascal & mikroBasic only)
  • Fixed: Linker generated 0 byte data sections
  • Fixed: SSA optimization fails to find postorder of IDOM list in specific case
  • Fixed: EMCL writer could break on specific pointer to function that return pointer to function case
  • Fixed: Const Folding of ternary operator (mikroC only)
  • Fixed: Handling of void in expressions (mikroC only)
  • Fixed: Anonymous union definition and tag definition conflict (mikroC only)
  • Fixed: Interrupt vector constants are now without (mikroC only)

IDE:

  • New: Visual TFT integrated into compiler IDE
  • New: Design, Code, Compile, Debug, Program… All from one place
  • New: Simple and fast switch between design and coding
  • New: Added code automated 3-way code merge for VTFT generated projects
  • New: Automated synchronization of edited event file with design, awareness and background compiler on generated code
  • New: Automated synchronization of generated files with edited code, merge
  • New: One project, One application with combined predefined visual and compiler settings on one place
  • New: Easy switching from old projects
  • New: Added site license activation.
  • New: Added integral (Filter) search for Project Manager, Project Explorer, Library Manager, Code Explorer and Procedure List with Regular Expression search support
  • New: Library Manager now can open library source on right click, if source is present.
  • New: FAT32, FT800(1), FT810(1) and FT812(3) now come pre installed with the compiler (Visual TFT part requirements)
  • New: Memory manager dlmalloc now come pre installed with the compiler (FreeRTOS support requirement) (mikroC only)
  • Improved: Added new view to Project Manager to support displaying complex project sub tree.
  • Improved: Export Project now export whole folder structure.
  • Improved: Clean Project Folder cleans whole folder structure.
  • Improved: Cleaning changed from selecting specific files to selecting file types to clean.
  • Improved: Edit search paths form improved to work with relative search and header paths.
  • Improved: Project file now saves and loads relative paths
  • Fixed: Code assistant did not work with arrays without dimension in declaration
  • Fixed: Watch window elements with Inf or Nan values changed unexpectedly
  • Fixed: Watch windows throws unexpected error in certain case
  • Fixed: USART Terminal exceptions in various cases
  • Fixed: USART Terminal received data may be lost
  • Fixed: USART Terminal sending data slow
  • Fixed: IDE crashed on fast switch between editor tabs
  • Fixed: AutoComplete macros %DATE%, %TIME%, %DEVICE%, %DEVICE_CLOCK%, %COMPILER% did not work
  • Fixed: Edit project sometimes crashes when trying to change MCU
  • Fixed: Pressing F11 multiple times causes IDE to crash
  • Fixed: Delete file or project file outside of IDE, causes IDE to crash

Libraries:

  • Added: Timeout feature implemented in all I2C libraries (forum enhancement poll request)
  • Improved: Flash erase and write latch moved from FLASH library to definition file, to cover each MCU specifically.
  • Improved: Libraries upgraded so now there is no issue when building FreeRTOS projects with case sensitivity enabled (FreeRTOS requirement)
  • Examples:

    • Added: Bootloader example for PIC32MZxxxEF
    • Added: PIC32 related examples sets imported from VisualTFT (standalone)

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

mikroBasic PRO for dsPIC

v7.0.1 is also available as a Live Update. If you currently have 7.0.0, go to Help >> Check for Updates.

Included demo license enables up to 6144 bytes of program words of FREE output code.

Release version: 7.0.0
Release date: 27 October 2016
Release type: Maintenence release
See dsPIC Compilers Roadmap >

Release Changes

Libraries

  • Added: Support for ST7789V TFT controller.
  • Improved: Automatic detection whether connected TFT is ILI9341 or ST7789V to accommodate change of TFT displays on mikroElektronika’s hardware.

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

mikroBasic PRO for AVR

Included demo license enables up to 4096 bytes of program words of FREE output code.

Release version: 7.0.0
Release date: 11 May 2015
Release type: Maintenence release

See AVR Compilers Roadmap>

Release Changes

Compiler

  • Additional 10 MCU supported:
  • ATtiny102
  • ATtiny104
  • ATtiny417
  • ATtiny814
  • ATtiny816
  • ATtiny817
  • ATmega324PB
  • ATmega328PB
  • ATmega48PB
  • ATmega88PB
  • Fixed Incorrect arithmetic division of signed integers by powers of two.
  • Fixed Incorrect initialization of globals and statics in certain cases.
  • Fixed Incorrect parameter passing in certain cases.
  • Fixed Coff file generation failed in certain case.

IDE

  • New Visual TFT integrated into compiler IDE
  • New Design, Code, Compile, Debug, Program… All from one place
  • New Simple and fast switch between design and coding
  • New Added code automated 3-way code merge for VTFT generated projects
  • New Automated synchronization of edited event file with design, awareness and background compiler on generated code
  • New Automated synchronization of generated files with edited code, merge
  • New One project, One application with combined predefined visual and compiler settings on one place
  • New Easy switching from old projects
  • New Added site license activation.
  • New Key file license is now obsolete
  • New Added integral (Filter) search for Project Manager, Project Explorer, Library Manager, Code Explorer, Procedure List with Regular Expression search support
  • New Library Manager now can open library source on right click, if source is present.
  • New FAT32, FT800(1), FT810(1) and FT812(3) now come pre installed with the compiler (Visual TFT part requirements)

Improved

  • Improved Added new view to Project Manager to support displaying complex project sub tree.
  • Improved Export Project now export whole folder structure.
  • Improved Clean Project Folder cleans whole folder structure.
  • Improved Cleaning changed from selecting specific files to selecting file types to clean.
  • Improved Edit search paths form improved to work with relative search and header paths.
  • Improved Project file now saves and loads relative paths
  • Improved Code completion for pascal and basic now supports array of records, array of pointers on record
  • Improved Updated bootloader application with automatic hardware recognition feature

Fixed

  • Fixed Ctrl+space did not work with arrays without dimension in declaration
  • Fixed Watch window elements with Inf or Nan values changed unexpectedly
  • Fixed Watch windows throws unexpected error in certain case
  • Fixed USART Terminal exceptions in various cases
  • Fixed USART Terminal received data may be lost
  • Fixed USART Terminal sending data slow
  • Fixed IDE crashed on fast switch between editor tabs
  • Fixed AutoComplete macros %DATE%, %TIME%, %DEVICE%, %DEVICE_CLOCK%, %COMPILER% did not work
  • Fixed Edit project sometimes crashes when trying to change MCU
  • Fixed Pressing F11 multiple times causes IDE to crash
  • Fixed Delete file or project file outside of IDE, causes IDE to crash
  • Fixed IDE couldn’t find AVR FLASH if it was installed for “All Users”

Libraries

  • Added support for STMPE610 controller
  • Added external reference to all ADC libraries (forum enhancement poll request)
  • Added timeout in all TWI(I2C) libraries (forum enhancement poll request)
  • Added function pointers in TWI(I2C)I2C libraries

Examples

  • Added bootloader example for MINI-AT
  • Added example sets for Mikromedia for XMega and Custom FT8xx controller.

AVRFlash

  • Additional 12 MCU supported in AVRFlash:
  • ATmega328
  • ATmega324PB
  • ATmega328PB
  • ATmega32U4
  • ATmega48PB
  • ATmega88PB
  • ATmega168PB
  • ATtiny87
  • ATtiny167
  • ATtiny441
  • ATtiny841
  • ATtiny828

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

mikroBasic PRO for 8051

Included demo license enables up to 4096 bytes of program words of FREE output code.

Release version: 3.6.0
Release date: 25 July 2014
Release type: Maintenence release

Release Changes

Compiler

  • New: USB Dongle licensing

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

mikroBasic PRO for ft90x

v2.2.1 is also available as a Live Update. If you currently have 2.2.0, go to Help >> Check for Updates.

Included demo license enables up to 8192 bytes of program words of FREE output code.

Release version: 2.2.1
Release date: 21 February 2017
Release type: Maintenence release

See FT90x Compilers Roadmap

Release Changes

Libraries

  • Added: Support for ST7789V TFT controller.
  • Improved: Automatic detection whether connected TFT is ILI9341 or ST7789V to accommodate change of TFT displays on mikroElektronika’s hardware.

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

mikroBasic PRO for ARM

Included demo license enables up to 8192 bytes of program words of FREE output code.

Release version: 5.1.0
Release date: 6 June 2017
Release type: Major release

See ARM Compilers Roadmap

Release Changes

Compiler

  • New: Added indfuncall directive.

IDE

  • New: Added integral (Filter) search for Project Manager, Project Explorer, Library Manager, Code Explorer, Procedure List with Regular Expression search support.
  • New: Library Manager now can open library source on right click, if source is present.
  • Improved: Added new view to Project Manager to support displaying complex project sub tree.
  • Improved: Export Project now exports whole folder structure.
  • Improved: Clean Project Folder cleans whole folder structure.
  • Improved: Cleaning changed from selecting specific files to selecting file types to clean.
  • Improved: Edit search paths form improved to work with relative search and header paths.
  • Improved: Project file now saves and loads relative paths.
  • Improved: Updated bootloader application with automatic hardware recognition feature.
  • Fixed: Ctrl+space did not work with arrays without dimension in declaration.
  • Fixed: Watch window elements with Inf or Nan values changed unexpectedly.
  • Fixed: Watch windows throws unexpected error in certain case.
  • Fixed: IDE crashed on fast switch between editor tabs.
  • Fixed: Edit project sometimes crashes when trying to change MCU.

Activation Code

This is the default license. The activation code will be sent to your inbox instantly after purchase. Paste it into the software activation window and start using your compiler.

USB Dongle License

If you need a portable license that can be used on different computers, for an added cost, you can choose the USB Dongle license (standard shipping fees apply).

Site License

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses.

You will love it.

Strong ally in development.

Discover new heights of personal efficiency with mikroBasic, a full-featured Basic compiler available for seven different microcontroller architectures.

      • Over 500 function libraries a mouse click away
      • Powerful IDE with user-friendly interface and additional software tools
      • Part of a toolchain of compatible MikroElektronika development boards
      • 1-time payment (no maintenance fee), frequent updates and support for new chip families

Each compiler comes with a comprehensive Help file and lots of ready-to-use examples designed to get you started quickly. Compiler license includes free upgrades and a product lifetime tech support. You can rely on our help while developing.

Read the MikroElektronika compilers quick start guide >

Efficient debugging

Hardware in-circuit debugging with mikroProg

mikroBasic Debugger Window

mikroBasic has native support for mikroICD™ – hardware step-by-step In-Circuit Debugger when used with fast USB 2.0 mikroProg™ programmer (in both on-board and standalone version). mikroICD 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 achieve the full potential of fast debugging.

Design & code in one IDE

Visual TFT integrated

mikroC And Visual TFT In One IDe

Starting from 2016, the mikroBasic IDE includes Visual TFT – a what-you-see-is-what-you-get graphical user interface design tool. The integrated solution allows for a streamlined workflow. (currently available in mikroBasic for dsPIC, PIC and FT90x)

      • 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.

To use your mikroBasic IDE with the GUI builder, you will need to acquire a Visual TFT license separately.

Tutorial on how to use Visual TFT >

Seamlessly switch architectures

With mikroBasic every architecture is instantly familiar

mikroBasic PRO for PIC ARM windows

With mikroBasic you can easily port your code from one architecture to another. This gives you an enormous advantage of being flexible to choose the architecture for your next project.

      • Every mikroBasic features the same IDE and Integrated Tools.
      • The majority of libraries feature the same function prototypes.

Libraries

Over 500 functions. And still counting.

mikroC Library Manager And Libstock Website

mikroBasic offers a unique mechanism to easily use libraries in your project: Click on the checkboxes of 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.

Download More Libraries on Libstock >

Integrated tools

Faster. Better. More Productive.

mikroC Tools

Saving programmer’s time is our top priority. This is why mikroBasic comes with a with fully-functional software tools that can boost your productivity.

      • LCD Custom Character Tool
      • GLCD Bitmap Editor
      • Seven Segment Editor
      • UART Terminal
      • UDP Terminal
      • HID Terminal
      • ASCII Chart
      • Active Comments Editor
      • Advanced Statistics and much, much more.

Download More Free Supporting Software Tools >

In-depth knowledge base

Comprehensive help file. Free online books.

mikroBasic PRO for ARM help file

mikroBasic comes with a comprehensive and easy to use help file. Additional Language reference, and Creating The First Project manuals are a perfect place for your first steps in mikroBasic. Simply follow step-by step instructions.

Enter mikroBasic for PIC with free online book >

Examples

Dozens delivered with the compiler, hundreds more on Libstock.

mikroC Examples Included With The Setup

mikroBasic features dozens of examples demonstrating each library and certain internal microcontroller features. Together with free examples provided on Libstock, developers have ready-to-use building blocks for their next big project.

Download more example projects from Libstock >

IDE

The place where you spend your workday.

MikroElektronika Edit Project

Config words in plain English

mikroBasic is all about time-saving solutions. There is no need to set configuration bits each time you start a new project. The Edit Project menu gives you a full overview of the entire set of configuration bits in each chip. It’s done in a way that leaves no room for error. Select only among listed options, described in plain English. Edit project includes predefined schemes of oscillator settings for most widely used microcontrollers. Simply load your desired scheme and you are ready to go.

MikroElektronika Code Assistant

Code Assistant

Control-space is probably the most used shortcut among programmers. Why? Because it initiates Code Assistant – a 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. The Code assistant in mikroBasic also suggests correct names of constants, URLs, Active comments and variables. You don’t ever have to get another Syntax error message.

MikroElektronika Parameter Assistant

Parameter Assistant

Many functions. Even more parameters. Was it word, or byte? You don’t have to scroll through the Help file. Just hit CTRL+SHIFT+SPACE and function parameters will be listed for you.

MikroElektronika Active Comments

Don't like comments? Use pictures instead.

In mikroBasic, any comment can become a multimedia event hook. Add images, files, URLs and assign events to any active comment. A right Mouse Click can open a web browser with a URL. A Mouse Over can display the image. Double Click can open a specified file. This makes comments a much richer reference source for documenting projects. Better comments result in code that is easier to understand and projects that are easier to maintain.

MikroElektronika Project Explorer

Don’t waste your time browsing for examples. Let them come to you. The new Project Explorer window displays all the compiler’s many included examples by default.

To view your projects, point the path to any other folder. A fast recursion-search algorithm will extract all the projects inside. It will display a tree view of your project files up to any depth. A double click opens the project and sets it as active. Easily switch between the projects as often as you want, and you will have a stable RAM memory consumption.

MikroElektronika Advanced Statistics

After you build your project, you can always look under the hood with mikroBasic Advanced Statistics. This tool gives you a visual overview of all the 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. This is important if you want to write your own bootloader.

Your first project

Let's build a USB device in 20 lines of code.

Most compilers demonstrate use LED Blinking as the first project. We have decided to start with something more remarkable: a fully operational USB Human Interface Device in a little over 20 lines of code.

Let us show you how easily mikroBasic handles complex programs using the power of integrated libraries.

The following PIC Basic compiler code sample is a simple loop that demonstrates the operation of the USB HID library. It constantly checks for HID packets, and as soon as the HID message arrives, it is transmitted back with the same content.

Examine these lines to see how the HID library deals with a highly complicated task of HID USB communication. mikroC spares you the research of how USB communication works, and encapsulates everything in simple and easy-to-understand functions.

mikroLab kits for a great start

mikroBasic is the center of entire toolchain

mikroBasic is the center of the MikroElektronika toolchain, allowing you to code, compile, program, run, and debug, all within the same environment by just connecting the right development board. mikroLab contains everything a developer needs to explore the possibilities of any 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).

See all mikroLab kit flavors >

Licensing options

Purchase the license that fits your business model

compiler activation code

Activation code

This is the default license, purchase the compiler and the activation code will be sent to your inbox instantly. Paste it into the software activation window as start using your compiler in seconds.

mikroBasic PRo for PIC usb dongle license

USB dongle

A portable license that can be used on different computers. Convenient for users who switch between workstations frequently. The USB dongle license has a slightly higher price. Shipping fees apply.

site license

Site license

If you run a two-person team, a whole R&D department, or teach a class, the Site License is the best choice. It allows you to own, manage and deploy multiple single licenses, with some major benefits.