A Tiny Terminal For Your Serial Access Needs

Some pieces of computing equipment have faded away without a trace, for example a modem is not a device that detains many hackers as they strive for that perfect emulation of a venerable Hayes on an Arduino. But there are some other devices that continue to hold a fascination, even years after they departed from the professional arena. A great example is the serial terminal. Once to be found on many a desk as it provided a way into a minicomputer, it has long ago been supplanted by terminal emulators or simply other portals into computing services such as the web. But in our community there are still plenty of serial terminals to be found, for example [RedHog]’s little emulated VT220 on an ESP8266 platform.

If you were hoping for a full-green screen and keyboard to plug into a hefty D-connector serial port then you’ll be a bit disappointed, as with a tiny screen and only a few buttons on a dev board or an Arduboy it’s not going to allow any 1337 vi mastery even with its on-screen keyboard. Take a look, we’ve placed a video below the  break. But despite all that it shows promise, with ability to use either the logic-level serial port or the USB serial interface. We can see that it might find a use as a serial display though, but it would fascinate us to see what could be done were it to use the 8266’s on-board WiFi in some form. If you’d like to experiment you can do so with the code on GitHub.

This isn’t the first such terminal we’ve seen here before of course, some of them have been extremely practical, while others we just want to own because they’re cool.

Continue reading “A Tiny Terminal For Your Serial Access Needs”

Print From The ESP8266, Courtesy Of Google

The ESP8266 has become the hacker’s microcontroller of choice because it’s exceptionally easy to get the chip connected to the network and talking to other devices. The fact that it’s also absurdly cheap is just a bonus. Since nearly every piece of electronics you buy today is “smart” enough to include some form of Internet control, that means there’s no shortage of gadgets these MCUs can potentially poke and prod.

In their latest tip, [TecnoProfesor] shows how you can interface the ESP8266 with Google’s Cloud Print, a service that enables simple remote printing over the web without having to worry about having the proper device drivers. Remote printing from the ESP8266 might seem like little more than a gag at first glance, but if you’re the kind of person who likes to have hard copies of data, adding the capability to generate a daily printed report to your weather station could be a nice weekend project.

[TecnoProfesor] provides explanations and source code for printing documents of various sizes from both the ESP8266’s internal flash storage and an SPI-attached SD card. Towards the end of the write-up, there’s even some explanation of how the setPrintDocument() function of the Cloud Print API can be used in more advanced scenarios, such as printing web pages or documents stored in Google Drive.

When we see microcontrollers connected to printers, they’re usually of the small thermal kind. Being able to access “real” printers with such a simple technique offers some interesting possibilities, though like most technology, there’s potential for it to be misused.

[Thanks to Andrew for the tip.]

The ESP32, Laid Bare

Most readers will be familiar with the ESP32, Espressif’s dual-core processor with integrated WiFi and Bluetooth. Few of us though will have explored all of its features, including its built-in encryption facilities and secure booting capability. With these, a developer can protect and secure their code, and keep their devices secure.

That sense of security may now be illusory though, thanks to [LimitedResults] who has developed a series of attacks on the chip that compromise its crypto core, secure boot, and flash encryption. This enables both the chance of arbitrary code execution and firmware extraction on locked-down ESP32 devices.

To achieve all this he used a glitching technique on the device’s power supply, inserting a carefully timed glitch in the rail to coincide with a particular instruction being executed. For those of us who are not experts in this technique, he provides a basic primer with a description of his home-made glitcher made using a CMOS switch chip.

It appears that there is no solution to this attack short of new silicon, however, it should be borne in mind that it’s something that depends upon a specialist hacker with a well-equipped bench, and is thus only likely to be a significant headache to manufacturers. But it undermines a key feature of a major line of microcontrollers, and as such it remains a significant piece of work.

A Self-Expanding PWM Driver

For smaller microcontrollers, having enough outputs for the job is sometimes a challenge. A common solution is to do some sort of multiplexing with the available outputs or perhaps something more advanced such as Charlieplexing, but another good option is to use a specialized driver board. What’s even better is if you can daisy chain driver boards to get even more outputs.

