Comment

Defining architecture

Other than discussing hardware product-design, I found myself proposing to prospective clients an additional (or alternative) way for working together. This turned out to be quite a popular.

At the time of contact, clients are usually looking for someone to realise their ideas, seek authoritative advice and guidance, or take their prototypes to the 'next level'. It's at that moment in the project where an 'architecture definition' is a crucial document to have, and I offer to help them create it.

I first ask clients to tell me what they want to achieve. I explicitly ask them to leave out how they think it could be achieved since that is -- potentially and hopefully -- my job. That's what the architecture definition document starts out with. It sets the tone without burdening the imagination with technicalities, freeing us to be creative with solutions. It's the framing shot.

Source: http://www.digititles.com/movies/django-unchained-2012/photos/tarantino-framing-a-shot

Source: http://www.digititles.com/movies/django-unchained-2012/photos/tarantino-framing-a-shot

We then work on an architectural diagram that encapsulates the interaction of all components of the system at a high-level. We also define all entities, along with their capabilities, purpose, and needs. Confusingly, we want to be specific and generic at the same time. For example, we might not know whether we'll use ZigBee or Bluetooth Low Energy (BTLE) at this point, so we might call that communication channel 'short range channel' or 'low power channel' -- this allows us to be flexible later on where we actually spec that comms channel. We may not know if the device is battery- or USB-powered, so we'll just say 'power source'.

This part of the document is important since here we give the reader -- and ourselves -- an overview of the system to come back to as a reference. This bit occasionally changes as the document fleshes out, but not by too much -- this is the foundation of the project, and changes here have a cascading impact on the rest of the document.

The next phase is dynamic and interactive. Here we spell out the possible ways for achieving the goals and functionality of the project. We might consider, for example, GSM as a communication channel, but indicate that this has power and connectivity implications. We may consider BTLE but note that bandwidth is very limited. We'll also discuss user-interface elements, such as the merits of a mechanical push-button versus a capacitive touch solution. We'll point out the merits of using a pre-packaged module compared to a complete OEM solution compared to the costs of a custom PCB. And what about certification?

This section changes a lot in the course of writing the document: what used to be an option may be stricken out because of a limitation, or cost. Or, a few positive considerations may tip over a solution to be the one that's the favourite. It's typical to have quite a few ping-pong rounds of edits between us and the client for this section.

In the process, many questions that must be -- at the least -- addressed invariably surface. These questions can be pretty tough for the client to answer. How do you choose, for example, between a non-replaceable rechargeable Li-Ion battery in an ultrasonically sealed case versus two replaceable AA batteries with their associated complexities of usability and an opening in the casework. We don't have to have the answers, but at least the questions and considerations are there. It can be overwhelming, but it's definitely good to have given these considerations a thought before the product has already been mostly designed!

At the the end we get a thought-out document that teased out a lot of detail. The client is now armed with a document that can be shown to an investor or design consultancy for a quotation. It empowers the client in future interactions about their product and allows the other party to quickly understand the project's goals and requirements.

most importantly, we found that the investment of time early on to create such a document saves a much more time later on the project!

Now, why would you hire Boldport for this job?

We bring a wealth of knowledge and experience to the process, and are able to advise and contribute way beyond the technical details. Other than experience in many technologies -- FPGAs, microcontrollers, BTLE, web, software development, manufacturing -- we're competent at advising on the security and privacy implications of your product. In authoring the architecture definition we also, of course, factor in cost, manufacturability, and usability considerations.

We work as if we're not the ones who are going to design the system -- and we may well not be. What you end up getting is different compared to what you'll get in a 'project proposal' from other consultancies, where they are naturally biased towards the solutions that they are already most familiar with. Those proposed technologies may not be the best for your product! We'll give you a document that you can take to these consultancies and have them justify why their solution may be better, instead of just taking their recommendations at face value.

Finally, we strive to give you value for your money. It's a great way to get to know us and how we work towards the success of your product. Writing a document like I described above typically takesone to three days. You'll get the document, of course, but also the benefit of knowing if we're the right choice for continuing to design your product. Also, be certain that if we feel that we do not have the expertise for completing your project in the best way possible, we'll tell you.

Finally, here's what Alex Nicholson from Sustainable Venture Development Partners said about a recent architecture definition project we've completed together

We engaged Boldport to support us with product development and to help us develop a technical specification. I was struck most by the creativity that went into the production of the specification, with nothing taken for granted. This, combined with punctuality in its delivery, made it a rewarding experience to work with Boldport. I hope to continue working with them in the future.

There are more testimonials here.

Please do get in touch if you think that an 'architecture definition document' could be useful to you.

Comment

1 Comment

Open Bidouille Camp badge

The design's view from within Inkscape/PCBmodE

The design's view from within Inkscape/PCBmodE

The good folk of Open Bidouille Camp reached out to me a few months ago and asked if I could design a small badge for their workshops, as a tool for teaching people how to solder. As I usually do, I asked for a logo or some other material that I could use for inspiration as a starting point for a concept.

The OBC logo

The OBC logo

This is a two-tone design (white and light-blue above) on a dark background. That could be easily translated to a circuit-board. The OBC people preferred black soldermask, so that was a given design choice.

I decided to leave as much as I can as it is and to use the hexagons as a common theme: the outline (of course), LED pads, and battery holder pads.

Front of the badge

Front of the badge

Back of the badge -- the three large pads are for a battery holder

