An LCD, Touch Sensor, USB-C, And A Microcontroller For A Buck

[CNLohr] has been tinkering with some fun parts of late. He’d found out that ordinary LCD screens could be used as simple touch sensors, and he had to try it for himself. He ended up building a little doohickey that combined USB C, an LCD display, and a touch interface, all for under a buck. You can check out the video below.

The key to this build was the CH32V003 CPU. It’s a RISC-V microcontroller that runs at a healthy 48 MHz, and it costs just 10 cents in reasonable quantities. A PCB etched to mate with a USB C cable eliminates the need for a connector.

[CNLohr] then gave the board a three-digit 7-segment LCD display from Aliexpress, which can be had for around 21 cents if you buy 100 or more. He then figured out how to drive the LCDs with a nifty trick that let the microcontroller use the display as a crude touch sensor. All in all, the total bill of materials for one of these things comes out somewhere under a dollar in quantity.

It’s mostly a random assemblage of tech glued together for a demo, but it’s a fun project. It’s worth checking out even if it’s just to learn how to create an integral USB C port on your own PCBs. The way it’s achieved with the etched contacts and milled-out tabs is pure elegance. Files are on Github for the curious.

We’ve featured a ton of [CNLohr’s] work over the years; the clear keytar was a glowing highlight, as were his early discoveries in the depths of the ESP8266.

Continue reading “An LCD, Touch Sensor, USB-C, And A Microcontroller For A Buck”

Have You Heard Of The Liquid Powder Display?

Over the decades the technology behind flat panel displays has continuously evolved, and we’ve seen many of them come and go. Among the popular ones there are a few that never quite made the big time, usually because a contemporary competitor took their market. An example is in a recent [Wenting Zhang] video, a mystery liquid powder display. We’d never heard of it, so we were intrigued.

The first segment of the video is an examination of the device, and a comparison with similar-looking ones such as a conventional LCD, or a Sharp Memory LCD. It’s clearly neither of those, and the answer finally came after a lot of research. A paper described a “Quick response liquid powder” as a mechanism for a novel display, and thus it was identified. It works by moving black and white electrically charged powder to flip a pixel from black to white, and its operation is not dissimilar to the liquid-based e-ink displays which evidently won that particular commercial battle.

The process of identifying the driver chip and pinout should be an essential watch for anyone with an interest in display reverse engineering. After a lot of adjusting timing and threshold voltages the dead pixels and weird effects fall away, and then it’s possible to display a not-too-high-quality image on this unusual display, through a custom PCB with an RP2040. Take a look at the video below the break.

We’ve seen [Wenting Zhang]’s work here a few times before, most recently in a very impressive mirror-less camera project.

Continue reading “Have You Heard Of The Liquid Powder Display?”

It’s Spreadsheets All The Way Down For This 80s Handheld

Unlike the today’s consumer computer market, the 1980s were the wild west in comparison. There were all kinds of different, incompatible operating systems, hardware, and programs, all competing against one another, and with essentially no networking to tie everything together. Some of these products were incredibly niche as well, only running one program or having a limited use case to keep costs down. Such was the Convergent WorkSlate, a computer that ran only a spreadsheet with any programs also needing to be built into a spreadsheet.

Upon booting the device, the user is presented with a fairly recognizable blank spreadsheet, albeit with a now-dated LCD display (lacking a backlight) and a bespoke keyboard and cursor that wouldn’t have allowed for easy touch typing. The spreadsheet itself is quite usable though, complete with formatting tools and the capability to use formulas like a modern spreadsheet program would. It also hosted a tape deck for audio and data storage, a modem for communicating with other devices, and an optional plotter-style printer. The modem port is how [Old VCR] eventually interfaces with the machine, although as one can imagine is quite a task for a piece of small-batch technology from the 80s like this. After learning how to send and receive information, a small game is programmed into the machine and then a Gopher interface is built to give the device limited Internet connectivity.

The investigation that [Old VCR] goes into on this project to get this obsolete yet unique piece of hardware running and programmed to do other tasks is impressive, and worth taking a look at especially because spreadsheets like this aren’t Turing-complete, leading to a few interesting phenomenon that most of us wouldn’t come across in the modern computing world. Since only around 60,000 units were ever made it’s difficult to come across these machines, but if you want to take a look at the spreadsheet world of the 80s without original hardware you can still run Lotus 1-2-3 natively in Linux today.

Thanks to [Cameron] for the tip!

Tiny Games Challenge: A Retro Racing Game On A 16×2 LCD