[Eric] has been working on a 16 channel LED project but first wanted to build a driver board with 8 channels. Before building a full 16 channel version he realized that he could take the same 8 channel board, make a mirror image of it, and attach it underneath the first board with headers in order to double the number of channels available. Without having to build a separate 16-channel board, this shortcut saved [Eric] some time and a great deal of effort.

This is a great example of working smarter, not harder. Each of the 8 or 16 channels has full PWM support as well to support PWM dimming, and a similar board could be built for motor control as well. It’s a good illustration of how good design can end up working for you as well. And if you need even more outputs, Charlieplexing is one way to get them.

Continue reading “A Self-Expanding PWM Driver”

Break The Caps Lock Habit With This Annoying Buzzer

The much-maligned Caps Lock key has been causing problems for decades, and its continued existence is controversial enough that Google decided to drop it all together in their Chromebooks. Until the rest of the industry decides to follow their lead, they’ll likely be no shortage of awkward emails or overly aggressive comments that are the direct result of this treacherous key.

But [Glen Akins] thinks he has the solution. His creation is a tiny little USB notification device that has only one purpose: to make a terrible noise as long as the Caps Lock key is engaged. Think of it like the little indicator LED on your keyboard, but one that makes a terrible screeching noise that you simply can’t ignore. This is made possible by the fact that the Caps Lock status is handled at the OS level rather than the local input device.

The notifier is built around the PIC16F1459, as it allowed him to implement USB 2.0 while keeping the part count low. Beyond the PIC, the board uses a handful of passives and a transistor to drive the buzzer from a PWM signal. To avoid duplicated effort, everything was designed to fit inside the enclosure he already developed for his single-key keyboard that we covered last year. [Glen] and a fellow coworker from Keysight put together an excellent video on the creation and use of the buzzer that you can see after the break.

On the other end of the spectrum, and even smaller, is the “USB Capslocker” which is designed to weaponize this already troublesome feature of your keyboard.

Continue reading “Break The Caps Lock Habit With This Annoying Buzzer”

RISC-V: Why The ISA Battles Aren’t Over Yet

A computer processor uses a so-called Instruction Set Architecture to talk with the world outside of its own circuitry. This ISA consists of a number of instructions, which essentially define the functionality of that processor, which explains why so many ISAs still exist today. It’s hard to find that one ISA that works for as many distinct use cases as possible, after all.

A fairly new ISA is RISC-V, the first version of which was created back in 2010 at the University of California, Berkeley. Intended to be a fully open ISA, targeting both students (as a learning tool) and industrial users, it is claimed to incorporate a number of design choices that should make it more attractive for a number of applications.

In this article I’ll take a look behind the marketing to take stock of how exactly RISC-V differs from other open ISAs, including Power, SPARC and MIPS.

Continue reading “RISC-V: Why The ISA Battles Aren’t Over Yet”

Weather Station Gets Much-Needed Upgrades

Weather stations are a popular project, partly because it’s helpful (and interesting) to know about the weather at your exact location rather than a forecast that might be vaguely in your zip code. They’re also popular because they’re a good way to get experience with microcontrollers, sensors, I/O, and communications protocols. Your own build may also be easily upgradeable as the years go by, and [Tysonpower] shows us some of the upgrades he’s made to the popular Sparkfun weather station from a few years ago.

The Sparkfun station is a good basis for a build though, it just needs some updates. The first was that the sensor package isn’t readily available though, but some hunting on Aliexpress netted a similar set of sensors from China. A Wemos D1 Mini was used as a replacement controller, and with it all buttoned up and programmed it turns out to be slightly cheaper (and more up-to-date) than the original Sparkfun station.

All of the parts and code for this new station are available on [Tysonpower]’s Github page, and if you want to take a look at a similar station that we’ve featured here before, there’s one from three years ago that’s also solar-powered.

Continue reading “Weather Station Gets Much-Needed Upgrades”