Back of the badge -- the three large pads are for a battery holder

But there's a more ominous way to assemble the board!

You might have been wondering why I created the crossbones gap in soldermask on the bottom side of the board. Scroll down. Carefully ;)

Now, with the battery holder facing down, we solder the LEDs and resistors on the bottom of the board.

Soldering the components on the bottom side of the board

Soldering the components on the bottom side of the board

Here's what it looks like from the front. Pretty tame.

WHOA. He's out to get you! HAR HAR.

This was a fun project, and shows what can be achieved with just a few components and a bit of thought into the design.

All our boards are designed using PCBmodE, an open source software we developed to create 'beautifully functional circuits' such as this OBC badge. The design itself is open source hardware, and can be found at Boldport's Github repository.

If you need a beautifully functional circuit designed, that's our speciality, so get in touch!

1 Comment

Comment

The art of routing: via fasteners

Someone over at the Electrical Engineering Stack Exchange asked about potential issues with 'via-in-pad' -- a via placed, well, in a pad. The advice is comprehensive, and the usual rule applies  -- it's fine when you know what you're doing and willing to pay for the "extravagance".

I chimed in with advice I got from a senior engineer looking over my shoulder whilst I was laying out a fairly complex board: place vias in pads for mechanical SMD interface components. Doing this adds strength on the z-axis of the board for otherwise easy to lift connectors. Take, for example, an SMD USB connector and the torque that applies from the cable casing; you could use all the strengthening you can get to prevent that sucker from lifting off the board with your tracks! It won't be enough for production -- for that you'd need something else to keep a connector in place or use a throughole connector, or both -- but it's great for kits, etc.

If I have space on the bottom layer I'd either just use a standard via, replicate the pad, or even oversize it on the bottom layer. I also try my best to have the same amount of vias in all pads so that they won't tombstone or create uneven connections. If you're going to use via fasteners and not solder by hand, you'll have to factor the vias into account since they may create an uneven pad, and will syphon out the paste, so you may need to add more.

I called these things 'via fasteners' since 'via rivets' was already "taken". Does this technique have a more established name? Searching for answers I found another StackExchange question about this same technique! More good advice and precautions there.

Comment

Comment

Edge detect ad nauseam

Some logic circuits from the Second Edition I painted on canvas. More here.

Some logic circuits from the Second Edition I painted on canvas. More here.

Yesterday I've received the third edition of The Art of Electronics by Horowitz and Hill -- or 'the bible' for short. I've been drooling over it for hours; as an engineer it's the closest feeling to your favourite band releasing a new album. H&H are the engineering world's rock stars going on a triumphant world tour.

Going through the book I came across one of my favourite tiny logic circuits, the 'edge detect' (or 'single-pulse generator'), where a pulse the length of a single clock period is generated from an asynchronous, other clock domain, or possible 'noisy', source into a synchronous circuit. For FPGA design, I often use a similar circuit to debounce external inputs or for modules that expect a single pulse input signal -- reset, START, etc. -- and I'm uncertain that they will be. Below is H&H's version in Figure 10.75 (which immediately "offended" my FPGA-centric view... more on that later ;):

I'm certain that H&H had good reason to draw the circuit like they did, but I prefer to do away with the double inversion on the feedback.

We have two edge-triggered flip-flops, the second clocked by the synchronous clock and the other by the input signal (!) The output controls the reset input of the first flip-flop.

H&H challenge the reader to create a timing diagram

Note that even though it's not specified, the reset must be asynchronous, otherwise the circuit won't work. We could end it here, but I'm pretty sure that H&H were trying to tease out more insight from the reader.

Consider what happens at power-up when the state of the flip-flops are unknown (remember those pesky red 'unknown state' during behavioural simulation?) H&H say that this circuit is glitch-free. It is. But, we could get an unwanted pulse if the first flip-flop starts out in a high state and the second in low state (see right side of diagram above). This may or may not affect the functionality of your circuit; that depends on what it's 'driving'. This could keep you debugging your apparently random-failing circuit for days in the lab. What other potential issues did I miss?

Now, why was I "offended"? As an experienced FPGA designer, seeing a non-clock signal going to a clock input feels like a punch to the stomach (as it should!). It's a major no-no unless you really know what you're doing. This is because clocking resources are 'special' and are carefully crafted to deliver synchronous clock-edges to the entire 'clock tree' at the same time. They're not meant to be used for 'ordinary' signals -- 'local routing' exist for those -- even though it's possible to arm-twist the tools to do it. Implementing H&H's circuit as-is would generate a warning, or physical-synthesis would deal with it by 'understanding' what you 'mean' and re-jig the circuit to do the right thing, or re-route the input as a clock signal wasting a valuable resource. These outcomes are bad, bad, bad since the designer seems to get away with it and think that this practice is 'ok'. Besides, different tools would interpret the 'meaning' differently so you would be really pushing your luck with non-portable code, even between versions of the same tool. The tools should, ideally, produce an error and halt unless the designer presents a notarised note from a Registered Guru, such as Dave Vandenbout.

Here's the circuit I've been using for forever

