Archive for the ‘Hobby’ Category

Recruiting more people to IRC

Friday, July 24th, 2009

We are a few people on our IRC channel(s), talking and helping eachother about RC related stuff.

The problem with IRC or should I say people, is their ability to turn on everything out of their knowledge. IRC can be tricky at first, but it gives you a nice playroom.

To recruite people I had to find a simple way to connect people to IRC and join our channel. A quick google search found web-irc linking to antoher site running CGIIRC. It’s a client which runs on a webserver through your browser and can connect you directly to desired channel. When people get used and addicted to IRC, they will install a decent client locally.

My next step was to get people interested. A way of doing this is by giving them some of our conversations and not just a few, but the latest conversations. By doing this, people will (or should) get interested in connecting.

So, how will I give them our conversations? through a image. Because it’s the only way I can update anything on remote sites such as forums and not letting any one just copy our conversations.

I will now explain how I did it. I will assume you are  a fellow geek and know what I’m talking about, if not, just google the unknown words.

To get latest conversations on our network I ran a eggdrop on our channel on logging modus. The eggdrop is running on the same server as my web server, making it easy to get the required text.

$file = “../../../eggdrop/logs/#rchobby.log”; // this is where my conversations are
$r = $g = $b = 255;
$lines = 8;
$width = 600;
$size = 10;
$text = array();

