TOP

Destripando Casio FX-82MS (hack incluido) [ACTUALIZADO]

(Actualizada) 22/09/2015 Ver final de la entrada
------------
Antes de nada quería disculparme a la gente que lee mi blog, por no haber escrito nada en estos últimos 6 meses. He estado bastante ocupado.
Como suelo decir si queréis poner esto en algún blog o foro poner Autor y Fuentes con enlace al blog ;)

Y ahora vamos al lio.

A muchos de vosotros os resultará familiar la calculadora Casio fx-82MS, la que se ve en la imagen.


Imagen 1. Casio FX-82MS

Esta calculadora (y otro modelo que no me acuerdo) tiene un fallo, el cual tras causar overflow e introducir unas teclas puedes acceder a un menú con muchas más opciones de las que tiene de fábrica como son: uso de números complejos, resolución de matrices, resolución de ecuaciones, etc. Para quien le interese : http://gaussianos.com/interesantes-y-ocultas-funciones-de-la-casio-fx-82ms/

El problema que hacer este truco es un latazo y se pierde tiempo en hacerlo (y más si es en un examen) y  cada vez que pulses por error a la tecla ON vuelves a tener las opciones de fábrica. Asi que se me ocurrió que se podría automatizar el proceso con algún microcontrolador de bajo consumo. Pero al final acabe analizado la calculadora y descubriendo algunas cosas:

Al abrir la calculadora lo primero que se encuentra uno es esto:


Imagen 2. Interior Casio FX-82MS

Echando un vistazo rápido vemos que el nombre de la placa es GY313-1, tiene un integrado con 103 “pines” y vemos que hay bastantes pines con nombres (asi que esto nos dará pistas).
Se puede observar que un gran número de pines están dedicados al control de la pantalla, en concreto 69. Y también observamos que hay muchos pines numerados como KN (siendo N un numero), por lo que es probable que se trate de las teclas (Keys). Los pines KN son en total 15, y la calculadora tiene más de 15 botones, por lo que esto huele a que podría ser un teclado matricial. (si no sabes como funciona este teclado pulsa en el enlace)

Con la ayuda del polímetro y viendo las pistas por la parte trasera de la PCB comprobé que se trata de un teclado matricial de 8x7. 

PIN
Función
K01
Entrada – 0 Lógico
K02
Entrada – 0 Lógico
K03
Entrada – 0 Lógico
K04
Entrada – 0 Lógico
K11
Entrada – 0 Lógico
K12
No aparece
K13
Entrada – 0 Lógico
K14
Entrada – 0 Lógico
K21
Salida – SEÑAL
K22
Salida – SEÑAL
K23
Salida – SEÑAL
K24
Salida – SEÑAL
K31
Salida – SEÑAL
K32
Salida – SEÑAL
K33
Salida – SEÑAL
K34
Salida – SEÑAL
Tabla 1. Teclas del teclado matricial

Es decir, en teoría como máximo puede haber un total de 56 teclas. Si nos ponemos a contar cuantas teclas tiene la calculadora Casio fx-82MS veremos que tiene  49 teclas en total (sin contar la tecla ON). Entonces, ¿qué pasa con esas 7 “teclas” que faltan? ¿Qué pasa si las “pulsamos”? Bueno  pues esa pregunta me hice y fui cortocircuitando los diferentes pines entrada-salida probando todas las combinaciones posibles y apuntando el resultado: (la tecla ON es una tecla a parte, no se activa en la matriz)


K01
K02
K03
K04
K11
K12
K13
K14
K21
/
AC
M+
tan
ln

(derecha)
(arriba)
K22
X
DEL
,
cos
log

(abajo)
(izquierda)
K23
(AC)
9
)
sin
^

