Xpress board: Obstacle avoiding robot with XC8 code


This article is more than two years old and might contain obsolete information; it is still kept here for informational purposes.

Front click socket

As I plan to use the same IR distance click featured in the Buggy obstacle avoiding project, I need one front click socket. For this I made one click adapter from one Proto click, which I have fixed onto the breadboard base using a pair of PMB-1 mounting couplers. I’ve installed header sockets on both sides of the Proto click, so it acts like an adapter. The only thing to consider is that the Proto click is facing down, so take care when wiring your project.

The breadboard robot: universal rover platform, with front mikroBUS socket

The breadboard robot: universal rover platform, with front mikroBUS socket


I used one battery holder for 4 AAA batteries, mounted underneath the breadboard with double-sided tape. As it is, it allows for enough ground clearance so this robot will run fine on flat surfaces.

The breadboard robot with front mikroBUS socket

The breadboard robot with front mikroBUS socket

Xpress board

To install the Xpress board onto the breadboard I first soldered header pins underneath the Xpress board. For easy access to the pins I also installed some jumper wires, as in the pictures below:

A screw terminal was also installed on the Xpress board power header, so I can power it from the breadboard. The Xpress board has only a power regulator for the 3.3 voltage. If powered this way the battery power will also be present on the 5V pin in the click socket, so don’t use click boards that require 5V.

Wiring the robot

We come here to the final stage, wiring the robot. First we connect the motor drivers and the power for the Xpress board, as shown below. Channel A uses pin RC2 for PWM and RC7 for direction, while channel B uses pin RC4 for PWM and RC5 for direction.

Then we connect the IR distance click. For this we need only three wires: Vcc, GND and the AN analog output is wired to pin RB0, same as if it was installed directly on the Xpress board.


With this the hardware side is complete and we can start writing the code.

1 2 3

Comments are closed.