MicroHOPE is a micro-controller development kit based on the Atmel ATmega32. MicroHOPE supports coding in assembler and C languages, treating the uC (micro-controller) as a device with programmable Input/Output pins and then introducing other peripherals like ADC, communication ports etc. You will be able to understand the uC architecture using small assembly language programs.
You can even display their output with LEDs or a LCD display connected to the output ports (see peripheral products). Being an open hardware product, MicroHOPE will try to become the lowest priced one in this category. There is no complex IDE for MicroHOPE however a simple text editor with a couple of buttons to invoke avrgcc and avrdude ( to compile and upload the code) is available. It is tested on both GNU/Linux and MSWindows. Debian packages are available and it therefore is compatible with the Raspberry Pi computer as well.
MicroHOPE Hardware
The block diagram of the MicroHOPE hardware is shown below. ATmega32 has 32 General Purpose Input/Output pins, organized as 8bit wide ports A,B,C and D on the 40 pin DIP package. Except for the 2 bits of Port D (connected to the USB to Serial converter) all the other 30 Input/Output pins are available to the user. The boot loader program is pre-loaded into the flash memory of ATmega32.
To load a new program, the PC resets ATmega32 by sending a pulse through the RTS output of the USB to Serial Converter IC (MCP2200 in the new version). The boot loader code starts running after every reset, first checks for the arrival of new code via the USB link. If available, it is loaded into the flash and control is passed to it. If new code is not available, control is passed to the existing code. Even though ATmega32 is capable of running at 16 MHz, an 8MHz crystal is used to reduce the power consumption and heating.
All the external connections to the micro-controller are done through the four external connectors. In addition to the I/O port pins, Ground and the 5 volt supply from USB are available on each connector. Several plug-in boards are available for interfacing LEDs, alphanumeric LCD display, stepper motor etc.