Intro
I was frustrated that I could not find a nice HTPC case that could match the rest of my audio system. After a while I got the idea to use a cd player from the same brand. I soon came across a second hand onkyo DX-7110. The good thing about this player is its height. The specs said 12cm wich would give me plenty of fan space.

The player was in good condition. I almost felt sorry ripping out its internals


Buttons
I started on getting the buttons to work.
The power button was an actual switch. With some pliers and a screwdriver I was able to open the case of the switch an remove the pin, creating a pulse switch.
Next where the buttons for playing. Because I knew I was gone use XBMC, I looked up the keyboard keys I wanted to use.http://wiki.xbmc.org/index.php?title=Global_Keyboard
pause: Space bar
Stop: X
Play: P
FF: F
FR: R
skipFarward: period key
skipback: comma key
for the small buttons I had left. I selected:
Up (display): arrow up
Down (shuffle) arrow down
Left (reapeat): arrow left
Right (repeat a-b): arrow right
Select (clear): enter key
Return (memory) :backspace
From our office electronics dump I recovered a usb keyboard and took out the PCB.
I took of al the switches from the Onkyo PCB and placed them on a experiment board. The biggest difficulty was that the spacing on the new board dit not allow accurate placing off all the switches. Memory and clear key only just worked.

On the USB keyboard PCB I tested all the possible combinations. While connected to a computer via normal usb cable. It had a matrix off 9 by 21 wires. it took a bit of time but i found out the combinations.
Looking back at it I could have probably just used one column and changed it in some XML file in XBMC live.
Anyway it took me more than 4 hours to solder the layout on the board. Mainly because I forgot about the sequence on the ribbon connector The flat cable on the keyboard pcb just allowed a ribbon cable to be inserted after I cut away one side on the ribbon.
Only one button didnt work at the first test. (forgot one wire) there was a bit of a problem on installation. Because I used wires on the component side the board would not sit flush with the plastic casing. After some cutting everything was ok.
DVD-Rom drive
I fooled around with an old dvdrom player had lying around trying to fit it where the drive used to be. On that one I was lucky because the original front fitted on the tray. The drive I ordered did not have that luxury. From aluminium strips I constructed brackets. I completely removed de front plate around de tray. Then removed the switch which opens the drive and soldered some wirer in place to go to the “open/close” button on the onkyo. After I was happy about the placement I marked of the holes to be drilled in the onkyo floor. Later the original front would be glued to the tray.

VFD + remote (Antec veris multimedia elite)
I got a Antec veris multimedia elite. This one was also taken apart. The front and the bracket for the 5,1/4 drive bay was removed. The potentio meter was removed from the pcb because it was in the way of the button board. Some aluminium strips where used again to place the screen behind the window of the onkyo.
The pot. meter was placed on a bit of test board. For the knob a hole needed to be drilled in the front. Witch thankfully went ok.

Zotac ionitx-a
I have chosen this motherboard for its size and power consumption. But mainly because of the external power supply. Measuring out the hole for the i/o screen took some attention but the rest was a walk in the park.
There was one downfall to this board and that was that there was no 5V when the system was off. This was needed for the Antec remote to be able to boot the system. therefore I placed a Power-one DC/DC converter on the 19V input jack. The input and output zero’s had to be connected so that the antec board could compare to the 5v system voltage.

The back panel was cut out by Leo on our mechanical department at work (thanks Leo).

The fan (cooler master ultra silent 80mm)
Originally I had the fan bolted down. This gave to much resonance in the case. A set off rubber mounting pins improved things significantly. I was still not happy about the noise off the fan. I made a small fan extension cable with a 200 Ohm variable resistor and tuned it to my satisfaction. I measured 8,4 V over the fan afterwards. I have not used the Zotac supplied fan and will only use it if the system proves to need it.

