For an engineer , How to declare your strength on a business card ？ It might be a good idea to build a complete computer on it .
lately , An embedded system engineer in the United States George Hilliard My business card has attracted people's attention . He takes his business card as 「 a main board 」, Printed all the components needed for the computer system in a small space , Make it a machine that can run Linux Our computer . There's also a simplified version of Python Interpreter .
This geek like idea has been widely praised by people on social networks , His article is in HackerNews It's been less than a day since they appeared on the Internet , Like more than 2000.
Make a business card like this , In addition to having enough theoretical knowledge , The parts you need can be bought on Taobao （ Yes , That's what this American kid did ）, The cost of a business card is about 20 RMB .
Let's see how he did it .
As an Embedded System Engineer ,George Hilliard Always looking for the perfect design , One of them is the simplest Linux System computer . He has been looking for the best solution among the mass processor models , Finally, a new continent was discovered . He said to himself ：「 These processors are as cheap as free .」 And it soon came out that they could be made to run Linux The idea of my business card .
before , Many geek pioneers have developed their own ideas on their business cards , These include U A business card 、 Business card with flash , Even a business card with radio launch . But it's never worked yet Linux Business card of the system .
therefore George I made one myself ：
The finished product looks like this , It's a complete ARM Architecture computer , Run by Buildroot Custom built Linux The firmware .
So how to make it run ？ In the lower left corner of the business card is a USB Interface , If you plug it into a computer , It will be 6 Seconds start , Is shown as USB Flash memory , And virtual serial port , You can use the card shell land . There's one in the flash drive README file 、 A copy of your resume and some photos . and shell There are a lot of games on the Internet , such as Unix On the classic fortune and rogue、2048 And a small one MicroPython Interpreter .
All of these are in a capacity of only 8MB On a flash card .Bootloader The size is 256KB, The kernel is 1.6MB, The whole root file system is used up 2.4MB. So a system is more than enough . It also contains a writable home directory , In case someone wants to deposit something on it .
Last , The cost of a business card is controlled in RMB 20 yuan , For a computer , It seems cheap enough .
Business card design is 「 Technical work 」
George Hilliard I designed and made the whole business card , Although it's the author's job , But it's hard to find cheap enough components .
The choice of processor is the most important part , It will control costs and make sure the whole project is viable . After a series of research ,George I chose F1C100s, It is Allwinner It's a cheap chip , It does a lot of work on cost optimization . This chip integrates RAM And CPU, At least it has met the requirements in function .
What I didn't expect was ,George I bought it on Taobao F1C100s, Other components are in LCSC Last bought .
George Use JLC Made PCB The board , Maybe it just needs 56 You can do it for two dollars 10 Share .George Show that he is right JCL I'm very impressed with the boards I made , They don't look like OSHPark It's so well made , But the quality is also good , The point is affordable . It's the first black circuit , It has a little bit of fingerprint magnetism .
I had a little trouble making the circuit board for the first time ： First ,USB The port is not long enough , So it's hard to communicate with more USB Interface connection ; secondly ,flash footprint It's wrong. ,George Push the pin behind the component by hand .
After we verify the parts , Once more, you can get the strength of the article . Because the size of the circuit board is very small ,George Decide to use a cheap one immediately Reflow soldering Return all the parts . Because he can use Laser cutting machine , So you can use laser cutting die press pressed solder template . The effect of the template is very good , Chip 0.2 Millimeter stitches need special attention to keep them clean ： Laser power and focal length are very important .
Other blank PCB The board is a very good fixture , Used to fix plates to handle pins , Fixing can be done with transparent glue .George Use solder to weld components manually , He made sure that the plates and components were lead-free 、 Harmless , So it's OK to use it as a business card .
The processing result shown in the figure above is a little bit deviated , But solder is actually quite easy to use , And it's very easy to assemble . Every component needs to be 10 Second assembly , So the author tries to reduce the number of components .
How much is such a business card ？
front George The cost has been reduced as much as possible , He thinks it's cheap enough now , Even if you send your business card to others, it won't hurt . Of course , Only important acquaintances will receive such business cards , After all, you have to assemble all the components one by one . All the costs below don't take assembly time into account , Readers with strong hands-on ability can consider making one by themselves .
Of course , The author also shows that there are many costs that cannot be quantified , Such as freight, trial and error, etc . but 20 block RMB It's already very low , Especially for a piece that can run Linux The board of the system . In fact, this also reflects the cost of manufacturing end equipment , The cost of components is much lower than we think .
How about the performance of a business card
Um. , It's in 6 Within seconds, a super simplified Linux System . Because of the format and cost , The business card is not I/O、 Networking modules , And other programs that take up more resources . But anyway ,George It's interesting to copy the firmware file of the application .
We can get through USB Do a lot of interesting things , But the author keeps the business card in a very compact state , We can do something on the computer .Linux Let's use some gadgets like devices , The author has also transferred some of the previous development work of the chip to his business card , So it can be USB The full functionality of the gadget framework .George Decided to simulate a pre generated flash drive , And through the virtual serial port to provide shell service .
Log in as root After user , We can run all the analog serial console ：
rogue： classical Unix game 《 Dungeon crawler 》;
2048： Console version of 2048 game ;
fortune： All kinds of famous sayings , To save space for other applications , It doesn't contain a complete database ;
micropython： A very light weight Python Interpreter .
Analog flash drive
During compilation , The build tool can generate a very small FAT32 Mirror image , And add it to UBI partition . As described earlier ,Linux The gadget subsystem will provide it as a storage device to PC. If you want to see what happened to flash drives , So the easiest thing is to look at the source code , It contains some resumes and introductions of the author .
Flash drive source address ：https://github.com/thirtythreeforty/businesscard-linux/tree/master/package/businesscard-flashdrive/files
What resources are needed to make this kind of business card ？
In the process of making circuit board business card ,George Used F1C100s chip , And run mainstream on it Linux 5.2 edition . Besides , He also provided some information about F1C100s Chip documentation , For readers' reference .
George Already in GitHub In the open source Buildroot tree, Readers can view it by themselves .Buildroot tree Include generation NOR flash Mirror code , And then through the processor's USB Download mode to install . Besides ,Buildroot tree It also includes games and other useful software packages , For example Buildroot add to fortune Software .
If you want to use F1C100s chip , It's a good start （ If there is a problem , Please feel free to contact ）.
Buildroot tree Project address ：https://github.com/thirtythreeforty/businesscard-linux
Besides ,George It's rescheduled Icenowy released F1C100s Development work , It can run Linux 4.9 edition .George My business card is close to the mainstream 5.2 Run... On version , The patch has been repaired and debugged .
Icenowy/linux Project address ：https://github.com/Icenowy/linux/tree/f1c100s
thirtythreeforty/linux Project address ：https://github.com/thirtythreeforty/linux/tree/f1c100s-v5.2.4
about F1C100s chip ,George Believe that you have the best U-Boot Configure the compile port , Again, these are based on Icenowy Part of the work .
U-Boo Project address ：https://github.com/thirtythreeforty/u-boot/tree/f1c100s-v2019.04
George Found some of the following about F1C100s Documents ：
Allwinner F1C100s Datasheet （ Provides pin leads and general information ）：https://www.thirtythreeforty.net/media/F1C100s_Datasheet_V1.0.pdf;
Allwinner F1C600 Reference Manual（ Provide F1C600 Register definition of , It is F1C100s An improved version after re branding , Support Linux）：https://www.thirtythreeforty.net/media/Allwinner_F1C600_User_Manual_V1.0.pdf;
schematic for Sipeed's Lichee Nano（ This is a George The development board used to make the software run smoothly ）：http://dl.sipeed.com/LICHEE/Nano/.
Last , As shown in the figure below ,George Upload the schematic diagram of making circuit board business card .
Schematic diagram of circuit board business card .
Some netizens commented that ：「 What's incredible to me is , Such a piece of cost 1.42 dollar （ renminbi 10 element ） It's a chip that almost contains Linux All the necessary hardware ：500MHz Of CPU、32MB SDRAM、2D GPU、SD/MMC Support and USB controller . They're all packaged together 10mm×10mm In a tiny chip . This makes me want to go into the pit of embedded development .」
George I learned a lot from this business card project , This is his first project using reflow soldering to reflow components . Besides , For some components that lack documentation ,George You also have to learn to find the necessary resources .
In the course of the project ,George This paper draws lessons from its related embedded technology Linux And design PCB Experience . The project is not entirely flawless , But it shows his ability . Besides ,George He said that he is working on how to start from scratch for circuit boards, business cards and other small 、 cheap Linux System building hardware and software .
Reference link ：https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/