Luckily, most FPGAs have a deterministic start-up state ('low' unless otherwise explicitly specified) so the unwanted start-up pulse won't happen. The asynchronous input signal still needs to be longer than the clock period to guarantee that it'd get caught (H&H's circuit has the advantage of not suffering from this problem). Here's the timing diagram

and one possible Verilog implementation

// edge detect module
module edge_detect(
  input  CLK,
  input  RST,
  input  IN, 
  output OUT
);

  reg a, b;

  // the edge detect signal is (b AND (NOT a))
  assign OUT = a & !b;

  always @(posedge CLK) begin
    // It's always good to have a reset condition, otherwise
    // the state of the register will show up as undertemined
    // in simulation ('x')
    if (RST == 1'b1) begin
       a <= 0;
       b <= 0;
     end
     else begin
       a <= IN;
       b <= a;   
     end
  end

endmodule

Please add your thoughts in the comments!

UPDATE 2015-04-08: Thanks to 'Lampshader' over on Reddit for pointing out that I was originally wrong in saying that H&H's circuit would miss a shorter-than-a-clock-period pulse on the input.

Comment

1 Comment

Sailing to production

"Harrison's Chronometer H5" by Racklever at en.wikipedia - Originally from en.wikipedia; description page is/was here. Original uploader was Racklever at en.wikipedia. Licensed under CC BY 2.5 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Harrison%27s_Chronometer_H5.JPG#mediaviewer/File:Harrison%27s_Chronometer_H5.JPG

"Harrison's Chronometer H5" by Racklever at en.wikipedia - Originally from en.wikipedia; description page is/was here. Original uploader was Racklever at en.wikipedia. Licensed under CC BY 2.5 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Harrison%27s_Chronometer_H5.JPG#mediaviewer/File:Harrison%27s_Chronometer_H5.JPG

In 1714, the British took a very contemporary approach to solving the long-standing 'longitude problem' by offering a lucrative prize, through an Act of Parliament and administered by a special Board. Whilst the goal was worthy, the criteria for winning was not defined well enough to eliminate the influence of opinion, egos, and politics from a competition that was predominately about a scientific achievement.

John Harrison, a clockmaker and a prime contender for the prize, dedicated years to the problem. In a series of watches, each smaller and better than its predecessors, he pretty much reached the goals of the contest with the 'H4'. The Board, however, realised that a working 'prototype' isn't quite achieving the spirit of the prize -- a replicable, open, and, most importantly, scalable solution to the problem. Harrison was denied the prize despite meeting its technical criteria. Reluctantly, Harrison facilitated the replication by other watchmakers.

Harrison, now quite old, continued to work on H5, and being frustrated with the Board, went directly to the King to test the new device. The King was pleased and leaned on the Board; Harrison finally got a big chunk of money, but not the prize itself, or been officially the 'winner'.

That's a short summary of events, glossing over some details for brevity.

Taking something 'to production' -- yes, cue pretty much all hardware ukulele-themed Kickstarter campaigns -- is still a struggle 300 years on. Firstly, manufacturing something at scale requires very different skills than those required for prototyping. Secondly, prototyping can be very misleading because of how easy it is these days. This is why so many hardware crowdfunding campaigns fail to deliver, even if they are aware of the issues ahead.

Harrison was driven by finding a solution to a burning problem, not by manufacturing it at scale. He was probably naive about keeping the inner-workings a secret whilst still getting 'funding', although in some respects he was treated unfairly by the Board. Taking it 'to production' should probably have been a different prize altogether, as it required different skills than those possessed by a technical innovator.

Today, however, there should be no excuses. When you go Kickstartering and over-promise 5,000 working units to 3,000 people, you better be damn prepared, and deliver! This is one of the wrongs we're done by Kickstarter and their relatives. We're creating a development culture that's unprepared, sloppy, and ultimately disappointing. This doesn't affect only those who don't deliver, it rubs off on all of us in hardware development, who are trying to go about it more reasonably and realistically. It's hard as it is.

1 Comment

2 Comments

Circuit love! A Valentine's Day special

circuitlove-yellow-top.png

I've asked Eurocircuits -- who I've often used to make my circuits for the past couple of years -- if we could collaborate on experimenting with new techniques for PCB manufacturing. To my delight, Luc, Dirk, and their manufacturing team were very welcoming and excited about the idea and were great at producing samples. Their PCB manufacturing expertise is instrumental to the making of boards that are unique but that are also mass-manufacturable and affordable. This is our first experiment.

For a long time now, I've been wanting to create boards that have more than just a single soldermask colour. There is no technical reason that this cannot be done -- it's only a matter of fab willingness, and, of course, cost. The advantage of using soldermask over silkscreen, by the way, is twofold: better resolution, and better registration. (There's also no reason why multiple silkscreen colours can't be done.) Eurocircuits have been at the forefront of innovating in PCB ordering, and have also been offering clients the ability to add graphics to PCBs with their PCB PIXture feature. They add the graphics with soldermask, so they are familiar with a multi-pass soldermask process.

Of course I designed the circuit using our own PCBmodE. The circuit has five warm white LEDs on the bottom side of the board, and an SMD micro-USB connector footprint in the centre of each edge. The idea is that one could choose where to place the USB connector according to the intended use of the board. If it hangs on a wall, it would make sense to populate the connector on the bottom. If it's used as a coaster, side or top placement makes sense. When powered, the light from the LEDs reflects off the surface the board is on and shines through the FR4, gaps in copper, and soldermask.

The visual design is rather arbitrary, but is meant to create engaging structures and also see how well superimposed soldermask layers look like -- then we could have three colours!

OK, enough with the words!

The first variant is 'yellow'. It has black and white soldermask on the top and bottom with yellow silkscreen added on the top.

The second variant is 'red'. This one has white, black, and red soldermask (no silkscreen on the top) with an ENIG finish.

The sharp-eyed would have noticed that the black and white colours are 'dotted' -- this is the technique that Eurocircuits use for PIXture. The main difference from 'yellow', however, is the lack of copper around the text, so light goes through nearly the entire board. This lets the two blue-ish soldermask colours on the back create a very neat and colourful effect.

Which variant if your favourite?

To enclose the board, I've used the same 3mm acrylic pieces -- lovingly made by oomlaut -- that I use for the 'superhero' plaque, but with added spacers for the LEDs and USB connectors. If this plaque becomes a 'thing', an opaque acrylic shim may be a good addition to block the light from seeping through the sides.

circuitlove-red-bottom-text.png

Naturally, we love circuits at Boldport and Eurocircuits; this Valentine's Day we really made an effort to show it ;)

2 Comments

Comment

Comments on RaspberryPi 2's 'Xenon Death Flash'

It turns out that a component on the new Raspberry Pi 2 is sensitive to high energy beams of a certain spectrum. This causes the RPi to 'hang' and require a hard reset -- here's an official response to the so-called "Xenon Death Flash" failure.

This failure mode is typically called a 'soft error', where no permanent damage is caused and the device will continue operating normally after a reset or a power-cycle. The culprit IC seems to be a switching regulator (U16 on the RPi) that supplies the main processor; the exact failure mechanism isn't clear yet, however. The fix is easy, just cover U16.

In the context of the RPi, this is a non-issue. A robust solution for this type of errors is within the realm of military-, space-, and medical-grade kit, where 'single event upsets' and soft errors are dealt with triple-modular redundancy and radiation hardening. The RPi, I'm certain, comes with a warning that it is not meant for such applications. Regardless, if you're expecting a beyond reasonable robustness from a $35 device that's optimised for cost, you're mad.

This failure is a humble reminder that hardware development is full of surprises. No matter how much you think about all the possible things that could go wrong, there will always be something unexpected that you will lose sleep over (either through worrying about it, and/or all-nighters debugging/fixing a problem so not to delay a launch). If you have a hardware engineer nearby, give them a hug!

There's no way that the RPi engineers could have seen this coming -- shout-out to James, one of the most talented engineers I know -- it's only come to light since the RPi is such a popular product, exposed by default, and people are obsessed with taking photos of it. Now, that's interesting! If it wasn't for the RPi, we might have never been aware of this potential issue. At Boldport, where we design circuits that are meant to be exposed, this is a highly valuable piece of information. In fact, I can dream up scenarios where this can be used as a clever feature! ;)

 

Comment

4 Comments

A farewell to EDA

Credit: ITV

Credit: ITV

EDA is dead, and we're to blame.

EDA is dead. It's been dying for about 20 years now. Big EDA have given up on innovation and the 99% of their users that cannot buy "platinum" support. Their software is an out-dated patchwork that's occasionally given a botox injection in the form of a new set of Windows icons. Their interfaces look like a Dreamliner cockpit bolted onto a DC-10 frame. New features are underwhelming, few, and do not address real problems, like source-control, inefficient design processes, and usability.

The thing is that despite the talented engineers working on these tools, culturally and structurally, Big EDA are not capable of innovation, and we should stop expecting them to.

'Cloud' EDA tools such as Upverter, circuits.io and others are disappointing in that they have resisted the urge to innovate. Interfaces are largely the same as their desktop counterparts and the design process is the same. But it's in the 'cloud' and 'social', neither of which are exactly what we're craving. Sadly, these tools are engineered to get aquihired by Big EDA, not to get us to perform our work more effectively, or for disruptting our outmoded industry.

Open source EDA is nearly non-existent due to the tight grip of Big EDA. The KiCAD project, for example, admirable as it is, suffers from typical community-based development issues and its 'old' core. I wouldn't be surprised -- I don't keep track --  if most of the current work is dealing with historical artefacts and personalities, instead of accepting the fact that the software needs a reboot, a natural occurrence in any software development, and one that should be much more manageable in a project such as KiCAD compared to Big EDA tools.

EDA is dead because it is no longer fit for purpose. As unholy as it is, we engineers need to accept that software development has outdone us and we have to catch up. No more exchanging zip files, no more broken tools held together by custom scripts no-one can maintain, no more Digital Stockholm Syndrome, no more status quo. We're partly to blame for letting the situation deteriorate here.

The future is not EDA. People may still call it 'EDA', but it will be something else. It won't have any of that old, mouldy, ancient feel to it -- it will be fresh, fun, and different. I'm sure of it, because the path we're currently headed leads to a low point from which new innovative tools will emerge. If you're currently developing tools for engineers, I beg you to not accept the old ways and innovate in usability and the design process, not only in crunching numbers, and the obvious 'social', 'mobile', and 'cloud' buzz. I'm trying to do that with PCBmodE, and I can assure you that it's hard, but it may be worth it!

* I mostly talk about circuit design software here, but I know that it applies to all flavours of EDA. Prove me wrong.

4 Comments

1 Comment

Boldport's form+function at Electronica 2014

One of the directions we're exploring at the moment is applying the concept of "beautifully functional circuits" to evaluation and development kits from IC and system companies. We think that it's prime time that existing boards evolve beyond the -- large, square, green, WindowsXP-CD-included, feature-creep-example, hard-to-use -- things that they are. We know that companies would like to have their boards stand out at shows, on-line, and in hardware hacking events. We know that companies would like to entice engineers to explore the unique capabilities of their products, and talk about them to their peers. We know that companies want to project innovation, modernity, and creativity. Applying all of these things to circuit boards is our speciality!

This week we will be at Electronica in Munich talking to companies about their needs and promoting the concept of form+function and how it applies to circuit boards. We'll be visiting stalls and would love to talk to anyone who is interested in our work. So please reach out, and also, kindly, help us spread the word.

(A recent example of a board that has been very successful at shows is the Nutclough, which we designed for Calrec. A case study is here.)

1 Comment

1 Comment

PCBmodE version 3.0 released!

PCBmodE was publicly released in January 2013. I've created many boards with the software, but it remained somewhat of a personal project for various reasons. Recently I've decided to make a few improvements which quickly escalated to a full re-write of the software. The code is now more object-oriented, readable, organised, and so hopefully more attractive to contributors and users. Most importantly, however, the usage of the code is much more documentation-friendly. There aren't any new features, but adding them would be much easier with this code.

PCBmodE version 3.0 is hosted on Github, whereas older versions were hosted on Bitbucket. The main reason for the move was to see if this influences contributor engagement and exposure; this is where Github clearly wins over Bitbucket. A minor, but important, reason for the move was the lack of two-factor authentication on Bitbucket. There's no excuse for not having 2FA by now. It makes me feel like something is broken under the hood, or at least in the decision-making process at Atlassian. Otherwise I have no complaints for Bitbucket; it's a solid service that also offers free private repos, which is great.

Documentation was seriously lacking up to now and I always sympathised with the plight of those who really wanted to use PCBmodE but had no resources to work with. The documentation for version 3.0 is now done with the popular Sphinx+ReadTheDocs combo, and found here. It's not complete, but it's a start.

Boards made for older versions of PCBmodE will not compatible with version 3.0. There's now a separate repository for boards made for version 3.0 and older boards will be migrated as needed, if at all. A good stating design is the 'hello-solder' board.

Finally, I've changed the license from Apache to MIT. I felt that an MIT is more familiar to developers and more appropriate for the project. It shouldn't make much of a difference for most people.

Oh, new PCBmodE logo!

pcbmode-logo.png

I really hope that PCBmodE will experience more users and develop a healthy and productive community around it. Please help where you can and send feedback my way.

Solder on!

1 Comment

Comment

Boldport in London

Boldport has moved to London. We have an office at WeWork Southbank and I've just arrived here to see it for the first time -- it opened today and it looks great!

The move was motivated by both business and personal reasons. You see, Cambridge is very much a technology-focused place where product design, productising, and packaging of technology is very often secondary to the technology itself. (Think of the initial poor usability of Raspberry Pi and ARM's licensing model to name a couple of prominent examples for this. A perhaps apocryphal story is that in a large Cambridge Consulting company, industrial design folk are lovingly called "yellow-plastic people".)

Cambridge is not a place that attracts designers, which are typically found in numbers and in quality in London. In turn London doesn't seem to have the kind of hardware engineers as Cambridge. I base it on my own experience of having myself and others imported from Cambridge to London for HW development and other anecdotal evidence. (Here I would have mentioned BERG as an example for a company that is certainly design-lead and that also developed hardware, but they shut down last month.)

Boldport's "beautifully functional circuits" is not just a cute slogan, it embodies the attitude of placing form and hardware functionality at the same level of importance, each constantly influencing the other in the design process. I think that there could be much more appreciation for this concept in London than there has been in Cambridge. It's also be easier to hire talented people.

Boldport is looking for business. You can help by talking to us about what we can do together, giving us your thoughts, or buying something from the shop.

I'm excited about this change and look forward to great things ahead!

 

 

 

Comment

1 Comment

Case study: The 'Nutclough' commemorative board for Calrec Audio

nutlough-front.png

Earlier this year, Kevin from Calrec Audio contacted me about a board. (Thanks to the always thoughtful Andrew Back for making the connection!) Calrec is a leading maker of broadcasting audio equipment and this year they're celebrating "50 years in audio"!

Last year Calrec created a simple audio amplifier board kit. This year, being a significant one, they wanted it a bit more special. They came to the right place ;)

Last year's board (not designed by me!). A pretty standard, square, single-layer PCB. I was really happy that Calrec approached me to design something "different" this year.

Last year's board (not designed by me!). A pretty standard, square, single-layer PCB. I was really happy that Calrec approached me to design something "different" this year.

Calrec provided the schematics and choice of components, and I started researching and drafting concepts for the board. It was important for us to have references to Calrec, of course, but also to the 50-year celebration. Two elements of the circuit needed particular attention: the bulky 9V battery and the large speaker. Cost was a primary consideration, so that meant that the board needed to be kept about the same dimension as the previous one.

One of my first concept drawings. At this stage already I decided to go with an audio desk profile as a reference to Calrec's products. I was playing with having two pieces, one for the circuit (bottom right) and another for mounting the speaker. The hole is for the the speaker's back to sit in; the surrounding holes is for mounting the speaker/board to other things.

One of my first concept drawings. At this stage already I decided to go with an audio desk profile as a reference to Calrec's products. I was playing with having two pieces, one for the circuit (bottom right) and another for mounting the speaker. The hole is for the the speaker's back to sit in; the surrounding holes is for mounting the speaker/board to other things.

This one is similar to the previous sketch except that I wanted to make use of all the space, so the idea of a detachable token germinated, which will carry through to the final design.

This one is similar to the previous sketch except that I wanted to make use of all the space, so the idea of a detachable token germinated, which will carry through to the final design.

The token idea is further refined. Here, the speaker could be attached to the corner of the board, and another piece is detached leaving the desk profile. This concept has more space for the circuit itself so it was more practical.

The token idea is further refined. Here, the speaker could be attached to the corner of the board, and another piece is detached leaving the desk profile. This concept has more space for the circuit itself so it was more practical.

The idea of the board standing up instead of lying down came up and this is the first attempt. The concept was that the speaker would be mounted perpendicular to the board to support it (in the square recess on the right). Actually, this one shows both the possibility of the board lying down and standing up. Initial thoughts about UI are shown as LEDs that are connected on the side of the board with each lead on either side of the board. This concept did not survive to the final design ;)

