Measuring An Atom

Do you need a well-equipped lab to measure the size of an atom (German, machine translation)? According to [stoppi], no. You need sunflower oil, some bear moss spores, and a bit of gasoline. You’ll also need some common things like a syringe, a baking sheet, and a jar. You can see the whole process in the video below. The measurement isn’t really for a specific atom, but it is an average for a lipid molecule, which is still impressive.

You essentially measure the diameter of an oil drop spread over water. Since the oil is mostly oleic acid, the height of the layer is known as 167 atoms. After that, it is some simple measurements and math to get the height and find the average atom height.

Continue reading “Measuring An Atom”

Old Laptop? Mobile X86 Game System!

Between smartphones and tablets, computing is becoming increasingly mobile in nature. It used to be that everyone had a desktop computer, then laptops became the norm, and now many people don’t have anything beyond their mobile device. Unless you’re the kind of person who actually needs the power and versatility offered by a “real” computer, mobile devices are simply a more convenient option to browse the web and consume content.

But what if your needs are somewhere in the middle? You want an x86 computer and full operating system, but you also want something that’s more mobile than a tablet? If you’re like [mnt], you take an old Atom laptop that’s on its last legs and rebuild it as the Hacktop.

[mnt] describes the Hacktop as an “Emergency Gaming/Hacking Station”, and says he uses it everywhere he goes. Inspired by his Nintendo DSi, gaming controls are front-and-center on the Hacktop and he uses the machine to play everything from Half-Life to classic emulators.

But the Hacktop is capable of more than just playing Amiga games. The hand-soldered QWERTZ keyboard can be used with his thumbs, and the D-Pad doubles as the cursor keys. There’s a laptop touch pad on the back of the case, and the ten-inch LCD display is a touch screen as well. Definitely no shortage of input devices on this thing. It’s also packing some interesting special features, such as integrated RTL-SDR and LIRC hardware for mobile exploration and experimentation. [mnt] says the nine-cell battery should keep it alive and kicking for twelve hours or so, but it of course depends on what kind of stuff he gets into while out and about.

Hackers have been building their own mobile devices for a long time, and we’re always struck by the creative approaches individuals take compared to the rather cookie-cutter world of mobile consumer technology.

Photograph Of Single Atom Captured With A Plain Old Camera

The Engineering and Physical Sciences Research Council awarded a remarkable photograph its overall prize in science photography. The subject of the photograph? A single atom visible to the naked eye. Well, perhaps not exactly the naked eye, but without a microscope. In the picture above (click here to enlarge), the atom is that pale blue dot between the two needle-like structures.

You probably learned in school that you couldn’t see a single atom, and that’s usually true. But [David Nadlinger] from the University of Oxford, trapped a positively charged strontium atom in an ion trap and then irradiated it with a blue-violet laser. The atom absorbs and reemits the light, and a camera can pick up the light, creating a one-of-a-kind photograph. The camera was a Canon 5D Mk II with a 50mm f/1.8 lens — a nice camera, but nothing too exotic.

The ion trap keeps the single atom balanced between two small needle points about 2 millimeters apart. [Nadlinger] did some math that convinced him the photograph could be possible and made it a reality on a Sunday afternoon. The pale dot isn’t especially spectacular by itself, but when you realize that it is the visual effect of a single atom, it is mind-blowing. Turns out, the lab has taken some similar photographs in the past. They don’t remember who took it, but they have a picture of 9 calcium-43 ions trapped, that you can seen below. The ions are 10 microns apart and at an effective temperature of 0.001 degrees Kelvin.

Other winning photographs included patterns on a soap bubble, an EEG headset in use, and microbubbles used to deliver drugs. There’s also an underwater robot, a machine for molecular beam epitaxy that looks like a James Bond villain’s torture device, and lattices made with selective laser melting 3D printing.

If you want to look at atoms from the comfort of your own home, maybe you should build an STM. You might even try NIST’s improved atom probe while you are at it. Just remember you can’t trust atoms. They make up everything.

Photo credit: David Nadlinger

Ask Hackaday: How Do You Python?

Python is the Arduino of software projects. It has a critical mass of libraries for anything from facial recognition and neural networks to robotics and remote sensing. And just like Arduino, I have yet to find the killer IDE for Python. Perhaps I just haven’t tried the right one yet, but it could be that I’m just doing Python wrong.

For Years I’ve Been IDLE

IDLE with interactive shell that has highlighting and code completion

I’m a Linux-only type of a guy so using IDLE for Python is a natural fit. It’s in the repositories for super quick and easy install and there’s basically zero configuration to be done. Generally speaking my preferred development environment is text editor and command line compiler. IDLE is just one step above that. You get a separate window for the shell and each Python file you’re working on. Have IDLE run your code and it saves the file, then launches it in the shell window.

For me, there are two important features of IDLE’s shell. The first is that it keeps an interactive session open after you run your Python code. This means that any globals that your script uses are still available, and that you can experiment with your code by calling functions (and classes, etc) in real time. The second desirable feature is that while using this interactive shell, IDLE supports code completion and docstring support (it gives you hints for what parameters a function accepts/requires).

But simplicity has a tough time scaling. I’m working on larger and larger projects spread over many files and the individual nature of IDLE editor windows and lack of robust navigation has me looking to move forward.

The Contenders

I’ve tried perhaps a half-dozen different Python IDEs now, spending the most time on two of them: Geany and Atom. Both are easy to install on Linux and provide the more advanced features I want for larger projects: better navigation, cross-file code completion (and warnings), variable type and scope indication.

