NicoNico box robot

Woah hey I haven’t updated since last year. Well here’s a post. Here’s some backstory behind this one: Last time SparkFun had a Free Day, I won $100 after entering a ton of Captchas for several hours and getting lucky. One of the things I spent it on was continuous-rotation servos because I felt like trying to make a robot of some sort. I once tried modifying some regular servos to be continuous-rotation but I pretty much just ruined them, so I don’t want to try doing that again.

In any case, here’s a quick attempt at a simple robot that just moves forward slowly. The wheels were made from parts of a VHS case which were then taped to the servos. I guess the main issue is that it’s USB-powered so it has a really limited range. I tried using a 9V battery to power the Arduino but apparently that isn’t enough to power two servos (I could hear them clicking, but not moving), so I’ll need an extra power source specifically for the servos. The problem is my lack of battery holders.

Cubey the TF2 kill tracker


Today I was bored and I remembered this video I saw awhile back that had a TF2 kill counter using an Arduino. I’ve been playing TF2 a lot recently (since it became free to play, I’ve been doing a lot better in comparison) so I figured it would be cool to implement something like that. I could’ve done it with LEDs or even GLCD screens (actually it might be cool to do something with the LoLShield), but since Cubey’s been sitting on my desk unused for the past few months, I thought I’d put him to use. Cubey gradually turns around as I get more kills, and after a certain point, he starts moving his ears. He turns back around in disappointment when I die, though.

I used Python to read the config.log file located in the tf folder (on mine, it’s “C:¥Program Files (x86)¥Steam¥steamapps¥your_username_here¥team fortress 2¥tf”). It reads the latest lines and looks for “A killed B” or “A suicided” and sends either a + to the Arduino when A kills someone or it sends a 0 when A is killed by someone else or kills themself. The Arduino then reads from the serial port one character at a time and makes the Cubey servos move accordingly.

Python and Arduino code are in this zip file.

Miditones & Playtune

In my search for some more awesome music-related Arduino things, I found Miditones and Playtune. Miditones takes a MIDI file as input and outputs a C array that you can copy/paste into your Arduino code and play it using the Playtune library. I just used the example code for an Arduino Nano, with pins 10, 11, and 12 going to three different speakers.

I didn’t realize until just now that the comment in the code says that you can wire all three pins to a terminal of one speaker, but I guess having three speakers makes it kinda surround-sound-ish. Maybe I’ll upload some more videos with a single-speaker setup or with a piezo buzzer. Anyway, here are some videos of Vocaloid songs being played with the Arduino.


Continue reading “Miditones & Playtune”

Arduino chiptunes


A straight copy/paste implementation of Linus Akesson’s hardware chiptune project ported to Arduino by stimmer (reply #1 in this thread). I originally had it as just the speaker, but then I realized I could use the piezo buzzer I got in my digital logic design kit last year and never actually used. So I just added a DIP switch that allowed me to switch between them.

iPod Touch controlled Cubey


Now Cubey can be controlled using using TouchOSC on iPhone / iPod Touch (TouchOSC is also available on Android so this should probably work on that too).

Source code (Arduino and Processing source code, along with TouchOSC template) can be found here. It requires the oscP5 library for Processing, which can be found here.

Cubey Papercraft

So I designed this Kyubey papercraft this weekend, with the idea based on this image on @kevinchai’s twitpic. It’s Cubey because it’s a cube (well technically a rectangular prism).

Cut along the solid lines, fold along the dotted lines. The ears and the gold ring things are meant to be folded back on themselves so that they’re colored on both sides (I’m seeing a lot of people who don’t get this! It’s somewhat important!). See the images in the gallery if you’re confused. I didn’t add the tail to mine because I didn’t glue the back closed, but basically cut along the solid line on the tab on the back part of the main body and insert the tab from the tail. If you make one of these, post it here, I’d like to see it!

I also added electronics to it (I am terrible at soldering; you have permission to laugh at the pictures of the circuit)! One servo for rotation of the entire papercraft, another servo and a rubber band for moving the ears up and down, and two photocells (one on each side) to sense light. I have it so that Cubey will turn either toward or away from light depending on what I set in the program. I tried adding remote control, but my IR receiver kinda broke somehow. Here are some videos of the other stuff, though.

And more on the channel. Image gallery in the full post.

Continue reading “Cubey Papercraft”

Arduino KS0108 touchscreen Marisa program

I edited the touchscreen Neko program to include Marisa sprites based on her sprites from “Patchcon: Defend the Library!”, except in monochrome. She can also be controlled by serial port if connected through USB: send a header byte of 255 to the Arduino, followed by the X and Y coordinates, and she will move there (assuming the previous command was a valid one). This allows her to also be controlled by, say, Ustream/IRC chat commands.

Source code and bitmaps can be found here.

Update: Had an interactive stream on Ustream where viewers could type “!mari” followed by two integers, and she would move to the coordinate (unless it’s too large or small, then she moves to wherever she can). Here‘s a recording of the stream; cooler stuff happens at about 13 mins onward (fire and snow effects). It doesn’t record the chat messages though, but they were definitely there.

RGB LED Ustream party!

I’ve set up a thing where you can control the crossfading RGB ping pong ball via Ustream chat. Simply type “!rgb # # #” where # is an integer from 0 to 255 (for example, “!rgb 0 255 0” is green), and the LED will fade to that color. I’ll try to leave the stream up tonight so if you see this before I wake up tomorrow, hopefully it’ll still be there. It’s just a combination of the python IRC bot script and the RGB LED crossfading Arduino sketch from before. Ustream chat is basically just an IRC channel, so that’s why it works!

Update: Stream has ended! Thanks to everyone who participated!

Arduino KS0108 touchscreen Neko program

Made an Arduino program based on the computer program Neko. Neko moves to where you tap on the screen, and if you don’t do anything for awhile, it does some idle animations. I’ve also added a thing that wasn’t in the original program; after Neko performs two idle animations, it moves to a random location on the screen (not shown in the video).

Source code can be found here.

Update: Figured out how to make Neko controllable by having users type in coordinates on UStream.