The idea of the board standing up instead of lying down came up and this is the first attempt. The concept was that the speaker would be mounted perpendicular to the board to support it (in the square recess on the right). Actually, this one shows both the possibility of the board lying down and standing up. Initial thoughts about UI are shown as LEDs that are connected on the side of the board with each lead on either side of the board. This concept did not survive to the final design ;)

At this point I started making cardboard mock-ups. These are great for getting a feel for size and potential component placement or UI issues. It was also a great way to show Kevin the concepts visually to get his feedback.

The "lying down" concept with the space for the speaker, LEDs and UI. The old board is there for size reference.

The "lying down" concept with the space for the speaker, LEDs and UI. The old board is there for size reference.

Here it is with the speaker in its place.

Here it is with the speaker in its place.

After feedback from Kevin, I assembled the following mock-up, the first 'standing' concept -- it was now clear that we're going to do that.

The cut-out on the right will be used to allow the board to stand even when the speaker isn't mounted. At this point we were still thinking that users may want the speaker to be mounted elsewhere, not necessarily on the board.

The cut-out on the right will be used to allow the board to stand even when the speaker isn't mounted. At this point we were still thinking that users may want the speaker to be mounted elsewhere, not necessarily on the board.

Standing!

Standing!

Speaker and UI components mounted. It was clear that the speaker needed better mounting to hold it in place more firmly. Also, the sides of the speaker are not straight, so it doesn’t provide great support.

