|
Mike Wazowski (pictured above, on the right) is a USB-powered educational development board for the Atmel [http://www.atmel.com/dyn/products/product_card.asp?family_id=607&family_name=AVR+8-Bit+RISC+&part_id=2014 ATmega32] microcontroller.
Here are some quick facts for the impatient:
- The processor speed is 8 MHz (at room temperature only...the frequency varies quite a bit with temperature).
- All I/O lines have 1k series resistors and 4.7V zener diodes.
- The supply voltage for the board is approximately 4.7V rather than the usual 5V (but applying voltages in the range 0V to 5V is safe due to the 1k resistors).
- All I/O lines are available on the connectors except for PD0, PD1, PC6, and PC7.
- The LED is turned ON by setting Port C pin 6 LOW. Setting the pin HIGH turns the LED OFF.
- The bootloader uses a fixed baud rate of 38400 bps.
Also see the MikeWazowski/FrequentlyAskedQuestions page for more quick facts.
Hardware
Here is the board [http://claymore.engineer.gvsu.edu/~steriana/MW/mwsch.pdf schematic]
Here are the board layouts for the [http://claymore.engineer.gvsu.edu/~steriana/MW/boardtop.pdf top side], [http://claymore.engineer.gvsu.edu/~steriana/MW/boardbot.pdf bottom side], and [http://claymore.engineer.gvsu.edu/~steriana/MW/legendbot.pdf bottom side part names].
Here is the [http://claymore.engineer.gvsu.edu/~steriana/courses/Downloads/datasheets/ATmega32.pdf ATmega32 datasheet]
Here is the [http://claymore.engineer.gvsu.edu/~steriana/courses/Downloads/datasheets/FT232R_v102.pdf FT232RL datasheet]
- The pre-programmed fuse settings on the ATmega32 are FUSEH=0xD4, FUSEL=0x24, LOCK=0xEF. The interpretation is:
- 8 MHz internal oscillator, 65ms startup delay
- Brownout detection enabled at 4.0V
- OCD and JTAG are disabled
- SPI in-circuit programming enabled
- EEPROM saved across erasures
- 512-word bootloader
- Lock bits set to protect bootloader
- Reset begins execution at bootloader reset vector
- CKOPT disabled
- The 1k series resistors on all I/O lines is significant. You will probably not be able to light LED's directly from an I/O line, for example, as a 2.0V LED will allow only I=V/R=(4.7-2.0)/1000=2.7mA of current, and LED's don't look very bright until they get about 10mA of current. DON'T FORGET ABOUT THE 1K RESISTORS!
Drivers (Windows)
If your computer doesn't recognize the board when you first plug it in, you will need to download and install drivers for the FT232RL chip on the board. You will need Administrator privileges to do so.
Download the latest [http://www.ftdichip.com/Drivers/D2XX.htm FTDI drivers] from the FTDI web site -- note where on the disk you saved the ZIP file.
- Extract the contents of the ZIP file for the drivers and note where on the disk the files have been extracted.
- Plug the board in to a USB port and wait for a dialog to appear indicating new hardware has been detected.
- Do not allow Windows to download drivers from the Internet, but instead direct it to look for drivers in the directory containing the extracted FTDI driver files.
- Windows will repeat the process and ask you to install drivers again. Once again, use the same directory containing the FTDI driver files.
Drivers (Linux)
Any modern kernel will already have the ftdi_sio kernel module so you should not have to install anything. If not, make sure this module is enabled in your kernel configuration and recompile your kernel.
Hardware Modifications
Here are some suggested modifications to the hardware, all very easy to do.
Add #4 screws, washers, nuts, and standoffs (e.g., Keystone Electronics part #876, Digi-Key part 876K-ND) to the four corner holes ([http://claymore.engineer.gvsu.edu/~steriana/MW/standoffs.png picture]) to prevent the components on the underside of the board from making contact with metal objects on your work surface (which may destroy the board!)
Add test points for GND to enable the attachment of ground clips and for establishing a common ground between the board and other hardware. You can solder in a test point in three places, [http://claymore.engineer.gvsu.edu/~steriana/MW/gnd1.png here], [http://claymore.engineer.gvsu.edu/~steriana/MW/gnd2.png here], and [http://claymore.engineer.gvsu.edu/~steriana/MW/gnd3.png here].
Add a jumper [http://claymore.engineer.gvsu.edu/~steriana/MW/reset1.png here] to reset the ATmega32, hence invoke the bootloader. This makes it a lot easier to quickly update your program as compared to having to disconnect and reconnect the USB cable. A reset occurs when the two jumper pins are shorted together. Be careful, however, as the ATmega32's reset pin is not protected with a resistor or zener diode hence the chip can be damaged if a voltage is applied to either jumper pin!
Short [http://claymore.engineer.gvsu.edu/~steriana/MW/reset2.png these two pins] together to reset the FT232RL chip, hence make it look like the board was disconnected from the USB cable. This is unlikely to be useful and is not recommended.
Add a 6-pin dual-row connector [http://claymore.engineer.gvsu.edu/~steriana/MW/avrisp.png here] to allow in-circuit programming using an AVRISP rather than the bootloader. This is only likely to be useful if you need to change the fuse settings or you need to make use of the 512 words of FLASH that the bootloader occupies.
Add hardware to allow the board to be externally powered rather than powered from a USB connection. This modification is described on the MikeWazowski/ExternalPower page.
Downloading Programs
Mike Wazowski comes with a bootloader program that allows you to program the ATmega32 FLASH with your own program, directly over the USB connection. You do not need to use an AVRISP or other form of hardware programming connection.
The bootloader is compatible with Sylvain Bissonnette's [http://www.microsyl.com/megaload/megaload.html MegaLoad] program (version 5.0b1...version 6.1 will probably work too). For information on how to upload your own programs through this bootloader, see the MikeWazowski/WindowsDownload page or the MikeWazowski/LinuxDownload page depending upon whether you're using Windows or Linux.
Initial Setup
In certain circumstances, you may need to re-install the ATmega32 bootloader, or program the FT232RL EEPROM. See the MikeWazowski/WindowsSetup or MikeWazowski/LinuxSetup pages for information on these advanced topics.
Applications
See the ["MikeWazowski/Applications"] page for user-contributed applications ready to run on your board.

