(Difference between revisions)
Jump to: navigation, search
(Tips & tricks)
Line 130: Line 130:
* Interrupt implementation with compiler 2.0 or above
* Interrupt implementation with XC8 compiler 2.0 or above
void __interrupt(high_priority) AnyISR(void)
void __interrupt(high_priority) AnyISR(void)

Revision as of 13:01, 12 March 2021


Welcome to the PICEBS3 wiki

PICEBS3 is the name of a small embedded computer board targeted at teaching embedded systems programming based on the Mikroe EasyPicPro v8 board. As its name suggests, it is the third iteration of a successful family of Microchip PIC board.

The Mikroe board has been just modified for our laboratories usage.

Please note that, as a student, you can loan a board for free during your studies to work at home ;-) Just ask the laboratory responsible Pascal Sartoretti (sap) for the procedure to follow.


We, the PICEBS3 team, provide a comprehensive solution for

  • Practical work for HEI course Information systems given in second year.
  • All kind of project featuring a small-sized micro-controller.

What can be done with the PICEBS3?

The board is powerful enough to run applications with:

  • LCD and touch screen interface
  • Serial port usage (UART)
  • CAN interface
  • ...

To program this board, you do not require an external programming probe, as it already includes a "Microchip Snap"system for programming and debugging. All you need is an USB port and the free MPLAB-X IDE. Caution, the USB câble has to be an USB-A cable.


Photo Schematic Datasheets

PICEBS 3 - EasyPICPro v8 schematic

CPU board 18F97J94

Mikrobus CAN MCP2518FD

LCD capacitive 800x480

LCD 2x16 chars

CPU PIC18F97J94 datasheet 
LCD controller SSD1963 datasheet 
CAN FD controller MCP2518FD datasheet 

Here is a list of the main PICEBS3's characteristics:

  • CPU PIC18F97J94
    • High range PIC18 family with 128kB Flash & 4kB RAM, Lite PPS
    • 12 bits ADC
    • 9 timers
    • 4 UART, 2 SPI, 2 I2C
    • USB
    • ...
  • Onboard SNAP debugger (not on EasyPicPro v8 standard)
    • Compatible with MPLABX (uage of USB-A cable is mandatory)
  • I/O ports
    • 10 ports with optional led
    • each of them with a button (pull-up or pull-down selectable)
    • Capacitive multi points touch screen
  • LCD Display
    • 800x480
    • Backlight
    • Capacitive multi points touch screen
  • Networking and communication
    • CAN bus
    • RS232 (throuth USB FTDI)
    • USB interface (device, low or full speed)
    • Ethernet interface(not with the CPU module PIC18F97J94)
  • Development
    • Almost all CPU pins are available on connectors
    • CPU current measure available on a 1 ohm resistor (not on EasyPicPro v8 standard)


Use MPLABX-IDE (download) development system.

Use XC8 compiler (download) for C programming.

To access these files on hevs gitlab, choose the user: "hevslabs" with the password: "hevslabs" (standard login, not LDAP)

Tips & tricks

  • CPU speed control
// to work at maximum CPU speed (64MHz) insert following code at start.
   OSCCON3 = 0;            // for 64MHz cpu clock (default is 32MHz)
  • Assembler example
#include <xc.inc>  
 	movlw    0x00        ; move literal value 0x00 to W
 	movwf    TRISH,a     ; move the content of W to TRISH, (access bank)
	movlb	 0x01	     ; select bank
 	movwf    0x125,b     ; move W to memory position 0x125 (banked) 
 	goto loop
    end main
  • Change one bit on a port
// to change one bit on a port, use LATx and not PORTx
   LATH2 = 1;            // turn led on for example
  • Interrupt implementation with XC8 compiler 2.0 or above
void __interrupt(high_priority) AnyISR(void)
  if(INT0IF == 1)

Bugs, issues, questions and comments

Feel free to contact the PICEBS3 team if you encounter a problem. Do not forget to have a look at the Tips & tricks section.

Personal tools