HaViMo3.0 Ball and Plate Demo

Using a HaViMo3.0 and two Dynamixel AX12 Servomotors we could successfully stabilise a ball and plate scenario. The controller used in the demo is a CM530 and the control code is written in RoboPlus. See the video below.

The control code task file can be downloaded here. The control code uses IDs 1 and 2 for vertical and horizontal movements. You can simply change the orientation of the HaViMo or the signs of the variables in the code to cope it with your hardware design.

Enjoy the Demo!

HaViMo3.0 is released

The latest version of HaViMo computer vision module, HaViMo3.0 is released on 20th of May 2015. Orders can now be processed.


Summary of New Features:

  • Hardware
    • 2Megapixel OV2640 image sensor
    • ARM Cortex M3 main processing unit
    • Status LED indicates module functionality
    • New form factor fits into Dynamixel AX-18 housing
    • 2 x 3 pin power and data connectors
      • Compatible to Dynamixel TTL interface
    • One 4 pin power and data connector
      • Full duplex UART communication, compatible to ARDUINO and other micro controller platforms
  •  Software
    • Backwards compatible with HaViMo2.0 and HaViMo2.5
    • New Image Processing algorithms added
      • GVG: Shape based processing with Gradient Vector Gridding. See paper for more details.
      • AVG: Fast low-res intensity image output

Documentation and examples will be available soon.

Testing HaViMo2.0 with Open-CM9.04 and Dynamixel XL-320

Hi everybody,

We were selected by ROBOTIS as a beta tester of their new XL-320 and Open-CM9.04 platform.A few weeks ago we received the first packet containing 4 XL-320 servos, an Open-CM9.04 controller, and plenty of parts.
So we started thinking what we can make out of the parts. A bipedal robot would be ideal  but only 4 servomotors were a little bit too few :).

We have already developed our bio-inspired leg locomotion concept and shown its performance during RoboCup2013.

We decided to do the same with this platform. By removing some less necessary DOFs we could finally design something functional. The first prototype worked well but without the batteries on board.


After the first tests, we concluded that we need to reduce the leg dimensions to increase the maximum load the robot can carry. We also added an upper body.



We added a neck and head and mounted the HaViMo into the head.

Watch the robot in action:

Here is our sketch for walking:

Dynamixel Dxl(1); //Dynamixel on Serial1(USART1)
void setup() {
void loop() {
float ramp = (millis() % 400) / 400.0;
float rramp = ramp < 0.5 ? ramp * 2 : 1;
float lramp = ramp > 0.5 ? ramp * 2 - 1 : 0;
float rLeg = sin(sqrt(rramp) * 3.14);
float lLeg = sin(sqrt(lramp) * 3.14);
float forward = 40 * sin(ramp * 6.28 - 1.0);
rLeg = rLeg * 100;
lLeg = lLeg * 100;
Dxl.writeWord(1, 30, 200 - forward);
Dxl.writeWord(3, 30, 209 - forward);
Dxl.writeWord(2, 30, 190 + rLeg);
Dxl.writeWord(4, 30, 213 - lLeg);

Our next step is to program the HaViMo to make the robot move towards an object.



Calibration Firmware for using HaViMo with CM530

We found some issues using HaViMo2.0 and the recently released CM530 from ROBOTIS. The current firmware (version 1.1969) has a noticeably long latency in switching between TX and RX on the Dynamixel bus. So a response packet from HaViMo gets corrupt.


We prepared an alternative firmware for calibration mode you can download the CM530 Firmware for HaViMo Calibration here.

for installation guide refer to the following link: http://support.robotis.com/en/software/embeded_c/cm530/programming/bootloader/program_install_cm530.htm

Your HaViMo team.

HaViMo 2.5 release

The new HaViMo2.5 is going to be released on 15. Aug. 2012 The product is based on ARM Cortex M3, and provides more functionality and capacity.
HaViMo2.5 is produced as an Arduino shield. More details and product information will be provided shortly.