The following warnings occurred:
Warning [2] Undefined array key 47174 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47178 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47192 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47222 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47395 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47471 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47481 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47485 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47488 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $thread - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $fid - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47192 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 47488 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $lang - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Attempt to read property "messages_in_thread" on null - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks





HP-49G+ -- A Look Inside . . .



#2

I was able to get my HP-49G+ apart and take a few pictures -- I thought I'd share them with you all.

The first one shows the two halves not quite fully separated, and the IR lens removed.

The upper, dark section is the inside of the bottom case half. The battery compartment is to the left, and the wires connect the AAA and backup batteries and a large electrolytic capacitor to the main board. The small silvery rectangle near the top is a piece of conductive foam serving as the negative battery contact with the PCB. The larger black circle is where the buzzer is mounted, the smaller concentric circles to its upper left are the reset switch (a springy rubber contact).

The lower half shows the front case half, with the LCD board on the left covered by self-stick foil-backed paper. (It's actually aluminum-colored -- it looks coppery in these pictures, for some reason.) The main (CPU/key/SD) board is on the right.

The IR lens is thin and flexible, and pops out easily, but would probably be hard to get back in without taking apart the case halves (at least partially).

The second picture shows the electronics a bit more closely. A capacitor is glued to the main board with a smear of red-orange goo, and the reset contact is some gold fingers interleaved near the blue jumper wire.

The main board connects to the LCD board via: 1) a mylar (?) ribbon that runs across the calculator, just to the right of the coppery-looking shielding, and 2) a series of solder connections along two edges of what looks like a rectangular extension of the LCD board, near the bottom of the picture.

The square black chip above & to the right is marked "ARM" -- the other two I haven't looked at too closely. There's another pad of conductive foam attached to the SD card slot assembly.


The third image shows most of the self-stick paper/foil backing peeled away from the LCD board, exposing what appears to be two blobs of black stuff apparently sealing two LCD controller chips on the board.

Also visible are the IR sender & receiver, and the USB mini-B socket.

This view gives a good idea how the thing is put together -- the two posts are what I drilled to free up the top end, and otherwise it's only a series of plastic tabs around the edge that lock into the bottom case. After "topping" the posts, the two halves snapped apart quite easily.

BTW, the black accent that surrounds the calculator face is actually applied, and the calculator front and "side bumper" are actually one piece. Don't pry upward on the black accent, as it's just decoration and won't get you anywhere.


#3

Thanks for the photos and description. It looks like you would have to drill out another 16 or so posts in order to get at the keyboard. Do you have any intention of going that far? I'm wondering if perhaps some of the keyboard reliability problems may be due to contamination on the production floor.


#4

I'd only open up the keyboard part once the calculator is dead (is this one?) because only the posts are holding it together (at least that's how it was on the 49g)... once you drill them out, your keyboard will REALLY suck when there's nothing holding it in place :)

#5

I am considering it.

No, this one is not dead -- it survived the "operation" fine. One key is that I didn't try to pull the self-stick aluminized paper completely off, as it's in contact with the LCD edge of the mylar ribbon connecting the two circuit boards. I think that, were I to try to take the paper off, the ribbon connector may well come with it.

I have taken apart and reassembled a Pioneer keyboard. It is held together with heat stakes, too. I had to press the layers together in place while re-melting the original rivet heads (which had been sliced off at PCB level) back onto the truncated posts. It seemed successful, but I wonder about long-term durability.

I'm going to try a hot needle or other pointed object for my next Pioneer keyboard reassembly. (I've a 42s disassembled, and am awaiting the arrival of a conductive ink pen so I can re-create some of the worn-out contact pads on the latex "dimple sheet".) I'm hoping I can melt and displace enough of the posts' plastic centers that I can create new mushroom heads.

But this approach apparently wouldn't work with the 49G+, as the posts seem already to be hollow. Those hollow posts may, however, admit small, wide-head screws with insulating washers (if I could find such . . . )

