I had purchased a simple robot (named Qu-Bot) for a school project a couple of years ago. After the project, it just went into the attic. A few days ago, I purchased an Arduino Uno and started learning the how to operate it. But, before I could purchase LEDs, sensors, LCD, etc, a total lockdown was implemented in my country due to coronavirus.

Is there a way I could program that old robot in Arduino IDE like I program my Uno?

I'm not sure if this is useful or not, but, when I execute $ lsusb , the bot appears as Bus 001 Device 018: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Here's a link to some documentation of the bot: http://www.technogravity.com/products/qu_bot/qu_bot_downloads.php

Here are photos of all the 3 chips I can see on the board of the bot:


On your linked website I wasn't able to open the sample programs (404 Not Found). The site seems very outdated (it has news from 2015 on it). So I cannot be sure, how the robot is meant do be programmed.

But: The Atmega16A is a programmable microcontroller and it most likely is the brain of the robot. Depending on how the original bot was programmed, you can have 2 ways to go:

  1. If it was originally build around the Arduino platform, meaning, that it already has a fitting bootloader in it, then you might be able to program directly over USB/Serial from the Arduino IDE.

  2. If not you can program it with the Arduino IDE over ISP by using your Arduino Uno as a programmer. Look at this documentation site for a more detailed description, how this is done. Note, that you will most likely have to remove the Atmega from the bot for programming, since the programming can interfere with the circuit of the bot (The Atmega seems to be in a socket, so that you can remove it from there). After programming you can put it into the bot again.

In both cases you need to install the correct core for that chip in the Arduino IDE, for example by following this guide (found by a quick search, not tested). (Maybe you even can find a core specifically for that robot)

The other shown chips seem to be the motor drivers.


As to your question can I program in ArduinIDE - Yes.

  • The main chip is from AVR ATMEGA16,
  • the LCD is a 16x2 (pinout for use with the LCD library is enclosed)
  • motor driver is (Big thanks to Juraj not a mystery) a ULN2803. Example to work with can be found here.

The circuit diagram enclosed:

enter image description here

How to use in ArduinoIDE:

  • First install the driver for prolific and makes sure your OS finds the robot (done)
    • Then install the MightyCore which supports ATMega16 - there are detailed instructions how to do it
    • Start with a blink led example (pins from the schematic) compile and upload to test
    • Then a simple LCD example and so on.

Another posibility would be tor scrap the bot and salvage most parts.

If its feasable the Manual will tell you which parts can be removed without soldering
To get started you need the USB drivers for OS and the original SW to test wether the QBot is still ok from a hardware perspective, Than you can salvage the parts from it to use with Arduino: enter image description here
Than you have to make a new base plate (google for pics of 2-wheel robot base plates) and get a motor driver (I recommend for a beginner a cheap motor shield like an Adafruit V2 motor shield clone 5-7$). As you probably have downloaded ArduinoIDE latest version for your OS, get some example programs and start to play around.

  • do you think it has Optiboot for the MightyCore? – Juraj Apr 25 '20 at 18:05
  • could the ULN2803APG be the motor driver? cdn-shop.adafruit.com/datasheets/ULN2803A.pdf – Juraj Apr 25 '20 at 18:08
  • I will look into the MightyCore solution tomorrow morning. Thanks a lot for that. As for salvaging it, I don't think that's possible as the parts as soldered without much margin to remove them – Fitz Watson Apr 25 '20 at 18:09
  • @Codebreaker007 I followed steps as specified. This is the error that occured: pastebin.com/b4biZqYE – Fitz Watson Apr 26 '20 at 3:48
  • @FitzWatson, of course. the upload expects Optiboot bootloader in the ATmega – Juraj Apr 27 '20 at 5:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.