Many people who write programs that run on a PC find it difficult to get started on coding for a microcontroller, mainly due to two reasons:
(1) Programming a uC require some knowledge about the target hardware.
(2) Transferring the program to the target device generally require some special hardware and software.
There are plenty of micro-controller development kits in the market, but most of them focus on the usage of their kit rather than the details of the the micro-controller. Programming the I/O pins of a development board using the library functions provided may be acceptable to get something done quickly, but our method is to directly deal with the the micro-controller, without hiding the uC details from the user.
MicroHOPE hardware is based on the Atmel Atmega32 micro-controller and the USB to Serial IC mcp2200. A simple GUI is provided to Edit, Compile and upload the program. The approach is to start by programming the Input/Output ports of Atmega32, which require some basic knowledge of binary number system, C language with its bit manipulation operators. The peripherals like ADC, Timer/Counter etc. are handled using a software library, in the form of C source files, that can be included in your program. As you learn how to write code peripherals, using their control/data registers, stop using these readymade functions.
Since microHOPE comes with a bootloader pre-installed inside the program memory of Atmega32, you can upload code using the USB interface with a single click, from the GUI provided.