Arduino Gear Shift Indicator Finds ‘Em So You Won’t Grind ‘Em

Now, it’s been a shamefully long time since we’ve driven a car with a manual transmission, but as we recall it was pretty straightforward. It certainly didn’t require a lot of help with the shifting pattern, at least not enough to require a technical solution to know what gear you’re in. But then again, we suspect that’s not really the point of [upir]’s latest build.

Oh sure, it’s pretty cool to display your current gear selection on a little LCD screen using an Arduino. And [upir] promises a follow-up project where the display goes inside the shifter knob, which will be really cool. But if you take a look at the video below, you’ll see that the real value of this project is the stepwise approach he takes to create this project. [upir] spends most of the time in the video below simulating the hardware and the code of the project in Wokwi, which lets him make changes and tune the design up before committing anything to actual hardware.

That turned out to be particularly useful with this build since he chose to use analog Hall sensors to detect the shift lever position and didn’t know exactly how that would work. Wokwi let him quickly build a virtual prototype for one sensor (using a potentiometer as a stand-in, since the simulator lacked a Hall sensor model), then quickly expand to the four sensors needed to detect all six gear positions.

By the time his simulation was complete, the code was almost entirely written. [upir] also walks us through his toolchains for both designing the graphics and laying out the PCB, a non-trivial task given the odd layout. We particularly enjoyed the tip on making smooth curved traces around the oval cutout for the shift lever in the board.

The video below is on the longish side, but it’s chock full of great little tips. Check out some more of [upir]’s work, like his pimped-out potentiometer or his custom animations on 16×2 LCDs.

Continue reading “Arduino Gear Shift Indicator Finds ‘Em So You Won’t Grind ‘Em”

Arduino Turned Into Something Kinda Like A Pager

Video may have killed the radio star, but cell phones and smart phones all but killed the pager. They still exist, of course, but only in very niche applications. [João Santos] wanted a pager-like experience for himself, though, so he enlisted an Arduino and got to work. Watch a video of the system working below.

The build uses an Arduino Uno to drive a simple HD44780 LCD display with 16 characters each across two lines of text. It’s hooked up to a Wemos D1, which uses its WiFi connection to get online. To this end, it’s capable of talking to a web application which allows users to enter text messages. It receives these messages, passes them to the Arduino Uno over I2C, and then the Uno shuttles the message to the display. It’s overkill, but [João] just found it quicker to get everything up and running via this route.

Continue reading “Arduino Turned Into Something Kinda Like A Pager”

Playing ZX Spectrum’s Manic Miner On The Arduino Uno

Composite output shield with audio driver and controller inputs for Arduino Uno (Credit: Scott Porter)
Composite output shield with audio driver and controller inputs for Arduino Uno (Credit: Scott Porter)

Although it seems many have moved on to 32-bit MCUs these days for projects, there is still a lot of fun to be had in the 8-bit AVR world, as [Scott Porter] demonstrates with a recent Arduino Uno project featuring his game engine running a port of the Manic Miner game that was originally released in 1983 for the ZX Spectrum. For the video and audio output he created an add-on board for the Uno that creates a composite signal using two resistors, along with an audio driver circuit and control inputs either from the onboard buttons or from a NES controller. Audio can be sent either over the composite output or via the audio jack.

A demonstration of the game is provided in a number of videos on [Scott]’s YouTube account, which shows off a few levels, at 256×256 resolution. It contains all 20 original levels, with a few quality of life upgrades with animation. It also features original music, which may or may not work for you, but music can be turned on or off in the main menu. Compared to the 3.5 MHz Z80 MPU in the ZX Spectrum, the 16 MHz AVR of the Uno is a lot beefier, which raises the hope that a color version like the ZX Spectrum one is also in the future, even if it may require an add-on board with a framebuffer. As [Scott] notes, the weakness of the Uno is that the ZX Spectrum has significantly more RAM, which limits what can be done.

Thanks to [256byteram] for the tip.

Continue reading “Playing ZX Spectrum’s Manic Miner On The Arduino Uno”

Educational Arduino Clock Uses Analog Meters For Display

