Xbee/Zigbee notes

December 25th, 2009 Andrew 4 comments

I’ve been using the XBee and the XBee Pro over the last couple of weeks and I’d thought I would share my notes on them:

1. The maximum “recommended” baud rate is 115200 baud.  The specifications says that the max baud rate is 250000, but that is for RF transmission. You can set nonstandard baud rates and even go higher than 115200 using the API or AT commands, but it could lead to corrupt data and lost packets.

2. Hardware “Flow Control” is a MUST. Always check the CTS (Cear to Send) line to see if the XBee is even ready to send a new packet. If you don’t, the Xbee’s send buffer will fill up quickly and packets will be lost.

3. You can actually use two different baud rates on both sides. Lets say you have a device (such as a USART camera) that communicates at 9600 baud. You can configure the Xbee to run at 9600bps , and send it to another Xbee that is configured to say 38400 baud. Sending to a device with a higher baud rate is usually not a problem, but sending to a lower baud rate device can lead to packet loss if you don’t use flow control.

Read more…

Categories: Projects, Technology Tags:

Starting out on Electronics

December 21st, 2009 Andrew No comments

I’m in a writing mood, so I’d thought I would share my thoughts on how I started to become fascinated with electronics and include some helpful advice to beginners.

I’m a code monkey. I liked to program because everything I produced was (virtually) free. I programmed maybe 20% of the time I was at a computer for the past 7 years. It started to get kind of old, but the thought of creating and hacking at things still lived in me. I wanted to build something physical that can interact with other people. I knew I had to learn electronics, but I didn’t have the time or the idea on where to start.

1) My first bit of advice is College. I’m currently attending Tennessee Tech University as a Junior in Computer Engineering. The biggest point of college is to start you off with a career. You will end up learning at least 70% of all field-related knowledge while in the work force. If you don’t believe me, go up to a graduated engineer and just ask. It’s true. So, go to college but only use it as a crutch.

2) Can’t go to college? Well, experiment! Play with electronics, study how each component works, and make sparks!* The best way to learn something is by doing it. A little side story.. during Circuits I, I played with capacitors. They are basically “temporary” batteries that can store charge and release it virtually at once. This made sparks, even at low voltages. I had a lot of fun with those things, and a whole new respect for higher voltages (ouch!)

* Be reasonable, don’t get hurt. Don’t sue me for something stupid you did without research.

3) Make something! I suggest starting with an Arduino. These things are very basic microcomputers that you can program with any PC. What is great is that these things are the real deal. You can prototype plenty of electronics gadgets with them and the community is HUGE. If you ever have a specific problem there is a great chance someone already posted a solution on the internet. On top of all of this, an Arduino costs only about $30. From the same retailer (Adafruit Industries), you can also get an awesome experimentation kit for $85.

Categories: Shits and Giggles, Technology Tags:

Blinder Progress Report

December 15th, 2009 Andrew No comments

So, to continue with my obsession with lighting, I wanted to design my own high brightness wall washer. It had to be overkill though, that’s just how I roll! My project is named the “Blinder,” for obvious reasons. One unit has 8 high brightness 3W multicolor LED’s mounted to a long aluminum backplating. The system pulls approximately 8.4 amps at 5V (42 watts) during full brightness. Since I am cheap, I’m using a 300w ATX power supply I ripped from an old computer. I can control the unit wirelessly using Xbee which talks to an AVR microcontroller which controls the LEDs via an LED Driver (Texas Instrument’s TLC5947). All of these components are mounted onto a custom-designed PCB I had manufactured at Gold Phoneix PCB. To top all of the insanity, I’m making 3 of these! Yea, you’re right.. I just cranked it to 11.

The build is currently a work in progress. I have only started to finish one of them. Since it is final’s week, I haven’t had much time to work on them. I will post the full source code, schematics, and videos sometime after Christmas break. Until then, enjoy the timelapse footage of me building the LED drivers one at a time with a short video of one set running the demo software.



So far I would like to thank TNTech’s Baja Team (specifically Frank Smith) for letting me use their shop and helping me with the metal forming. Mwhaha

Edit: I found a bug in my firmware used in testing that reduces the brightness by a half (I needed one more bit shift!) – so the video at the end of the timelapse doesn’t do much justice anymore!

Categories: Programming, Projects Tags:

Sparkfun to give away electronics, for free!

November 25th, 2009 Andrew No comments

Yup! And boy am I excited!

