Category: Hardware

Beginning Liquid Nitrogen Overclocking

Computer CPUs are typically "air-cooled", meaning that after the heat has conducted to the heatsink, it is extracted by blowing cool air across the fins. While it’s cheap, quiet and effectively does the job, it’s impossible to cool the CPU down below the ambient air temperature. In liquid nitrogen (LN2) cooling, LN2 (boils at nearly -200°C) is poured onto the a specialised heatsink to extract heat rather than blowing air.

I’ve had the opportunity to try this out first hand at the Gigabyte OC Workshop this Monday, with the TeamAU crew (dinos22, deanzo, and uncle fester). LN2 overclocking on the Z68X-UD4, Core i5 2500K, GTX470 and the GTX580 SOC.

Jay and Justin overclocking

How does it work?

The reason why LN2 cooling works so well is not just because we’re pouring really cold liquids onto the heat source; it’s also because a lot of the heat energy is absorbed by the process of evaporation. To make sure that the LN2 doesn’t just boil away and splatter away, there are custom designed CPU "pots" that are essentially a heatsink base with a cup to hold the LN2 while it evaporates.

I’ve been told that the colder the CPU gets, the faster it can run. (That, and to save the CPU from blowing up from pumping an insane core voltage into it.)

Why is sub-zero overclocking more difficult?

The biggest difference between the conventional air cooling and even cooling below room temperature is that condensation builds up as moist air settles on the cool surfaces on the equipment. As we all know, water and electronics don’t mix. That’s why we see so many fans, hairdryers and mounds of paper towels in LN2 setups.

Insulating around the CPULN2 cooling in action

Given that the CPU can only be overclocked so much below a certain temperature threshold, on the one hand we need to keep the CPU below a certain temperature, while on the other hand we can’t drop the temperature too much otherwise we’d get what’s called a "cold bug" and the computer would freeze – as in, lock up and stop working.

Usually when the computer locks up, it’s easy enough to hit the reset button to reboot and try again, but with subzero cooling there’s also the "coldboot bug" where there computer will not start unless it’s warmed up above a certain temperature. I suspect the coldboot bug is due to arithmetic underflow on the temperature sensor that falsely triggers the thermal protection circuit. The quickest way to fix this is apparently putting a butane torch to the LN2 pot…

Because temperature and voltage regulation is so critical, external temperature probes are used to get to most accurate readings from as close to the chip as possible. We can’t rely on the built-in sensors because they’re not designed to operate at extreme subzero temperatures, and many motherboards are simply incapable of reporting temperatures at that range.

What are the risks?

As mentioned before, the biggest risk in going sub-zero is the build-up of condensation wherever that’s colder than ambient. There’s a good amount of preparation work to be done before anything is plugged in, including insulating exposed circuitry on the motherboard against moisture and the cold, as well as making sure that the cooling device and temperature probes is mounted correctly.

Even when all precautions are taken, things can still go wrong. We were shown a dead $600 GTX580 SOC with a resistor gone kaput.

The Gigabyte OC Workshop

The workshop was an incredibly fun experience, and it’s a rare opportunity to have the professional overclockers share their insights and experiences as well as an excellent tutorial on LN2 overclocking.

It’s a shame we didn’t beat any records on our first try, but I did walk away with a Gigabyte X58A-OC Motherboard having guessed the closest top 3DMark11 score. The runner up (Justin) walked away with a Gigabyte Z68X-UD4-B3 Motherboard.

Final words

A big thanks to PC PowerPlay and Gigabyte for hosting this awesome event. It’s incredibly difficult to even have a go at LN2 overclocking because it’s just a different beast. Reaching out and teaching us how it’s done really saves the stress of not knowing what’s right and would definitely save a bunch of dead hardware.

Let’s do this again!

Deanzo tops up the flask of LN2

Grey dead pixel lines on iPod Touch screen

A year and a half into my first apple product, the iPod touch 2G, and I was hit with a screen defect that happens to surface after just the product warranty expired. *thumbs up to Apple product quality*