The look of Geany brings to mind an “IDE 1.0” layout style and theme. It’s the familiar three-pane layout that places symbols to the left, code to the right, and status along the bottom. When you run your program it launches in an interactive terminal, which I like, but you lose all IDE features at this point, which I despise. There is no code completion, and no syntax highlighting.

I have been using Atom much more than Geany and have grown to like it enough to stick with it for now. I’d call Atom the “IDE 2.0” layout. It launches with a dark theme and everything is a tab.

Atom has symbol view that isn’t shown all the time. CTRL-R brings it up and it uses a search style but you can also scroll through all symbols

Atom depends heavily on packages (plugins that anyone may write). The package management is good, and the packages I’ve tried have been superb. I’m using autocomplete-python and tabs-to-spaces, but again I come up short when it comes to running Python files. I’ve tried platformio-ide-terminal, script, and runner plugins.  The first brings up a terminal as a bottom pane but doesn’t automatically run the file in that terminal. Script also uses a bottom pane but I can’t get it to run interactively. I’m currently using runner which has an okay display but is not interactive. I’ve resorted to using a “fake” python file in my projects as a workaround for commands and tests I would normally run in the interactive shell.

Tell Us How You Python

It’s entirely possible I’ve just been using Python wrong all these years and that tinkering with your code in an interactive shell is a poor choose of development processes.

What do you prefer for your Python development? Does an interactive shell matter to you? Did you start with IDLE and move to a more mature IDE. Which IDE did you end up with and what kind of compromises did you make during that change. Let us know in the comments below.

Storing Data On A Single Atom

In the electronics industry, the march of time brings with it a reduction in size. Our electronic devices, while getting faster, better and cheaper, also tend to get smaller. One of the main reasons for this is the storage medium for binary data gets smaller and more efficient. Many can recall the EPROM, which is about the size of your thumb. Today we walk around with SD cards that can hold an order of magnitude more data, which can fit on your thumb’s nail.

Naturally, we must ask ourselves where the limit lies. Just how small can memory storage get? How about a single atom! IBM along with a handful international scientists have managed to store two bits of information on two pairs of holmium atoms. Using a scanning tunneling microscope, they were able to write data to the atoms, which held the data for an extended period of time.

Holmium is a large atom, weighing in at a whopping 67 AMU. It’s a rare earth metal from the lanthanide series on the periodic table. Its electron configuration is such that many of the orbiting electrons are not paired. Recall from our article on the periodic table that paired electrons must have opposite spin, which has the unfortunate consequence of causing the individual magnetic fields to cancel. The fact that holmium has so many unpaired electrons makes it ideal for manipulation.

While you won’t be seeing atom-level memory on the next Raspberry Pi, it’s still neat to see what the future holds.

Thanks to [Itay] for the tip!

Via Gizmodo.

Very, Very Tiny X86 Systems

The most interesting market for Intel in recent years has been very, very small form factor PCs. ARM is eating them alive, of course, but there are still places where very small and very low power x86 boards make sense. The latest release from SolidRun is the smallest we’ve seen yet. The SolidPC Q4 is one of the smallest x86 implementation you can find. It’s based around the MicroSoM, a module even smaller than a Raspberry Pi, and built around a carrier board that has all the ports you could ever want from the tiniest PC ever.

The SolidPC Q4 is technically only a carrier board featuring a microSD slot, Displayport, HDMI 1.4B, two RJ45 ports with the option for PoE, three USB 3.0 Host ports, jacks for mic and stereo sound, and an M.2 2230 connector for a wireless module. The interesting part of this launch is the MicroSoM, a System on Module based on Intel’s Braswell architecture. Two models are offered, based on the quad-core Atom E8000 and the Pentium N3710. Both modules feature up to 8GB of DDR3L RAM and 4GB of eMMC Flash.

The interesting part of this launch is the MicroSoM, a System on Module based on Intel’s Braswell architecture. Two models are offered, based on the quad-core Atom E8000 and the Pentium N3710. Both modules feature up to 8GB of DDR3L RAM and 4GB of eMMC Flash. The size of these modules is 52.8mm by 40mm, or just a shade larger than the stick-of-gum-sized Raspberry Pi Zero.

The SolidPC isn’t intended to be a Raspberry Pi competitor. While those cheap ARM boards are finding a lot of great uses in industry, they’re no replacement for a small, x86 single board computer. The pricing for this module starts at $157 according to the product literature, with a topped out configuration running somewhere between $300 and $350, depending on options like a heatsink, enclosure, or power adapter. If you want a small single board computer with drivers for everything, there aren’t many other options: you certainly wouldn’t pick a no-name Allwinner board.

Atomic Arduino (and Other) Development

Even the most die-hard Arduino fan boys have to admit that the Arduino development environment isn’t the world’s greatest text editor (they’d probably argue that its simplicity is its strength, but let’s ignore that for now). If you are used to using a real code editor, you’ll probably switch to doing your Arduino coding in that and then use the external editor integration in the IDE.

That works pretty well, but there are other options. One we noticed, PlatformIO, extends GitHub’s Atom editor. That makes it cross-platform, powerful, and with plenty of custom plug ins. It also supports a range of platforms including Arduino, many ARM platforms, MSP430, and even desktop computers running Linux or Windows.

Continue reading “Atomic Arduino (and Other) Development”