Panobot build (part 1)

INTRO

I like panoramic pictures a lot and for a long time I’ve been amused by them. One day I saw the Concorde cockpit gloriously captured here (please check it out) and I decided it was time to make myself a panobot.

The Panobot is a somewhat complex project. It will touch lots of knowledge areas and the build process will teach you new tricks. Building a panobot will demand electronics related skills, mechanical skills, optics knowledge and coding ability. So, why not? ๐Ÿ™‚

For panobot v1 I started building the hardware using a couple of small servos, an Arduino compatible Teensy 2.0 and a mechanical structure building kit. It was very basic. It had a mechanical, unreliable shutter trigger, very low rigidity, lack of adjustment possibilities all that resulted in very dumb panobot taking mediocre pictures. So, at the end of the build, after the first successfull panoramic (now I think about it as POC) I tossed the whole build it in the trash and decided to make a proper rig.

So, take my advice. If you decide to build a panobot, do not settle for fragile hardware, do not allow cheap hacks to make through, plan ahead, do your math and think about all the features you’ll want because most if not all of them will be hardware limited. Actually, building the hardware makes for about 95% of your success rate. The rest is just software.

Camera size is something you will want to consider from the beginning. Ask yourself if you are building for your camera model, any camera model or a category of models. Think about lenses, they can be as little and light as prime pancake lenses or heavy and bulky zoom lenses. Adjust your hardware for the size of the camera(s) and build around it.

Since I own a compact, mirrorless Olympus EP-3, I settled for this category. Full frame cameras or even APCs are be much bigger and so will the hardware. Having chosen the category, it is time to build.

HARDWARE

1x 2 Piece L-Shape Flash Bracket
1x Fotomate LP-01 Aluminum Alloy Macro-Turning
2x 51100 Thrust bearing (aka axial bearing)
2x 606zz Ball bearing
2x 12V 0.1A 1.1Kgf.cm 1.8ยบ Stepper Motor
2x A4988 Stepper Motor Driver Carrier
1x Teensy 2.0
1x Monochrome 128×64 OLED graphic display
1x Thumb Joystick

Besides major hardware, some other discrete components like transistors, capacitors, diodes and optocouplers were used.
The complete BOM will be provided at the end of the post.

Head over to part 2 for the assembly… (part 2 not available yet)

Upgrading the CPU and Hard Drive of an iMac Aluminum (part 2)

Check out part 1 of this tutorial it you havan’t yet.

The surgery

Having all selected parts at hand, it was time to tear the iMac apart and change the components.

iFixit has very comprehensive tutorials on disassembling possibly every apple product there is, so I’m not walking you through this. Here are the instructions for the iMac at hand. Just click on “Heat Sink” and follow it.

Disassembling the iMac takes an hour. Not because it is difficult, but you will often find yourself staring at it thinking “damn, this is thing is awesome”. Don’t forget to have your thermal grease at hand to avoid finding yourself in the middle of the night with your machine in pieces unable to put it back because you forgot the goo. Also, you will need Torx 6, 8 and 10 wrenches.

Changing the processor is very easy, even if you never done it. Just make sure you have quality thermal compound at hand. I had a tube of premium grade compound Noctua NT-H1. It should keep the new processor confy on its new home.

Once again, if you got to this point it means you are very capable of changing the processor on you own. Put in the new one, spread the thermal goo, mount the heatsink back together and follow the iFixit guide backwards. Also, change the hardrive while you are at it. No surprises also, but you will need to take the thermal sensor from the old hd (it is glued) and stick it on the new one. Normally it will retain the glue when you take it off, so just put it on the same spot on the new hdd.

The results

If you got here dissapointed for the lack of pictures and details about the hardware part, well, im sorry but the whole point of this story is to prove it can be done without much hassle, and also warn you that the proccess is not as smooth as you think.

After putting everything back together and turning the iMac back on I realized the System Profiler was showing a 700MHz processor instead of a 2.6Ghz. I was shocked. Had all this trouble been in vain? would I have to dissassemble the whole damn thing to put the old CPU back in? would I have to sell the newly purchased SLAQH?

About This Mac

At this point I was freaking out, so I started searching for an answer. Shortly I got to this article: http://www.hexus.net/content/item.php?item=11295&page=1.
Basically it shows a failed attempt to upgrade an iMac processor for a X7900 Penryn.

According to them, the unlocked multiplier meant the mobo/efi didn’t knew how or didn’t care to manage multipliers. That was not my case though. The SLAQH has a 10x locked multiplier.

Anyways, their upgrade failed. Actually, it was the only attempt to upgrade an iMac I have ever found on the internet till this day. Lots of macminis, some white iMacs but not one Aluminum iMac. I hope I can change this.

Back to the problem at hand, there is no bios, no jumpers, no nothing, the speed is locked at 700Mhz so apparently I was fucked.

