From Zero to Nano

Have you ever wanted to build your own Arduino from scratch? [Pratik Makwana] shares the entire process of designing, building and flashing an Arduino Nano clone. This is not an entry-level project and requires some knowledge of soldering to succeed with such small components, but it is highly rewarding to make. Although it’s a cheap build, it’s probably cheaper to just buy a Nano. That’s not the point.

The goal here and the interesting part of the project is that you can follow the entire process of making the board. You can use the knowledge to design your own board, your own variant or even a completely different project.

from-zero-to-nano-thumb[Pratik Makwana] starts by showing how to design the circuit schematic diagram in an EDA tool (Eagle) and the corresponding PCB layout design. He then uses the toner transfer method and a laminator to imprint the circuit into the copper board for later etching and drilling. The challenging soldering process is not detailed, if you need some help soldering SMD sized components we covered some different processes before, from a toaster oven to a drag soldering process with Kapton tape.

Last but not least, the bootloader firmware. This was done using an Arduino UNO working as master and the newly created the Arduino Nano clone as target. After that you’re set to go. To run an actual sketch, just use your standard USB to UART converter to burn it and proceed as usual.

Voilá, from zero to Nano:

Continue reading “From Zero to Nano”

Nespresso Capsule Detector

Nespresso fans rejoice! If you like coffee (of course you do) and are a Nespresso fan, chances are you are one of two types of persons: the ones that chosen one type of capsule and stick to it or the ones that have a jar full of mixed capsules and lost track which coffee is which. Of course, there is a third, rarer, OCDish, kind. The ones that have every capsule organized neatly by color in a proper holder, full of style. In any case, if you forgot which color is which coffee because you threw the case away and forgot about it here’s an interesting weekend project for you: the Nespresso Capsule Detector.

[ team] made a neat Arduino-based project that can detect which capsule is which using an RGB color detector and display information about it on an LCD display. It’s a pretty simple project to make. If you have a 3D printer you can print the case, if not it’s fairly easy to come up with a working casing for the electronics and capsule.

The operation is simple, just drop the capsule in the hole and the Nespresso Capsule Detector will tell you which type it is, its intensity, its flavor tones and the optimal cup size for the coffee in question. We are just not sure if it can detect the Nespresso weddingbots correctly, but who knows?

Have a look:

Continue reading “Nespresso Capsule Detector”

Arduino Altair 8800 Simulator

Browse around eBay for an original Altair 8800 and you quickly find that the price range is in the thousands of dollars. If you are a collector and have some money in your pocket maybe that’s okay. But if you want the Altair 8800 experience on a budget, you can build yourself a clone with an Arduino. [David] kindly shared the build details on his Arduino Project Hub post. Using an Arduino Due (or a Mega for 25% of original speed), the clone can accurately reproduce the behavior of the Altair’s front panel elements. We covered a similar project in the past, using the Arduino Uno.

While not overly complicated to build one, you will need a backfair amount of patience so you can solder all the 36 LEDs, switches, transistors, and resistors but in the end, you’ll end up with a brand new computer to play with.  In 1975, an assembled Altair 8800 Computer was selling for $621 and $439 for an unassembled version. Sourced right, your clone would be under 50 bucks. Not bad.

The simulator comes with a bunch of software for you to try out and even games like Kill-the-Bit and Pong. BASIC and Assembler example programs are included in the emulator software and can easily be loaded.

In addition, the simulator includes some extra functions and built-in software for the Altair which are accessible via the AUX1/AUX2 switches on the front panel (those were included but not used on the original Altair). From starting different games to mount disks in an emulated disk drive, there are just too many functions to describe here. You can take a look at the simulator documentation for more information.

In case you don’t know already, here’s how to play Kill-the-Bit:

Continue reading “Arduino Altair 8800 Simulator”

PolaPi-Zero For Surprisingly Good Instant Photos

The ‘Pola’ in the PolaPi is a giveaway for what this project is. This polaroid-like camera, created by [Muth], is a sort of black and white, blast from the past mixed with modern 3D printing. It is based on a Raspberry-pi Zero with a camera module, a Sharp memory LCD for viewing the image, and a Nano thermal printer to print the actual photo. Throw in some buttons, a battery and a slick 3D printed case and you have your own PolaPi.

polapi-frontRight now it’s already on the second iteration as [Muth]s gave the first prototype to some lucky person. As he had to rebuild the whole camera from scratch, he took advantage of what he learned in the first prototype and improved on it. The camera has a ‘live’ 20fps rate on the LCD and you can take your photo, review it, and if you like the shot, print it. The printed photo is surprisingly good, check it out in the video after the break.

