DEVCC – V40 : Getting Started!


DEVCC-V40 Cleaned _1The DEV – CC – V40 is the latest in our series of PIC development platforms. Fully equipped with pre – loaded device, pre – loaded bootloader the DEVCC – V40 is ready to get you fully into your next embedded project. The PCB comes complete with a PIC18F45K22.

Shown below is a quick and simple project.

Opening the package

The PIC has been pre – loaded with boot loading firmware which is compatible with the mikroe boot loader. To learn how to use the boot loader, the following document is available. ProtoDev 40 Bootloader Usage.

The DEVCC – V40 and the ProtoDev use the same device, therefore steps are the same!

To test that the boot loader has installed the test software correctly, the PCB is then connected to a PC and a USART Terminal is used to establish a connection with the PCB.

Sample Project

Once you have connected to the PCB, the following actions can be performed by sending commands to the PCB via the USB | RS232 link.

The ProtoShield will be useful for wiring up the following:

Stack 2

  • When the PCB starts up, the LED1 connected to RB1 is flashing
  • Sending a ‘l’ to the PCB toggles the LED flashing functionality
  • Sending a ‘1’ to the PCB sets the LED on
  • Sending a ‘O’ to the PCB sets the LED to off
  • Sending a ‘u’ bounces back a text message to the UART terminal

Sample project

Note: The latest version of the MikroC compiler is recommended.

Sample code in a zip file: ProtoDev DX V2.0


copyright (c) 2013 - 2015, ZarDynamix: An embedded solutions company

Hello World Code Sample for DEVCC - V40

Function: Tests the operation of the ProtoDev 40 via the UART

void line()

void led(){


//toggle = 1;
Delay_ms(1000);  /* second pause */
PORTB.B1 = 0;
Delay_ms(1000);  /* second pause */

char uart_rd;
bit flag;

void main() {
ANSELA  = 0;            // Configure AN pins as digital
C1ON_bit = 0;          // Disable comparators
C2ON_bit = 0;

UART1_Init(9600);               // Initialize UART module at 9600 bps
Delay_ms(100);                  // Wait for UART module to stabilize


while (1) {                     // Endless loop

if (flag==1) led();

if (UART1_Data_Ready()) {     // If data is received,
uart_rd = UART1_Read();     // read the received data,

switch (uart_rd){
case '1' : PORTB.B1 = 1; break;
case '0' : PORTB.B1 = 0; break;
case 'u' : UART1_Write_Text("Hello User");break;
case 'l' : flag=flag^1;break;
default : UART1_Write(uart_rd);


Once you have ascertained that the DEVCC – V40 is working, move ahead with writing and building your own projects. DEVCC – V40 is a flexible and extensible platform for use when producing your projects.