J.F.Drew © 2000-2017

Projects by John F Drew Site map

Mobile menus


Proton Development Suite - a BASIC compiler review

The Proton Development Suite consists of four components to produce HEX files for PIC® microcontrollers from BASIC source code.

(1) Proton IDE for the creation of the source code and management of the compile process,

(2) a compiler that converts the source to an Assembler file (.ASM)

(3) a copy of Microchip’s MPLAB for conversion from Assembler to Hex for the PIC® programming software, and

(4) a demonstration copy of Proteus ISIS simulation software with sample boards to test software function.

Proton BASIC is a compiler that produces very fast, compact code.  The author is Les Johnson who takes great pride in the product and responds promptly to user requests. BASIC is not normally known for producing fast code, mostly because many implementations use an interpreted approach which is, of its nature, slow to run. However Proton Compiled code is highly optimised native code at a machine level - developer Les has a deep understanding of the PIC® hardware and how to get the best out of it. There is no point in learning C when BASIC is so much friendlier and at least as capable.

The compiler currently supports 12F, 16F, 18F, 24F and some 33F devices.

Currently there are 92 devices on the free list and some hundreds are activated when the compiler is purchased. The current price is UK99 pound. With purchase of PDS comes a USB dongle. Without the dongle, users may only compile the very generous free list.

All of the PIC® microcontroller programs on the VK5DJ.com site have been written in Proton BASIC.

The essential structure of a program is this:







Constants and Variables


GoTo Main ' Jump over the subroutines (if any)


Subroutines go here




Main Program code goes here

Here is a simple program from the manual:

Device = 18F25K20


Declare Xtal = 64

Declare Hserial_Baud = 9600


' Load an ADC include file (if required)

Include "ADC.inc"


' Define Variables

Dim WordVar as Word ' Create a Word size variable


' Define Constants and/or aliases

Symbol Value = 10 ' Create a constant


GoTo Main ' Jump over the subroutine/s (if any)


' Simple Subroutine


WordVar = WordVar + Value ' Add the constant to the variable

Return ' Return from the subroutine


' Main Program Code


WordVar = 10 ' Pre-load the variable

GoSub AddIt ' Call the subroutine

HrsoutLn Dec WordVar ' Display the result on the serial terminal

The compiler supports Procedures and local variables yet is very memory frugal. Test compilations with other products demonstrate the extent to which optimisation has been achieved in Proton.

Use this link to download a copy of the latest manuals: Proton 8bit compiler and Proton24 compiler


There is an active forum here: http://www.protonbasic.co.uk/forum.php

A free copy of the compiler may be downloaded from here.

Forum users are very helpful and posters are respectful of each other. Beginners are treated with understanding and are always given a helping hand.

The forum is provided by Lester Wilson of Crownhill Associates. The forum has advertisements to defray the cost of provision of this service. Users are asked not to use Adblockers to ensure there is some income.

I have no connection with Les and Lester apart from great admiration for a quality software package at a reasonable price.