Main board

The electronic schema of the main board

The scheme was carried out with the free programm KiCad ( It allows the schema drawing, components placement, routing, and a 3D view of the board.

Modifying the schema is a bit confusing. The solution: keep your left hand on the keyboard to enter the key that will apply the correspondig function to the component selected by the mouse (move, rotate, delete, …). Once you understand this principle, drawing and schema modification goes smoothly 😉
The design was done in order to be as general as possible, so it can be used for other applications. We can find:

  • The RS232 interface. Although the ultrasonic module supports TTL levels, the interface has been designed ​​to be conform with the standard, in order to connect a PC for development phase.
  • LCD display
  • Connectors for input/outputs ports
  • the motors management

The RS232 interface

It is very standard and is based on a Max232 for voltage conversion. Take care of to the polarization of C3 and C4. The ‘-‘ of C3 is well connected to + 5V and ‘+’ of C4 is on the ground. This can be explained because the voltages on the V+ and V- pins of Max232 are about + and – 7 volts (compared to the 5V of the board).

Schéma général

Here is the general schema of the motherboard. It has a some small problems I will list below. They where highlighted during the development of the robot.


(To have the a real scale diagram, right click on the picture and use the “save as” menu).

This scheme has some drawbacks:

  • ICD jack that allows the PIC programming and application debug was added later. It is on the same pins as switches, which prevents their use in debug mode 🙁
  • The switches connect RBx inputs to ground (because I used the fact that B PORTS has internal resistors pull-up which can be activated by software). This implies that switches are in inverted logic mode (a push generates a logical 0). Decoding keys requires a small brain logic 😉