So what exactly is the problem? The screen develops a number of permanently grey pixels, so that no matter what colour those pixels needed to display, they’ll always show up as grey.

Grey line of pixels on iPod

No, it’s not a cracked screen – the glass touch input panel is fine. The LCD is not cracked, it’s just dead pixels. What’s worse is that those dead pixels are somewhat contagious. Those grey lines would extend until it reaches the edge of the screen, killing off more and more pixels in due time.

Grey pixels on white backgroundGrey pixels on black background

Now if you’re unfortunate enough to have this same product defect as I did, the obvious question is, "How can we fix it?" I asked the Apple store, and they were willing to fix it for me – for about AUD $200. Well why might I want to get Apple to fix it for me at that price, when I could almost get a brand new iPod Touch?

There are sites out there that claims to fix iPhone dead pixels, but it certainly won’t fix this particular problem. You see, it’s a physical degradation, which can be seen under bright sunlight, even when the device is powered off.

IMG_9212

If I’m not willing to pay 4/5 of the price of a new one to fix an old iPod Touch, what are my options? Throw it away? Nope. Here’s my plan. use it with the defect until it becomes annoying enough. Then, I’ll buy a replacement screen on eBay for about $AUD 15 (with free shipping) and fix it myself. Hah – take that, consumerism!

Analysing pv’s attempt to work with CMS-5000

There’s a library a wrote a little while ago that was designed to interact with some photovoltaic inverters via the serial port. It was written based on captured communication between the official ProControl software

Reader contribution

Simon’s tried out my code to see if it’ll work on a newer inverter, the CMS-5000. Unfortunately the library as it stands doesn’t quite work. So let’s take a closer look at the packets:

First we reset the inverter:

SEND -> aaaa 0100 0000 0004 00 0159

Discover inverters:

SEND -> aaaa 0100 0000 0000 00 0155

RECV <- aaaa fe00 0000 0080 0a 52353634363033303631 04fd OK

Mostly OK so far, but something that strikes me is that the first byte (0xFE) of what I assumed to be the source address seems to have some other significance (it’s not 0×0000). Moving on…

Register the inverter with address “0001”:

SEND -> aaaa 0100 0000 0001 0c 523536343630333036310001 0384

The inverter acknowledges

RECV <- aaaa fe01 0000 0081 01 06 02db OK

So even though the first byte of the address 0xFE is incorrect, things still seem to be working.

Now we try to find what status fields the inverter gives:

SEND -> aaaa 0100 0001 0101 00 0158

RECV <- aaaa fe01 0000 0181 01 15 02eb OK

This bit here is the interesting bit. First, (if my assumptions about the comms protocol were correct), the inverter only gives 2 fields: 0×01 and 0×15. That’s really few compared with the ones I’ve seen before. Not only that, but we don’t yet know what the field 0×15 is for. Basically I assumed that the reply I get is a listing of the status fields, but instead I get something else.

So let’s query the inverter for its status:

SEND -> aaaa 0100 0001 0104 00 015b

RECV <- aaaa fe01 0000 0184 12 05dc003c071c0abe1290139a009900e8034a 080f OK

So here we have the full status update from the inverter. We can’t decode what it’s saying, because it doesn’t quite match the status field query. This is why the pv library is failing to interpret this packet based on the received structure that was supposedly just 2 fields long.

What does this mean?

In the most basic level, there are a few assumptions + generalisations that I’ve made which turned out to be inaccurate, hence it’s not working for a different model inverter.

What we’d need now is a capture of the raw communication between the official monitoring software and the inverter to get a better understanding of what’s going on.

HP Mini 2140 Netbook gets aftermarket Bluetooth without breaking the bank

I’m quite satisfied with the netbook I’m using at the moment: HP Mini 2140, with a reasonable 2GB RAM and beautiful brushed aluminium chassis. Even though it has a screen people would call "low resolution", I’d say it is very legible. The only thing missing – and one I’d come to love – is Bluetooth connectivity that I had with my Lenovo V100 laptop.

So, I went and bought the module, cracked the netbook open and added Bluetooth, all without spending truckloads of money.