When it comes to educational electronic projects, it’s hard to go past building a clock. You learn tons about everything from circuit concepts and assembly skills to insights about the very nature of time itself. And you get a clock at the end of it! [hamblin.joe] wanted to do a simple project for kids along these lines, so whipped up a neat design using analog meters to display the time.

The build relies on that old stalwart, the Arduino Uno, to run the show. It’s hooked up to a DS3231 real-time clock module so it can keep accurate time for long periods, as is befitting a clock. Displaying the time is done via the use of two analog meters, each fitted with a custom backing card. One displays hours, the other, minutes. The analog meters are simply driven by the PWM outputs of the Arduino.

It’s not a hugely complex project, but it teaches so much. It provides an opportunity to educate the builders about real-time clocks, microcontroller programming, and even the concepts behind pulse width modulation. To say nothing of the physical skills, like learning to solder or how to assemble the laser-cut enclosure. Ultimately, it looks like a really great way for [hamblin.joe] and his students to dive into the world of modern electronics.

Give Your Projects A Retro Tint With This 8051-based Arduino Uno

Most of us are familiar with the Arduino Uno, a starting place for electronics projects since 2010. But what if the Arduino Uno was released in 1980? You’d probably get something like [ElectroBoy]’s 8051-based Arduino Uno.

28-pin DIP integrated circuit with a window revealing the die
Close-up shot of the 87C752, an 8051 with EPROM

The Arduino Uno-compatible board has an MCS-51 (often called 8051 instead) instead of the usual ATmega328P/ATmega168. Specifically, [ElectroBoy] uses the AT89S52. Like the ATmega microcontrollers, the AT89S52 has an 8-bit CPU with a Harvard architecture and very similar GPIO capabilities. Unlike the ATmega, however, the original MCS-51 has a CISC CPU (as opposed to ATmega being RISC) and a release date about 36 years earlier.

The board itself also has some differences from the original Arduino Uno. First of all, it has a USB type-C port, which is definitely a bonus. Secondly, it’s simpler: No USB-UART (which also means no USB programming), a different pin layout (Arduino shields likely won’t fit) and more I/Os than the ATmegas have. Sure, it’s not as practical as an actual Arduino Uno, but it’s definitely cool for our retrocomputing nerds.

Arduino Provides No Fuss SNES-To-USB Conversion

Even for those of us who are fans of retrocomputing, it’s fair to say that not everyone plays their old-school games on real old-school hardware. The originals are now fragile and expensive, and emulators are good enough that if the gaming experience is all you’re after there’s little point in spending all that cash.

There’s one place in which the originals sometimes have the edge though, the classic controllers are the personal interface with the game. So when [Dome] found a SNES controller in an Akibahara shop, of course he picked it up. How to make it talk to a PC? Tuck an Arduino Pro Micro inside it, of course!

What we like about this project is that instead of ripping out the original electronics it instead hooks the Arduino board onto the original serial interface. We might have made a Nintendo socket to USB box to keep the original cable, but either way, the SNES (technically Super Famicom, because it’s a Japanese market unit) original stays true to its roots. The Arduino polls the clock line at the speed of the console, reads the result, and translates it to a USB interface for the computer. There’s a full run-down of the code and how it was made, should you wish to try.

Of course, if you don’t always have a PC handy, you could also put the whole computer in the controller.

Arduino, Virtually

While simulating an Arduino isn’t a new idea, a recent project by [LRusso] provides an open source JavaScript simulator that runs in your browser. You can try it out live or host it yourself if you prefer.

The simulator looks much like the standard IDE, so there isn’t much to learn. You can select from several targets, including a UNO R3, a MEGA 1280, a MEGA 2560, or a NANO V3. At the bottom of the screen, you’ll see the correct number of digital pins, analog pins, and the serial monitor. The code is relatively new, and we noticed that the digital and output pins seem to work only for outputs. There is no way to modify any of the values from the user interface. You can, however, enter things into the serial monitor.

You can run a canned demo that uses digital and analog output. There is also another sample that uses the serial port. Unlike some other simulators, you can’t really add much external circuitry but, for some purposes, that isn’t a problem.

If you are looking for more, there is Simulide, which is also free. Falstad can do mixed signal simulations with Arduino code. There’s also Wokwi, which we’ve covered a few times before.