Speaker and UI components mounted. It was clear that the speaker needed better mounting to hold it in place more firmly. Also, the sides of the speaker are not straight, so it doesn’t provide great support.

Thinking of how to deal with the battery, I attempted to use it for support, but it was ugly when I tried it. Quickly scrapped.

Thinking of how to deal with the battery, I attempted to use it for support, but it was ugly when I tried it. Quickly scrapped.

In another round of feedback we decided that the speaker needs to be mounted, and the best place for it is in the back of the board, firmly attached and providing support for the boards. Also, I decided to be more explicit with the reference to sk, and so used the exact proportional scaled dimensions Calrec's flagship desk, the Apollo.

I used the exact proportional dimensions as the Apollo desk.

I used the exact proportional dimensions as the Apollo desk.

The speaker is now mounted on the back and the board sits comfortably upright. The Apollo profile looks great, except that it adds about a third to the board's size. This space is not efficiently used, and adds cost to the board.

The speaker is now mounted on the back and the board sits comfortably upright. The Apollo profile looks great, except that it adds about a third to the board's size. This space is not efficiently used, and adds cost to the board.

The situation with the battery was getting worrisome. I couldn't find a place for it such that it is out of view, but still attached to the board so it doesn't hang.

The situation with the battery was getting worrisome. I couldn't find a place for it such that it is out of view, but still attached to the board so it doesn't hang.