Why Bluetooth?

Why do I like Bluetooth so much? I use it to connect my Microsoft Bluetooth Mobile Keyboard 6000 (it’s a fantastic piece of hardware), my Microsoft Bluetooth Notebook Mouse 5000 and my Microsoft IntelliMouse for Bluetooth. The best thing is, I don’t need to attach any dongles, and when I have everything paired, docking the netbook while working on a desk simply involves putting it down and connecting the external monitor. No USB cables to muck around with.

Bluetooth PAN is also great way to get wireless Internet tethering from my phone, and much more power efficient than using Wi-Fi tethering.

Getting the parts

The first step was to see what I needed to add Bluetooth to the netbook. HP’s specifications say Bluetooth v2.0 was indeed an option for this particular netbook. So it means all I needed to do was find the Bluetooth module’s part number, order it and install it. I love it when PC manufacturers publish the maintenance and service guides for the laptops, because it just makes life much easier to perform DIY post-warranty service.

The bluetooth module with the cableUnderside of the bluetooth module

To my horror, ordering HP’s official Bluetooth module costs an arm and a leg, and it doesn’t even include the connection cable between the system board and the module! So I looked for alternatives on eBay.

It was soon obvious that there are overwhelmingly many different Bluetooth modules for laptops. In general, manufacturers design their computers so that the parts are interchangeable between devices. So I searched for "HP Bluetooth Module" and went through the list. Eventually I found a listing for Broadcom BCM2046 Bluetooth 2.1 module plus the cable for roughly AUD$20. Sweet! What’s more, the listing claims that this part was compatible with the HP Mini 2133 and 2140 netbooks. The fact that it also came with 4 screws was rather curious, because the HP Mini 2140 only uses double-sided adhesives to attach the module.

Anyhow, I was willing to give that a try. The most important thing is that the module was compatible (that I didn’t know in advance; it just should work and looks about right), and that the cable had the correct adapters (I had to take the eBay seller’s word for it).

Installing the module

Receiving the goods after about a week and a half, it was time to perform the surgery and disassemble the netbook. First the keyboard came off, exposing the hard drive and the DDR2 memory.

Keyboard removed

Unfortunately for the HP Mini 2140, the Bluetooth module was located under the palmrest and left of the touchpad. So it’ll take a little more effort to access it. It turns out that even though my netbook didn’t come with Bluetooth, the double-sided adhesive that holds the Bluetooth module in place actually came with the system board. Excellent. That makes my job so much easier.

Adhesive comes with the system boardPlugging in the moduleSticking the module in placeTest it while I still have the netbook opened

Final thoughts

For for a mere $20, my little HP Mini-Note 2140 netbook now has Bluetooth! What’s more, the particular module that I bought was Broadcom BCM2046, which is Bluetooth v2.1. Had I gone with official HP parts, not only would it have costed me more than 5x more money, it was only Bluetooth 2.0. Not that there’s very much difference, but 2.1 is meant to give higher data rates and use less power.

Windows now sees Bluetooth!

pv – a Python library to monitor/control PV Inverters

After having the solar electricity system installed, I can monitor the energy output of the inverter using Pro Control. However, because the software runs on Windows, I’d have to have a PC turned on just for that purpose wasting quite a bit of energy. So, my goal is to use a low-power embedded Debian box (which is usually on) to do the monitoring. Instead of just writing an application to do the job, I’ve decided to write a library others can use to write their own custom logging software.

pv can be found at http://pv.codeplex.com/, and should work for you if you have a Carbon Management Solutions CMS-2000 or Schneider Electric SunEzy 600E (judging from a sample protocol exchange).

I’ll have to give full credit to the folks at http://www.solarfreaks.com/cms2000-inverter-rs232-serial-port-hack-cms-2000-rs232-t271.html who did the initial work on reverse engineering the communication protocols. Building on what has already been done on working out the protocol, and doing a bit of reverse engineering myself, the library supports sending arbitrary data frames for further exploring, as well as the known protocols.

Read more »

WordPress Themes