x^3
MODE eq
K24
6
(AC)
(
Hyp
x^2

Pol(
MODE
K31
5
8
ENG
.,,,
sqrt()

nCr
ALPHA
K32
4
7
RCL
(-)
Ab/c

x^-1
SHIFT
K33
1
2
3
+
-

(=)
Integral
K34
0
PUNTO
EXP
ANS
=

( – )
(AC)
Tabla 2. Funciones del teclado matricial

Verde: Conectado con tecla física
Blanco: No conectado a tecla física. Parece tecla repetida (?)
Naranja: No conectado a tecla física. Nuevas funciones.

¿Y cuál fue mi sorpresa?  La conexión con el pin K23 y K14 hace entrar al menú de la calculadora con la opción de resolver ecuaciones y sistemas de ecuaciones (opción que no trae incluida de fabrica) y la conexión con el pin K33 y K14 hace que se puedan hacer integrales definidas (tampoco está esta opción en la calculadora). Muchas empresas para abaratar costes hacen un mismo diseño de placa  y le quitan ciertas partes y opciones a la misma para hacer una calculadora con “menos prestaciones”. A parte combinaciones con los pines K23-K01, K24-K02, K33-K13, K34-K13, K34-K14 en principio parece que hacen funciones que ya se tenían como “-“, “=”, o “AC” borrar los datos de la pantalla (digo parece porque por ejemplo (AC) podría ser que hiciese algo en la memoria  o quien sabe, aparentemente borra la pantalla).
  
En la placa no aparece numerado el pin K12, en la serigrafía de la placa salta del 11 al 13.  ¿Por qué? Ni idea.  Sigamos analizando los restantes pines:
Para ver todo mejor e intentar ver si está escondido el misterioso K12 ordené todos los pines que salen del integrado central:

PIN
NOMBRE
PIN
NOMBRE
PIN
NOMBRE
1
K11
35
LCD29
69
LCD63
2
T4
36
LCD30
70
LCD64
3
K13
37
LCD31
71
LCD65
4
K14
38
LCD32
72
LCD66
5
T3
39
LCD33
73
LCD67
6
DESCONECTADO
40
LCD34
74
LCD68
7
LCD1
41
LCD35
75
LCD69
8
LCD2
42
LCD36
76
C ¿¿
9
LCD3
43
LCD37
77
C ¿¿
10
LCD4
44
LCD38
78
C ¿¿
11
LCD5
45
LCD39
79
C ¿¿
12
LCD6
46
LCD40
80
C ¿¿
13
LCD7
47
LCD41
81
C ¿¿
14
LCD8
48
LCD42
82
POSIBLE VSS
15
LCD9
49
LCD43
83
POSIBLE VSS
16
LCD10
50
LCD44
84
POSIBLE VSS
17
LCD11
51
LCD45
85
C?¿?
18
LCD12
52
LCD46
86
T1
19
LCD13
53
LCD47
87
B-/VSS
20
LCD14
54
LCD48
88
B+
21
LCD15
55
LCD49
89
BRESET
22
LCD16
56
LCD50
90
DESCONECTADO
23
LCD17
57
LCD51
91
T2
24
LCD18
58
LCD52
92
K21
25
LCD19
59
LCD53
93
K22
26
LCD20
60
LCD54
94
K23
27
LCD21
61
LCD55
95
K24
28
LCD22
62
LCD56
96
K31
29
LCD23
63
LCD57
97
K32
30
LCD24
64
LCD58
98
K33
31
LCD25
65
LCD59
99
K34
32
LCD26
66
LCD60
100
K01
33
LCD27
67
LCD61
101
K02
34
LCD28
68
LCD62
102
K03



103
K04
Tabla 3. Pines Integrado Casio FX-82MS

KN: son las teclas.
LCDN: son los pines correspondientes a la pantalla. 
TN: no tengo idea de que puede ser.
C¿?¿: son pines que van a condensadores.
BRESET: es el botón ON/Reset.
B+: alimentación positiva.
B-/VSS: tierra.

Pasa una cosa rara y es que el pin 82, 83 y 84 no aparecen como tal, ya que si te fijas y cuentas viendo la Imagen 2 (contando desde el 81 en sentido contrario a la agujas del reloj, se pasa del 87 al 90) no concuerdan los números y faltarían 2 pines. Como uno de ellos es tierra, supongo que esos tres serán tierra.
También 2 pines no van a ningún sitio (pin 6 y 90), es decir, salen del integrado y se corta de repente la pista. Asi que he raspado las dos pistas que no van a ningún lado y le he soldado unos cables. El pin 90 no tiene ninguna tensión asi que puede ser una entrada. Pensado que podría ser el pin perdido K12 he probado todas las combinaciones, pero no he obtenido ningún resultado. El otro pin desconectado (pin 6) si da tensión, pero varia, asi que es probable que sea alguna señal. No tengo ni osciloscopio ni analizador lógico por lo que no sé qué puede ser.
Tampoco sé que función pueden tener los pines TN.
Los pines que van a los condensadores pensé que podrían ser para reducir los rebotes en la pulsación de los botones, pero debería de haber mínimo 7  y hay 5 más uno electrolítico.

Si tengo la posibilidad de mirar la señal que suelta los pines misteriosos seguiré analizando la calculadora. Si alguien tiene idea de que pueden ser ponerlo en los comentarios de esta entrada.

Por último si alguien quiere hacer el “hack” para tener la función de ecuaciones en la calculadora, tan solo hay que soldar un cable en el pin K23 y K14 y poner un botón entre medias.



Imagen 3. Hack ecuaciones Casio FX-82MS



También se podría “sacrificar” una tecla de la calculadora y hacer un puente para que esa tecla fuera la del modo de ecuaciones.

-------------------------------
ACTUALIZADO 22/09/2015 
El usuario Ninja comentó en esta entrada que al parecer el pad T4 forma parte también del teclado matricial y hay una combinación interesante: T4+K23.
Esta combinanción se tranta de CONST_ _ que nos permite consultar el valor de constantes físicas que son de utilidad. En la página S-26 y S-27 de este manual http://support.casio.com/storage/es/manual/pdf/ES/004/fx100W_991W_ES.pdf podemos ver todas las constantes que podemos consultar (un total de 40) y qué número hay que poner para acceder a ellas.
También si antes de hacer la combinación T4+K23 pulsamos SHIFT, accedemos a la función CONV_ _ que nos permite  realizar conversiones de unidades
He actualizado la tabla del teclado con todas las combinaciones de T4, quedando así:




K01
K02
K03
K04
K11
K12
K13
K14
T4
K21
/
AC
M+
tan
ln

(derecha)
(arriba)
/
K22
X
DEL
,
cos
log

(abajo)
(izquierda)
X
K23
(AC)
9
)
sin
^

x^3
MODE eq
CONST/CONV
K24
6
(AC)
(
Hyp
x^2

Pol(
MODE
2
K31
5
8
ENG
.,,,
sqrt()

nCr
ALPHA
sqrt()
K32
4
7
RCL
(-)
Ab/c

x^-1
SHIFT
Integral
K33
1
2
3
+
-

(=)
Integral
=
K34
0
PUNTO
EXP
ANS
=

( – )
(AC)
+


¿Será T4 la tecla K12 perdida?


Un Saludo.
Nitehack.