For an engineer, how to declare his strength on a business card? It might be a good idea to build a complete computer on it.

George Hilliard, an embedded system engineer in the United States, has attracted attention. He used his business card as the "motherboard" and printed all the components needed for the computer system in a small space, making it a computer that can run Linux. There is also a simplified version of the Python interpreter.

This geeky idea has attracted widespread admiration on social networks. His article appeared on HackerNews received more than 2,000 likes in less than a day.

To make such a business card, in addition to having sufficient theoretical knowledge, the required parts can be bought on Taobao (yes, this American brother does this). The cost of a business card is about RMB 20.

Let's see how he did it.

As an embedded systems engineer, George Hilliard is always looking for the perfect design, one of which is the simplest Linux system computer. He has been searching for the optimal solution among the massive processor models, and finally found a new continent. He said to himself, "These processors are as cheap as free gifts." The idea quickly came to using them to make business cards that could run Linux.

Earlier, many geek pioneers used their creative ideas in business cards, including U-disk business cards, business cards with flash, and even business cards with radio launch function. However, there have never been business cards that can run Linux systems.

So George did it himself:

The finished product looks like this, it is a complete ARM-based computer running custom Linux firmware built by Buildroot.

So how to get it running? The lower left corner of the business card is a USB interface. If you plug it into a computer, it will start in 6 seconds, recognized as a USB flash drive, and a virtual serial port. You can log in using the card's shell. The flash drive contains a README file, a copy of your resume, and some photos. There are many games on the shell, such as the classic fortune and rogue on Unix, 2048, and a small MicroPython interpreter.

All of this is implemented on a flash card with a capacity of only 8MB. The size of the bootloader is 256KB, the kernel is 1.6MB, and the entire root file system uses 2.4MB. So installing a system is more than enough. It also contains a writable home directory in case someone wants to put something on it.

In the end, the cost of a business card was controlled at around RMB 20, which seemed cheap enough for a computer.

George Hilliard himself designed and produced the entire business card. Although it is the author's job, it is very troublesome to find components that are cheap enough.

The choice of processor is the most important part, it will control the cost and make sure the whole project is feasible. After a series of research, George chose the F1C100s, which is a very cheap chip from Allwinner. It has worked hard on cost optimization. This chip integrates RAM and CPU. Functionally at least the requirements have been met.

Unexpectedly, George actually bought the F1C100s on Taobao, and other components were bought on LCSC.

George used JLC (Jia Li Chuang, a Chinese PCB manufacturer) to make PCB boards. It only takes 56 yuan to make 10 copies. George said he was impressed with the boards made by JLC. Although they are not as good as those made by OSHPark, they are of good quality and affordable. The first circuit board was matte black.

George also encountered a little trouble when he first made the circuit board: First, the USB port was not long enough to make it difficult to connect with more USB interfaces. Second, the flash footprint is wrong, and George manually pressed the pins behind the component.

After verifying the various parts, making the plate again will get the example above. Because the board size was small, George decided to immediately reflow all the parts using a cheap reflow solder. Because he can use a laser cutter, he can use a laser to cut a solder template pressed by a stamper. The effect of the stencil is very good, and the 0.2 mm pins of the chip need special attention to maintain the smoothness: the laser power and focal length are very important.

Other blank PCB boards are very good fixtures to fix the board to handle the pins, and the fixation can be done with transparent tape. George uses solder to solder components by hand. He ensures that the processing of plates and components is lead-free and harmless, so it is not a problem to use as a business card.

How much does it cost?

George has already reduced costs as much as possible, and he thinks it is cheap enough now, even if you send your business card to others, you won't be distressed. Of course, only important acquaintances will receive such business cards, after all, you need to assemble all the components. All the following costs do not consider assembly time, and 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 and trial and error. But 20 RMB is already very low, especially for a board that can run Linux system. In fact, this also reflects the cost of equipment at the production side of the enterprise, and the cost of components is much lower than we thought.

How about the performance of business cards?

Well, it started a super-simplified Linux system in 6 seconds. Due to factors such as format and cost, the business card has no I / O, networking modules, and other programs that take up a lot of resources. Regardless, George copied some interesting applications into the firmware.

USB

We can do a lot of interesting things through USB, but the author deliberately keeps the business card very streamlined, and we can try something on the computer. George decided to emulate a pre-built flash drive and provide shell services through a virtual serial port.

Shell

After logging in as root, the user can run the serial console:

  • rogue: the classic Unix game "Dungeon Crawler";
  • 2048: console version of the 2048 game;
  • Fortune: various famous celebrities, in order to save space for other applications, it does not include a complete database;
  • micropython: A very lightweight Python interpreter.

What resources do I need to make this business card?

In the process of making a business card for a circuit board, George used the F1C100s chip. The Linux kernel version is 5.2. In addition, he also provides some documents about the F1C100s chip for readers to learn from.

Source Code

George has open sourced the Buildroot tree on GitHub, and readers can download it themselves. The Buildroot tree contains the code to generate the NOR flash image, and then install it through the USB download mode of the processor. In addition, the Buildroot tree contains games and other useful software packages, such as adding fortune software to Buildroot.

If you want to use F1C100s chip in your project, this is a good start. Here's the GitHub Address:

https://github.com/thirtythreeforty/businesscard-linux

In addition, George rescheduled F1C100s development work released by Icenowy, which can run Linux 4.9 version. George's business card runs on the near-mainstream version 5.2, where patches are patched and debugged.

  • GitHub address of Icenowy/linux:

    https://github.com/Icenowy/linux/tree/f1c100s
  • GitHub address of thirtythreeforty/linux:

    https://github.com/thirtythreeforty/linux/tree/f1c100s-v5.2.4
  • GitHub address of U-boot:

    https://github.com/thirtythreeforty/u-boot/tree/f1c100s-v2019.04
Last modified: February 15, 2020

Author

Comments

Write a Reply or Comment

Your email address will not be published.