- Chapter 0 – Introduction
- Chapter 1 – Arduino I2C
- Chapter 2 – Continuous EEPROM Addressing (digression)
- Chapter 3 – Update and Sleep Design
- Chapter 4 – Clock Design and Sleep Investigation
- Chapter 5 – Gallery
- Chapter 6 – Results
- Chapter 7 – Final Report
- Chapter 8 – Followup 1
I assembled the embedded board today, and took some photos.
The breakout board I made for the DS3231M. I thought about getting some DS3232 chips, which are pretty much the same, but have a larger footprint, so I make the breakout big enough for either (since the 3231 has for its pinout a matching subset of the 3232). Note the shoddy soldering job; it worked anyway.
The device on the breadboard, from the top.
A different view of the breadboard.
A close-up of the cut I made to the resistor for the power LED, saving 1.4mA. The leads of this resistor are stiff enough that I can bend it back in contact if I want to, and it will stay pretty well. Way to go, Adafruit quality control.
All I had for a battery holder was an old 4-battery holder with crummy leads. I added leads to make it a 2-battery holder, and put a 2-header pin on the end, for ease of plugging. Color coded wires, since the connector’s not polarized.
The battery plugged into 5V and GND on the Boarduino, which is enough to run at 16MHz (even though the 2 batteries only provide 3V). So much for the limitations of the spec. This is probably severely limiting the life of the chip, or something horrible like that.
My hack for measuring current from the batteries. I had an old two-pin cable with 0.1″ connectors on each end (thank you, Mr. Oelger), so I put it in between the battery and breadboard, and was able to intercept the current.
My hack for measuring current when powered by the FTDI cable. I added a 6-pin header (from Samtec, you can see the logo), bent out the GND pin, and stuck a wire up in where it would have otherwise gone. Worked without a hitch, as long as the alligator clips didn’t touch the heat sink of the TC74 there in the foreground (whoops).
The schematic diagram of this circuit. The extra pins on the DS3231M+ are all No Connect, which the datasheet instructs to connect to ground.
The front of the perfboard assembly. I had a bunch of low-profile SIL headers, which work great for holding breakout boards, and, it turns out, DIL chips (though the 24AA1025 was sitting a little loose in the “socket”, so maybe I’ll add a rubberband or something. Note the Boarduino socket on the right, if I can figure out how to program the ATmega328s I have as standalone units, I’ll make a “breakout” board to make the pinout match.
The back side of the assembly. It took so long to make this, when I build the two others, I’ll probably just etch a custom board, it will be easier, and I won’t have to go through this again. [Edit: it turns out that the hardware bug was a swapped SDA and SCL lines coming from the Boarduino.]
The assembly populated, with the battery hooked up. If I did everything right, it should be collecting data.
A poor man’s enclosure.
The datalogger, tucked back in between the cold frame and the garden box. Note that this is kind of a trick — there’s a problem with the assembled perf-board version, and the microcontroller cannot talk to the clock for some reason I have not determined yet. So, I will be putting the system out on a breadboard (using the same versatile enclosure) tonight to collect what data I can. Since I won’t be home again during daylight before the contest deadline, I thought I’d take pictures while I could with what I had available.
A better view of the cold frame. The datalogger is in the back left corner. There is no cover yet, it’s way too warm for that, and I need to touch up the paint in a few spots, anyway.