[Steve Martin] used to do a comedy act about “Let’s get small!” You have to wonder if [Paul Klinger] is a fan of that routine, as he recently completed a very small 3D printed PC that plays snake. Ok, it isn’t really a PC and it isn’t terribly practical, but it is really well executed and would make a great desk conversation piece. You can see the thing in all its diminutive glory in the video below.
The 3D printer turned out a tiny PC case, a monitor, and a joystick. The PC contains an ATtiny1614, an RGB LED, and some fiber optic to look like case lighting. The monitor is really a little OLED screen. A 5-way switch turns into the joystick.
Looking for a ultra tiny development board? Tomu is an ARM Cortex M0+ device that fits inside your USB port. We’ve seen these in person, and they’re tiny.
There’s a few commercial devices in this form factor on the market. For example, the Yubikey Nano emulates a keyboard to provide codes for two-factor authentication. The Yubikey’s tiny hardware does this job well, but the closed-source device isn’t something you can modify.
Tomu is a new device for your USB port. It sports a Silicon Labs EFM32 microcontroller, two buttons, and two LEDs. This particular microcontroller is well suited to the task. It can talk USB without a crystal for timing, and has an internal regulator to generate the core voltage from a 5 V USB supply. Since it supports DFU firmware updates, it can be reprogrammed without any special tools.
Unfortunately, the EFM32 device lacks secure storage options, so the Tomu might not be the best device to keep your secrets on. That being said, it will be interesting to see what applications people come up with. The creators have suggested using the device for media buttons, sleeping and waking a computer, and as a U2F key.
The project is currently available on CrowdSupply, and all design files and source is available on their Github. If you like soldering tiny things, the twelve-part bill of materials should be fairly easy to assemble at home.
Electronics, metalwork, carpentry, sewing — however you express your inner hacker, you’ve got to have a place to work. Most of us start out small, assembling projects on the kitchen table, or sharing space on a computer desk. But eventually, if we’re lucky, we all move on to some kind of dedicated space. My first “shop” was a corner of the basement my Dad used for his carpentry projects. He built me what seemed at the time like a huge bench but was probably only about five feet long. Small was fine with me, though, and on that bench I plotted and planned and drew schematics and had my first real lesson in why you don’t reach for a soldering iron without looking first. My thumb still bears that scar as a reminder.
Many of us outgrow that first tiny space eventually, as projects (and accumulated junk) outpace the available space. Some of us go on to build workspaces to die for; personally, I feel wholly inadequate whenever I see Frank Howarth’s immense wood shop, with its high ceilings, huge windows for natural light, and what amounts to a loading dock. Whenever I see it I think The work I could do in there!
Or could I? Is bigger necessarily better when it comes to workspaces? Would more space make me a better craftsman?
What’s tiny and on track to be worth $22 billion dollars by 2018? MEMS (Micro Electrical Mechanical Systems). That’s a catch-all phrase for microscopic devices that have moving parts. Usually, the component sizes range from 0.1 mm to 0.001 mm, which is tiny, indeed. There are some researchers working with even smaller components, sometimes referenced as NEMS (Nano Electrical Mechanical Systems).
MEMS have a wide range of applications including ink jet printers, accelerometers, gyroscopes, microphones, pressure sensors, displays, and more. Many of the sensors in a typical cell phone would not be possible without MEMS. There are many ways that MEMS devices are built, but just to get a flavor, consider the cantilever (see right), one of the most common MEMS constructions.
Watch aficionados have a certain lust for mechanical watches. These old school designs rely on a spring that’s wound up to store energy. The movement, an intricate set of gears and other mechanical bits, ensures that the hands on the watch face rotates at the right speed. They can be considered major feats of mechanical engineering, with hundreds of pieces in an enclosure that fits on the wrist. They’re quite cheap, and you have to pay a lot for accuracy.
Quartz watches are what you usually see nowadays. They use a quartz crystal oscillator, usually running at 32.768 kHz. These watches are powered by batteries, and beat out their mechanical counterparts for accuracy. They’re also extremely cheap.
Back in 1977, a watchmaker at Seiko set off to make a mechanical watch regulated by a quartz crystal. This watch would be the best of both words. It did not become a reality until 1997, when Seiko launched the Spring Drive Movement.
A Blog To Watch goes through the design and history of the Spring Drive movement. Essentially, it uses a super low power integrated circuit, which consumes only 25 nanowatts. This IC receives power from the wound up spring, and controls an electromagnetic brake which allows the movement to be timed precisely. The writeup gives a full explanation of how the watch works, then goes through the 30 year progression from idea to product.
[Pawel] has a weather station, and its nerve-center is a Raspberry Pi. He wanted to include a light sensor but the problem is, the Pi doesn’t have a built-in ADC to read the voltage off the light-dependent resistor that he (presumably) had in his junk box. You can, of course, buy I2C ADC chips and modules, but when you’ve already got a microcontroller that has ADC peripherals on board, why bother?
[Pawel] wired up a tremendously simple circuit, downloaded some I2C slave-mode code, and added an LED for good measure. It’s all up on GitHub if you’re interested.
We’re covering this because we rarely see people coding for I2C slave devices. Everyone and their mom uses I2C to connect to sensors, for which the Arduino “Wire” library or “i2c-tools” on the Pi do just fine. But what do you do when you want to make the I2C device? [Pawel]’s project makes use of TinyWireS, a slave-mode SPI and I2C library for AVR ATtiny Arduino projects.
Here, [Pawel] just wanted a light sensor. But if you’re building your own devices, the sky is the limit. What’s the most esoteric I2C sensor that you can imagine? (And is it really the case that we haven’t seen an I2C slave device hack since 2010?)
[jamesone111] bought a Transcend WifiSD card, presumably for photography, but it may just have been because he heard that they’re actually tiny Linux servers.
He read a post about these cards on the OpenWRT forums. They’re all a similar configuration of a relatively large amount of memory (compared to the usual embedded computer), a WiFi chip, and an ARM processor running a tiny Linux install. The card acts as a WiFi access point with a little server running on it, and waits for the user to connect to it via a website. It also has a mode where it will connect to up to three access points specified by the user, but it doesn’t actually have a way to tell the user what its IP address is; which is kind of funny.
[jamesone111] hacked around with the Transcend card for a bit. He found it pretty insecure, which as long as you’re not a naked celebrity, shouldn’t be a huge issue. For the hacker this is great as it opens up the chance of hacking the firmware for other uses.
Some have already pulled off some cool hacks with these cards. For example, [peterburk] hacked a similar card by PQI to turn his iPod into a portable file server.