I am curious about what (if any noticeable) difference exists between the keys that don't register so well and those that do. I did notice on this particular example that the LCD board wasn't held in place nearly as well as it might be -- some of its posts were too short or hadn't been melted over, and it rocked slightly, corner-to-corner, with the case halves separated. (While that may be evidence of an early production quirk, I don't think this particular manufacturing flaw accounts for any of this unit's reluctant keys.) If I could restore misplaced or contaminated key contacts and successfully reinstall the PCBs, it might demonstrate a cure for some of the problems being reported with early units.

Meanwhile, back in the land of the living, the "warranty cure" should be available to most anyone experiencing keyboard troubles. I recommend you make use of that cure, as a fully-functioning 49G+ is a fine thing to have!


#6

Paul..
Couldn't get the chip numbers from your pix.

Could you post all the text on the ARM CPU please?
And maybe the other non-glue chips too?

Thanks,
Bill Wiese
San Jose CA


#7

Here they are -- at least as clearly as I captured them when I had the thing open.

I'm not sure I want to open it too many times, but if you want me to try to clean off the tops of the chips and clarify anything next time, put in your requests now.

I am curious about just how the ARM chip is mounted. Is it likely to have a pin array on the bottom, as do the Intel CPU's I've dismantled?


#8

Yes, it's a ball grid array package.

That particular Samsung device happens to have a two-channel USB host controller, three UART channels and eight 10bit ADC channels that we can't get at because of the BGA package...

Oh, and it's an ARM920T processor core...

Monte


#9

Thanks for sharing the details.

Is BGA a surface-mount technology, or is there an array of holes drilled through the PCB? (If the latter, I wonder how that's positioned vis-a-vis the keyboard contacts which I presume are etched on the other side? I guess I may have to dismantle it further, someday . . . )

Also, what is it, exactly, that "we can't get at"? The ADC channels, or everything you mentioned? We can't get at them because, in this particular package, the pads on the actual chip aren't connected to external pins?

Just curious . . .


#10

With BGA the package actually has little solder bumps on it that melt and attach to the circuit board during assembly (a special case of surface mount). They are very fine pitch and unless the signals are brought out to a point on an outer layer of the circuit board they are essentially invisible. Hence my comment about being unavailable. Of course, all of those lands visible in the photos might actually connect to something useful, but it would take a fair amount of detective work to figure that out. Note that this chip is used in the new iPAQs also...

Monte


Possibly Related Threads…
Thread Author Replies Views Last Post
  Strings inside matrix editor on 50g Chris Smith 3 1,505 05-22-2013, 04:04 PM
Last Post: Chris Smith
  Unit conversions inside programs on 50g Chris Smith 2 1,218 02-23-2013, 05:35 AM
Last Post: Chris Smith
  PocketGuide in Portuguese / Guia de Bolso *inside* the HP 50g Software49g 4 1,887 07-18-2012, 02:03 PM
Last Post: Gerson W. Barbosa
  Preview of the 'Full Command and Function Reference' inside your HP 50g / HELP for *all* commands. Software49g 1 1,053 12-18-2011, 03:07 PM
Last Post: Software49g
  TDS 500K dead battery, pictures of the inside of the card and the battery. Geoff Quickfall 4 1,945 04-02-2009, 11:23 PM
Last Post: Geoff Quickfall
  Inside the 35S DaveJ 2 1,048 11-23-2007, 06:20 PM
Last Post: DaveJ
  Hp 50g: How do I clear a Matrix inside Matrix Writer Miguel Reznicek 2 1,063 09-24-2007, 04:30 PM
Last Post: Miguel Reznicek
  HP35s announced ... lots of detail inside (edited) Gene Wright 30 6,643 07-16-2007, 12:00 AM
Last Post: Gene Wright
  Re: Porting 49G Programs to 49G+/50G Les Wright 0 754 02-21-2007, 10:16 AM
Last Post: Les Wright
  Porting 49G Programs to 49G+/50G Les Wright 6 2,010 02-20-2007, 06:27 PM
Last Post: Tim Wessman

Forum Jump: