02/07/2016 at 18:22 •
While I ponder and research some on the power supply, I still think I can get some other stuff done. One thing I want to do is create a layout for a PCB that I can use to replace the front panel board and wire into a breadboard for testing. This would be to allow me to interact with the buttons and LCD display that come with the thermostat and I can re-cycle the layout if I create a board with a processor on the back.
Currently I have a 600dpi scan of the face of the board. This required de-soldering the LED used for the LCD backlight and clipping the leads for the thermometer probe and a large capacitor down and then re-flowing them with my iron. Most scanners have a very short focal length, so the board has to lie flat on the glass or else you get blurred images. I added a ruler to the side for scale, but it looks like my scanner does a good job of getting the DPI right.
Once scanned and cropped, I started looking for a way to create a board with contacts in the proper location for the existing items. Mostly this consists of exposed copper traces that use conductive silicon to either register button presses or toggle parts of the display. This has been surprisingly hard to do. All the regular board layout tools have required you to lay out the components first, but I don't have any, just locations for the contacts. So I kept digging. Currently I am using a demo copy of Sprint Layout 6 to test it's features, and I am having some success. Importing a layer that displays the existing board is easy and allows control of the DPI or dimenstions of the file, both sides of the board can be imported independently. I have been able to duplicate the pads and board shape, but I'm still working on the holes for mounting. Unfortunately, saving is not an option in the demo version, but I think I will pay the $50 and get the full copy just for this feature.
Once I have the info I need, I'm going to see if I can pull it into another program and add/edit the board from there, if not, I can still produce the right files to generate a physical board using this tool, so that should be enough for now.
11/24/2015 at 18:12 •
So after some digging and a few questions online, I've figured out that the power available is minuscule. Possibly on the order of uA(microAmps). Even running a single ATTiny85 connected to this power line without much more then a medium sized capacitor is not enough to keep it from browning out. Inspection of the existing board and processor indicates that the battery onboard, that I suspected might be for memory or RTC, is more likely for the system to support running the MCU and display for short periods of time. With deep sleep on the processor and a few interrupts to wake it up when needed, I suspect that the battery can charge off the trickle from the power supply and take up slack when the load it high.
This is, not suprisingly, well outside my knowledge area, but I think there might be some solutions that can be found by using the existing hardware as a reference. If we can put an ESP8266 into deep sleep(or another board if we have to, like a BLE based one), we should be able to wake up on input or packets to allow us to process data. We may have to use a bigger battery as a power sink though.
For now I need to do more research/testing.
11/16/2015 at 14:14 •
In order to avoid playing with my live thermostats, and to give me access to the hardware for testing at my desk, I have assembled a test rig. The configuration consists of a board with the thermostat and an incandescent light bulb connected using a standard, high amperage wall plug.
The light needs to be incandescent to provide a high enough amperage load on the triac in the thermostat. The wiring is to the spec shown in the manual for a 4 wire connection, therefore interrupting the black(hot) wire heading to the light.
With this in place I was able to use normal jumper wires to connect the high voltage board to a breadboard and then from there to the existing low voltage board. This allows me to test the connections between the two sides and intercept them where possible. The thermostat operates properly in this configuration.
From the labeling on the high voltage board, it appears that only three of the wires are used, providing:
A few initial test were done:
- Voltage between power and ground was approximately 6.8V on my multi-meter. Closer to the ATmega it read 3.3V
- Connecting power directly to signal causes the light to come on. It appears that the power is triggered properly this way.
- Trying to power a 5V Trinket from the power line did get some power, but not enough to boot the processor
At this point I need to figure out the power situation. The power regulator on the Trinket is able to take 6.8V, but I'm not sure that is what it is getting. I'm using a very basic multi-meter at this time. Once power is figure out, I will load up a basic blink sketch and see what happens. I may also test a ESP8266 that only needs 3.3V power input and see if that is sufficient to boot the processor. As that is my target, it should be fine to develop from there.