• HP48 LCD

    From olaf@21:1/5 to All on Fri Jan 28 07:04:50 2022
    I look at this schematic of the HP48SX:

    https://www.hpcalc.org/details/3543

    It shows that the screendriver-circuit are two SED1181 serial connectet.

    I think that is unusual because the datasheet of the SED1181 claims
    that it build together with an SED1191 for a matrix-lcd.

    I wonder if it is possible to grab the two data-bit in a microcontroller
    and translate it for an oled for a much better readable display.
    Did knows the code that generate the LCD-Signal to the output bits?

    I still like my old HP48, but the low contrast of the early graphic-lcd,
    are very poor by todays standard.

    Of course it is now only an idea. :-)

    Olaf

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jerry Xu@21:1/5 to olaf on Sat Nov 26 05:00:12 2022
    On Fri, 28 Jan 2022 07:04:50 +0100, olaf wrote:

    I look at this schematic of the HP48SX:

    https://www.hpcalc.org/details/3543

    It shows that the screendriver-circuit are two SED1181 serial connectet.

    I think that is unusual because the datasheet of the SED1181 claims that
    it build together with an SED1191 for a matrix-lcd.

    I wonder if it is possible to grab the two data-bit in a microcontroller
    and translate it for an oled for a much better readable display.
    Did knows the code that generate the LCD-Signal to the output bits?

    I still like my old HP48, but the low contrast of the early graphic-lcd,
    are very poor by todays standard.

    Of course it is now only an idea. :-)

    Olaf

    Hi Olaf, I Think your idea is definitely possible. Since the data sheet of SED1181 is obtainable, we may just use one STM32, or any other kind of micro-controller, to build an converter.

    I just got a set of HP48 with keyboard problem, I may attempt to dissemble
    it and go forward to build a converter. It sounds a fun little project to
    do.

    JX

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From olaf@21:1/5 to Jerry Xu on Sat Nov 26 08:11:31 2022
    Jerry Xu <jerryxu@sdf.org> wrote:

    Hi Olaf, I Think your idea is definitely possible. Since the data sheet of

    I know that it is possible because I connected my Logicanalyzer to the datastream. :-D

    SED1181 is obtainable, we may just use one STM32, or any other kind of
    micro-controller, to build an converter.

    It is not so easy. The HP sends 2x67bits. ARGH! That is a little
    bit unusual for traditional SPI Hardware in any controller.
    Perhaps with RP2040 or an CPLD/FPGA. But in this case we have
    to think a little bit about power consumption. .-)

    I just got a set of HP48 with keyboard problem, I may attempt to dissemble
    it and go forward to build a converter. It sounds a fun little project to
    do.

    Strange, I have many HP48 because I bought them wenn they are cheap,
    but I have never seen a keyboard problem. Only the HP49 ist famous for
    it and I have a 49 with broken Keyboard.

    BTW: Ich bought my first HP48SX in 1990 for 700DM, in the first year I
    pour out a cup of tea (with sugar) on it. I had to open it without
    youtube video (looks strange since this opening), I dryed it, but
    never opend the keyboard themself. It is still working! The first
    years the keys felt a little bit rough because of the sugar, but the
    sugar is pressed to dust and it feels like new in the last 20years. So
    I think the keyboard is bulletproof.

    Olaf

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bruce Horrocks@21:1/5 to olaf on Sat Nov 26 14:07:44 2022
    On 26/11/2022 07:11, olaf wrote:
    Jerry Xu <jerryxu@sdf.org> wrote:

    >Hi Olaf, I Think your idea is definitely possible. Since the data sheet of

    I know that it is possible because I connected my Logicanalyzer to the datastream. :-D

    >SED1181 is obtainable, we may just use one STM32, or any other kind of
    >micro-controller, to build an converter.

    It is not so easy. The HP sends 2x67bits. ARGH! That is a little
    bit unusual for traditional SPI Hardware in any controller.
    Perhaps with RP2040 or an CPLD/FPGA. But in this case we have
    to think a little bit about power consumption. .-)

    >I just got a set of HP48 with keyboard problem, I may attempt to dissemble
    >it and go forward to build a converter. It sounds a fun little project to
    >do.

    Strange, I have many HP48 because I bought them wenn they are cheap,
    but I have never seen a keyboard problem. Only the HP49 ist famous for
    it and I have a 49 with broken Keyboard.

    Hi Olaf,

    That 49 might help you with your OLED problem even with a broken keyboard.

    I don't know if you are aware but HP produced an overhead projector
    display for the 49 for classroom use and used pins 5 - 10 on the 10-pin connector on the calc to carry the raw LCD signals to the OHP display.

    You could try using this to prototype your OLED display adaptor and then
    modify it to get signals direct from the 48 once it is working?

    The pinouts of that connector are:

    Top of Calculator

    6 7 8 9 10
    +-----------------------+
    | o o o o o |
    \ o o o o o /
    ---------------------
    1 2 3 4 5

    Bottom of Calculator


    "Pin" Signal
    1 Shield
    2 TX
    3 RX
    4 SGND

    5 VCO
    6 XSCL
    7 LP
    8 LD0
    9 LD1
    10 GND

    where:
    - LP is line pulse - goes high when a new LCD scan line is about to start
    - XSCL is column pulse - goes high as each column is reached
    - LD0 & LD1 are the pixel values for the left half and right half of the display
    - VCO and GND I don't quite understand. The data signals are 0-5V with
    respect to VCO but 0-9.5V (more or less) with respect to GND. This may
    just be something to do with powering the OHP display unit because it
    needs a 9V battery when used with the HP48SX card but not when used with
    the HP49G.
    - lastly there's no 'start of screen' signal as they ran out of pins.
    The OHP unit has a microswitch that moves the whole display 'up' one
    pixel row each press and you use that to align the top of the display
    with the top of the LCD. Most times it starts just fine - it's only if
    you plug in while the calc is running that it can get out of sync.

    I started on an Arduino project to read the signals and then
    (eventually) Bluetooth the display to a PC, got so far and then got
    distracted by other projects!

    There's some sample output here. <https://1drv.ms/b/s!AjwWLJj3pb2Qk38dgtjCo54lf-Mf?e=VUHeJE>


    --
    Bruce Horrocks
    Surrey, England

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From olaf@21:1/5 to Bruce Horrocks on Sat Nov 26 15:39:08 2022
    Bruce Horrocks <07.013@scorecrow.com> wrote:

    I don't know if you are aware but HP produced an overhead projector

    I know that it existed somewhere. :)

    You could try using this to prototype your OLED display adaptor and then
    modify it to get signals direct from the 48 once it is working?

    Na, it is not a problem to solve this problem somehow.

    I only have to use some powerful hardware. I think for example
    an RP2040 could do this. Or perhaps a smaller Controller
    with some dirty tricks. (external Register, small CPLD, Assembler)

    But I like to think about a more elegant solution. :-)

    However an OLED inside the HP48 needs some reworks for the
    battery compartment, too. (goto Lithiumpower)
    Anyway it would be nice not the heat up a to powerful
    controller for this job.
    But I guess I will start with the RP2040 and downsize it later.

    5 VCO
    6 XSCL
    7 LP
    8 LD0
    9 LD1
    10 GND

    What you describe is the direct inteface to the old LCD-Driver HP uses
    in the 48. :) I soldered it with a busdriver to my HP48, too.
    It looks now a little bit frankensteined.

    I started on an Arduino project to read the signals and then
    (eventually) Bluetooth the display to a PC, got so far and then got
    distracted by other projects!

    THat is my problem, too. The HP48 is number two in my project
    list. Number one is to connect a very special Tektronik probe to my
    cheap RTB2004. .-)

    Olaf

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From olaf@21:1/5 to Bruce Horrocks on Sat Dec 3 20:37:28 2022
    Bruce Horrocks <07.013@scorecrow.com> wrote:

    I started on an Arduino project to read the signals and then
    (eventually) Bluetooth the display to a PC, got so far and then got
    distracted by other projects!

    I did some more investigation in the lcd data format but something strange happens in our old calculator. :)

    The picture shows the dataline to the SED1181: (one row of 64)

    http://www.criseis.ruhr.de/bilder/Datenpaket01.jpg

    The schematic (https://www.hpcalc.org/details/3543) show that
    there are two cascaded SED1181. That is understandable.
    But one SED1181 has only 2x32Bit register, so two of them provide
    2x2x32bit = 128bit for one row. This is to less, because the HP48
    has 131pixel in one row.

    But as you can see in my picture the Yorke put out 67x2=134pixel in one row.
    I am now very astonished where the calculator stores the extra pixel!
    So I am now thinking if it is possile HP used a special SED1181 with
    a bigger register.

    Oh..and the datasheet for the SED1181 show an SED1191 for selecting the 64 rows.
    This circuit did not exist in the HP48. But there are many unused
    pin in the schematic, so I guess the Yorke did drive it directly,
    but I did not checked it now.

    Olaf

    p.s: My measurement is taken on my special HP48SX with doubled clock.
    So it is faster compared to an unmodified 48SX. .-)

    p.s2: It is a shame that the spi-decoder in the RTB2004 can only decode
    32bit and not 64 or 67, sigh.

    p.s3: And why 131? That is a number that should not exist in the brain
    of a hardware or software developer. :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bruce Horrocks@21:1/5 to olaf on Mon Dec 5 21:20:07 2022
    On 03/12/2022 19:37, olaf wrote:
    Bruce Horrocks <07.013@scorecrow.com> wrote:

    >I started on an Arduino project to read the signals and then
    >(eventually) Bluetooth the display to a PC, got so far and then got
    >distracted by other projects!

    I did some more investigation in the lcd data format but something strange happens in our old calculator. :)

    The picture shows the dataline to the SED1181: (one row of 64)

    http://www.criseis.ruhr.de/bilder/Datenpaket01.jpg

    The schematic (https://www.hpcalc.org/details/3543) show that
    there are two cascaded SED1181. That is understandable.
    But one SED1181 has only 2x32Bit register, so two of them provide
    2x2x32bit = 128bit for one row. This is to less, because the HP48
    has 131pixel in one row.

    But as you can see in my picture the Yorke put out 67x2=134pixel in one row. I am now very astonished where the calculator stores the extra pixel!
    So I am now thinking if it is possile HP used a special SED1181 with
    a bigger register.

    I don't know where the 128 -> 131 pixel data is coming from. It's
    possible that the SED1181 is manufactured with some extra memory for
    "mapping in" when there is a production fault to save throwing away a
    whole chip. Maybe HP tested the chips and selected perfect ones to use
    the extra?

    The 131 -> 134 extra 'pixels' might be for the annunciators (and the
    calc sends them with every row to make the processing simpler)?

    I can't remember whether the overhead projector display includes
    annunciators - I didn't think so but will have to get it out and check.

    This is all speculation - I think only someone who worked on the 48
    hardware would know for sure.


    Oh..and the datasheet for the SED1181 show an SED1191 for selecting the 64 rows.
    This circuit did not exist in the HP48. But there are many unused
    pin in the schematic, so I guess the Yorke did drive it directly,
    but I did not checked it now.

    Olaf

    p.s: My measurement is taken on my special HP48SX with doubled clock.
    So it is faster compared to an unmodified 48SX. .-)

    p.s2: It is a shame that the spi-decoder in the RTB2004 can only decode
    32bit and not 64 or 67, sigh.

    p.s3: And why 131? That is a number that should not exist in the brain
    of a hardware or software developer. :)

    That bit is easy: the last character on the line doesn't need a blank
    pixel column to separate it from the next character because there is no
    next character.

    --
    Bruce Horrocks
    Surrey, England

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eric Rechlin@21:1/5 to Bruce Horrocks on Mon Dec 5 20:56:51 2022
    On 2022-12-05 15:20, Bruce Horrocks wrote:
    On 03/12/2022 19:37, olaf wrote:
    p.s3: And why 131? That is a number that should not exist in the brain
    of a hardware or software developer. :)

    That bit is easy: the last character on the line doesn't need a blank
    pixel column to separate it from the next character because there is no
    next character.

    Also, it's because the softkey menus are 21 pixels wide, and there is
    one space between each one. 21 times 6 = 126, and add 5 for the spaces
    and you get 131.

    Eric

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jerry Xu@21:1/5 to olaf on Wed Dec 7 02:33:50 2022
    On Sat, 26 Nov 2022 08:11:31 +0100, olaf wrote:

    Jerry Xu <jerryxu@sdf.org> wrote:

    Hi Olaf, I Think your idea is definitely possible. Since the data
    sheet of

    I know that it is possible because I connected my Logicanalyzer to the datastream. :-D

    SED1181 is obtainable, we may just use one STM32, or any other kind of
    micro-controller, to build an converter.

    It is not so easy. The HP sends 2x67bits. ARGH! That is a little bit
    unusual for traditional SPI Hardware in any controller.
    Perhaps with RP2040 or an CPLD/FPGA. But in this case we have to think a little bit about power consumption. .-)


    A lower-end lattice FPGA should not add too much power consumption.

    I just got a set of HP48 with keyboard problem, I may attempt to
    dissemble it and go forward to build a converter. It sounds a fun
    little project to do.

    Strange, I have many HP48 because I bought them wenn they are cheap, but
    I have never seen a keyboard problem. Only the HP49 ist famous for it
    and I have a 49 with broken Keyboard.

    BTW: Ich bought my first HP48SX in 1990 for 700DM, in the first year I
    pour out a cup of tea (with sugar) on it. I had to open it without
    youtube video (looks strange since this opening), I dryed it, but never
    opend the keyboard themself. It is still working! The first years the
    keys felt a little bit rough because of the sugar, but the sugar is
    pressed to dust and it feels like new in the last 20years. So I think
    the keyboard is bulletproof.

    Olaf

    The HP48G I got is weird. It failed the test program, but every buttons
    works when I only press one button down at a time.

    I tried the twist-method and the situation of the keyboard did not get
    better.

    JX

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)