A13 wifi hardware mods

Started by torqu3e, March 22, 2013, 05:41:06 AM

Previous topic - Next topic

torqu3e

I am going to list here mods especially hardware ones that I am doing to my Olinuxino wifi, they may void warranty, if this thing has one, but am sure I can live without it  ::)

Lets begin things with a picture...



We see here a Olinuxino as found in the wild with a 1800 mAh (claimed) $8 for 2 on ebay lipo battery. Yellow light says its charging.

They are replacements for a PS3 remote.

The other mod is me having cleared out the pads on the RTL 8188 USB expansion pcb which should go to the antenna and soldered on  a RP SMA connector currently connected to a 12 dBi antenna.

The battery came with the pins reversed compared to what the olinuxino wanted, which got fixed with a pair of tweezers in 30 seconds.

I ran a ping test and pulled the plug a few times to test, the red led goes off but the olinuxino is still powered and keeps pinging away, seamlessly switching back and forth between battery and ac power.

In case you wonder what it does sitting headless on those speakers? well plays music of course, hosts an owncloud server so a LEMP stack and those random files that I need to host at times. :)

I want to try 2 things next, an i2c to DS18B20 for room temp logging and gpio control for a relay to turn those speakers on and off.

Open to hearing ideas if anyone wants me to try something. :)

olimex

nice project!
now you can run web server and control the player with your phone

torqu3e

Some progress, 2 devices detected on the i2cbus

$ sudo i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --     


50 means eeprom (DS18B20) 68 should be a clock(DS1307)

$ sudo i2cdump -y 2 0x50
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: 68 ff 69 ff 61 ff 66 ff 20 ff 20 ff 72 ff ff ff    h.i.a.f. . .r...
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................


$ sudo i2cdump -y 2 0x68
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: 80 00 00 01 01 01 00 03 fe 0b 0b 03 0c 00 24 55    ?..???.??????.$U
10: 02 01 00 24 60 49 82 18 01 65 14 11 01 00 22 20    ??.$`I???e???."
20: 20 05 02 10 00 24 0c 02 80 a0 01 20 c0 10 13 8b     ???.$????? ????
30: c0 80 02 41 10 05 04 00 11 08 90 30 e0 00 55 aa    ???A???.???0?.U?
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    ................


I think I am on the right track, i2cdetect sees the devices, i2cget/i2cdump does read something from the memory registers.

I know writing 0x44 to the DS18B20 initiates the temperature conversion within the ic, there are some more steps involved in getting the temp too but I don't know how to use i2cset to write to the sensor and make it return the temperature values.

i2cset needs the bus, device, register and value. I am not sure how to address the right registers, also if I can figure out how to issue a command on the i2cbus for all the devices to report their ids that will also help.

Anyone have any suggestions moving forward with this?