Table of Contents
Hardware, as they say, is hard. In helping develop the concept of Business Cards+ into a fully realised, mass manufactured product that ships worldwide, we faced a series of engineering challenges of which needed some clever thinking to overcome. I’d like to share some of these with you in this post.
In the beginning #
To set the scene, in 2014 MOO restarted a project whose aim was to embed NFC chips into its business cards, transforming them into a smart, connected product. A similar initiative was attempted a few years earlier, but it proved to be a little too far ahead of its time and had to be put on hold. In the intervening years technology has finally caught up with the vision.
These new business cards would use cutting edge printed electronics coupled with MOO’s paper know-how. Inside each card is a tiny NFC chip bonded directly onto paper and programmed with a unique URL. This URL allows the owner to customise its behaviour whenever they like, even after those cards have been given out to prospective clients and businesses.
I came on board to help MOO design, develop and implement an end-to-end system which could produce the physical cards themselves, along with the online services that the cards would seamlessly interface with.
I knew this would be a difficult task, but this is where my history with connected products becomes important. Back in 2012 I worked at the design consultancy BERG on a product called Little Printer. It was an internet-connected thermal receipt printer with custom hardware, firmware and software that we designed and engineered entirely in-house.
I learned a lot in helping bring it to market, and one of the trickiest aspects to get right was the join between the physical and virtual. With connected products, you have something which not only exists in your hand, it also lives in the cloud, and the production process needs careful construction to ensure both are made successfully and are correctly linked together.
With Business Cards+, this means that the machinery and process we needed in order to program each card must be smart and fully connected to MOO’s backend systems, and far more sophisticated than anything that had been implemented to date. We went through a lot of early brainstorming to try to break down the problem into compartmentalised and separable areas of interest.
Mass production principles #
In order to produce these within MOO’s existing facilities, we needed to obey some core principals:
- Be quick and easy to operate with minimal training
- Be scalable should production demands increase
- Introduce minimal disruption to the existing processes
- Use inexpensive hardware to keep costs down
Existing NFC programming systems for factories can cost upwards of six figures, and the software integration costs can push that up even further, so using relatively inexpensive commodity hardware to program the NFC chips was going to be very important to us. Not only does it keep costs down, but it gives us flexibility in how we break down and arrange the individual production tasks.
MOO’s well-established production system makes business cards 25 at a time, grouped together on a large sheet of high quality card. To make the programming process as efficient as possible we designed a system which would use 25 separate USB NFC programmers to write to every single card on a sheet at once. This would keep efficiency and parallelism as high as possible while fitting within the constraints of the existing process.
We also use a barcode scanner to read specific information printed on each sheet. This information is used to make API calls back to the central servers so that we’re able to retrieve each customer’s specific data to embed on each card. The barcode scanner would ideally be the only means of input, and is robust and reliable while maintaining operational simplicity.
To manage all of these peripherals we use a small single board computer running a stripped-down Linux distribution, and along with some clever scripting it binds the separate components into a single highly streamlined appliance. Below you can see a picture of a very early prototype testing multiple NFC devices in parallel.
Induction and iteration #
One of the important aspects of our work was the physical form of the machine. The ability to communicate with any NFC chip is done through induction, and there are certain rules you need to follow with inductive coupling. In order to maximise the speed and reliability of any NFC data transfer, the gap between the NFC tag and the USB or phone device communicating with it must be as small as possible.
Given the dense arrangement of our 25 NFC chips, we needed to construct a bed to house each USB device which brought the circuit board flush with the surface where you rest the sheet of card.
I worked closely with Phil Thomas, one of MOO’s Product Designers, and he did an amazing job of modernising the original clear prototype from 2012 according to our newer hardware and stricter spacing requirements.
Phil worked on a number of iterations of the physical design. First to update the USB hardware, then a second to incorporate closer placement of the antenna flush with the surface, and third to accommodate a change in the antenna placement in the card themselves.
With each iteration, Phil designed the new layout in Solidworks, printed out a stencil on paper and then painstakingly cut through his stencil sheet into a piece of foam board below using a scalpel. In less than an hour we could test a new layout with all of the components to make it functional.
Once we had assembled our final iteration, Phil then arranged for the pieces to be prepared in thick laser-cut acrylic to form a robust case when put together. It needed to be strong enough to be sent as air freight and also survive in a busy warehouse environment.
Not only is laser-cut acrylic relatively quick and affordable to get made, it actually gives you a nice smooth surface finish. Phil had delivered a physical enclosure that was as well thought out and tailored as the software inside.
Copper Gremlins #
During the later stages of development we hit a particularly difficult issue when scaling up to running all 25 NFC devices at once. Whenever we ran our tests, we saw a low but consistent chance of permanently corrupting the NFC chips. This was highly unusual behaviour, and no matter what we did we could not find a reason why.
These sorts of bugs are some of the worst you can discover, being serious, difficult to reproduce and in turn awkward to correlate against possible sources. We lost a number of weeks writing rigorous testing processes, and repeatedly running our tests while being careful to only change one variable at a time. This was one of the lowest points of the project, and it put the whole idea of using off-the-shelf components into jeopardy.
After slowly ruling out much of the software, I eventually began to suspect this was a hardware issue, so we took the entire machine up to Cambridge. During the development of Little Printer in 2012 I was lucky enough to work with Alistair May who specialises in RF (Radio Frequency) electronics, and he has a lab in one of Cambridge’s many leafy science parks helping people with these sorts of issues. We gave ourselves a day to work on the problem, and if the source of this corruption couldn’t be found we would have to scrap all of our work done so far!
After a very tense session using some very expensive oscilloscopes and other elaborate bench equipment, we finally made a breakthrough. We had discovered a flaw in the design of the NFC readers which was compounded by very cheap USB cables where the manufacturer had skimped on the amount of copper in the wires of the cable itself, and it formed a sub-standard electrical connection.
This in itself is a fascinating lesson. It’s generally common knowledge that premium HiFi or HDMI cables advertised as being better through the use of oxygen or gold is nonsense, especially where a digital signal is concerned. These cables either work or not, surely? Digital by definition means something or nothing, so how does a lack of copper in our USB cables produce such strange analogue behaviour?
Well the detailed science behind this is something which deserves its own post, but the underlying issue here is one of resistance. You can think of a cable with normal amounts of copper as a fat straw, and one with reduced copper as a thin one.
USB devices need power to run, and NFC specifically takes this power in gulps. If the diameter of the straw is too small (i.e. not enough copper wire), then taking quick gulps becomes extremely difficult, and this is what the oscilloscope trace shows below. The bottom yellow area should be flat, and because of our cheap cables it cannot get power quickly enough, causing it to become wavey, and it’s this unwanted waviness which corrupts our chips.
In order to overcome this issue we now custom modify each and every USB device with an additional high speed smoothing capacitor to ensure it works reliably.
Returning from Cambridge with a fully working system, our thoughts now turned towards mechanisms which would allow us to give feedback on the chip programming process.
Simple chips, smart lamps #
As with any electronics there are occasionally some failures, and we see this with our sheets of NFC chips where some are non-communicative. In order to alert the operator to a chip which hasn’t been successfully programmed, we needed some kind of status display system for our NFC programmer.
Not too long ago I was lucky enough to work on a research project for Google around the concept of Smart Lamps, and I knew it would be a great fit in this instance.
Due to the thickness of the cards themselves, it’s impossible to illuminate any cards from underneath without an extremely bright light source, and we have already discounted the idea of a monitor on which we’d display any errors; there would be too many opportunities for transcription errors looking between the screen and the cards, especially in a busy environment. This leaves us the idea of direct illumination from above.
To achieve this we use a pico projector connected directly to the HDMI port of the single board computer, and the output image is calibrated to match the surface of the machine itself. The hardware is inexpensive and, after some calibration, each of the 25 cards can be individually highlighted with any shape and colour we want.
Some of the designs on the cards can be very detailed and colourful, and coupled with bright ambient illumination in the warehouse, we needed to ensure maximum contrast for the projected light. We ended up using colour, flashing and motion to achieve this aim. Below you can see cards being highlighted with a “good” status after programming.
This projection mapping technique has not only reduced the chance of human error, it’s simplified overall operation of the machine, reducing the amount of training needed. This was the last piece of the puzzle, and with operator feedback implemented, we had a finished system.
With a relatively modest capital outlay, we’ve introduced the means to produce a technically demanding product into MOO’s existing production line with minimal disruption. It’s flexible and scalable to match our needs, while being simple to use and maintain.
I hope you’ve enjoyed this look at some of the challenges we’ve faced in Business Cards+ to market. It’s been a challenging project on many levels, and getting to see this work as a key part of the worldwide launch is incredibly satisfying.