We're back today with an update on Voltmeter Clocks and a brief foray into supply chain. The Vickrey auction is over, we've collected funds (see footnote* at end of this post) and now we're placing component orders.
In true Awkward Engineer style, I gave myself a minor panic attack checking through supply chain on chips. Everything's ok and stock is available (plus I hold limited stock in my basement, just not as much as I'd like for a small board run), but here's a jargon-y detour you may enjoy.
The Voltmeter Clock was originally designed around the ATtiny24/44/84 family of microchips. It's very closely related to the ATmega328 family, which is what powers the more widely known Arduino Uno hobby board.
In comparison to the ATmega328, the ATtiny24/44/84 family has less memory, reduced power consumption (important for a battery operated device!), a smaller footprint, and costs a few dollars less. Retrospectively, the difference in cost was probably silly to quibble over, but engineers love to optimize things, and that's what I was doing.
Anyway, going one level deeper, the ATtiny24/44/84 also has an "A" variant and a "V" variant. The "A" and "V" variants both run at lower voltages than the base variant, which is functionally critical, because the Clock power supply circuit was designed to take input power (nominally a 1.5V AA battery, but optionally a 5V USB power supply) and run at 2.0V. Regardless of input voltage, the "A" variant just consumes less power than the other variants, which again, is critical for a battery powered device.
So if you're following along, that means that the "A" variant is preferred, but in a pinch, the "V" variant could be used with a USB power supply. The board was designed to support both options, so there would be no board changes or firmware changes.
Still with me?
Ok. So, differences still remain between the 24, 44, and 84 variants of the ATtiny, namely the amount of memory. They each have 2K, 4K, and 8K of ROM, respectively. (Yes, that's K for kilobytes. Welcome to the world of super cheap microcontrollers!). The firmware for the original clock took up 2046 bytes, fitting in the 2048 bytes of memory available on the ATtiny24. When I rewrote the firmware for the Alarm clock version, it only fit on the ATtiny84. The Alarm clock firmware was clever enough to detect what components were on the circuit board though, and so the same chip/firmware combination could be used for either the Clock version, or the Alarm version.
So that means there are still more options. The ATtiny84A chips are clearly preferred, because they can be used for Clocks or Alarm Clocks, but if needed we can order a Clock only batch.
Finally, there's one more level to the rabbit hole. All those chips above come in different physical packages, meaning the physical shape of the chip, with names like DIP (dual inline package), SOIC (small outline integrated circuit), QFN (quad flat no-lead), and so on. I wanted the SOIC version, but in an absolute emergency situation, I could keep the same circuit board schematic, but redesign the physical layout of the board to support a different package.
Ok, so there's one more small wrinkle. Namely, the distributor. As a little guy, I don't buy anything directly from the factory. I go to one of their distributors to buy everything, and some of them are nice enough to program the microcontrollers at their facility, so that I don't have to do it myself. So on Friday morning, my preferred distributor was out of the chip variant that I wanted, but an alternate distributor had it.
That alternate distributor just happens to be one of my least favorite distributors. It's impossible to get anyone on the phone who knows what's going on and they don't respond to emails in a timely fashion. I wasn't super happy about it, but there were options, plans, and backup plans, and backup plans for the backup plans, and I was ready to move forward.
Then, in a stroke of good luck, my preferred vendor had the exact part I wanted back in stock by Friday afternoon, they responded to an RFQ for custom programming and returned it over the weekend. On monday morning, it looked like a few hundred has been sold, and while I was filling out the paperwork for a custom programming order, a few thousand more had been sold, leaving only about 1200 pieces in stock.
It means someone probably had a standing order, waiting to buy up that inventory when it became available over the weekend.
I called to make sure they held some stock for me and my order, the paperwork is in, and we're good to go.
So the next small scale batch is underway!
aka THE Awkward Engineer
* Footnote on the Vickrey auction. One of the risks of running the auction was that people would not make good on their bids, which would throw the whole process off. Everyone delivered funds in a timely manner, so thank you, you guys are awesome.
I also found it really interesting how the bids were distributed for the Clocks. As promised, everyone paid less than what they bid, but because the distribution was relatively smooth, nobody received a particularly outsize discount. This seems like an indicator of success for achieving some sort of bidding optimum, but I'm just happy that I can sell Clocks and provide them at a discount to the respective individuals.