Let's Make Robots!

New Micro Magician V2

The new improved Micro Magician V2 is here! It has all the features you loved in the original Micro Magician but with an ATmega328P and improved power supply. The new black and yellow PCB looks great and is easier to read.

You can now download the manual from here: https://docs.google.com/open?id=0B__O096vyVYqUjNXVV9RMmFuNkk


  • Fully compatible with the Arduino IDE - board type: Arduino Pro or Arduino Pro Mini (3.3V, 8MHz) w/ ATmega328
  • ATmega328P processor running at 8MHz, 3.3V with 32K FLASH, 1K EEPROM and 2K SRAM
  • Input voltage from 3.6V to 9V
  • Built in LDO +5V, 1A regulator (input voltage must be at least 5.5V) to power external 5V devices
  • Built in LDO +3.3V, 500mA regulator 
  • Reverse polarity protection rated at 6A for protecting servos and motor driver IC
  • Reverse polarity protection rated at 3A for logic and other 3.3V devices
  • Built in USB using the CP2102 interface IC
  • Built in dual FET "H" bridge with current limiting, motor stall detection and electronic braking
  • Built in 3-axis accelerometer with 0G detection and selectable ±1.5G and ±6G ranges
  • Built in 38KHz IR receiver providing 128 virtual buttons when using the Sony IR protocol
  • 8x digital I/O pins terminated with 3 pin male header and selectable voltage for driving servos
  • 3 pin male headers on analog inputs to provide 3.3V power for sensors
  • 4 pin female communications header for 3.3V wireless transceivers (Xbee or Bluetooth)
  • ISP socket for bypassing the bootloader and programming the processor directly
  • Power, Rx, Tx, D13 and IR signal indication LEDs
  • Software library provides functions for IR decoding, angle / impact detection, DC motor and stepper motor control
  • Manual includes detailed information for library use and interfacing 5V devices

If you don't need the dual "H" bridge then you can put the motor driver into sleep mode and reuse D5, D6, D7 and D8 which have both male and female headers for easy interfacing.

The only pins not accessable are A0-A2 wich are dedicated to the accelerometer and D4 which is dedicated to the IR receiver.

Want More?
Rocket Brand Studios sell several robot kits designed to take this controller and has designed an Xbee shield for wireless uploads.

NOTE: 9V is the absolute maximum input voltage. Rechageable batteries can have an initial voltage higher than normal when freshly recharged. For example a 7.4V Lithium Ion battery will be 8.4V when fully charged.

The first video is of a QuadBot chassis being driven by the Micro Magician V2. It is powered by a single 3.7V, 900mAH Li-Ion battery the size of an AA battery.

The second video shows a robot arm I made for my son from K'nex parts and the Chinese copy LOZ. The main drive motors have just had the built in switch removed and are connected directly to the Micro Magician motor outputs.

The arm motors have all had circuits from dead servos installed to make them into continuous rotation servos. These just plug directly into the servo connectors on the Micro Magician.

The whole robot is powered by 4x AA NiMh batteries and controlled with a TV remote. Because I did not mount the controller in a good position to receive IR signals I used an external IR receiver on an Analog input and told the microM library to use that receiver instead of the built in receiver. It would also be possible to read the two receivers independantly.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

i whant use the code whith the robot controller micro magician V2 but the code samples  of doodlebot not load and have problems whith arduino V1 or superior but the robot magician V2 not connect whith arduno 22 or 23 which load the code, please you can help me please

sorry doble post

I have a robot that uses the ISP header for a sensor.  Everything works fine when the USB cable is connected.  I receive a 5V reading when testing between the 5V and Ground pins on the header.  When I disconnect the USB cable, the voltage drops to 0V.  With a bettery connected, I get voltage readings on the Analog pins (3.3V) and the Digital pins (Vin), but nothing between the ISP 5V and Ground pin.

Do you have any suggestions for what I need to do to get the ISP header working when only a battery is connected? 

As the Micro Magician is running at 3.3V it has some protection circuitry on the ISP header. This allows another Arduino to be used as an ISP programmer no matter if it is 3.3V or 5V. The Simplest solution is to power the sensor from the +5V output on the board.

Hi Oddbot,

Can I use it with 8 servos? Not small 9Gs but normal one like MG995 or HITEC servos? Do I need external battery for servos?

Yes you drive standard servos (up to about 6A).

The board does have a jumper to let you select V+ between +3.3V for digital I/O  and direct from the battery. If you want to use a second, seperate battery for servos then you can remove the jumper completely and use a female header to connect the servos to a seperate battery. Make sure you connect the grounds.

Cool~ getting 2 of them. ;)

Oh by the way, I notice the analog pin can also work with servos, if I wanna drive up to 12 servos, can I use external power for Analog pins as well? Just wondering...

Unfortunately not. The analog pins on the Micro Magician only hav 3.3V on them for 3.3V sensors.

If you want to drive 12 servos then the Mini Driver is the same size, cheaper with fewer features but better suited. The Mini Driver is a basic ATmega8 board. It is 5V @ 16MHz. The 5V regulator is rated at 1A so you can drive 4x miniature servos directly from the analog pins as long as they are not heavily loaded.

You can buy these as well as the Micro Magician V2 from Chris @ Rocket Brand Studios.


If you want to drive 12 large servos under load then the Spider controller is your best choice.

Micro magician V2 and V1 both use cp2102 for usb interfacing, I wanted to ask if this cp2102 thing supports continuous serial monitoring?
Actually i want to buy an usb to serial convertor sort of thing but i am confused between USBasp and cp2102 modules (because i am a little low on budget here).

The CP2102 is just a serial interface the same as the FT232R used by standard Arduinos. The Micro Magician boards behave exactly the same as the Arduino boards. The main difference is that the CP2102 uses different driver software because it is made by a different manufacturer. It is also smaller which was important for the Micro Magician.