logo
logo
WebbotLib

C Library for Atmel AVR Processors

WebbotLib is a C library for robot builders supporting the following microcontrollers: ATMega168, ATMega32, ATMega328P, ATMega640, ATMega644, ATMega1280, ATMega2560 and ATMega2561.

The library supports a wide variety of different motor controllers, sensors and other devices. This allows you to concentrate on writing your own software without having to worry about the low level routines required to communicate with the attached devices.

When ever possible we have standardised the devices. For example: all distance sensors will return a value in centimeters. This means that you can change from one distance sensor to another with only a handfull of code changes at the top of your program. The same principle applies to motor controllers.

As well as the supported microcontrollers listed above the library also provides support for some commercial boards based on these devices. This allows 'built in' devices such as LEDs, buttons, or motor controllers to be automatically defined as well as making sure that you only attach devices to pins that have been made available by the manufacturer.

The source code and documentation for the latest release of this library is available from: http://sourceforge.net/projects/webbotavrclib/

Note that there are two code streams:-

Version 1 uses C only and can be used with, or without,  Project Designer.

Version 2 requires you to use  Project Designer and can generate smaller and more efficient code in either C or C++.

An online version of the C documentation is available here and the online C++ documentation is here

 

Comments and some unofficial examples may be found at the Society Of Robots web site

 See whats new for WebbotLib

 

Here is just a flavour of the devices currently supported:-

Type ModelComments      
 Audio
 SOMO14D Allows playback of audio files from a microSD card
 Camera Blackfin
  •  Supports all resolution modes
  • Blob Detection
  • Mean Colour
  • Get Pixel colour at X,Y
  • Count pixels in a rectangle that match a colour bin
  AVRcam
  • Blob Detection
  • Get Pixel colour at X,Y
 Motors Sabertooth
  • 2x5 amps
  • 2x10amps
  • 2x25 amps
  Pololu
  •  Dual Serial protocol
  Sanyo
  •  Stand alone or built into board like BabyOrangutan
  Solarbotics
  •  L298 motor driver
  Toshiba   
  •  TB6612FNG either as a seperate module or built into boards like the BabyOrangutan B328
 Stepper Motors
 Pololu
  •  A4983 stepper motor controller board
  Generic
  •  L297
 Accelerometers 
  • ADXL335
  • ADXL345
  • ACCM3D2
  • MMA7260QT
 Compass 
  • CMPS03
  • CMPS09
  • HMC5843
  • HMC6343
  • HMC6352
  • HMC5883L
 Current Phidget 
  • DC and AC sensors
 Distance Devantech
  • SRF02, SRF04, SRF05, SRF08 sonars
  Maxbotix 
  • EZ1
  • MB7077 (suitable for underwater)
  Ping
  •  Ping Sonar
  Sharp

 Infra-red devices such as:

  • GP2
  • GP2D12
  • GP2D120
  • GP2D15
  • GP2Y0A02YK
  • GP2Y0A02YKOF
  • GP2Y0A21YK
  • GP2YOA700KOF
  • GP2Y0AY710KOF

And wide range devices like:

  • GP2Y3A002KOF
  • GP2Y3A003KOF
 Gyro InvenSense
  • IDG300
  • IDG500
  • ITG3200
  ST
  • LPR530AL
  • LY530ALH
 GPS 
  • Any GPS device sending NMEA messages
 IMU SparkFun
  •  Razor 9DofF
 Servos 
  • All standard Futaba/Hitech compliant servos
  • Dynamixel AX-12
  • Devantech SD21 Servo controller
 ControllersSony
  •  Sony PS2 controller
 Storage 
  • SPI EEPROM
  • I2C EEPROM
  • SD Card (raw format or a FAT file system so it is readable on a computer)
 Temperature Maxim
  • DS18B20
 Real Time Clock 
  • DS1307
  • DS3234
 Pressure

 Bosch

  • BMP085
  Motorola
  • MPX5100a
 Communications Narobo
  • DroneCell

Don't see your sensors listed here? Well we may already support them.

If you are a 'user' then check the docs from the latest release.

If you are a 'supplier' or 'manufacturer' then contact me. Here is an example of traffic on the Society Of Robots website to do with WebbotLib