About uNav

From Officine Robotiche
Jump to: navigation, search
uNav Prototype Zero compared with a 2euro coin

The project µNav (read: micronav) provides for the development of a board to control motors with very small dimensions (43x43mm) and its firmware. This board is an evolution of dsNAV ([1] and [2]) and Motion Control ([3]). Like the previous ones, this card will play the main task of driving two motors with speed control and provision for a torque control. µNav is a project developed by Officine Robotiche team.

Heart of the board is a dsPIC33FJ128MC804 ([4]), a powerful digital signal processor with dedicated peripherals for motor control. µNav can manage both speed control and dead reckoning tasks using trapezoidal profiles for acceleration and deceleration. µNav can act as a slave board (controlled by an external board, such as Arduino or others) which communicate using simple commands via UART or I2C bus, or can act as stand-alone control board.

The master control board can use UART or I2C buses to give uNav specific commands such as "go forward for 15 meters", "turn right by 32 degrees" and so on and receive telemetry data.

Up to 4 µNavs can be daisy-chained using UART for controlling robots with up to 8 motors.

Source code is available as open source on Github. Please see Links and Downloads (uNav) page.


  • CPU: dsPIC33FJ128MC804
  • Size: 43x43mm
  • Connectors Pitch: 2mm
  • 2 motor control channels (12bit resolution with a carrier between 9.6KHz and 19.5KHz / 11bit up to 39KHz)
  • Control modes: Locked Anti-Phase (suggested, 2 anti-phase PWM outputs for each channel) or Sign Magnitude (2 outputs for each channel: PWM and DIR)
  • Enable signal for each PWM channel
  • 2 inputs (A+B) for quadrature incremental encoder for each channel
  • Available outlets for powering encoders at 3.3 or 5V
  • 4 buffered analog inputs with 10bit resolution (0-3.3V) and low-pass filter with a cut-off frequency of 1.59KHz (attenuation is 0dB up to 512Hz)
  • I2C EEprom on-board, 2kB, for non-volatile storage of operating parameters
  • I2C bus, 3.3V level
  • 2 UARTs, 3.3V level (one is 5V-tolerant)
  • 9 GPIOs
  • 4 LEDs
  • on board power regulation with 2 low-dropout regulators: 3.3 and 5V.
  • Power supply: 6-7V (6.5V suggested)
  • ICSP (In Circuit Serial Programming) (An adapter for 2.54mm pitch is included)

About Encoders

Is suggested the usage of quadrature encoders with a minimum resolution of 100CPR (Cycles Per Revolution), directly attached on the motor shaft.