Undo Arduino Encryption With An Oscilloscope

Cryptography ain’t easy. Seemingly small details like how many times a computationally intensive loop runs can give the game away. [Lord Feistel] gives us a demo of how this could work with nothing more than poorly designed code, a resistor, and an oscilloscope.

The hardware side is, as mentioned, really simple. Put a resistor inline with the Arduino and monitor the voltage drop across the resistor with the scope. When the chip is working hard, it consumes more current, and code sections that take longer will show up as longer dips.

On the software end, it’s only a little more complicated.  The RSA encryption scheme involves a lot of exponentiation and modulo-taking. Here, [Lord Feistel] is targeting a naive way of computing the exponents quickly, and demonstrates how you can read the exponent straight out the chip’s power demand.

Implementing this attack against a real-world RSA algorithm, in the context of the Arduino doing other stuff, will be harder. And we don’t know if the algorithm implemented in “standard” Arduino libraries is smarter than this one. (If you know, let us know in the comments.) But still, this is a cool example of just how simple and straightforward it can be to eavesdrop on bad code.

If you only need to bypass encryption instead of breaking it, check out [Lord Feistel]’s other tutorial on power glitching that we featured previously. If you haven’t played around with the hardware side of security, it gets deep pretty quickly, but you can at least dip your toes in the shallow end with what you’ve got in your closet.

Arduino PLC Keeps The Beat

For most of our prototype, hobby, or one-off electronics projects it’s perfectly fine to use a development platform like an Arduino Uno or something to that effect. They’re both easy to program and easy to wire up to projects without breaking the bank. But if you step into an industrial setting where reliability is paramount even in places that are noisy, vibrating all the time, hot, or otherwise unpleasant for electronics, you’ll want to reach for a programmable logic controller (PLC) that are much more robust. There is actually a PLC from Arduino, and if you want to dip your toes into the PLC world then take a look at this drum kit based on the Arduino Opta.

With the PLC at the core of the build, it’s on to making the drumming mechanisms themselves. For that, project creator [JC Audio] is using a series of solenoids attached to camera mounts with a custom 3D printed part that allows for quick assembly and disassembly so he can get the positioning of each drum sound just right. The high hat is taken care of by the noise of an internal solenoid, with the other drums striking various real drums and other solid objects in his shops. The solenoids themselves are driven by a solid-state relay expansion module to ensure there’s enough power

While the build doesn’t sit inside a factory and run for years at a time, a musician’s stage is certainly a rough enough environment that we might reach for a PLC over a standard development board for its benefits. The code for this project is available as well at the project’s GitHub page for those looking for a more advanced timekeeper to play along with their music practice, and for more details on why you might choose a PLC for your project take a look at this Arduino vs PLC showdown from a few years ago.

Continue reading “Arduino PLC Keeps The Beat”

A DIY Proximity Sensor, Using Just Scrap Parts And Software

[mircemk] shows how to create a simple non-contact proximity sensor using little more than an Arduino Nano board, and a convenient software library intended to measure the value of capacitors.

The prototype has a threshold set via potentiometer for convenience.

The basic idea is that it’s possible to measure a capacitor’s capacitance using two microcontroller pins and the right software, so by using a few materials to create an open-style capacitor, one can monitor it for changes and detect when anything approaches enough to alter its values past a given threshold, creating a proximity sensor.

The sensor shown here is essentially two plates mounted side-by-side, attached to an Arduino Nano using the Capacitor library which uses just two pins, one digital and one analog.

As configured, [mircemk]’s sensor measures roughly thirty picofarads, and that value decreases when approached by something with a dielectric constant that is different enough from the air surrounding the sensor. The sensor ignores wood and plastic, but an approaching hand is easily detected. The sensor also detects liquid water with similar ease, either in the form of pooled liquid, or filled bottles.

We’ve also seen a spring elegantly used as a hidden touch sensor that works through an enclosure’s wall by using similar principles, so the next time you need a proximity or touch-sensitive sensor in a project, reaching for the junk box might get you where you need to go. Watch [mircemk]’s sensor in action in the video, just below the page break.

Continue reading “A DIY Proximity Sensor, Using Just Scrap Parts And Software”

Enjoy Totality Every Day With This Personal Eclipse Generator

There have been a couple of high-profile solar eclipses lately, but like us, you probably missed the news of the one that passed over Munich in 2019. And every day since then, in fact, unless you were sitting in a particular spot: the couch of one [Bernd Kraus], who has his very own personal eclipse generator.

