Robosapien/WowWee IR arduino library

I got another robosapien in the trash, but this time is a robosapien V1. I didnt feel like tearing this one apart to have to run a cable to it to inject it into it’s brain, so I started messing with the library used here:

The issue was, when using his code, it only worked from the arduino only, and only worked with the original robosapien V1 robot, so I tore apart his code and modified it to add in support for other WowWee products like V2 and roboraptor.

The issue was, his code was locked so that it could only handle sending 8 bit codes(one byte), but the V2 and other wowwee products use 12 bit codes, so a little bit of it had to be changed to handle the 12 bit codes. The IR codes use the same type of data being sent, same 8 bit codes, but uses a 4 bit identifier code that makes that specific remote only work on that robot.

Just download the standard IRremote library here:

and replace the normal files with the ones in this archive:
mirror here:

Here’s a bit of an example for transmitting the codes out from the serial connection/usb.

Based on IRSend demo from ken Shirriffs library -
this sends simple commands to a RoboSapien V1 using
and IR Transmitter with Arduino

#include <IRremote.h>
IRsend irsend;        // pin 3 as IR LED output
int data;
void setup()

void loop() {
  while (Serial.available()> 0) {
    data = Serial.parseFloat();
    // Serial.println(data);

The send irsend.sendRSV1 command can be changed to irsend.sendRSV2 to send the alternative codes for V2, robo raptor, or almost any of the wowwee robots. You’ll have to convert the hex addresses to decimal to input them, but you can easily do that with a python script or whatever. To just mess around with it, I was using the calculator on windows/linux and setting it in advanced/programming mode and clicked the hexadecimal circle, typed in the command on the site, then clicked decimal and it would show the decimal number.

Here’s a list of all commands for a bunch of the wowwee robots:

Robosapien V1 codes:

Robosapien V2 and other wowwee robots:

on the V2 page, the 3xx is the 0011, aka the robot identifier code, to change to another robot, just change the 3 to whatever robot you are trying to control.

I hope that everything works good for everyone, It’s experimental still, but it works for me at least.


Updated RoboSapien IR Control – Arduino

Davy's Bliki (Blog Wiki)

There is a brilliant hack for these  I wired this up – but I ended cutting up the poor thing – so I thought I could try it with an IR transmitter instead to do the same thing.  Also means you dont have to ruin your soldering iron punching a hole through the body 🙂

I decided to use the Ken Shirriff IR library.  Its  work of genius.

But it didnt have one for Robosapien. The way it works is pretty cool – but you need a couple of days hack time to figure it out.  The codes from the sapien controller seemed to be in single bytes – so with some effort I managed to get it to transmit those codes.  I tried it on 6 sapiens I bought for a school project.

I updated three of the library files.  I have not included the whole…

View original post 589 more words

Updating firmware on USBASP from eBay

I got a USBASP off of ebay over christmas, but when trying to use it, avrdude and arduino would complain about the sclock not being able to be set. After a while of looking it up online, I found out that the issue was with an old firmware, so after a little research, this is what I discovered and what I had to do to update it.

This guide is for linux, if you want a guide for windows, here’s one that is the equivalent of it:

First, install the megaisp sketch on an arduino, then hook the arduino to usbasp by connecting the arduino’s pins, to the 10 pin header on the usbasp programmer, using this diagram to hook it up:

My connections were
 Arduino    USBASP
 5V ———– 2
 GND ——– 10
 13 ———— 7
 12 ———- 9 (MISO)
 11 ———- 1 (MOSI)
 10 ———  5 (RESET) 

Just make sure to have it unplugged from the usb port while doing all of this. Also, you’ll need to short the program pin, on mine, it was pin 2 but you may need to check yours to see what yours is. I used a piece of wire on mine shortly to short them together, just by putting the wire through the holes and wrapping the wire around the whole USBASP programmer.

Then try to use this command in the command prompt, if everything goes correctly, it’ll say something like “AVR: ready to accept commands” or something like that:

avrdude -c avrisp -P /dev/ttyACM0 -b 19200 -p m8 -v

If it complains about “AVR: not found” or something like that, then check your wiring, or check your programmer’s chip to make sure it has the ATMEGA8, and if not, change the “m8” to whatever chip is used.

If everything works fine and it is ready to accept the commands, you can download the updated firmware from the site. Here’s the link:

Just download, extract, and use this command to update the firmware:

avrdude -c avrisp -P /dev/ttyACM0 -b 19200 -p m8 -U flash:w:usbasp.atmega8.2011-05-28.hex

If everything went according to plan, you should be able to just unplug the USBASP from the arduno and plug it into the computer , all ready to go.

Here is the one that I purchased and that the pinout worked on:

usbasp programmer

Also, if you have one of these, and you notice that it doesnt work sometimes, just unplug it and wait a few mins, then try again, mine tends to misbehave if you unplug it and plug it in a few times, I think mine just spazzes out sometimes.

Setting up the Raspberry Pi to be a PS3 streaming server (DLNA server)

A while back, I kinda wished that I could stream the stuff from my raspberry pi server, which had torrent server, octoprint (3d printer server), NAS server, server for standard printers(cups), and many other servers, to my playstation 3, but no matter what I tried, I couldnt get anything to work. I finally discovered that what most systems use to detect media servers like ps3 media server programs is called a DLNA protocol, then after a little research, I discovered that the raspberry pi has a version of DLNA that can run on it easily called minidlna.

just do:

 sudo apt-get update
 sudo apt-get upgrade
 sudo apt-get install minidlna

Then edit the configuration file by typing this into the terminal:

 sudo nano /etc/minidlna.conf

you’ll see something like this:


at least starting with “media_dir”, just change the stuff after the = sign to where your files are that you want to stream.

You can also uncomment the line


to anything you want, and that is the name that will show up on the ps3/bluray players/media centers.

To get it to start up on boot, just run this command at the terminal:

sudo update-rc.d minidlna defaults

and reboot the raspberry pi. If you make any changes to the /etc/minidlna.conf file later on, you’ll have to have it update the library files manually. You do that by typing in this command into the terminal:

sudo service minidlna force-reload

After that, just start up your ps3, and within seconds, you should see a new icon under music, pictures, and movies that has the debian like logo. That will be the raspberry pi with all of your video files/music/pictures.

Ive also found that alot of bluray players and such that are hooked into the network, they’ll also have that same icon appear on them also with the same layout and everything as the ps3, and will be able to stream the media to them, assuming that the bluray players will actually support the said media in the first place.

thingiverse page

here’s the link:

Low Profile Printable Pibow

Well, I havnt really posted anything in a while due to the fact that Im not really much of a blogger type person, and that Ive been busy designing some ideas.

I made a case that was low profile for the raspberry pi B version, but it allows access to the GPIO pins and everything, just like as if you didnt have a case, so plates/shields fit on it perfectly and are still usable. I know you can access the GPIO on the normal raspberry pi B pibow version, but you need a cable, this one, you dont. This one is more for people who do the electronics and such, or just want a cool looking case.

here’s a pic, there’s more on my thingiverse page with the design files that you can just print out.



In the sources part, there’s a printable pibow, just print out parts 0-4 only, then print out my rpi5/rpi5_cam file, and it’ll fit all together just like the normal pibow cases, but my piece replaces part 5,6,7, and 8.

It’s the one I use now, and everyone loves the look of it, even more so than my other cases that Ive bought in the past.