I had an idea that could provide a nice place to put the battery and reduce the size of the board so it's cheaper. 

I shrunk the Apollo profile and raised it so that there's an area behind which the battery could be hidden from view. This also gave me space to put Calrec's logo and their "50 years in audio" logo. By this point the layout was ready, so I used a printout so get more visual feedback on the mock-up. 

I shrunk the Apollo profile and raised it so that there's an area behind which the battery could be hidden from view. This also gave me space to put Calrec's logo and their "50 years in audio" logo. By this point the layout was ready, so I used a printout so get more visual feedback on the mock-up. 

The battery is held by a metal clip so it doesn't hang. This also provides support for the board. Most importantly, it doesn't show from the front, as you face the board.

The battery is held by a metal clip so it doesn't hang. This also provides support for the board. Most importantly, it doesn't show from the front, as you face the board.

This worked! Kevin signed off on the design, and it was lovingly made by P&M Services over at Todmorden, West Yorkshire.

Front and back of the board.

Front and back of the board.

As I mentioned before, the board has a token that can optionally be broken off and used on a keyring, for example. The mill in which Calrec offices are is quite a landmark and is very much part of the company's identity. I wanted to have it featured on the board in order to tie the board to the company even further. In my mind's eye I imagined Calrec employees in another 50 years showing this token to young engineers and saying "I was there" :D

The token can be easily broken off the board and attached to a keyring or anything else ;)

The token can be easily broken off the board and attached to a keyring or anything else ;)

The token is constructed from various combinations of front and back copper, and soldermask. This allows for different effects when light is shown through the token, changing its appearance.

