Archive | Uncategorized RSS for this section

Dead RCA TV

I found a dead RCA RLDED5832A-B on kijiji for 20$. Figured 20$ was a decent gamble on a 32″ TV. I got it home and confirmed that it was indeed dead. When I plugged it in the LED was red on the front but nothing happened when the power button was pressed. I popped off the cover to have a look and nothing was obviously burned. I applied power to the back light to see if there might be any dead leds or bad connections but it lit up fine.

The main board for this TV is numbered TP.MS3393.P81. In this TV it does everything, it’s the power supply, controller, backlight driver. The only other board in there is the tcon board for the panel. After some reading around about MSD3393 based controller boards there was talk about corrupted/failed EEPROM, and it matched my situation, it seemed like everything should be working but it just wasn’t being told to turn on.

I desoldered the memory chip from the board and soldered it with fly wires to a raspberry pi A+ that kicks around my bench. Using the flashrom program it was easy to dump the contents of the eeprom out to a file for a look. The fact that I was able to dump the contents seemed to go against the theory that this chip had gone bad, but who knows.

IMG_20170224_2121302017-03-16 09.09.44

I ordered a set of 10 EEPROM chips from ebay for about 5$ (PN W25Q16BVSSIG) and waited about a month. When they arrived I loaded one up with a eeprom bin from a different TV with a similar mainboard, specifically with the same processor, and soldering it down on the board. Semi-success!! The TV lit up and booted, and after struggling through Spanish controls, I was able to get an HDMI signal from my Pi on screen. With the still disassembled panel propped up on my bench it looked like I had a new TV! It was at this point I noticed that the RCA logo on the frame of the TV had somehow turned itself upside down… shit… so had everything else… so the TV that my eeprom file originated from was likely almost identical to mine except for one key detail, the panel was installed 180 degrees to mine.

I was tempted to just deal with this. Maybe install the TV on a wall mount and just suppress my gradually building rage at the upside down RCA logo staring back at me. But this wouldn’t do…. I had searched all over the internet for a BIN file for this specific TV, and despite finding several roms for very similar TVs (there’s a surprisingly large online community of people that like dismantling TVs and dumping their memory contents, go figure) I couldn’t find mine. I did have the rom that I was able to pull from my “bad” chip initially though, and when I compared it to some of the ones from online it looked sort of similar. So I figured why not take a chance just burning the same rom back to a new chip and see if it worked. Well, that resulted in full success!

IMG_20170428_074904

I don’t know why that worked, all I can think is that something went wrong with the chip that stopped it from working at the full speeds the mainboard ran at,  but the relatively slow speed I read it at was ok.  Anyhow, now I have a working 32″ TV I need to find a use for…
And if anyone needs a rom file for a RLDED5832A-B you can find one at this link

Gas Sensors

Since I’m addicted to cheap ebay electronics, I had to pickup an assortment of these MQ Gas sensor modules. I got an MQ-5, 9, and 135. I initially thought that these would all measure different levels of different types of gasses, but after more reading and experimenting it seems like they all seem to measure the same gasses just with different sensitivities. So my board with three of them on it might be overkill but they’re so cheap!

Anyhow, I made use of an arduino nano to serve as a USB ADC. The super basic sketch running on it simply waits on the serial port for “get_aX” command and returns the value read from X analog input as an integer. The connections to these things are dead simple, just provide VCC and GND and then connect the A0 pins to the Ain pins of the arduino. The only catch I found was that they draw about 100-200mA each, which means that if you feed them and the arduino from the USB 5V it can be too much for the USB port. I’m planning on plugging mine into a raspberry pi that doesn’t have much to spare, so I feed the Vcc of the sensors from a separate 5V supply.

IMG_20160401_130922

 

The idea is to hook this up to the Raspberry Pi in my basement, that’s already operating as my thermostat/data logger, and have it start logging what it sees….I’m not sure what that’ll be, but I’m curious to see if it can detect any leakage from the water heater or furnace exhaust. After I get some bulk data I might be able to even set it up with an email notification for higher than normal levels of CO or natural gas detected, not that it’ll ever be a replacement for the real CO alarms that’re installed throughout the house.

It works pretty well so far. Tested on the bench it could definitely detect the gases coming off a little butane torch. We’ll see what it shows after spending a week in the basement, I don’t expect to see many gas leaks but it might be able to tell me when it’s time to change the litter box…

GasPlot

It’ll connect up to my thermostat project board via USB. A small python application will be running on the Pi to pull the values off the arduino and log them to the mysql database. Code’s up at https://github.com/rhasbury/GasSensorLogger for anyone interested

Raspberry Pi B with Camera Module and Motion

I was struggling to find a step by step process for getting the camera module + motion up and running on the pi with recent instructions due to broken links and missing repositories so I figured I’d write up what worked for me as of

Dec 23, 2015

This is using a raspberry pi B, 2015-11-21-raspbian-jessie-lite, and an ethernet connection to the internet.

I initially set mine up using the camera module and a usb wifi module but those two together seem to draw more current than the board can supply, which caused brown outs and a corrupted sd card.

To the steps:

As with most things, start with

sudo apt-get update

sudo apt-get upgrade

 Reboot

sudo reboot

Install video dependencies (this was the hard part to find lately)

sudo apt-get install -y libjpeg-dev libavformat56 libavformat-dev libavcodec56 libavcodec-dev libavutil54 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

Install motion and its dependencies

sudo apt-get install motion

Update Oct 29, 2016: The newer versions of motion available for raspberry pi now have mmal support built in so the instructions struck through below should no longer be necessary. 

From your home directory download this prebuild version of the motion application

wget https://www.dropbox.com/s/6ruqgv1h65zufr6/motion-mmal-lowflyerUK-20151114.tar.gz -O motion-mmal-lowflyerUK-20151114.tar.gz

Unpack it

tar -zxvf motion-mmal-lowflyerUK-20151114.tar.gz

Copy the unpacked version of motion over the stock one

sudo cp ./motion /usr/bin/motion

Copy the unpacked motion-mmalcam-both.conf to /etc/motion.conf

sudo cp ./motion-mmalcam-both.conf /etc/motion.conf

Run raspi-config and enable the camera, and any other pi options you like

sudo raspi-config

Reboot again

sudo reboot

Test it

motion

If the application seems to be running ok then at this point you should be able to browse to http://:8081 and see a live view of your camera.

If that’s working, and you’d prefer motion to start on boot, edit the file at /etc/default/motion, and change start_motion_daemon=yes

The bulk of this information was harvested from this forum thread, thanks to all the guys on that thread for their explainations. Hopefully this consolidation of info will help some people.

Here’s a link to the current motion github https://github.com/Motion-Project/motion