Sometimes, all it takes is a change in perspective to take something boring and make it fun. That’s true about 16×2 LCD; in its usual landscape format, it’s a quick and easy way to provide a character-based display for a project. But flip it 90 degrees and use a little imagination, and it can become a cool retro racing game that fits in the palm of your hand.

[arduinocelantano] has made it a habit to press the humble 16×2 character LCD into service in ways it clearly wasn’t intended to support, such as playing Space Invaders and streaming video on it. Both of these projects seem to inform the current work, which was one of the first entries in our current Tiny Games Challenge contest. The racing game requires multiple sprites to animate the roadway and the cars, using six “layers” of eight custom characters and rapidly switching between them to create the appearance of movement. The video below has a brief sample of gameplay.

Flipping the display on its side makes for a somewhat limited game — it’s all straightaway, all the time — but that could probably be fixed. [arduinocelentano] suggests scaling it up to a 16×4 to include curves, but we’d bet you could still simulate curves on the upper part of the game field while leaving the player’s car fixed on a straight section. Higher difficulties could be achieved by moving the curved section closer to the player’s position.

Sure, it’s limited, but that’s half the charm of games like these. If you’ve got an idea for our Tiny Games Challenge, head over to our contest page and let us know about it. We’re keen to see what you come up with.

Continue reading “Tiny Games Challenge: A Retro Racing Game On A 16×2 LCD”

Responsive LCD Backlights With A Little Lateral Thinking

LCD televisions are a technological miracle, but if they have an annoying side it’s that some of them are a bit lacklustre when it comes to displaying black. [Mousa] has a solution, involving a small LCD and a bit of lateral thinking.

These screens work by the LCD panel being placed in front of a bright backlight, and only letting light through at bright parts of the picture. Since LCD isn’t a perfect attenuator, some of the light can make its way through, resulting in those less than perfect blacks. More recent screens replace the bright white backlight with an array of LEDs that light up with the image, but the electronics to make that happen are not exactly trivial.

The solution? Find a small LCD panel and feed it from the same HDMI source as a big panel. Then place an array of LDRs on the front of the small LCD, driving an array of white LEDs through transistor drivers to make a new responsive backlight. We’re not sure we’d go to all this trouble, but it certainly looks quite cool as you can see below the break.

This may be the first responsive backlight we’ve brought you, but more than one Ambilight clone has graced these pages.

Continue reading “Responsive LCD Backlights With A Little Lateral Thinking”

Go Forth With This Portable Programmer

When choosing a low-level language, it’s hard to beat the efficiency of Forth while also maintaining some amount of readability. There are open source options for the language which makes it accessible, and it maintains its prevalence in astronomical and other embedded systems for its direct hardware control and streamlined use of limited resources even though the language started over 50 years ago. Unlike 50 years ago, though, you can now take your own self-contained Forth programmer on the go with you.

The small computer is built on a design that [Dennis] built a while back called my4TH which has its own dedicated 8-bit CPU and can store data in a 256 kB EEPROM chip. Everything else needed for the computer is built in as well but that original design didn’t include a few features that this one adds, most notably a small 40×4 character LCD and a keyboard. The build also adds a case to tie everything together, with ports on the back for I2C and power plus an RS232 port. An optional battery circuit lets the computer power up without an external power supply as well.

Continue reading “Go Forth With This Portable Programmer”

Pixel Graphics From An HD44780, By Cutting Wires

[Felipe Tavares] wasn’t satisfied with the boring default fonts on an HD44780-based display. And while you can play some clever tricks with user-defined characters, if you want to treat the display as an array of pixels, you’ve got to get out your scalpel and cut up a data line.

The hack builds on work from [MisterHW] who documented the bits going from the common display driver to the display, and suggested that by cutting the data line and sending your own bits, you could send arbitrary graphics. The trick was to make sure that they’re in sync with the display, though, which means reading the frame sync line in user code.

This done, it looks like [Felipe] has it working! If you can read Rust for the ESP32, he has even provided us with a working demo of the code that makes it work.

We can’t help but wonder if it’s not possible to go even lower-level and omit the HD44780 entirely. Has anyone tried driving one of these little LCD displays directly from a microcontroller, essentially implementing the HD44780 yourself?

Any way you slice it, this is a cool hack, and it opens up the doors to DOOM, or as [MisterHW] suggests, Bad Apple on these little displays . If you do it, we want to see it.

If your needs aren’t so exotic, the classic HD44780 display is a piece of cake to get working, and an invaluable tool in anyone’s toolbox.