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 .

 picture
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 :

 picture


The finished product looks like this , It's a complete ARM Architecture computer , Run by Buildroot Custom built Linux The firmware .

 picture


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 .

 picture


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 .

 picture


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 .

 picture


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 .

 picture


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 .


USB


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 .


Shell


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 .


Source code


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


F1C100s file


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 .

 picture

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 .


Project insights


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/