
Click here to watch the video in 1080p
Original tutorial
A spot welder, that sound like a very nice project.HackingTheXbox_Free.pdf wrote:LPC Connector:
Pin #13 - SCL - I2C serial clock
Pin #14 - SDA - I2C serial data
Oww, I must of missed that part. Interesting, I thought I needed a modchip that sorted the serial output. I wonder if I can drive a serial LCD display direct from those LPC ports?.Xphazer wrote:A spot welder, that sound like a very nice project.HackingTheXbox_Free.pdf wrote:LPC Connector:
Pin #13 - SCL - I2C serial clock
Pin #14 - SDA - I2C serial data
yes and noxman wrote: Oww, I must of missed that part. Interesting, I thought I needed a modchip that sorted the serial output. I wonder if I can drive a serial LCD display direct from those LPC ports?.
And very nice project XPH by the way.
a i2c lcd display is easy enough to attach but xbmc will need to be modified the data used to write to the display are not based of the audrino librarys as they were not around then it will be likely that the audrino i2c/spi lcd library's will need to be ported into the into xbmc source and buffering the display data as they are just dumb displays all the smarts were done in the modchip controller or xbmc.xman wrote:Cool spot welder PJ. I was looking at a similar use for these boards, it was a cutting that cut through thin steel. This is the LCD displays I have and it is also , my source for displays and electronics. I think you will find the pricing a bit more realistic.............http://www.ebay.com/itm/Serial-IIC-I2C- ... 43bd118085
See I know about the XBMC displays settings needing to be set as a Xenium so the i2c display will work but I wasn't aware the LCP port already had serial output. I thought the Xenium was required to provide it. My Xenium modchip has duel serial output ports like this.... May be wise to meter and see if they are actually just a past through or just via a chip to enable twin outputs. The XBMC i2c data may well be already to use with these displays without needing the chip for it.professor_jonny wrote:if you got a 20x4 hd44780 i2c display as you listed and put a level shifter in between and changed the modchip to xennium hd44780 in xbmc it might just work? i dont really know if the mod chip did a direct pass through of the dispaly data of if it insome way buffered or converted it?
in using an attiny and using the onboard i2c port as in and bit banging the spare pins you could have 2 serial ports and the chip would buffer the display data and do any conversion without changing xbmc source witch would be better.
Code: Select all
$regfile = "attiny13.dat"
$crystal = 4800000
$hwstack = 16
$swstack = 16
$framesize = 16 'min 6 for long prints
' ----
' Rst |1xx8| Vcc
'Ld1 Pb3 |2 17| Pb2 adc
'bt Pb4 |3 6| Pb1
' Gnd |4x 5| Pb0 fet
' ----
'Config Portb.3 = Input
Ip_btn Alias Pinb.4
Op_btn Alias Portb.4
Config Op_btn = Input
Set Op_btn
Op_ld1 Alias Portb.3
Config Op_ld1 = Output
Op_relay Alias Portb.0
Config Op_relay = Output
Reset Op_relay
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
'Op_buz Alias Portb.3
'Config Op_relay = Output
Const Con_adc_time = 1
Const Con_on_time1 = 60
'sec, warm up time
Const Con_on_time2 = 600
'sec, how often to check for activity
Const Con_on_time_active = 150
'5 per sec, 30 sec = 150
Dim Var_counter1 As Word
'Dim Var_counter2 As Word
'Dim Var_counter3 As Word
Dim Var_flag_timeout As Bit
Dim Var_adc As Word
Dim Var_wait As Word
'------------------------------------------------------------
'$sim
Wait 1
For Var_counter1 = 1 To 8
Set Op_ld1
Waitms 150
Reset Op_ld1
Waitms 150
Next
Wait 1
Main:
Gosub Sub_wait_for_button_main
Var_adc = Getadc(con_adc_time)
Var_adc = Var_adc / 15
Var_wait = 1 + Var_adc
' For Var_counter1 = 1 To 100
Set Op_ld1
Set Op_relay
Waitms Var_wait
Reset Op_relay
Reset Op_ld1
Waitms 10
Var_wait = 5 + Var_adc
Set Op_ld1
Set Op_relay
Waitms Var_wait
Reset Op_relay
Reset Op_ld1
Waitms Var_wait
Waitms Var_wait
Waitms Var_wait
' Next
For Var_counter1 = 1 To 2
Set Op_ld1
Waitms 150
Reset Op_ld1
Waitms 150
Next
Wait 2
Goto Main
Sub_wait_for_button_main:
If Ip_btn = 1 Then Goto Sub_wait_for_button_main
Return