SRS logo

SRS Workshop Robot

Home - Kit Purchase - Workshops
Level 1 - Level 2 - Level 3

Level 1 Robot

level 1 robot
Level 1 Robot

In this unit, participants will build the robot platform, learn how to program the Atmel ATmega16 AVR microcontroller to control motors and read sensors, and explore algorithms for more complex robot behavior.

The three workshops for the Level 1 material are described below. See the Workshop Schedule to register.

The kit for this level includes a microprocessor control board, light sensors, bump sensors, chassis, motors, wheels, and caster. See the Level 1 Parts List for details. You can also view the data sheets for various components.

You can download a ZIP of the workshop files [5.7M, 6-25-2006]. This includes the Level 1 Kit Manual [3.2M, 11-3-2005] and Sample Programs (BASCOM and C) [160k, 6-25-2006]. The best way to view the manual is to right-click (ctrl-click on the Mac) and choose the "save link as..." option to download the file to your machine, then open it locally. It may take several minutes to download, depending on your connection.

Computer Requirements

To program the robot, you will need one of the following connections:

  • a DB-25 parallel port -- this will work with the programming cable included in the kit. (Note that it will most likely not work to use a USB-to-parallel converter; they do not provide full parallel port functionality, just what's necessary for printing!)
  • a DB-9 serial port and an AVR-ISP programmer -- the AVR-ISP can be purchased from Digi-Key (part number ATAVRISP2-ND) for $36.
  • a USB port with a USB-to-serial converter and an AVR-ISP programmer -- USB-to-serial converters are available from a variety of places, including Fry's Electronics; the AVR-ISP can be purchased from Digi-Key (part number ATAVRISP2-ND) for $36.

To communicate with the robot, you will need either:

  • a DB-9 serial port, or
  • a USB port with a USB-to-serial converter.

Recommended Equipment

Participants will need to supply 6 AA batteries. We recommend rechargeable batteries (NiMH or NiCd). Please also bring as many of the following items as possible. There will be a small quantity of these available to use during the workshop.

  • Safety glasses
  • Soldering iron
  • Solder (e.g. 60/40 0.032" dia rosin core solder, Radio Shack 64-005)
  • Wire cutter/stripper
  • Side cutters (for trimming leads on soldered components)
  • Needlenose pliers
  • Pliers
  • Small screwdrivers (phillips and slotted)
  • Small adjustable wrench
  • Scissors
  • X-acto knife
  • Ruler
  • Small file for smoothing circuitboard edges
  • Multimeter
  • Cardboard (scrap is fine)
  • Magnifier may be useful
  • Extension cord/power strip will be helpful at the workshops


Workshop 1.1

In this session, participants will solder components to a printed circuit board, build cables, download a simple program to blink an LED, and assemble the chassis with motors, sensors, and controller board.

Topics covered: Identifying electronic components, soldering, software setup, building programs, downloading from the PC to the robot's microcontroller.

Workshop 1.2

This session will cover robot programming (parts 1 and 2 in the manual), including motor control, sensor reading and interpretation, and communication between the robot and computer (e.g. to send commands or monitor sensors).

Topics covered: Software setup, building programs, downloading from the PC to the robot's microcontroller, digital input and output, controlling motors with PWM (pulse width modulation), sending and receiving serial data, using the analog-to-digital converter, understanding how the bump sensor works.

Workshop 1.3

This session will cover robot programming (parts 3 and 4 in the manual), including using a Timer/Counter, algorithms for more complex robot bevavior, and a discussion of state machines.

Topics covered: Reading and writing EEPROM, using a Timer/Counter for more accurate timing, using a Timer/Counter for PWM, algorithms for line following techniques, maze junction detection and reaction, using a state table for dead reckoning, and storing constant data in Flash instead of SRAM.