The token is constructed from various combinations of front and back copper, and soldermask. This allows for different effects when light is shown through the token, changing its appearance.

The windows, doors, and other features don't have copper so light can go through.

The windows, doors, and other features don't have copper so light can go through.

In full effect! The vertical lines in the Calrec logo now come into view. It's a nice result for something that otherwise would have been scrap material!

In full effect! The vertical lines in the Calrec logo now come into view. It's a nice result for something that otherwise would have been scrap material!

nutclough-back-close.png

After some assembly, here it is!

Assembled board, front view.

Assembled board, front view.

Side view. The speaker holds the board upright.

Side view. The speaker holds the board upright.

The view from the back. The battery is held firmly by a metal clip.

The view from the back. The battery is held firmly by a metal clip.

This was an incredibly fun project and embodies what Boldport is about -- beautifully functional circuits. I hope to have the opportunity to work on many more such projects so if you have a need please get in touch! As a reference, the project was billed at 2.5 days of work and Kevin of Calrec had this to say

Calrec Audio wanted something unique to commemorate the company’s 50th anniversary, and as Calrec started with a group of electronic hobbyists designing home amplifiers, it seemed appropriate to commission a small open-source amplifier circuit.

Boldport turned that circuit into a beautiful, eye-catching, self-supporting board which we have since used as a DIY giveaway to customers, and in several electronics workshops for children. It even has a snap-out key ring! They were very patient with our somewhat idiosyncratic ways of working and were incredibly collaborative, taking that initial concept and transforming it into a piece of art.

Boldport have a first-rate ethos, with an emphasis on open-source designs and promoting electronics for all. Moreover, they make it fun. We would have no hesitation in recommending them.

1 Comment

1 Comment

Sane perception of value of electronics

"How much does a cartoon cost?"

"$20"

"Twenty bucks for something that takes you five minutes?!"

"Five minutes and twenty years."

 

Occasionally people comment about the perceived high cost of the stuff that we sell at the Boldport shop. The first couple of times I tried to explain why those items simply have to be sold at this price in order to be viable, and what's unique about then, but then I stopped. My response now is that the price is what it is and that all the stuff in the shop is open source, so I encourage anyone to make their own if they want to make modifications or think that it'd be cheaper that way.

As engineers we tend to mentally cost things up based on the sum of their components. (A recent email said that the price was too high for a "PCB and some components".) That's unfair. It disregards the time and cost that went into research, experimentation, thought, prototypes, packaging, presentation, and the hundred different things that are required to make something sell-able. Oh, and years of experience.

We're also in a perverse time where the goalposts are set by unrealistic low-balled Kickstarter project promises, mass-produced products (Arduino's and Raspberry Pi's), heavily sponsored boards (FPGAs), and uninspiring junk sold in baggies at Maplin. Not everything can be made in large quantities in China, and not everything can be scraped down for the sake of shaving off a pound from the BOM. When I design boards, I first research the concept and then research for components that fit functionally and visually into that concept. If those end up more expensive than something that doesn't, then tough, I won't compromise on the concept. Also, I make kits in 30--300 quantities; hardly enough to contact Flextronics or travel to China for establishing a relationship with a fab. (I hope that I'll get there eventually, though ;)

I fear that the concepts that I'm trying to promote have no place -- I get plenty of good feedback, but virtually no sales. Cost, of course, is one potential issue here, but I cannot (yet) see a way to maintain the level of quality I want to offer within the guiding concept of "beautifully functional circuits" if the value doesn't shine through. I'm probably doing something wrong, and I'm trying to figure out what that is.

Finally, worse than the impact on Boldport, I also fear that the low goalposts situation may be preventing us from being more creative in our craft. That would be bad.

 

1 Comment

Comment

A few assembly tricks

It's inevitable that interesting hacks emerge as one creates and assembles circuit boards. Over time I've come up with a few techniques that help me get the job done, and I'm happy to share them. The tools are Kapton tape, a straight top-edge good quality knife, and a hammer. The boards in the video are the 'itemv' smartcard analysis tool, the 'cordwood puzzle', and in the corner there, the 'superhero' plaque.

Add your own techniques in the comments below!

Comment

1 Comment

Sweet old code of mine

During my undergraduate studies at UCSC I had an (excellent) electronics lecturer that liked to say that if another lecturer -- a hardcore software guy -- would look at his code, he'd call it 'immature'. I always liked that reference, and since I don't consider myself a programmer -- I've always viewed my software development as means to an end, not the end in and of itself -- I also tended to refer to my own code as immature.

The bulk of PCBmodE was written in the second half of 2012 with improvements that made it possible to design complete two layer boards added during the first half of 2013. Since then I've been patching it as I went along, but there's surprisingly few things I need to tweak when I'm designing boards with it these days. It works! (Yes, that's easy for me to say because I know where everything is!)

PCBmodE code is 'immature'. It was the first major software I've written in Python, and it's messy. I'm now working on another Python project for a client and I can tell how much I'd progressed in my understanding of Python's structure and organisational abilities. Like many, I'm sure, I'm slightly embarrassed with the code I've written in the past that's out there.

When I released PCBmodE as an open source project in early 2013, I was hoping for a community of users and contributors to grow around it. That didn't happen, and the 'immaturity' of the code is partly to blame. Some time after the release I decided that if I wanted to make a living from 'beautifully functional circuits', I must concentrate on making things with PCBmodE rather than trying to get people to use it. It was a resource allocation trade-off. So the software remained unused and unusable by others.

