It takes a lot of work to get a functional PCB business card that’s thin, cheap, and robust enough to be practical. If you can even blink a few LEDs on the thing and still hand them out with a straight face, you’ve done pretty well for yourself. So you can imagine our surprise when [George Hilliard] wrote in to tell us about his $3 business card computer that boots into a functioning Linux environment. If this were a bit closer to April, we might have figured it was just a joke…
Of course it helps that, as an embedded systems engineer, [George] literally does this kind of thing for a living. Which isn’t to say it was easy, but at least he keeps close enough tabs on the industry to find a suitable ARM solution at a price that makes sense, namely the Allwinner F1C100s. This diminutive chip offers both RAM and CPU in a single package, which greatly simplifies the overall design and construction of the card.
With a root filesystem that weighs in at just 2.4 MB, the environment on the card is minimal to say the least. There’s no networking, limited I/O, and forget about running any heavy software. But it does boot in about six seconds, and [George] managed to pack in a MicroPython interpreter and a copy of the classic Unix dungeon crawler rogue
.
Oh yeah, and it also has his resume and some samples of his photography onboard. It is, after all, a business card. All the user has to do is plug it into the USB port of their computer and wait for the virtual serial port to pop up that will let them log into the system running on the card. It also shows up as a USB Mass Storage device for recipients who might not be quite as adept at the command line.
In addition to the high-level documentation for this project, [George] has also prepared a deeper write-up that goes into more technical detail for anyone who might be looking to follow in his footsteps. Thanks to all of the source code that he’s made available, it should be a lot easier for the next person to get their own disposable pocket computer up and running.
We’ve seen all manner of electronic business cards over the years, but never anything quite like this. Which, of course, is quite the point. If you’re ever given a business card that doubles as a computer running a full-fledged operating system on it, you aren’t likely to forget it anytime soon.
E-Ink would have helped right where the text is.
The card is only $2.88 (ignoring shipping and time costs) to make, e-ink would’ve added a lot more to the cost. It would’ve looked cool, true, but then it wouldn’t be easy to give away. Also would’ve added bulk to the card.
Speaking of bulk, i wonder if you can mount those chips upside down in a cutout…
I’ve often thought about that. It may even make QFN easier to solder. One day I’ll get round to trying it.
I’ve seen people do it with QFN yes: http://www.pa3fwm.nl/projects/sdr/IMG_4528aa.JPG
From: http://www.pa3fwm.nl/projects/sdr/
But for a business-card scenario this would be way too fragile.
With those tiny legs it would be extremely fragile. Those chips get a lot of stability from the solder underneath.
Fill the gap with epoxy.
E-ink would have helped drive up the cost 10x
He’s using a small size. Besides…
https://www.alibaba.com/product-detail/lowe-price-2-13-inch-e_62363287830.html?spm=a2700.7724838.0.0.1c453b2c5d8ojU
The screen you link to would double to quadruple his BOM
A great Christmas present for us to have it so we’ll documented and entirely open.
Great! Instead of recyclable piece of paper you make a throwaway e-waste. Engineering marvel.
Instead of a throwaway peice of paper you have a collectable keepsake
And a free computer! Retail value $499!
* after factoring in full desktop computer, monitor, and peripherals. Not included.
Ooh, sorry, this is hackaday, arborday is elsewhere
Wait, is that a SOICbite connector footprint in the wild?
What comms/programming interface is it using
Answered my own question: his other blog post on the details of the design says it was for UART but he didn’t need it in the end. Good thing it doesn’t take up much board space then!
Is that a SOICBite on the edge of the card? Cool!
Yes, apparently for UART but wasn’t needed in the end. His other blog post (you can find it once you click through the link above) details the design and is insightful.
Author here. It wasn’t needed, but only because I had already done all the debugging on the Lichee Nano, the ~$8 dev board I cribbed from while designing. UART is absolutely a requirement when developing for embedded Linux.
7041?
I remember flashing AMD5120 openwrt routers with UART only (zmodem and al).
Otherwise, I was wondering if such chip was also available in QFP 128 package (might be easier to solder on a standard breakout board).
Thinking how much it would cost to do a bluepill clone, but with such chip. The last blackpill has optional traces to solder an SPI flash:
https://www.cnx-software.com/2019/12/24/stm32-black-pill-board-features-stm32f4-cortex-m4-mcu-optional-spi-flash/
There are similar chips available in QFP (the Allwinner V3s is probably the closest in terms of hackability and availability). But they are more expensive, and if you have a reflow oven it’s not substantially different either way. At the end of the day, the F1C100s was “just right” for all the reasons I give.
you actually got the lichee pi nano to work? wow
Yes, but I did my research before selecting it. And I immediately threw away the old BSP that had been packaged for it and did my own work based on the latest Buildroot.
Relying on cheap dev board BSPs is not a great way to get them working.
But can it run Crysis?
Yes.
Doom would have been better.
I like this idea a lot :D
First we have a laser cut business card containing somewhat usable lockpicks. Then we have a few renditions of USB hosts on business cards, the most notable being one which implements a tiny flash drive using an AVR. Then we have an Arduino business card with an nRF24L01+ onboard. And now we have an embedded Linux system powered from USB with a USB UART for communication.
Dr. Philippe Cadic (pwavrobot), a medical doctor and electronics engineer from France, is working on a business card with LoRA and a tiny built-in display running on an ESP32. He says he will bring it to DEF CON next year.
hmmm, I wouldn’t even remotely consider sticking an unknown usb device into my computer, period.. Do I look insane?
Yes, not because of your good USB hygiene, but because you only have one computer :P
(PS, this reply is only a joke)
Edgy.
I understand how you feel, but I feel like being handed the thing by the guy who made it is different from finding something on the floor or being handed from a huge bucket at a trade booth.
In that case, I feel it’s more akin to just buying a brand new flash drive and making use of it. Unless, of course, you don’t trust that it’s not been tampered in the mail or on the way to store shelves.
… and counting. 26 now.
When I wrote the first Embedded Linux book 18 years ago, I never imagined someone just whipping up a bootable board for next to nothing in a toaster oven. Bravo my good man!
Thanks for my Christmas present, it was a true joy to read about your creative card being the first to boot linux.
really impressive, Linux can run (almost) everywhere and so cheap!
To the autor: On github your resume contains your phone number not hidden.
That’s probably intentional. It is his resume after all. The only people that would ever notice it anyway are tech types, which he actually does apparently want to talk to.
That is somewhat intentional. If you are interested enough to track it down, you probably have a legitimate reason to want to talk to me (or are a really hardcore troll).
Ok, just wanted to make sure.
If you want your business to be wild go for it..
too bad we cant buy one
You can! George is clearly for hire. Hire him to make a custom one for you. Going to guess that the cost will be a much more than the parts. Lots of people forget that a good chunk of the cost is really NRE.
Nice job George, good showcase for skills. Website is nice, docs and writeup are A+. Thanks for the great article.
> namely the Allwinner F1C100s
confirmed ARM926EJ-S is officially the new Atmega328p
Wow…talk about inducing a nerdgasm. *awed*
That’s the bit larger footprint than the client OS we built for clustering computers back in 2000 based on a Linux 2.0(?) (it was a one week build and my memory isn’t serving) kernel. It was discreet, ran busybox and bits of μClinux plus Mosix and fit on a 1.44MB floppy.
But, can it run Doom?
500 or so Mhz, it should do, video output is up to you. Should even manage Quake with low res software rendering. When you get video output working, may as well go for Mame2000 and 8 bit emulators too.