First start
At first start nothing happened no fans nothing. Likely I soon found out that the power on connector from the display was connected to the audio pins. On the next try it showed the Zotec boot screen.
Testing
Being happy with de hardware setup I could now continuous with de software. I started of with installing Windows XP to check if everything was working as expected. I had never worked with Ubuntu before so this seemed to be the right thing to do.
I checked the VFD and the temperatures of the system and it looked ok to me.
On the second partition I now installed XBMC live 10 beta 4. I think I had done something wrong while installing because I could not log in to terminal (alt-F2)
I then just retried with beta 3 and that went without a hitch.
Programs used
Putty for remote terminal access via my xp computer.
filezilla for ftp acces off the Ubuntu folders.
http://www.philo.de/xmledit/ for editing the xml files.
Intalling software
I got myself root acces
sudo passwd root
this saved me fucking around with “sudo” but not necessary at all
https://help.ubuntu.com/community/IMON_VFD_and_LCD_Karmic_9.10
showed me how to get the remote working. Since lirc was already installed on my xbmc live 10.0 beta 3 I only needed to configure:
sudo dpkg-reconfigure lirc
For the display I had to first update and upgrade threw terminal before I could install LCDproc.
To get the volume knob working I took some info from:
http://www.erars.com/viewthread.php?tid=28878
It says mostly the same but it had some info on the codes for the knob.
To get everything working as I wanted it I changed some off the system files.
Lircd.conf /etc/lirc
If you did the “reconfigure lirc” right than this file should have the line
include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris"
I added:
begin remote
name Antec_Veris_Premiere
bits 64
eps 30
aeps 100
one 0 0
zero 0 0
gap 139998
ignore_mask 0x0000000000000301
min_repeat 1
toggle_bit 0
begin codes
# Front Panel Buttons
KEY_UP 0x00010000000002ee # Volume Up (CW)
KEY_VOLUMEDOWN 0x01000000000002ee # Volume Down (CCW)
KEY_MUTE 0x00000000010002ee # Mute (Volume Knob Push)
end codes
end remote
I made a bit of a mess with the names, but just make sure they are the same as in the lircmap.xml. with the "IRW2", test if it all works
Lircmap.xml /usr/share/xbmc/system
Under "Antec_Veris_RM200" I changed:
<skipplus>KEY_NEXT</skipplus>
<skipminus>KEY_PREVIOUS</skipminus>
I added these lines to get the knob working
<remote device="Antec_Veris_Premiere">
<up>KEY_UP</up>
<select>KEY_MUTE</select>
<down>KEY_VOLUMEDOWN</down>
</remote>
advancedsettings.xml /home/(user)/.xbmc/userdata
<advancedsettings>
<gputempcommand>echo "$(nvidia-settings -c :0 -tq GPUCoreTemp) C"</gputempcommand>
<cputempcommand>echo “$(sensors -u | grep “temp1_input”| awk ‘{print $2 }’ |awk ‘{printf(“%d\n”,$1 + 0.5);}’) C”</cputempcommand>
<lcd>
<scrolldelay>3</scrolldelay>
</lcd>
<pictureextensions>
<remove>.cr2</remove> #to not show my raw files
</pictureextensions>
</advancedsettings>
CPU temp never worked. But because the CPU and the GPU share the same headsink there should not be extreme differences.
The scroll delay speaks for its self. Text was going past way to fast for my liking.
The last one is to hide my .cr2 (camera RAW pictures). Its realy nice that XBMC can show them but it makes picture browsing to slow I think.
There where still some things I did not like about the info on the display. with http://lcdproc.sourceforge.net/docs/stable-0-5-x-user.html#server-section
I got rid off some annoying display functions.
LCDd.conf /etc
Edit the hello and goodbye to you liking. I got my personal welcome text and used ”” as goodbye text as it will show this text in standby mode.
Furthermore I set:
ServerScreen=blank
Heartbeat=off
TitleSpeed=2
LCD.xml not: /usr/share/xbmc/userdata. but:/home/hugo/.xbmc/userdata
Got rid off lines for memory and screen resolution info. And changed the time settings
<general>
<line>$INFO[System.Time]:$INFO[System.Time(ss)]</line>
<line>$INFO[LCD.Date]</line>
</general>
So now just showing time and date when not in use.
endproduct
I was frustrated that I could not find a nice HTPC case that could match the rest of my audio system. After a while I got the idea to use a cd player from the same brand. I soon came across a second hand onkyo DX-7110. The good thing about this player is its height. The specs said 12cm wich would give me plenty of fan space.