Currently the software is being actively developed and the latest version has, among other things, a slit-scan mode. For those who don’t know, slit-scan photography is a technique that can create some crazy warped and psychedelic effects (in this case, as psychedelic as a black and white photo can be).

We know you want one for yourself. If you don’t want to spend the time installing and configuring your RPi Zero, [Muth] kindly shared an SD card image with everything ready.

Continue reading “PolaPi-Zero For Surprisingly Good Instant Photos”

Zooids — Swarm User Interface

What the heck is a Zooid? A Zooid is a small cylindrical robot, measuring 26 mm in diameter and 21 mm in height, weighting about 12g. Each robot is powered by a 100 mAh LiPo battery and uses motor driven wheels — and these things are snappy at a top speed of about 0.5m/s. Each Zooid is able to know if you touched it via capacitive touch sensing. It has wireless capabilities through an NRF24L01+ chip. So, what’s it for, you wonder…

zooids-swarm-robotics-thumbOne robot might not do much but the idea behind the Zooids is the introduction of swarm user interfaces, a new class of human-computer interfaces that involves multiple autonomous robots to handle both display and interaction. In a joint work between the Shape Lab at Stanford University (USA) and the Aviz team at Inria (France), researchers developed an open-source open-hardware platform for what they called “tabletop swarm interfaces”. The actual interface involves a swarm of Zooids, a radio base-station, a high-speed DLP structured light projector for optical tracking and a software framework for application development and control.

In the demonstration video we can see some examples of use of the Zooids. Could the resolution be measured as, erm, ZPI? Near the end of the demo we can see a new level of interactivity where the swarm quickly works together as a team and sort of fetch the user’s phone. Now, if they can be made to scour the house in search of our keys, that would be something…

Continue reading “Zooids — Swarm User Interface”

A Multicore ZX Spectrum

From the blog of [telmomoya] we found his latest project: a hardware based multicore solution for a ZX Spectrum Emulator. It’s not the first time we feature one of his builds, last year we was working on a ARM Dual-Core Commodore C64. Luckily for Speccy fans, it seems a ZX Spectrum project was just unavoidable.

At its heart is the EduCIAA NXP Board, a Dual Core (M4 & M0) 32-bit microcontroller, based on the NXP LPC4337. It’s an Argentinan-designed microcontroller board, born from an Argentinian academic and industry joint venture. [telmomoya] took advantage of  the multicore architecture by running the ZX Spectrum emulator on M4 core and generating the VGA signals with M0 core. This guarantees that the VGA generation, which is rather time-sensitive, remains isolated from emulation and any task running on other core. The VGA sync is via polling and using DMA GPIO the RGB signals can be up to 256 colors. To store the 48 kb VGA frames one AHB32 and one AHB16 memory IC are used.

On the software side, [telmomoya] adopted Aspectrum, a ZX Spectrum Emulator fully written in C, modified to his needs. Overall, the project faced many challenges and issues, like COLOR VGA generation (with GPIO DMA), TFT SPI low fps, Inter Process Communications and bus sharing.

Can you try to name all the games in the demonstration video?

Continue reading “A Multicore ZX Spectrum”

ASLR^CACHE Attack Defeats Address Space Layout Randomization

Researchers from VUSec found a way to break ASLR via an MMU sidechannel attack that even works in JavaScript. Does this matter? Yes, it matters. A lot. The discovery of this security flaw along with the practical implementation is really important mainly because of two factors: what it means for ASLR to be broken and how the MMU sidechannel attack works inside the processor.

Address Space Layout Randomization or ASLR is an important defense mechanism that can mitigate known and, most importantly, unknown security flaws. ASLR makes it harder for a malicious program to compromise a system by, as the name implies, randomizing the process addresses when the main program is launched. This means that it is unlikely to reliably jump to a particular exploited function in memory or some piece of shellcode planted by an attacker.

Breaking ASLR is a huge step towards simplifying an exploit and making it more reliable. Being able to do it from within JavaScript means that an exploit using this technique can defeat web browser ASLR protection running JavaScript, the most common configuration for Internet users.

ASLR have been broken before in some particular scenarios but this new attack highlights a more profound problem. Since it exploits the way that the memory management unit (MMU) of modern processors uses the cache hierarchy of the processor in order to improve the performance of page table walks, this means that the flaw is in the hardware itself, not the software that is running. There are some steps that the software vendors can take to try to mitigate this issue but a full and proper fix will mean replacing or upgrading hardware itself.

In their paper, researchers reached a dramatic conclusion:

Continue reading “ASLR^CACHE Attack Defeats Address Space Layout Randomization”