Nestled in a custom laser-cut housing is a touch screen LCD module that connects directly to the GPIO header of a Pi Zero. Combined with some Python code, this provides a very slick multipurpose interface for pretty much anything [Ryan] wants. Right now he’s got it hooked up to a GPS receiver so he can figure out things like speed and acceleration, but the only real limit on what this little drop-in upgrade can do is how much code you want to sit down and write.
[Ryan] says he’s also working on some code to better integrate the Pi into the vehicle’s systems by way of a Bluetooth OBD2 adapter. In the most basic application that would allow you to throw various bits of engine data up on the screen, but on more modern cars, you could potentially tap into the CAN bus and bend it to your will.
While the physical size and shape of this particular modification is clearly focused on this model and year of BMW, the general concepts could be applied to any car on the road. [Ryan] has recently started a GitHub repository for the project and hopes to connect with others who are interested in adding a little modern complexity convenience to their classic rides.
Artificially constrained designs can be among the most challenging projects to build, and the most interesting to consider. The amateur radio world is no stranger to this, with homebrew radio designs that set some sort of line in the sand. Such designs usually end up being delightfully minimalist and deeply instructive of first principles, which is one reason we like them so much.
The design dates back to at least the 1980s, when [G4RAW] laid down the challenge to whip up a working transmitter from junk bin parts and make a contact within 15 minutes — ten for the build and five for working the bands. [VK3YE] used the “oner” — one-transistor — design for his 10-minute transmitter, but invested some additional time into adding a low-pass filter to keep his signal clean, and a power amplifier to boost the output a bit.
Even with the elaborations, the design is very simple and easy to understand. Construction is the standard “ugly style” that hams favor for quick builds like this. There are no parts that would be terribly hard to find, and everything fits into a small metal box. The video below shows the design and build, along with some experiments with WebSDR receivers to check out range both with and without the power amplifier.
The Etch-A-Sketch was a toy that demanded mastery. Some grew capable of creating masterful artworks, while others struggled to do more than a jumbled mess of angry, angular lines. The inherent limitations of being able to only draw a singular, connected line are all part of the fun, of course, and [gatoninja236] recreated that in a modern, LED form.
The build uses a Raspberry Pi to run the show, with a 64×64 LED matrix hooked up to the GPIO pins serving as a display. Two encoders are used to recreate the famous Etch-A-Sketch interface, hooked up to an Arduino Nano that then communicates encoder data to the Pi over I2C, due to the limited GPIOs available. There’s also an MPU6050 accelerometer board, used to enable the intuitive shake-to-clear functionality.
We’re no strangers to DIY environmental monitors around these parts, in fact, it seems like that’s one of the most common projects hackers take on when confronted with the power of a modern Internet-connected microcontroller. But among such projects, this miniature nRF52-based weather station built by [Andrew Lamchenko] is among the most polished we’ve seen.
Externally, this looks as though it could easily be a commercial product. The graphical interface on the ePaper display is very well designed, delivering plenty of data while still looking attractive enough to hang in the kitchen. The enclosure is 3D printed, but [Andrew] poured enough elbow grease into sanding and polishing the front that you might not realize it at first glance.
Internally it uses the popular BME280 sensor to detect temperature, humidity, and barometric pressure, though the custom PCB is also compatible with the similar SI7021 and HTU21D sensors if you want to switch things up.
That said, you really want the ability to measure pressure, as it allows the firmware to do its own basic weather forecasting. All the collected data is beamed out over Bluetooth Low Energy (BLE), where it can be collected by the open source MySensors IoT framework, but we imagine it wouldn’t take much work to integrate it into your home automation system of choice.
1987 was a glorious year. It brought us the PS/2 keyboard standard that’s still present on many a motherboard back panel to this day. (It also marked the North America/Europe release of The Legend of Zelda but that’s another article.) Up until this point, peripherals were using DIN-5 and DE-9 (often mistakenly called DB9 and common for mice at the time) connectors or — gasp — non-standard proprietary connectors. So what was this new hotness all about? [Ben Eater] walks us through the PS/2 hall of fame by reverse-engineering the protocol.
This is a clocked data protocol, so a waveform is generated on the data pin for each key pressed that can be compared to the clock pin to establish the timing of each pulse. Every key sends a unique set of encoded pulses and voila, the whims of the user can quickly and easily be decoded by the machine.
This is where [Ben’s] dive really shines, we know he’s a breadboarding ninja so he reaches for some DIP chips. A shift register is an easy way to build up a parallel PS/2 interface for breaking out each data packet. There are a few quirks along the way, like the need to invert the clock signal so the shift register triggers on the correct edge. He also uses the propagation delay of a couple inverter gates to fire the 595 shift register’s latch pin slightly late, avoiding a race condition. A second 595 stores the output for display by a set of LEDs.
Beyond simply decoding the signal, [Ben] goes into how the packets are formatted. You don’t just get the key code, but you get normal serial interface error detection; start/stop bits and a parity bit as well. He even drills down into extended keys that send more than one packet, and a key-up action packet that’s sent by this particular keyboard.
This is the perfect low-level demo of how the protocol functions. On the practicality side, it feels a bit strange to be breaking out the serial to parallel when it would be very easy to monitor the two signal lines and decode them with a microcontroller. You might want to switch it up a bit, stick with the clock and data pins, but connect them to a Raspberry Pi using just a few passive components.
Back in the 1990s I was fascinated with small computers. I used the HP200LX palmtop computer for almost ten years, which I wrote about back in December. Naturally, the Franklin Rex 3 PCMCIA-sized organizer caught my attention when it was released in 1997. Here was a Personal Digital Assistant (PDA) the size of a credit card that could fit not just in your pocket, but in your shirt pocket.
Viewed today, it was an interesting paradigm. The screen takes up almost the entire front face of the device with a few buttons for navigation. But isn’t it a deal-breaker that you can’t enter or edit contact info on the device itself? This was long before cellphones were pervasive, and if you had the option to connect to the internet a telephone or Ethernet cable was involved. The ability to have a large data set in your pocket viewable without slapping a brick-like laptop on a table was pretty huge.
I think the killer feature was the PCMCIA interface. I challenged myself to reverse engineer the API so that I could sync data outside of the
We wonder if mechanics are as annoyed when we say “engine” as we get when someone talks about a “computer” or a “radio.” Sure, you know what all three of those words mean, but there are many different kinds of radios, computers, and engines. In [3DprintedLife’s] case, he made a compressed air engine of the Wankel style.
The Wankel — a rotary engine — is most famous for its use in some Mazda cars. If you’ve done a lot of 3D printing, you know that creating an air-tight piston on a 3D printer is no mean feat. Of course, he didn’t do it right off the bat. It took what looks like a number of iterations to get it going, and he shares some of what he learned doing this project.