(Star those things about programmers)
Original: those things about programmers (id: iProgrammer)
Tossing embedded programmer
George (George Hilliard) does embedded development and likes to tinker with things in his free time. Recently, he likes to toss about cheap processors that can support Linux, the cheaper the better.
He suddenly wondered if he could build a simple computer in the form of a business card.
Although he has seen personalized electronic business cards made by other engineers before, there are various interesting features, including analog USB flash drives, flashlights, and even wireless transceivers.
But he had never seen a business card running Linux, so he wanted to make one himself.
Well, he really did it, and the following is the finished product. This is a complete, smallest ARM computer that can run his custom Linux firmware built with Buildroot.
(Front of business card)
(back)
Features of Linux Microcomputer
> There is a USB interface on the corner, plug in the computer about 6 seconds after booting, through the USB as a flash drive and a virtual serial port displayed, you can log in to the root user from the built-in shell.
> 8MB of flash memory, containing his resume and photos. There are also some classic games in the shell (for example: 2048) and a MicroPython interpreter.
> The size of the boot loader is 256 KB, the kernel is 1.6 MB, and the entire root file system is 2.4 MB;
> There is also a writable directory. The remaining space of the flash memory is enough for others to put something.
Design and assembly
George wrote a separate article for the detailed process of making business cards:
www.thirtythreeforty.net/posts/2019/12/designing-my-linux-business-card/
Cost list
George controlled the material cost of this Linux microcomputer very cheaply, totaling 2.88 US dollars, which is equivalent to about RMB 20.
Of course, there are some costs that cannot be quantified, such as his time.
The processor was screened for a long time, and finally I chose F1C100s (including CPU and RAM) and bought it from a treasure. Other components are purchased from LCSC.
related resources
1. Source code
> Buildroot source code has been placed on GitHub:
https://github.com/thirtythreeforty/businesscard-linux
> Support Linux 5.2 and above
https://github.com/thirtythreeforty/linux/tree/f1c100s-v5.2.4
> U-Boot source code:
https://github.com/thirtythreeforty/u-boot/tree/f1c100s-v2019.04
2. F1C100s document
> Data Sheet:
www.thirtythreeforty.net/media/F1C100s_Datasheet_V1.0.pdf
> Reference Manual:
www.thirtythreeforty.net/media/Allwinner_F1C600_User_Manual_V1.0.pdf
3. The circuit schematic of George's business card
www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/businesscard.pdf
As a business card, having a USB port is already sufficiently streamlined. All other I/O and network ports are discarded. Otherwise, isn't the raspberry pi fragrant?
Reviews
George's business card sparked heated discussion on Hacker News.
@sagargandecha: I think this is great. I don't usually send out physical business cards often. Therefore, if I want to post, I will send it to people who I think usually find this stuff interesting. For anyone with security awareness, they can check the code from GitHub. For others, the information they need is reflected on the business card, even if there is no functional design, it is very attractive. No matter what your goal is, whether it is looking for a job or talking about business, the production cost of this business card is easy to justify itself.
@nilsb: Although this is a fascinating project, plugging someone else's USB business card into my computer will cause me some security concerns.
(Other netizens responded that this kind of business card is suitable as an embedded engineer, but not as a system security engineer. )
Recommended reading
(Click the title to jump to read)
C language thrives, embedded development market research
Programmer planted a logic bomb and sentenced to 6 months
Pay attention to "the programmer's things" star, don't miss the circle
Inside the circle, I'm watching ❤️