Old school PIC

I was sorting through my components and came across this little beauty! I wonder how my PICKit 3 will handle it?? Does anyone use UV erasers anymore? How long do you think I’d need to leave it out under the sun…?

Old skool: Microchip PIC 12C508

Sorted..!

Image

Got some new storage boxes…

 

Wire, switches, jump leads and connectors go here..

Next..

Arduino stuff..

Everything else..

Bits and Bobs!

All the other stuff..

BeagleBone and i2c, let’s see how it’s done..

So BeagleBone sitting there, a small batch of MCP23017 fresh from RS.. time to hook them up and see what can be done.

First we’ll need to install the i2s tools on the Bone.. SSH’ed in as root this is what needs doing:

apt-get install i2c-tools

Once done we stand a chance of probing and debugging the i2c bus.

Start up KiCAD and get busy with schematic capture…

BeagleBone MCP23017 Test circuit diagram

 

Breadboard out and built it up…

MCP23017 test circuit on the breadboard

OK… that was easy, but does the BeagleBone see the i2c device on the bus?

root@bbone1:~# i2cdetect -y -r 3
 0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Where it is at address 0×20! Cool…

Lets take a look at the registers in the MCP23017..

root@bbone1:~# i2cdump -y 3 0x20
No size specified (using byte-data access)
 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
10: 00 00 05 01 05 00 00 00 00 00 00 00 00 00 00 00 ..???...........
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

The registers in the datasheet stop at 0x1a, so I guess the rest is bit stuffed..?

This is nice and easy… what will happen next.. stay tuned!