But maybe there's no need for PCBmodE as a tool? That's certainly a possibility, and that's one  reason why I'm concentrating on creating things with it rather than working on improving it for wider use. The other reason, of course, is that I don't want to enter the EDA business.

I'd really like to spend a month (or more) to refactor the entire codebase and introduce new features I've been working on, but I cannot afford to. I hope that in the future that would happen, perhaps in piecemeal over time. Until then, 'immature' code it is!

1 Comment

Comment

New website, new message

You've probably noticed that Boldport has a new website. A year ago when I wrote the old site I didn't quite have a pitch to emphasise; I was still exploring possible directions. This had to change since of late I imagined visitors thinking "right, you make beautiful circuits. We agree! Now what?!" There was no part that really said what the business was and how it could be useful to you, the visitor.

The message is clearer now. As always, I'd be grateful for any comments, good and bad, about the site's look and content. To celebrate the new website, two of our kits are on sale until Monday 30th of June!

Comment

8 Comments

Beautiful resistance

By now, when I look at components I evaluate their aesthetics as much as I do their functionality. When I design boards, the

look and feel

of the component has to fit the design, not only what it's supposed to be doing. Resistors come in an amazing spectrum of colours -- particularly older ones! -- and I wanted to find a way to use them for their colour rather than their value.

I had a bunch of resistors -- 1/8W and 1/4W -- left over from a project and I wanted to experiment with a symmetrical arrangement.

A week or so ago it was raining and I found refuge at a Maplin. Looking around I found an amazingly colourful resistor pack, and I made this piece with its contents.

The base is made of a soda can. I found it to be just the right thickness for the job, although a copper foil might have been better for the square piece. I experimented with a bunch of methods for fixing the resistors in place while still having bright 'background' colours.

What I've done is to set the resistors in regular acrylic paint. That meant that they are attached to each other through a common base, but can still move a bit for final adjustment. Then I attach the resistor 'pack' to the metal base with epoxy and apply acrylic on the top to fill in all the holes and get an even coat (that needed to happen more than just once). When it's nearly dry I soak the whole thing in water and peel off the paint that's on the resistors -- this didn't work quite as well as I had hoped. You'll notice that some of the resistors are battered from the numerous peelings.

Finally, I apply a transparent acrylic pouring medium to create the 'dome' and give it a shine. You'll notice that there are bubbles and some 'cloudy' areas in this dome -- I'll need to figure out how to avoid that from happening.

There's still work do be done to get these things to look perfect, but as a first go I'm happy with the results. Imperfect as they are, each goes as a gift to one of the two women in my life ;)

8 Comments

8 Comments

Cleanly de-soldering a pin header

Know that sinking feeling right after realising that you've soldered that 40-pin header on the wrong side of the board? I know it too well. When that happens you either need to chuck out the board or re-work it until the pesky thing submits to heavy use of heated force. The result is often ugly and most likely results in a lifted pad, which makes the soldering of another header -- the right way round this time -- harder.

I've come up with a technique that works for me for removing the wrongly-placed header, and here's a video of me executing this circuit surgery:




The advantage of this technique is that it doesn't require any special equipment. What you'd need is a soldering iron with a pointy tip, tweezers/pliers, flush cutter, and a solder wick. The trade-off is that you will need to sacrifice the header in order to save the board. Here's the procedure:

  1. Cut the pins on the back side as close to the board as you can
  2. Cut the pins on the top side close to the black holder
  3. Using pliers/tweezers/flat screwdriver, gently lift the black holder from the pins until it's completely removed
  4. Using a pointy soldering iron tip, heat the flat pads on the back side and push the pin by inserting the tip into the hole in the board. If the pin doesn't fall off use pliers to pick i
  5. Use a wick to extract the excess solder from the hole. If needed, use the pointy iron tip to get the solder to stick to the pad and clear the hole
That's it! Watch out not to damage other components with the iron or hot wick. Also, make sure that the iron is hot enough for rework and never press too hard on the iron so that the pads don't lift.



Do you have any other re-work techniques?

8 Comments

4 Comments

Apple acquires Boldport!

Press releases go out tomorrow, but I've been permitted to write about the news today for the loyal readers of this blog: Apple acquired Boldport! We've been negotiating since January and have finally gotten the deal through.

Steve Jobs famously insisted that every bit of Apple's products look good, even the circuit boards that the consumer will never see. Beautifully functional circuits -- Boldport's tagline -- is a natural continuation of this concept, where circuit boards are designed with emphasis on both function and form, and are celebrated on their own right, not necessarily hidden behind cheap plastic enclosures. Thus, Apple is the right place for Boldport to continue its growth and a great vehicle to realise its vision.

Starting immediately I'll be sharing my time between Cupertino and London and will be leading a newly established group that's dedicated to realising the vision I started out with. This vision will be applied in practice through products made for Apple's triumphant entry into a new market. Sadly, I cannot say more than that at the moment.

A bit of sad news is that I've had to agree that PCBmodE -- the software we developed to create our circuit boards -- will become an internal Apple tool and no longer be an open source project. However, I'm still able to sell Boldport's products until stocks run out, so get your beautiful circuits now!

A new era for Boldport begins today!

(UPDATE: by 'today' I meant April Fools' day ;)

4 Comments