/* read file and get number of wanted lines */
foreach (array_slice(file($file),-$lines) as $x)
{
$x = str_replace(“<motor> (EFnet) “,”",$x); // have to remove some crap since we have linked networks
$x = preg_replace(“/^\[(\d{2})\:(\d{2})\] <(.*)>/”,”[\\1:\\2] (\\3)”,$x); // custom display format
$x = utf8_encode($x); // to support norwegian characters such as ø æ å
/* split up long sentences to fit width*/
$x = wordwrap($x,$width*0.15); // text can go utside the image, therefore we split it
foreach (explode(“\n”,$x) as $y)
{
if (!empty($y))
{
$text[] = $y;
}
}
}
/* define image and background color */
$image = imagecreate($width,count($text)*11); // create image object
$bgColor = imagecolorallocate($image,$r,$g,$b); // set background color
/* print text with desired font */
$x = $size;
foreach ($text as $line)
{
imagettftext($image,$size,0,0,$x,imagecolorallocate($image,0,0,0),”./ProFontWindows.ttf”,$line); // custom font
$x += $size;
}

imagettftext($image,25,-10,30,30,imagecolorallocatealpha($image,255,0,0,60),”./ProFontWindows.ttf”,”CLICK TO CHAT RC!”); // making it more professional, like a stamp

/* tell browser not to cache, conversation updates */
header(“Cache-Control: no-store, no-cache, must-revalidate”);
header(“Pragma: no-cache”);

/* send png image to browser */
header(“Content-type: image/png”);
imagepng($image);

?>

Now we have a file that displays a image with a given number of lines, but what about customizing colours and number of lines? to match designs on different forums. The solution is simple.

If we add following after variable defining we should be set.

/* custom color */
if (isset($_GET['r']) && is_numeric($_GET['r']) && $_GET['r'] >= 0 && $_GET['r'] <= 255)
{
$r = $_GET['r'];
}
if (isset($_GET['g']) && is_numeric($_GET['g']) && $_GET['g'] >= 0 && $_GET['g'] <= 255)
{
$g = $_GET['g'];
}
if (isset($_GET['b']) && is_numeric($_GET['b']) && $_GET['b'] >= 0 && $_GET['b'] <= 255)
{
$b = $_GET['r'];
}

/* number of lines to display */
if (isset($_GET['lines']) && is_numeric($_GET['lines']) && $_GET['lines'] > 0 && $_GET['lines'] <= 100)
{
$lines = $_GET['lines'];
}

/* image width */
if (isset($_GET['width']) && is_numeric($_GET['width']) && $_GET['width'] > 0 && $_GET['width'] <= 1280)
{
$width = $_GET['width'];
}

/* font size */
if (isset($_GET['size']) && is_numeric($_GET['size']) && $_GET['size'] > 0)
{
$size = $_GET['size'];
}

We’d want to make the image click able, linking it to our web based IRC client. We can also put it in the same file to make it simple and easy to maintain.

My complete program ended looking like this.

<?php
/* we want to display image */
if (isset($_GET['img']))
{
/* define vars */
$file = “../../../eggdrop/logs/#rchobby.log”;
if (!file_exists($file))
{
$file .= “.yesterday”;
}
$r = $g = $b = 255;
$lines = 8;
$width = 600;
$size = 10;

/* custom color */
if (isset($_GET['r']) && is_numeric($_GET['r']) && $_GET['r'] >= 0 && $_GET['r'] <= 255)
{
$r = $_GET['r'];
}
if (isset($_GET['g']) && is_numeric($_GET['g']) && $_GET['g'] >= 0 && $_GET['g'] <= 255)
{
$g = $_GET['g'];
}
if (isset($_GET['b']) && is_numeric($_GET['b']) && $_GET['b'] >= 0 && $_GET['b'] <= 255)
{
$b = $_GET['r'];
}

/* number of lines to display */
if (isset($_GET['lines']) && is_numeric($_GET['lines']) && $_GET['lines'] > 0 && $_GET['lines'] <= 100)
{
$lines = $_GET['lines'];
}

/* image width */
if (isset($_GET['width']) && is_numeric($_GET['width']) && $_GET['width'] > 0 && $_GET['width'] <= 1280)
{
$width = $_GET['width'];
}

/* font size */
if (isset($_GET['size']) && is_numeric($_GET['size']) && $_GET['size'] > 0)
{
$size = $_GET['size'];
}
$text = array();

/* read file and get number of wanted lines */
foreach (array_slice(file($file),-$lines) as $x)
{
$x = str_replace(“<motor> (EFnet) “,”",$x);
$x = preg_replace(“/^\[(\d{2})\:(\d{2})\] <(.*)>/”,”[\\1:\\2] (\\3)”,$x);
$x = utf8_encode($x);

/* split up long sentences to fit width*/
$x = wordwrap($x,$width*0.15);
foreach (explode(“\n”,$x) as $y)
{
if (!empty($y))
{
$text[] = $y;
}
}
}

/* define image and background color */
$image = imagecreate($width,count($text)*11);
$bgColor = imagecolorallocate($image,$r,$g,$b);

/* print text with desired font */
$x = $size;
foreach ($text as $line)
{
imagettftext($image,$size,0,0,$x,imagecolorallocate($image,0,0,0),”./ProFontWindows.ttf”,$line);
$x += $size;
}

imagettftext($image,25,-10,30,30,imagecolorallocatealpha($image,255,0,0,60),”./ProFontWindows.ttf”,”CLICK TO CHAT RC!”);

/* don’t cache */
header(“Cache-Control: no-store, no-cache, must-revalidate”);
header(“Pragma: no-cache”);

/* send image to browser */
header(“Content-type: image/png”);
imagepng($image);
return;
}

?>
<html>
<head>
<title>#rchobby @ quakenet connecter</title>
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″/>
<meta name=”description” content=”#rchobby on Quakenet.org”/>
</head>
<body>
<strong>Want to chat? click and connect!</strong><br />
<form method=”post” action=”http://portalzona.com/cgi-bin/cgiirc/irc.cgi”>
<input type=”hidden” name=”interface” value=”mozilla”>
Your nickname <input type=”text” id=”nickname” name=”Nickname” value=”rchobby<?php echo mt_rand(100,999); ?>” />
<input type=”hidden” name=”Server” value=”irc.quakenet.org” />
<input type=”hidden” name=”Port” value=”6667″ />
<input type=”hidden” name=”Channel” value=”#rchobby” />
<input type=”hidden” name=”Password” value=”" />
<input type=”submit” value=”CLICK TO CONNECT” />
</form>
<br /><br /><br />
<strong>If you want to customize the image output, you can use following settings and copy image location.</strong><br /><br />
<u>Color settings for background</u><br />
<form method=”get” action=”">
Red &nbsp; &nbsp; <input type=”text” name=”r” length=3 value=”<?php echo (isset($_GET['r'])?$_GET['r']:255); ?>” size=1 /><br />
Green <input type=”text” name=”g” length=3 value=”<?php echo (isset($_GET['g'])?$_GET['g']:255); ?>” size=1 /><br />
Blue &nbsp;&nbsp; <input type=”text” name=”b” length=3 value=”<?php echo (isset($_GET['b'])?$_GET['b']:255); ?>” size=1 /><br />
<br />
<u>Text settings</u><br />
Font size <input type=”text” name=”size” length=2 value=”<?php echo (isset($_GET['size'])?$_GET['size']:10); ?>” size=1 /> pixels<br />
Image width <input type=”text” name=”width” length=4 value=”<?php echo (isset($_GET['width'])?$_GET['width']:600); ?>” size=2 /> pixels<br />
Numer of lines <input type=”text” name=”lines” length=3 value=”<?php echo (isset($_GET['lines'])?$_GET['lines']:8); ?>”  size=1 /><br />
<input type=”submit” value=”Display” />
</form>
<img src=”rchobby.php?img&<?php foreach ($_GET as $key=>$val) { echo “$key=$val&”; } ?>” alt=”" />
<script type=”text/javascript”>document.getElementById(‘nickname’).focus();</script>
</body>

This is the result
img

Align T-rex 600 ESP has arrived

Friday, June 12th, 2009

My long wanted helicopter has arrived and I have started the build. I was lucky to get this nice piece of machine for only $495 on ebay, orginal price is $689. Quite a deal.



Build images

Align T-rex 600 ESP

Team Losi mini rock crawler modifications

Wednesday, May 20th, 2009

Reading this, I assume you know how stock Team Losi mini rock crawler looks, since I don’t have any images of a stock one. Google does!

First of all, top plate was removed, gear box turned around and electronics placed where I wanted them.

A 5x3mm carbon tube was added as stiffer for the chassi when top plate was removed. Shocks was mounted on the outside making them not straight.

Electronics in and I made a battery tray.

I tend to use this car anywhere in any weather. The electronics in my car has been opened and tried several times, so I decided to the essential parts in balloon. Servo is shipped waterproof.

Velcro on roof, weird, eh? well, I had a 1/10 body laying around and it turned to look great on this car. It was hard to mount and I wanted to be able to remove the 1/10 body from the car when I needed ultimate crawler abilities.

A box was necessary to get enough height over wheels.

I still have the bead lock mod. to do on this car. It will be done as soon as I find a suitable pipe to use.

As always, more and larger pictures in my gallery.

Team Losi Mini Rock Crawler

Ford Mustang GT-R – Knight rider edition

Saturday, March 21st, 2009

Ok, I’ve been wanting a new body for my touring car for a while. I’ve been running Tamiya’s Raybrig body since I first bought the TA05IFS, but didn’t use enough time to make it cool and neither did I have RC-lights.

I wanted Ford GT500 body, but it didn’t/don’t exists and I didn’t want to create one from the scratch either. My best choice then was HPI’s GT-R.

I always cut the body first, drill holes and grind uneven areas with sandpaper. Front was cuttet to be able to have a grind in front, made holes for lower light’s and added stickers both front and back for disguising lights.

Step one in painting was black.

Doing a new disguising for middle part, to make inside a bit cleaner. Due to holes in the front, I was unlucky with disguising the front and had some leaks. Damn leaks.

From distance the car turned out great! If we look closer we can see all the leaks I had because of bad, bad tape. Next step was to darken the windows, but I was stupid enough to remove the lexan cover before doing so and I had to create me a new one.

To disguise back lights I used stickers shipped with the car. I cut them the way I wanted and it did fit like I wanted. I now had to use it’s shape to create a light bucket. For making light buckets I find it best to make it in paper first, it’s cheap, easy to use and environment friendly. You can see on left image below how I got the first shape to start with then I just added 0,5cm etc. for what I thought would be enough.

Being a perfectionist and all, I had to do this a couple of times before I was satisfied.

When it finally fit, I unfolded the paper again and taped it to 0.10mm thick metal I used and cut it out.

Front light’s are basically the same, but I had to cut my shape in half since i were going to put a cone in there.

Putting the pieces together was a hell because it the pieces didn’t have any areas to connect togheter, the only thing was the cone and it was going in after they were connected.

Mounting the lights with double sided tape.

GT500 knight rider has read light in the front. This car don’t have the same opening at front, so I had to improvise and make a crack another place. I also tried with underglow, but it didn’t look good enough.

I used a simple 6,0V light system to start with on this car, but I had to modify it allot since I were going to use 13 LEDs and not 6. I wanted to power this system directly from driving battery which is a 3S lipo battery, this means 9-12.6v. To be able to use such high voltage on light system, I had to put int resistors. To calculate resistors for each parallel connected resistor I used the formula Vr = (V-Vwanted)/I.

If you want to view all the images for this project feel free to browse my gallery below.

Ford GT-R – Knight rider edition

RC Extra300 project

Friday, March 20th, 2009

I’ve have been building this plane in parallel with the F22. Extra 300 is a free PDF-plane from rcpowers.com

The idea with this plane is to use a motor with variable pitch. These setups are rare and a bit more expensive than other powers systems. I will also have to install another servo to be able to change the pitch rate on the prop. 4D motor features a hollow motor shaft and I bought a set from hobby-lobby.com some weeks ago. The motor mount coming with this motor is designed for 3mm depron and I’m using 6mm depron. This is my first real problem on this plane so far. Will probably grind the front down to 3mm to be able to mouting the motor.

Update: the 4D motor were to weak for this plane and failed pretty quick. It`s now run as a pure 3D plane, even as this it`s way to flexible. I should have stiffened it of with more carbon.

Another mistake I did was making the plane in 105% size, 5% bigger than the orginal. If I were to build this again it would be 80%.

View all pictures of the plane below.

Extra 300

F-22 Raptor depron project

Thursday, February 26th, 2009

Two days ago, I managed to get my hands on 800x1200x6mm depron sheets locally. I only had to pay 207NOK or $30, if you wish. These sheets are god for 3-4 planes. I almost got two planes in one sheet where the Raptor was cut in one piece.

Yesterday I received my package from readyheli where there was two receivers and four 11.1v 850mAh kongpower batteries I tend to use on these planes. More on my second plane in another post.

Specifications for this plane will be updated when I deside the electronics for it.

Specifications so far:

  • Spektrum AR6100
  • 2200mAh 3S LiPo
  • HS81 MG servos
  • Graysonhobby brushless motor 2212-06 V2 2200kv
  • 30A ESC
  • 6×4″ prop

Build images below.

F-22 Raptor

View maiden flight on youtube

The plane is now dead after I dived pretty fast into a little forest.
End of the line

Tamiya TA05-IFS meets Mamba Max

Sunday, January 11th, 2009

I have just installed my new motor system in my TA05-IFS. The first problem who occur was the ESC. Mamba Max ESC is a little to big to be where it should. It was mounted above the servo which I don’t really like. It’s much better to have the ESC at the same level as the motor, to keep it safe.

I solved the weiring problem by mounting those wires to the servo-mount-hole. I had to a neat trick with the input-cables as well. Did use three extenders which are used in desktop computers, to mount the mainboard to chassi. Should be viewable in my gallery below.

Tamiya TA05-IFS

Ordered 21st july 2008, received 7th jan. 2009

Wednesday, January 7th, 2009

Six and a half month ago, me, my little brother and a buddy decided to buy us some real motors for our electric RC cars. We all have brushed motors and was determined to get brush less motors. We quickly  to decided to buy Mamba Max systems. After some surfing the web, we found a decent and cheat place to buy our next fun from; Bishop Power Products.

Today, nearly 50 emails, some forum posts and allot of frustration I finally received my long lasting package.

It first of all started with Castle Creations could not deliver the motors. I’m realizing now that this is what old-bishops told me. The firmware-CD following in the package is sampled March 2008, which leads me to believe that it was all a scam.

I was very happy when I saw everything I order inside the box. Seems like everything was sorted out when Bishops changed owner.

Even tho this is my worst e-buying experience, the story got an happy ending (at least for me) and if Bishops has the best prices next time my wallet is thick, I will probably let them shrink it.

The only reason for why I still have some faith left is because of the owner change and I can’t really talk crap when the new owner sorted it all out.

Related stuff:
http://www.rcgroups.com/forums/showthread.php?t=955481

Twin Dragon build

Friday, October 24th, 2008

Process images from when I built my ST model – twin dragon indoor 3D plane:

Twin Dragon build

Tamiya tt-01R Porsche 911 GT3

Friday, August 29th, 2008

I finally joined the tt-01 “group” by buying an R-version. I build it recently and really enjoyed the work.

There aren’t any electronics in the car yet, execpt for the motor. I’m planning on using my HBX-ESC from my HBX bonzer car, which by the way is soon up and running again. Managed to find the gears I had broken. Anyways, an spektrum receiver combinding with my dx7 will be in this car aswell and going to steal an old servo I have in my Kyosho tracker 2.

I didn’t have any camera during the build, therefor I do not have any pictures of it either.

tt01