The player was in good condition. I almost felt sorry ripping out its internals


Buttons
I started on getting the buttons to work.
The power button was an actual switch. With some pliers and a screwdriver I was able to open the case of the switch an remove the pin, creating a pulse switch.
Next where the buttons for playing. Because I knew I was gone use XBMC, I looked up the keyboard keys I wanted to use.http://wiki.xbmc.org/index.php?title=Global_Keyboard
pause: Space bar
Stop: X
Play: P
FF: F
FR: R
skipFarward: period key
skipback: comma key
for the small buttons I had left. I selected:
Up (display): arrow up
Down (shuffle) arrow down
Left (reapeat): arrow left
Right (repeat a-b): arrow right
Select (clear): enter key
Return (memory) :backspace
From our office electronics dump I recovered a usb keyboard and took out the PCB.
I took of al the switches from the Onkyo PCB and placed them on a experiment board. The biggest difficulty was that the spacing on the new board dit not allow accurate placing off all the switches. Memory and clear key only just worked.

On the USB keyboard PCB I tested all the possible combinations. While connected to a computer via normal usb cable. It had a matrix off 9 by 21 wires. it took a bit of time but i found out the combinations.
Looking back at it I could have probably just used one column and changed it in some XML file in XBMC live.
Anyway it took me more than 4 hours to solder the layout on the board. Mainly because I forgot about the sequence on the ribbon connector The flat cable on the keyboard pcb just allowed a ribbon cable to be inserted after I cut away one side on the ribbon.
Only one button didnt work at the first test. (forgot one wire) there was a bit of a problem on installation. Because I used wires on the component side the board would not sit flush with the plastic casing. After some cutting everything was ok.
DVD-Rom drive
I fooled around with an old dvdrom player had lying around trying to fit it where the drive used to be. On that one I was lucky because the original front fitted on the tray. The drive I ordered did not have that luxury. From aluminium strips I constructed brackets. I completely removed de front plate around de tray. Then removed the switch which opens the drive and soldered some wirer in place to go to the “open/close” button on the onkyo. After I was happy about the placement I marked of the holes to be drilled in the onkyo floor. Later the original front would be glued to the tray.

VFD + remote (Antec veris multimedia elite)
I got a Antec veris multimedia elite. This one was also taken apart. The front and the bracket for the 5,1/4 drive bay was removed. The potentio meter was removed from the pcb because it was in the way of the button board. Some aluminium strips where used again to place the screen behind the window of the onkyo.
The pot. meter was placed on a bit of test board. For the knob a hole needed to be drilled in the front. Witch thankfully went ok.

Zotac ionitx-a
I have chosen this motherboard for its size and power consumption. But mainly because of the external power supply. Measuring out the hole for the i/o screen took some attention but the rest was a walk in the park.
There was one downfall to this board and that was that there was no 5V when the system was off. This was needed for the Antec remote to be able to boot the system. therefore I placed a Power-one DC/DC converter on the 19V input jack. The input and output zero’s had to be connected so that the antec board could compare to the 5v system voltage.

The back panel was cut out by Leo on our mechanical department at work (thanks Leo).

The fan (cooler master ultra silent 80mm)
Originally I had the fan bolted down. This gave to much resonance in the case. A set off rubber mounting pins improved things significantly. I was still not happy about the noise off the fan. I made a small fan extension cable with a 200 Ohm variable resistor and tuned it to my satisfaction. I measured 8,4 V over the fan afterwards. I have not used the Zotac supplied fan and will only use it if the system proves to need it.