Sparkfun Electronics will be giving away $100 dollars of credit for anything you buy from their online store (except gift cards) on Janurary 7th, 2010. What’s the catch? Well, you pay for shipping… and that’s all! Of course they cant just keep giving away stuff, so they free stuff will stop once they hit $100,000 worth of free credits.

I love SparkFun, and recommend them for anyone dealing with electronics. They have great tutorials on everything from how to solder through hole components to building a cheap guitar amplifier using opamps.

I’m still working on my latest project. More on that later ;)
Andrew

Surface Mount Soldering Magic

August 3rd, 2009 Andrew No comments

Head over to Gerrit’s post about a simple DIY tool that can change your life when it comes to manually soldering even the smallest SMD packages. With almost no money you can make something that keeps those small parts in place while you solder them to the board. I haven’t yet gotten into the world of SMD packages, but I will definitely try this out when my next project comes around!

Categories: Technology Tags: , ,

A new blog: Defective Engineer

July 22nd, 2009 Andrew 1 comment

defective_engineerHey all, I set up a blog for one of my friends (and fellow engineer) at Tennessee Tech friends, Joe Chappell.

The basis of the blog is to share the quirky stories and realizations everyday engineering students make throughout college . It was just put online, and he already has a couple of posts. Check back on his site often, especially as the school year starts back up again! You never know what to expect!

UPDATE: Apparently I fail. Here’s the link: http://www.defectivengineer.com. You can always get it through the blog roll to the right on my blog :)

Categories: College Life, Typical News Tags:

Lightbox Version 1, Almost done!

March 28th, 2009 Andrew No comments

I’ve been working on the lightbox, and ended up writing my own beat detection code. I wonder how far this will go?

Also, I’ve been having problems with interference on my soundcard coming from the USB line. Every time a large load is switched, a small “click” can be heard on the sound output. Chances are, the relays are causing EMI and that is traveling up the USB cable, through my motherboard, and messing with my soundcard. I’ve tried ferrite beads, that did no work. If anyone has ideas, please comment!

Categories: Uncategorized Tags: ,

Arduino Controlled Music Lights!

March 11th, 2009 Andrew 12 comments

Uh oh, what have I been up to?About 3 months ago, I had the most random idea — I wanted a real time music visualizer. However, I just didn’t have the time to do the research necessary for this project because of homework. Well, now that I am on spring break, I decided to make a reality. And it worked! The first time too!

There are two sides of this project, the hardware and the software. The hardware part was the easy part. Mike had an Arduino board laying around and I went to radioshack to buy a relay, a 9 volt battery, a diode, and a transistor. Thats basically all that is needed for the hardware side. I used the schematic found on http://www.glacialwanderer.com/hobbyrobotics/?p=9 to make sure I’m doing everything right. Putting this together only took about 2 hours.

The software side was a little bit more tricky. I tried two differently languages: MATLAB and C#. Both turned out to be quite a big failure. Then I stumbled upon Processing, which is basically an extension onto Java that made it easy for visual artists to create programs. Processing included a library called Minim, which had lots of built in features for audio analysis. I used the beat detection algorithm from Minim and then used that to send a signal to the Arduino board over USB to turn on or off the lights.

Basically thats all! Later I plan to find a better relay, something that lasts longer [solid state relay?], and then put it in a box so it is safer and looks better.

For now, enjoy the video!

Biography – Andrew

February 21st, 2009 Andrew No comments

AndrewI’m just a regular happy-go-lucky nerd that goes to Tennessee Tech as a Computer Engineering major. I’m not ant-social at all, and I tend to go to parties with friends on the weekends.. If you saw me at one, yea, that was me.

My day job is a software developer for Deep Think Labs, a company based out of Australia and because of the distance, I work at home. At the age of 18, Me and Mike were featured in the top story in the business section for the Knoxville News Sentinel, and just after my 19th birthday, the Wall Street Journal posted an article that featured me, Mike, and 5 other Second Life developers.  I’ve retired from the virtual world business, and now I am moving onto more practical ideas, including iPhone development.

At college, I go through a heavy course load of classes that range from Circuits to Calculus III. I have friends here at Tech that I can really call true friends. Without them, I would probably live a very boring life. Some of them will be contributing here every once and a while sometime in the near future.

I created this blog out of a pure weekend of boredom. I also maintain the server which runs it runs on. Being the nerd I am, most of my posts on invalidfunction will be technology related, but my randomness could change that very soon.