-
That's brilliant! Literally and figuratively :-)
Not sure if this will work, but I was thinking a chicken wire mesh under the rug would act as a capacitive sensor, could have the advantage of being sealed against weather, etc.
Since the Puck has a dedicated cap sensor pin, this might be a good experiment - I'll give it a try in the new year, on vacation right now. -
-
Just as a NB I've had a bare MDBT board connected to a 4 digit 7-segment LED (usually off) that's lasted about 2 weeks on a dodgy CR2032. Dodgy because it was about 3 years old when I found it and put it in the device. There's also a .22µF ceramic bypass cap which may be helping with the rampup time.
Even a new 2032 has about a 30Ω internal resistance.
If the LEDs are always on 3.5 days sounds about right - I mux them and also have a button that turns them on for 10 seconds. -
I'm working on connecting a DS3231 to an MDBT. 4ppm, and battery backed up. Since it's i2c, should be pretty trivial to interface.
-
-
-
@allObjects nice!
-
https://github.com/rmd6502/ringwatch
Authors of accepted pull requests get a free one if I ever make a kickstarter/indiegogo/etc (max of 2 per person) -
Now smaller, with a bootloader button and bypass cap!
https://oshpark.com/shared_projects/d74F2Kvs
Rev 0.2 will have a readable silkscreen for C2 and R7 -
@Gordon Yeah rev 0.1 will have bypass caps, for some reason I thought there were caps built into the RayTac board so I didn't need to add them. Also gonna get some paste and try reflow since the board will be even smaller this time...
-
Ordered rev.0 prototypes from OshPark (twice, I thought they'd lost it the first time because the USPS jumped the gun in telling me it was delivered). Things I learned:
- @allObjects was right, my hands are no longer steady enough to solder 0402 resistors :-(
- How did I forget to attach serial and D0 button to the board?!?!
- Going from Eagle to Kicad was no big deal, the autorouter wasn't so great anyway
- I wish the raw MDBT board was available in the US, I was able to program it with a Black magic probe, but it seemed to have a lot of trouble connecting reliably to my macbook
- I'll post all my design files after rev.1 prototype, and I've fixed the bugs on this one
- @allObjects was right, my hands are no longer steady enough to solder 0402 resistors :-(
-
-
Thanks to @GordonGordon's and @allObjects' suggestions I've distilled the code to the following, as well as wiring up the rest of the cathodes and anodes, resulting in the attached video.
const cathodes = [D24,D28,D27,D23]; const anodes = [D31,D1,D11,D29,D2,D30,D6,D7]; const patterns = [63,6,91,79,102,109,125,7,127,111]; const zero = '0'.charCodeAt(0); var count = 0; var k = 3; var pattern = " 0"; function onInit() { setTimeout(update, 0); setInterval(() => { if (++count == 10000) { count = 0; } pattern = (" " + count.toString()).slice(-4); }, 25); } function update() { "compiled"; digitalWrite(anodes, 0); digitalWrite(cathodes[k++], 1); if (k >= cathodes.length) { k = 0; } var ch = pattern[k]; if (ch >= '0' && ch <= '9') { digitalWrite(cathodes[k], 0); digitalWrite(anodes, patterns[ch.charCodeAt(0) - zero]); } setTimeout(update, 0); }
-
-
-
Testing the QDSP-6064...
const cathodes = [D24,D23,D27]; const anodes = [D28,D29,D30,D31,D1,D2,D11]; var k = 2; var pattern = 1; var count = 0; const maxa = (1 << anodes.length) - 1; setInterval(() => { "compiled"; for (var a in anodes) { digitalWrite(anodes[a], 0); } digitalWrite(cathodes[k++], 1); if (k >= cathodes.length) { k = 0; } digitalWrite(cathodes[k], 0); if (count ++ == 20) { count = 0; pattern++; if (pattern + k > maxa) { pattern = 1; } console.log(pattern); } for (a in anodes) { digitalWrite(anodes[a], ((pattern + k) & (1 << a)) ? 1 : 0); } }, 1);
-
-
-
-
Been working on driving This guy , and was finally successful. It was driving me crazy that the D/C is 0 for command, and I kept flipping that bit! Here's the userland code for the display, the SSD1320 driver and necessary changes to the firmware will be posted as soon as I take out all the debug printf's
var oled; var spi = new SPI(); require("Font8x12").add(Graphics); function onInit() { const sclk = D24; const mosi = D23; const cs = D27; const res = D30; pinMode(sclk, 'output'); digitalWrite(sclk, 0); pinMode(mosi, 'output'); digitalWrite(mosi, 0); pinMode(cs, 'output'); digitalWrite(cs, 1); pinMode(res, 'output'); digitalWrite(res, 0); spi.setup({sck:sclk, mosi:mosi, bits:9, mode: 0, order: 'msb', baud:8000000}); console.log("SPI"); oled = require('SSD1320').connect(spi, res, function() { console.log("oled"); oled.clear(); oled.setColor(4); oled.fillRect(0,2,159,16); oled.setFont8x12(); oled.setColor(15); oled.drawString("Hello, World", 20, 4); oled.setColor(9); oled.fillPoly([120,2,140,2,150,12,150,20,140,31]); oled.flip(); }, {cs: cs}); }
-
Yeah, in this case it was supposed to mean 3.3v - it's an old XBee dongle from Seeed, apparently no longer supported. I'm guessing since the regulator was fried its internal resistance was high so the voltage dropped to something more than 3v and less than 5 - not going to hook it back up to check :-)
Anyway, I'll close this thread since the problem is solved, and move over to Projects where I'll talk about the modified SPI driver I'm working on for Sparkfun's flexible OLED display! -
-
@Robin lol yeah, it's a xbee serial adapter with a linear regulator built in, but you're right, I should double check that the 3.3v switch is actually delivering 3.3v and not 5 - I should have thought of that immediately. I'll try powering it off a coin cell also, I bet the heat problem will completely go away.
-
Does anyone remember Pixel Miner for the Pebble? I think that would be an awesome demo project.