3/7/2014— Eric Kolker
Hey Tesselators, Eric here.
Every once in a while I just feel like writing. I have the urge to get thoughts out of my head and onto paper, into a keyboard, whatever. When the feeling strikes, I braindump, and right now I’m in one of those moods.
One thing that’s super important to us is openness, as Kelsey recently discussed at length, so enough of our feelings and more of our status.
Thursday was a big day because the small batch of Tessels with the updated boot circuitry and power plant arrived from our assembly house. Here’s one in all its glory:
This isn’t our first time bringing up new boards, and by now we’ve gotten pretty good at it. Kevin and Jia finished adapting the firmware to the new hardware and had it running blinky.js (the “Hello, World!” of hardware) in under an hour. For reference, that’s fast for first contact with a complex digital system.
Meanwhile, I was testing the power plant in situ, and what would bringup be without its share of troubles? (Answer: a lot less exciting)
VCO = voltage-controlled…Oh, no.
I completely reimagined the power plant for this version of the board (mockup above, schematic below), and one of the types of chips we’re using (U1 in the schematic, part number FPF2700) allows us to select which power source, USB vs. an external supply, powers the board. It can also limit the current we draw from the external supply, in case you accidentally short something. In fact, the specific chip we used even has a feature that shuts off the output by temporarily disconnecting external power if it detects an overcurrent condition (TL;DR, short circuits allow a lot of current to flow, which is usually very bad for whatever said current is flowing through).
Now that everything is together, though, our 3.3 V rail sometimes behaves like a voltage-controlled oscillator. After an 11-hour day of testing, we’re pretty sure that the chip thinks that it’s in an overcurrent condition for input voltages above about 8 V (note that voltage and current are unrelated quantities and besides, it’s designed to withstand at least 15 V).
Weirder still is that the speed with which the chip makes this decision seems to be proportional to the input voltage (I have my theories here… Read my post on the GPRS module for a hint). In any case, the faster it all shuts off, the sooner the 3.3 V rail drops down, and the sooner the system reboots and goes through the cycle again, hence the apparent “VCO”.
Once you get over all of that behavior, the notion that such a system would also exhibit hysteresis and wouldn’t break the death spiral until the input voltage drops below about 6 V is trivial to accept. (Note: some sarcasm present in the otherwise objective analysis of above paragraph).
We have good reason to believe that the chip is not, in fact, in an overcurrent condition, or, at the very least, not in the type of overcurrent condition against which the feature is designed to protect. Needless to say, we have our suspicions as to what we can do to fix it, and parts are already in the mail. The easiest fix would be a partswap on the controller chip; there’s one made by the same manufacturer in the same family that relies on internal thermal protection circuitry to safely handle short circuit conditions.
Every Wednesday we go out to lunch, get out of the office, and talk about what we’ve been doing, what we should be doing, future directions, you name it. This week we actually just got take out from a wings place, but whatever, the kernel is the same: kick back a little and talk about the things that get pushed to the back of our minds when our heads are down in technical development.
This week, the conversation spanned hiring, housing, and the state of our blog. The consensus is that we really like the blog (and hope you do too) and consider it to be one of our signature features, but that we need to push to keep high-quality and genuine content flowing. We made a point of enacting a policy (to the extent we have such a thing) of consciously writing things down when we’re excited or worked up about something, so here goes.
As a side note, coming attractions include…
- Jon has been grinding away on the BLE module
- Tim is the exterminator to the our runtime’s bugs
- Kelsey has been cranking on the first run experience
- Kevin is knee-deep in rewriting our entire USB stack
- Jia is busy juggling manufacturing
- I’ve been cutting my JS teeth on the GPRS module and redesigning our power input stage.
Expect posts from them soon thanks to Kelsey’s new wall of shame/indebtedness to the blog:
We’re sometimes pulled out of the sea of technical challenges by you, our…well, what do I call you? “Adoring fans” is patronizing, “customers” is far too impersonal. “Community” and “friends” is where we hope we’re headed. If you hadn’t noticed, I tend to sidestep the issue and use the highly technical, specific, endearing, and official term “Tesselators.”
But I digress. One of the things I was trying to say is that sometimes someone reaches out and we all stop what we’re doing and read their email. The commentary runs the gamut; sometimes someone tells us that they’re disappointed with the Beta program, sometimes it’s a feature request or compatability question, and other times, like yesterday, we get subject lines like “What I like about your team”. I cannot begin to describe how important all of these interactions are to us. We’ve said this before and we’ll say it again: we’re incredibly fortunate to have such an energetic, excited, and appreciative community, so we do everything we can to keep a pulse on what everyone (yes, everyone) has to say. We love you, we really, truly try our best to show it, and we hope that the system exhibits positive feedback.