We’ll attempt to explain. Living in an apartment with a gorgeous western view of Munich is not without its cons, chief among which is the unobstructed exposure to the setting sun. Where most people would opt for a window treatment of some sort to mitigate this, [Bernd] felt that blotting out the entire view was a heavy-handed solution to the problem. His solution is a window-mounted X-Y gantry that dangles a cutout of the moon in just the right place to blot out the sun. An Arduino uses the time and date to calculate the position of the sun as it traverses the expansive window and moves the stepper motors to keep the moon casting its shadow in just the right place: on his face as he sits in his favorite spot on the couch.

There are a couple of time-lapse sequences in the video below, as well as a few shots of the hardware. We know this isn’t an actual coronagraph, but the effect is pretty cool, and does resemble an eclipse, at least in spirit. And it goes without saying that we applaud the unnecessary complexity embodied by this solution.

Continue reading “Enjoy Totality Every Day With This Personal Eclipse Generator”

A PCB business card that plays tic-tac-toe with red and blue LEDs.

2024 Business Card Challenge: Go Tic-Tac-Toe-to-Toe With Them

There is perhaps no more important time to have a business card than when you’re in college, especially near the end when you’re applying for internships and such. And it’s vital that you stand out from the crowd somehow. To that end, Electrical & Computer Engineer [Ryan Chan] designed a tidy card that plays tic-tac-toe.

Instead of X and O, the players are indicated by blue and red LEDs. Rather than having a button at every position, there is one big control button that gets pressed repeatedly until your LED is in the desired position, and then you press and hold to set it and switch control to the other player. In addition to two-player mode, the recipient of your card can also play alone against the ATMega.

The brains of this operation is an ATMega328P-AU with the Arduino UNO bootloader for ease of programming. Schematic and code are available if you want to make your own, but we suggest implementing some type of changes to make it your own. Speaking of, [Ryan]  has several next steps in mind, including charlieplexing the LEDs, using either USB-C or a coin cell for power, upgrading the AI, and replacing the control button with a capacitive pad or two. Be sure to check it out in action in the two videos after the break.

Continue reading “2024 Business Card Challenge: Go Tic-Tac-Toe-to-Toe With Them”

An Arduino Nano Clone In A DIP-Sized Footprint

Nobody doubts the utility of the Arduino Nano and its many clones, and chances are good you’ve got at least one or two of the tiny dev boards within arm’s reach right now. But as small as it is, the board still takes up a fair amount of real estate, especially on solderless breadboards during the prototyping phase of a project. Wouldn’t it be nice to shrink down the Nano just a bit and regain a couple of rows for plugging in components and jumpers?

It looks like [Albert van Dalen] thought so, and he managed to get a Nano’s functionality — and then some — onto a DIP-26 footprint. The aptly named “Nano DIP,” which at 33 mm x 10 mm — about the same size as the ATmega328 on the Arduino Uno — will tickle the miniaturization fans out there. The board is built around an ATtiny3217 and has almost all of the Nano’s features, like a USB port, reset button, built-in LEDs, 5 V regulator, and preloaded bootloader. Its big extra feature is the 350-kilosamples-per-second 8-bit DAC, while sacrificing external crystal pins and a 3.3 V regulator.

To make the board cheap enough to manufacture, [Albert] elected a minimum component size of 0402, which made squeezing all the parts onto the board challenging. The MCU barely fits between the header pin pads, and the Micro USB jack had to be a vertical-mount type. It does the business, though, so if you’re looking to free up a little breadboard space, check it out.

Learning Morse Code With A DIY Trainer

Morse code, often referred to as continuous wave (CW) in radio circles, has been gradually falling out of use for a long time now. At least in the United States, ham radio licensees don’t have to learn it anymore, and the US Coast Guard stopped using it even for emergencies in 1999. It does have few niche use cases, though, as it requires an extremely narrow bandwidth and a low amount of power to get a signal out and a human operator can usually distinguish it even if the signal is very close to the noise floor. So if you want to try and learn it, you might want to try something like this Morse trainer from [mircemk].

While learning CW can be quite tedious, as [mircemk] puts it, it’s actually fairly easy for a computer to understand and translate so not a lot of specialized equipment is needed. This build is based around the Arduino Nano which is more than up for the job. It can accept input from any audio source, allowing it to translate radio transmissions in real time, and can also be connected to a paddle or key to be used as a trainer for learning the code. It’s also able to count the words-per-minute rate of whatever it hears and display it on a small LCD at the front of the unit which also handles displaying the translations of the Morse code.

If you need a trainer that’s more compact for on-the-go CW, though, take a look at this wearable Morse code device based on the M5StickC Plus instead.

Continue reading “Learning Morse Code With A DIY Trainer”