Posts tagged as electronics

  • Last week I sent all the files necessary to build the first draft at my Ilkley prototype to China. That means the plotting files to make the circuit boards, the list of all the components on them, the positions of all the components. The factory’s going to make the circuit boards and attach most of the components for me.

    This is good, because many of the components are tiny.

    The Ilkley prototype is on two boards: a ‘brain’ board that contains the microcontroller and almost all the electronics, and a separate ‘control’ board that is just some IO and inputs - knobs, buttons. I am focusing on the brain right now: its “revision A” board is the right size and shape to go in our housing; the current prototype of the control board is just designed to sit on my desk.

    About six hours after I sent it all off, I got an email: I’d designed around the wrong sized part. (I’d picked a 3mmx3mm QFN part instead of a 4mm square part, because that’s what had been auto-selected by the component library). This meant they couldn’t place the part on the board: it wouldn’t fit.

    Should we ignore the part and go ahead with assembly?

    At this point blood rushes to my head. That part is one of the reasons I’m not building it myself: it’s not really possibly to attach with a soldering iron, and I don’t have a better tool available at home. So maybe I should quickly redesign around the right part? I hammered out a new design in Kicad.

    But now I’d have to send new files, new placements over, and probably start the order again. This was going to add delays, might not even be accepted by the fabricator, and so on.

    Deep breath.

    At this point, I took a step back, and had a cup of tea.

    Over said tea, I made myself answer the question: what was this prototype for?

    Was it only to test the functionality of that single chip that couldn’t be placed? The answer, of course, was no. There were lots of things it evaluated, and lots of things that could still be evaluated:

    • many other sub-circuits - notably, a battery charger, a second amplifier, a mixer
    • the integration with the ‘control board’ and the feasibility of my ribbon-cable prototype
    • how several parts ended up being fitted, which the fabricator has not used for me before
    • the fit/finish inside our final enclosure
    • not to mention whether I’d made any other mistakes on the board.

    So far on Ilkley, we have been lucky: every single first revision of our hardware’s worked. This doesn’t mean we’re brilliant at everything; it means nothing more than that we’re in credit with the gods of hardware. Something will go wrong at some point - that’s what revision B is for. All that had happened was I’d hit my first big snag.

    Prototypes aren’t about answering every question, but they’re rarely also about answering one. I usually teach people to scope them by being able to answer the question what is being prototyped here? - the goal being to understand what’s in scope and what is not. Temporarily, in the panic of a 4am email from China, I forgot to answer that question myself. It was good to be reminded how many variables were at play in that Revision A, if only to acknowledge how many things I have going on with that board.

    I wrote back to the factory; ignore the part and proceed. We’d still learn a lot from the prototype, and revision B would contain, at a minimum, a new footprint for that 4mm QFN chip. I saved the hasty changes I’d made to the circuit board after the email in a new branch called revision_b - which I’d return to working on once the final boards arrived.

  • Weeks 241-243

    20 August 2017

    In no particular order:

    Selworthy is in at the bottom of the ‘writing a difficult feature’ hole. Lots of chipping away, testing, QAing, re-testing, and re-approaching the problem. By Week 243 I’d had a bit of a breakthrough – some things were pretty much there, and other problems were, at least, understood. I also spent some time – possibly more than I’d like, given my enthusiasm for operations – wrangling getting the whole stack spun up on Centos – we tend to use Ubuntu, but there were reasons. Seeing the whole stack – from Javascript polish right down to compiling forks of ffmpeg – gives you a bit of vertigo.

    Thonk have ordered a second run of products from Foxfield, which is great news. I took an inventory of what parts I had, ordered some key bits of the BOM from China, some more from a few British suppliers, and started putting together what was needed for a Mouser order. I’m hoping to package this lot up by the beginning of September. I also wrote the first installment of Foxnotes – similar to these weeknotes, but more infrequent.

    I’m running a course on circuit board design in October, over four evenings. I did some promotion of this, and have spent a decent chunk of time beginning to write the course itself – trying to get a feel for what it contains, what the balance between talking and doing is, how to structure learning across the four weeks, and triple-checking the demo circuit I’ll be going over. I also ordered various small prototypes to help me out with demonstrations.

    The course is going well, I think – I’m beginning to see the shape of it, and to see places we we can extemporise or build on things we’ve learned. But I also need to remember how much space to leave for unknown unknowns – discussion, and questioning, and inevitable inertia of using software.

    A good few weeks – busy, and outside Selworthy, running around a little. But when I look back at it here, there’s definitely forward momentum.

  • I’m running a course called Designing Circuit Boards in central London in October.

    Maybe you’ve looked at a tangle of jumper wires on a breadboard and wondered how to take your electronics project beyond that point. Perhaps you’ve got an installation made out of lots of Arduinos, shields, and breakout boards and you’d like to make it more reliable and easier to reproduce. Or if you’ve got a prototype on your desk that you’d like to take the first stages of manufacturing: this masterclass will give you the tools to embark on that process.

    Over four evening sessions (about 90-120 minutes each), we’ll take a project on a breadboard and learn how to design and fabricate a two-layer printed circuit board for it. This is a pragmatic course: it doesn’t presume any knowledge of CAD software, or any formal electronics training. We’ll be learning techniques and approaches, not just how to drive a piece of software.

    The course is what I’d call intermediate-level. Some very basic experience of electronics – perhaps some tinkering with microcontroller projects (eg Arduino) on breadboards – is about the level of experience you need to enter. Maybe you’ve made complete projects or installations out of such technology. But I’m assuming that most people will have no experience of circuit board design.

    We’ll be using Autodesk EAGLE as our primary tool, because it’s cross-platform, well-supported by the maker community, and free for our purposes.

    You can find out more and sign up at the Somerset House website.

    And if you’ve got any questions, you can email me.