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/

An online version of the documentation is available 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
 Accelerometers 
  • ADXL335
  • ADXL345
  • ACCM3D2
  • MMA7260QT
 Compass 
  • CMPS03
  • CMPS09
  • HMC5843
  • HMC6343
  • HMC6352
 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
  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)

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