Q Has Nothing On Naomi Wu

We’re not so much fans of James Bond as we are of Q, the hacker who supplies him with such wonderful things. There is a challenger to Q’s crown, [Naomi Wu] — code name [SexyCyborg] — built an epic gadget called the Pi Palette which hides a Linux laptop inside of a cosmetics case.

You can see the covert mode of the Pi Palette below. It resembles a clamshell cosmetics case with the makeup and applicator in the base and a mirror on the underside of the flip-up lid. The mirror hides an LCD screen in the portrait orientation, as well as a Raspberry Pi 3 running Kali Linux.

The base of the case includes a portable battery beneath the wireless keyboard/touchpad — both of which are revealed when the cosmetics tray is removed. An inductive charger is connected to the battery and [Naomi] built a base station which the Pi Palette sits in for wireless charging.

She envisions this as a covert penetration testing. For that, the Pi Palette needs the ability to put the WiFi dongle into promiscuous mode. She wired in a dual dip-switch package and really went the extra mile to design it into the case. The fit and finish of that switch is just one tiny detail the illustrates the care taken with the entire project. With such a beautiful final project it’s no wonder she took to the streets to show it off. Check that out, as well as the build process, in the video after the break.

Continue reading “Q Has Nothing On Naomi Wu”

Save ESP8266 RAM With PROGMEM

When [sticilface] started using the Arduino IDE to program an ESP8266, he found he was running out of RAM quickly. The culprit? Strings. That’s not surprising. Strings can be long and many strings like prompts and the like don’t ever change. There is a way to tell the compiler you’d like to store data that won’t change in program storage instead of RAM. They still eat up memory, of course, but you have a lot more program storage than you do RAM on a typical device. He posted his results on a Gist.

On the face of it, it is simple enough to define a memory allocation with the PROGMEM keyword. There’s also macros that make things easier and a host of functions for dealing with strings in program space (basically, the standard C library calls with a _P suffix).

Continue reading “Save ESP8266 RAM With PROGMEM”

Linux-Fu: Keeping Things Running

If you’ve used Linux from the early days (or, like me, started with Unix), you didn’t have to learn as much right away and as things have become more complex, you can kind of pick things up as you go. If you are only starting with Linux because you are using a Raspberry Pi, became unhappy with XP being orphaned, or you are running a cloud server for your latest Skynet-like IoT project, it can be daunting to pick it all up in one place.

Recently my son asked me how do you make something run on a Linux box even after you log off. I thought that was a pretty good question and not necessarily a simple answer, depending on what you want to accomplish.

There’s really four different cases I could think of:

  1. You want to launch something you know will take a long time.
  2. You run something, realize it is going to take a long time, and want to log off without stopping it.
  3. You want to write a script or other kind of program that detaches itself and keeps running (known as a daemon).
  4. You want some program to run all the time, even if you didn’t log in after a reboot.

Continue reading “Linux-Fu: Keeping Things Running”

Flappy Bird Is The New “Does It Run Doom?”

Back in 2014 [Johan] decided to celebrate BASIC’s 30 50 year anniversary by writing his own BASIC interpreter. Now, a few years later, he says he feels he has hit a certain milestone: he can play Flappy Bird, written in his own version of BASIC, running on his own home-built computer, the BASIC-1.

Inside the BASIC-1 is an Atmel XMega128A4, a keyboard from a broken Commodore 64, a joystick port, a serial to TV out adapter, and an SD card adapter for program storage. An attractively laser-cut enclosure with kerf bends houses the keyboard and hardware. The BASIC-1 boots into BASIC just like many of its home computer counterparts from the 80s.

Continue reading “Flappy Bird Is The New “Does It Run Doom?””

WTF Are Ground Loops?

These magical creatures crop up out of nowhere and fry your electronics or annoy your ear holes. Understanding them will doubtless save you money and hassle. The ground loop in a nutshell is what happens when two separate devices (A and B) are connected to ground separately, and then also connected to each other through some kind of communication cable with a ground, creating a loop. This provides two separate paths to ground (B can go through its own connection to ground or it can go through the ground of the cable to A and then to A’s ground), and means that current may start flowing in unanticipated ways. This is particularly noticeable in analog AV setups, where the result is audio hum or visible bars in a picture, but is also sometimes the cause of unexplained equipment failures. Continue reading “WTF Are Ground Loops?”

Don’t Fear The Filter: Lowpass Edition

There comes a time in every electronic designer’s life when, whether they know it or not, they need an analog filter in their design. If you’re coming from a digital background, where everything is nice and numeric, the harsh reality of continuous voltages can be a bit of a shock. But if you’re taking input from, or sending output to the big analog world out there, it pays to at least think about the frequency-domain properties of the signal, and maybe even do something about them.

Designing an analog filter to fit your needs can be a bit of a daunting task: there are many factors that you’re going to need to consider, and they all interact. It’s easy to get lost. We’re going to simplify this as much as possible by instead focusing on a few common applications and building up the simplest possible filters that work well for them.

Today, we’re going to consider the lowpass filter, and specifically a Sallen-Key filter with Butterworth characteristics and a second-order rolloff. Sound like word salad? We’ll fix that up right away, because this is probably the single most important filter to have in your analog toolbox for two very common use cases: pulse-width modulated (PWM) output and analog-to-digital conversion (ADC) input.

Continue reading “Don’t Fear The Filter: Lowpass Edition”

Do You Know Oleg Losev? An Engineer Tragically Ahead Of His Time

It is so often the case with a particular technological advance, that it will be invented almost simultaneously by more than one engineer or scientist. People seem to like a convenient tale of a single inventor, so one such person is remembered while the work of all the others who trod the same path is more obscure. Sometimes the name we are familiar with simply managed to reach a patent office first, maybe they were the inventor whose side won their war, or even they could have been a better self-publicist.

When there are close competitors for the crown of inventor then you might just have heard of them, after all they will often feature in the story that grows up around the invention. But what about someone whose work happened decades before the unrelated engineer who replicated it and who the world knows as the inventor? They are simply forgotten, waiting in an archive for someone to perhaps discover them and set the record straight.

Oleg Losev (Public domain)
[Oleg Losev] (Public domain)
Meet [Oleg Losev]. He created the first practical light-emitting diodes and the first semiconductor amplifiers in 1920s Russia, and published his results. Yet the world has never heard of him and knows the work of unrelated American scientists in the period after the Second World War as the inventors of those technologies. His misfortune was to born in the wrong time and place, and to be the victim of some of the early twentieth century’s more turbulent history.

[Oleg Losev] was born in 1903, the son of a retired Russian Imperial Army officer. After the Russian Revolution he was denied the chance of a university education, so worked as a technician first at the Nizhny Novgorod Radio laboratory, and later at the Central Radio Laboratory in Leningrad. There despite his  relatively lowly position he was able to pursue his research interest in semiconductors, and to make his discoveries.

Continue reading “Do You Know Oleg Losev? An Engineer Tragically Ahead Of His Time”