FIRST Code Library


I’ve setup a website intended to be a collection of robot source codes, useful functions, macros, and whatnots for FIRST programming.

The website is availible at

Why am I doing this? Well, the front page states my aims, to help time crunched programmers with prewritten code which they can optimize - or help newbies by providing a solid basis to examine and learn from.

Please, if your team can, post your code on this website for all to see. Let’s share information - this season is over, and whatever you may have come up with which you aided you this year might help another team next year or aid a new programmer in becoming better attuned to coding.

How does the website work? Well, once you register an account, you’re allowed to upload files to the downloads section, once an administrator/moderator reviews it(me), the files will be visible to the general public.

I hope everyone here will attempt to aid others by submitting their own code and perhaps benefit themselves by learning new tricks or saving time next year.

~Li Pi

Also, the terms of service and Privacy Policy pages only display something like the following.

Privacy policy not activated

I am sure something just got accidentally disabled :). Good luck getting everything running, and once it is I’ll post up the code for my vex bot, Ballistic Jr., although its not much.

EDIT: Removed the fixed stuff. Thanks for activating my account!

Heh - I need to fix that, I posted the code for our own robot(with full permission of its creator, Steven)


GREAT IDEA!! :smiley:

This was my first year as the team programmer :ahh: , and Somthing like this would have been great. I’ll upload 1103’s 06 program as soon as i can get a copy.

The registration seems to work for me and my teammate. I think I’ve fixed it by pressing a random button in the admin control panel.

Registration worked for me. How long does it take to get your password E-mail?

Less then a minute for me.

I’ve waited about twenty minutes, but no e-mail :confused: . Should I register again?

I can manually activate your account, hold on.

Thanks for getting me my password, and I hope you get the bugs worked out so new programmers can use this next year. :wink:

gasp As a programmer, I thought you’d be able to realize that it’s an unlisted feature, not a bug. Come on, now, haven’t you ever read the Programmer’s Handbook? :stuck_out_tongue:

I was looking at the program posted on your site and i noticed it contained Kevin Watson’s camera code. This is at the top of camera.c/.h and many other files

So you must make it clear that any copyrighted matterial is removed from code before it is uploaded to your site.

All of Mr. Watson’s code is free to download at so anyone who wants to use the code only has to download it from his site.

If you look on CD you will find many people who tried to distribute Mr. Watson’s code without permission, and had to remove it.

I still think you had a great idea, but this is somthing that has to be handled soon.

Hate to be a damp rag, but this was already done with moderate success:
The site is undergoing upgrades apparantly at the moment though.

Also I’d like to stress that any code posted is strictly your own, I’ve noticed a lot of teams making code publically available that contain incomplete and/or modified versions of code such as Kevin Watsons, which is against the license agreement. I think perhaps code should need to be verified before its allowed to be accessed publically as sometimes people don’t adhere to licenses properly.

EDIT: Beaten to it by two minutes, but I’ll leave it there to reinforce the point.

Ok. Someone post directions on using patch. (That GNU program that makes unified diff files.)

Actually, patch applies them, diff makes them.

According to the man page it’s usually just as simple as:

patch -p**num** <patchfile

(where num will vary; but, if the patch file is in the same directory as the thing to be patched you can generally just leave off completely)

Alright, got the upload thing fixed. Also removing Kevin Watsons code.

I don’t know how to use patch, but if you do, and upload code with it, please say so in the description along with concise instructions in restoring the code to original specifications.

Hello all. I noticed you mentioned I would like to tell you it is back up and going now we completely re-built it so feel free to go ahead and post your code and discuss programming stuff.

Link -

One thing that I’ve found which works - you can use a program called monolith ( to “munge” the data files with kevin’s files. The user will have to download davids files, and then recombine the files to recreate yours.