The original intention of the FunnyRobot project is to create a
low-power-consumptive wheeled robot for high school educational use.
In the mechanical part, I assembled the chassis of the robot using waste materials except for the motional
mechanism. In the electronical part, the controller has gone through two major versions – version 1 and
version 2, and the current version is V2.52-build200908
. Funny-Robot V1.0 is a demo version
that has been already found bugs and deficiencies; therefore, the development still continues,
and I corrected most errors in V2.5.
The current hardware scheme adopts an ATmega128 8-bit AVR microcontroller as main processor
while using an ATmega8 to actualize an open sourced USB programming solution called
Build in peripheral devices includes 4 channels of H-bridge PWM DC motor driver, 38kHz
generator for inferred object detector, RS-232 serial interface, 1602 LCD, etc. SPI, USART,
I2C buses are reserved for extension.
Since the purpose of the project is to create an educational robot platform, I am designing
a comprehensive firmware with user-friendly interface under GNU C++ cross compiler. The
current firmware scheme is based on an open sourced real-time operating system called
The firmware provides APIs to operate both build-in resources (ADC, I$^2$C, SPI, etc.) and
robot related utilities (LCD, DC motor, servo, etc.) A previous version of the firmware,
which is based on foreground-background processing and compiled under GCC, is also available.
Juvenile's Activities Center of Xuhui