First start
At first start nothing happened no fans nothing. Likely I soon found out that the power on connector from the display was connected to the audio pins. On the next try it showed the Zotec boot screen.
Testing
Being happy with de hardware setup I could now continuous with de software. I started of with installing Windows XP to check if everything was working as expected. I had never worked with Ubuntu before so this seemed to be the right thing to do.
I checked the VFD and the temperatures of the system and it looked ok to me.
On the second partition I now installed XBMC live 10 beta 4. I think I had done something wrong while installing because I could not log in to terminal (alt-F2)
I then just retried with beta 3 and that went without a hitch.
Programs used
Putty for remote terminal access via my xp computer.
filezilla for ftp acces off the Ubuntu folders.
http://www.philo.de/xmledit/ for editing the xml files.
Intalling software
I got myself root acces
sudo passwd root
this saved me fucking around with “sudo” but not necessary at all
https://help.ubuntu.com/community/IMON_VFD_and_LCD_Karmic_9.10
showed me how to get the remote working. Since lirc was already installed on my xbmc live 10.0 beta 3 I only needed to configure:
sudo dpkg-reconfigure lirc
For the display I had to first update and upgrade threw terminal before I could install LCDproc.
To get the volume knob working I took some info from:
http://www.erars.com/viewthread.php?tid=28878
It says mostly the same but it had some info on the codes for the knob.
To get everything working as I wanted it I changed some off the system files.
Lircd.conf /etc/lirc
If you did the “reconfigure lirc” right than this file should have the line
include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris"
I added:
begin remote
name Antec_Veris_Premiere
bits 64
eps 30
aeps 100
one 0 0
zero 0 0
gap 139998
ignore_mask 0x0000000000000301
min_repeat 1
toggle_bit 0
begin codes
# Front Panel Buttons
KEY_UP 0x00010000000002ee # Volume Up (CW)
KEY_VOLUMEDOWN 0x01000000000002ee # Volume Down (CCW)
KEY_MUTE 0x00000000010002ee # Mute (Volume Knob Push)
end codes
end remote
I made a bit of a mess with the names, but just make sure they are the same as in the lircmap.xml. with the "IRW2", test if it all works
Lircmap.xml /usr/share/xbmc/system
Under "Antec_Veris_RM200" I changed:
<skipplus>KEY_NEXT</skipplus>
<skipminus>KEY_PREVIOUS</skipminus>
I added these lines to get the knob working
<remote device="Antec_Veris_Premiere">
<up>KEY_UP</up>
<select>KEY_MUTE</select>
<down>KEY_VOLUMEDOWN</down>
</remote>
advancedsettings.xml /home/(user)/.xbmc/userdata
<advancedsettings>
<gputempcommand>echo "$(nvidia-settings -c :0 -tq GPUCoreTemp) C"</gputempcommand>
<cputempcommand>echo “$(sensors -u | grep “temp1_input”| awk ‘{print $2 }’ |awk ‘{printf(“%d\n”,$1 + 0.5);}’) C”</cputempcommand>
<lcd>
<scrolldelay>3</scrolldelay>
</lcd>
<pictureextensions>
<remove>.cr2</remove> #to not show my raw files
</pictureextensions>
</advancedsettings>
CPU temp never worked. But because the CPU and the GPU share the same headsink there should not be extreme differences.
The scroll delay speaks for its self. Text was going past way to fast for my liking.
The last one is to hide my .cr2 (camera RAW pictures). Its realy nice that XBMC can show them but it makes picture browsing to slow I think.
There where still some things I did not like about the info on the display. with http://lcdproc.sourceforge.net/docs/stable-0-5-x-user.html#server-section
I got rid off some annoying display functions.
LCDd.conf /etc
Edit the hello and goodbye to you liking. I got my personal welcome text and used ”” as goodbye text as it will show this text in standby mode.
Furthermore I set:
ServerScreen=blank
Heartbeat=off
TitleSpeed=2
LCD.xml not: /usr/share/xbmc/userdata. but:/home/hugo/.xbmc/userdata
Got rid off lines for memory and screen resolution info. And changed the time settings
<general>
<line>$INFO[System.Time]:$INFO[System.Time(ss)]</line>
<line>$INFO[LCD.Date]</line>
</general>
So now just showing time and date when not in use.
endproduct
