[Nook HD, HD+ Android Development] leapinlar:
I hate to say this, but I think it is a placebo.

I disassembled the app to see what it is doing and it does the same thing as that referenced thread. See the smali code here:

.class public Lcom/assid/android/nookrecalibrate/com/assid/android/nookrecalibrate;
.super Landroid/app/Activity;
.source "nookrecalibrate.java"

# direct methods
.method public constructor <init>()V
.locals 0

.prologue
.line 13
invoke-direct {p0}, Landroid/app/Activity;-><init>()V

return-void
.end method

# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
.locals 1
.parameter "savedInstanceState"

.prologue
.line 17
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

.line 18
const/high16 v0, 0x7f03

invoke-virtual {p0, v0}, Lcom/assid/android/nookrecalibrate/com/assid/android/nookrecalibrate;->setContentView(I)V

.line 20
return-void
.end method

.method public p_recalibrate(Landroid/view/View;)V
.locals 10
.parameter "v"

.prologue
.line 27
:try_start_0
invoke-virtual {p0}, Lcom/assid/android/nookrecalibrate/com/assid/android/nookrecalibrate;->getApplicationContext()Landroid/content/Context;

move-result-object v0

.line 29
.local v0, context:Landroid/content/Context;
const-string v7, "Please stand by while we get root!"

.line 30
.local v7, showtext:Ljava/lang/CharSequence;
const/4 v1, 0x0

.line 31
.local v1, duration:I
invoke-static {v0, v7, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

move-result-object v8

invoke-virtual {v8}, Landroid/widget/Toast;->show()V

.line 32
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

move-result-object v8

const-string v9, "su"

invoke-virtual {v8, v9}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;

move-result-object v5

.line 33
.local v5, process:Ljava/lang/Process;
new-instance v3, Ljava/io/DataOutputStream;

invoke-virtual {v5}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;

move-result-object v8

invoke-direct {v3, v8}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V

.line 34
.local v3, os:Ljava/io/DataOutputStream;
new-instance v4, Ljava/io/DataInputStream;

invoke-virtual {v5}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

move-result-object v8

invoke-direct {v4, v8}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V

.line 35
.local v4, osRes:Ljava/io/DataInputStream;
new-instance v6, Ljava/lang/StringBuffer;

invoke-direct {v6}, Ljava/lang/StringBuffer;-><init>()V

.line 36
.local v6, res:Ljava/lang/StringBuffer;
const-wide/16 v8, 0x7d0

invoke-static {v8, v9}, Ljava/lang/Thread;->sleep(J)V

.line 37
const-string v7, "Sending Re-calibration sequence. DO NOT TOUCH THE SCREEN!"

.line 38
invoke-static {v0, v7, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

move-result-object v8

invoke-virtual {v8}, Landroid/widget/Toast;->show()V

.line 39
const-wide/16 v8, 0xbb8

invoke-static {v8, v9}, Ljava/lang/Thread;->sleep(J)V

.line 40
const-string v8, "echo 2 > /sys/bus/i2c/devices/2-0022/forcecal\n"

invoke-virtual {v3, v8}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

.line 41
const-string v7, "Nook will now reboot in 20 seconds"

.line 42
invoke-static {v0, v7, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

move-result-object v8

invoke-virtual {v8}, Landroid/widget/Toast;->show()V

.line 43
const-wide/16 v8, 0x4e20

invoke-static {v8, v9}, Ljava/lang/Thread;->sleep(J)V

.line 44
const-string v8, "/system/bin/reboot\n"

invoke-virtual {v3, v8}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

.line 45
invoke-virtual {v3}, Ljava/io/DataOutputStream;->flush()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_1

.line 60
.end local v0 #context:Landroid/content/Context;
.end local v1 #duration:I
.end local v3 #os:Ljava/io/DataOutputStream;
.end local v4 #osRes:Ljava/io/DataInputStream;
.end local v5 #process:Ljava/lang/Process;
.end local v6 #res:Ljava/lang/StringBuffer;
.end local v7 #showtext:Ljava/lang/CharSequence;
:goto_0
return-void

.line 51
:catch_0
move-exception v8

move-object v2, v8

.line 53
.local v2, e:Ljava/io/IOException;
invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V

goto :goto_0

.line 54
.end local v2 #e:Ljava/io/IOException;
:catch_1
move-exception v8

move-object v2, v8

.line 56
.local v2, e:Ljava/lang/InterruptedException;
invoke-virtual {v2}, Ljava/lang/InterruptedException;->printStackTrace()V

goto :goto_0
.end method

Look at .line 40, same as the referenced NookieDev page.

EDIT: But looking at the HD+, there is a folder /sys/bus/devices/3-0038 that has a "calibrate" file in it. I don't know if this device is the touch screen or if this calibrate file is an executable, but there might be something there.