At a glance Main Projects Tutorials Resume

Live Feed

Player Concept

Messenger


Tag Cloud


Circuit Board Fabrication Tips

Sat, 03 May 2008 13:46:22 EST

Cleaning a trace pattern with a neddle and hot water
While recently putting together the PWM and RS232 boards I learned a few lessons about building circuit boards. There are quite a few ways to make them, but I use single sided copper clad boards, Eagle to make the trace pattern, the iron on transfer method, then chemical etching using muratic acid. These may be quite trivial to those formally educated in the art, but I wanted to put up a quick list of tips just in case.

1. Place the most tricky parts on the etched circuit board first. It's a real bummer when you get 3/4 of your parts on a board and mess something up beyond repair. There goes a bunch of money that you will have to throw away. I had to do the PWM board twice because I didn't use enough flux and accidentally bridged a whole bunch of pins on one of my FTDI chips. I tried to use some smd removal compound, but accidentally tore some of the traces off of my board. I also waited to put the USB connector on last on the RS232 board. Bad idea as I had a ton of problems with one of the through hole pins due to bad drilling and almost had to scrap that board too.

2. Avoid through hole parts. As long as you have good flux and a magnifying glass, its best to just use surface mount parts. It takes a TON of time to drill all of the holes needed for through hole parts. Drilling takes extra time and also adds another step that could mess up your end product. Its pretty easy to drill traces off of a board if your bit isn't small enough. It also takes extra time to cut all of the leads. Through hole parts are also more difficult to secure on a single sided board because they can only be secured on one side of the board.

Top view of the RS232 to USB converter
3. Use good flux. I have a water soluble flux pen that I bought after having so much trouble using my junky soldering iron with SSOP 28 pin chips. My tip is so large that it would continually cause bridges between pins. I also had trouble getting the chips securely on the board. With good flux, you will notice that the solder just sucks up onto the metal. It also helps prevent bridges, as the flux makes the solder adhere to the metal around it.


4. Scrutinize your trace pattern before etching it. The PWM board was perfect when I got it put together. However, when I tested it; I could not transmit anything to the ATMEGA chip. Careful examination of my routing pattern from Eagle showed that for some reason there was no trace ever routed between two of my pins! It turns out that it just looked like I had attached the pins in my diagram. The reality is that the trace never actually was connected in the eagle diagram and therefore was never routed! How stupid.

In other unrelated news, I am extremely happy that Adobe has lifted the restrictions on the FLV and SWF format. They have also published unlicensed specs. I'm pretty sure that this means that there may be more wide spread availability of h.264 encoding in some of my favorite open source apps..(ffmpeg and Red5). According to the Red5 mailing list though, the official specs for RTMP are what is really needed. However, I highly doubt Adobe would release this any time soon as it may lead to cannibalization of the Flash Media Server(FMS). I am glad about this though, as I hope to never have to use Microsoft's Silverlight or whatever Sun is cooking up for Java. Microsoft has already proved that they have no place for web developers. It's a nightmare to get work done using ASP in .NET as the documentation and examples suck compared to perl and php.

Comments:0

OEM GPS and Surface Mount Electronics

Sun, 20 Apr 2008 16:10:58 EST

Testing of GPS rs232 to usb conversion
When I originally started working with surface mount electronics the first thing I tried to make was a RS232 to USB converter. I basically gave up on this after a little bit because I figured USB to microcontroller communication would be a much better idea because I knew there was more to learn from programming a microcontroller as well. I used this configuration for the Electronic Control Using Flash project.

After having a lot of trouble around September of last year getting the FT232RL SSOP chip to work, I started a journal that I use to record everything I have done in a day and my hypothesis as to why this or that isn't working and the next days plan for solving it. It eventually turned out that the main problem with the FTDI and MAX chips were due to bad contacts of the pins. Being inexperienced at the time, it took me a little bit in order to figure out the best way to come to that simple conclusion.

Hyperterminal output of a Garmin GPS while testing
I am now preparing to use both of the circuits mentioned above as part of a project to convert my RC car into a computer controlled research platform. I have already tested the USB to microcontroller circuit with the steering servo and massive motor. The photos above are of my testing of the RS232 to USB circuit. If you look at the hyperterminal screen shot, I have highlighted the parts of the GPS output that are coming through fine. I am 100% certain that the reason the GPS output is coming through garbled is due to faulty pin contacts. Despite problems with the GPS, I am going to proceed with my plans and fabricate two boards, one for Motor/steering control and the other for the GPS module. Both of these will be USB based. Perhaps in the next post I will have some video of the car driving around using a flash based interface.

On one final note, my admiration of MIT has raised quite a bit this week. I have been utilizing and enjoying their OpenCourseWare lectures on linear algebra with Professor Gilbert Strang. I applaud MIT for making these lectures available for free. I hope many people are able to take advantage of them.

Comments:1

Flex and Red5 Surveillance System

Tue, 15 Apr 2008 13:20:10 EST

The Logitec webcam used in the surveilling the driveway
After finally understanding AS2 well, I wanted to try my hand at Flex development using Adobe's free Flex SDK in combination with FlashDevelop and Red5. It also just so happens that my father needed some sort of security camera solution for his business. I thought, "hey Red5's ability to record streams would be a perfect solution for this"!

I was surprised how easy it is to use Flex(AS3) in comparison to AS2. Using Mtasc and Swfmill for hacking together AS2 applications has been completely replaced by Adobe's MXML. Adobe also fixed a lot of the complication surrounding event listeners and having to use external 3rd party classes like delegate for AS2. Flex is definitely not hacky like AS2 was and manipulating components with MXML seems a lot more similar to using controls in visual basic and ASP in visual studio.

Anyway, on to the details of the surveillance system. In a traditional surveillance system, the camera is always recording which wastes tape. I would also imagine that the tapes wear out fast and are expensive to archive and physically store. I built my application so that it will only record video streams once a certain level of motion is detected. The motion threshold is easily adjustable with a horizontal slider control. Basically you connect to a red5 server and once the camera detects enough motion it makes a stream to red5 and red5 then records 10 seconds of video. In my test setup I use a laptop with the swf client and webcam which is connected wirelessly to a local router. I also have the same machine connected wirelessly to the router. In this instance, it really wouldn't matter if someone smashed your security camera because the video stream would have already been sent remotely to wherever the Red5 video server is running. Other advantages would be that you could have a 3rd party manage and archive the video streams remotely for you and that you could implement this into your existing businesses wireless network.

Camera in the window and client on the right
While testing yesterday, I had this setup running for about six hours. It didn't capture anything interesting, but it did get a video of my father returning from work like it is supposed to.

The current disadvantage to this system is that it needs a computer of some sort tethered to the camera you want to use for monitoring. In any case, I am currently looking for a way to avoid this in my other robotic experiments and am confident I will be able to find a standards compliant solution. The 802.11 self contained Airborne modules from Quatech look promising at the moment. My next step on this solution will be to include the servo pictured in my demonstration of flash electronic control in order to allow the camera to autonomously pan as it senses motion.

Comments:6