Then I realized boot time was not affected by the processor running at 700mhz. Well if the processor was really running at 700mhz I would certainly notice some delay in booting and other operations. Not that at this point I tried running anything. I was freaking out remember? So I fired up Xbench and waited.

Xbench finished the test and the results were stunning.

Not only the processor WAS NOT running at 700mhz, it was pretty damn fast. Comparing with my previous Xbench ran with the SLA45 my overall score went from a 152 to 170 points.

Time for another tool: MacCPPUID. Running it brought me yet more relief. It is an Intel tool that calculates the actual running speed of the processor. If it is being speedstepped it will show you exactly what the speed is at any given moment. I was glad to see it reported 2.59999999Ghz.

System Profiler, MacCPUID and xBench

Cool, now, instead of freaking out I am pissed off. How come System Profiler will only show 700mhz? Is it just cosmetic?

imac:~ caio$ sysctl -a | grep hw.cpu
hw.cpufrequency = 700000000
hw.cputype: 7
hw.cpusubtype: 4
hw.cpu64bit_capable: 1
hw.cpufamily: 2028621756
hw.cpufrequency: 700000000
hw.cpufrequency_min: 700000000
hw.cpufrequency_max: 700000000

For now I will just say the upgrade has succeeded… well, almost.

On part 3 I will try to explain the 700mhz mystery as well as some OSX internals, Kernel and EFI.

Upgrading the CPU and Hard Drive of an iMac Aluminum (part 1)

Motivation

Being an early adopter is good because well, you get to play first. Unfortunately, it also means that your hardware will be obsolete much earlier. Never mind paying premium. Thing is, eventually you will need better hardware and upgrading should keep you up to speed for some time.

Upgrading most non Apple hardware poses no problem as its very easy to just swap parts to keep up with software demands. For apple product though it can be a problem. Historically, apple products have been very difficult to upgrade except for some peripherals as hdd and memory.

This post will show you that “some” apple products will enable you to take upgrading much further. Mind that not all Intel macs are upgradable. Some of them will have BGA processors and are not suited for an upgrade. You can find out if yous has a Micro-FCPGA socket here.

We will be upgrading the CPU and Hard Drive of a mid 2007 iMac Aluminum.

The Rig

The iMac “Core 2 Duo” 2.0 20-Inch (Aluminum) features a 2.0 GHz Intel “Core 2 Duo” processor (T7300), with two independent processor “cores” on a single silicon chip, a 4 MB shared level 2 cache, an 800 MHz system bus, 4 GB of RAM (800 MHz DDR2 SDRAM), a 250 GB (7200 RPM) Serial ATA hard drive, a vertically-mounted slot-loading DVD+R DL “SuperDrive”, ATI Radeon HD 2400 XT graphics acceleration with 128 MB of GDDR3 memory, a built-in iSight video camera, and built-in stereo speakers underneath the 20″ glossy TFT Active Matrix LCD (1680×1050 native)

Choosing the right replacement parts.

– Hard Drive

There is no secret in choosing a replacement HDD. Any SATA model and it will work just fine. This site will help you choose a good one.

The iMac shipped with a Seagate ST3250820ASQ. It is a 7200 rpm drive with 8MB cache and it scores 323 points on Passmark test.
The replacement is a Maxtor STM3750330AS. It is a 7200 rpm drive with 32Mb of cache and it scores 590.

Benchmarks are based on sequential read/write and random read/write. And as stated, no secrets here, just get the biggest, fastest drive you can afford.

– CPU

The CPU has to be chosen carefully. There are constraints you have to take in account for choosing a correct replacement. Relevant parameters for choosing a replacement CPU are FSB speed, thermal design power and voltage range.

The FSB speed will ensure the replacement CPU will met specifications of the motherboard. Mind that on a mac you just cannot choose any FSB because there is no tweaking, no jumpers and no bios (its actually an EFI, but you wont be able to mess with it). Mine had 800mhz FSB so the processor would have to have the same FSB. If you choose a higher FSB processor, it will be underclocked. And because intel core 2 duo (except Extreme) has locked multipliers, the CPU speed will be underclocked too. So stick to your current FSB.

Thermal design is important too because there is no room for cooler/heatsink hacking. Your new processor will have to use the existing cooling solution. With that in mind you have to make sure your new processor dissipates the same amount of heat as the previews one.

Voltage range is critical. You cannot choose a processor that draws more energy than the previews one, period. Either it will not run smoothly under high loads, lock up or fry your motherboard. Stick to a processor that has close voltage requirements as the previews one.

With all that in mind I’ve chosen to replace the Intel T7300 (SLA45) that shipped with the iMac for a T9500 (SLAQH).

The T9500 is a 2.6Ghz, 6Mb cache and has the same 35W thermal design power. I also requires voltages within the boundaries of the SLA45 and should be a very safe replacement.

Head to Intel processor finder to choose choose your processor.

Part 2 is now avaliable, check it out!