Morse Keyboard Communicates With The Blink Of An Eye

Most of us use our hands to interface with computers, but the human body is capable of many types of input other than that of fingers and feet. But what about people who can’t use their extremities and don’t have a voice? For their sake, it’s time to get creative.

[Michael Paul Coder] has made a way to type simply by blinking in Morse code. Those of you with long memories may recall Lucid Scribe, where he was attempting to document lucid dreaming experiments by detecting rapid eye movements with an accelerometer and triggering his computer to play music. This would in turn notify [Michael] that he was in fact dreaming and was safe to tie a cape around his neck and take a flying leap from a tall building.

Whereas [Michael]’s creation needed a commercial EEG device before, he’s now made it work with just an old webcam thanks to the new trans-consciousness messaging protocol, which operates by using facial detection and then interpreting the amount of changed pixels between video frames. Be sure to check it out in action after the break.

You know how much we love assistive technology around here — just two years ago, the Byte took top honors in The Hackaday Prize.

Continue reading “Morse Keyboard Communicates With The Blink Of An Eye”

This Week In Security: More Protestware, Another Linux Vuln, And TLStorm

It seems I have made my tiny, indelible mark on internet security history, with the term “protestware“. As far as I can tell, I first coined this particular flavor of malware while covering the Faker.js/Colors.js vandalism in January.

Yet another developer, [RIAEvangelist] has inserted some malicious code (Mirror, since the complaint has been deleted) in an existing project, in protest of something, in this case the war in Ukraine. The behavior here is to write a nice note on the desktop, preaching “peace not war”. However, a few versions of this sample have a nasty surprise — it does a GeoIP lookup, and attempts to wipe the entire drive if it detects a Russian location. Yes, node-ipc versions 10.1.1 and 10.1.2 contain straight-up malware. It’s not clear how many users ran the potentially malicious code, as it was quickly reverted and released 10.1.3. Up-to-date versions of node-ipc still create the desktop file, and Unity Hub has already confirmed they shipped the library in this state, and have since issued a hotfix.
Continue reading “This Week In Security: More Protestware, Another Linux Vuln, And TLStorm”

Render HTML And CSS On An ESP32

As the available computing power from affordable microcontrollers continues to increase, there is an inevitable blurring of the line between them and the lower tier of application processors capable of running Linux-based operating systems. For the most part a microcontroller busies itself with behind-the-scenes tasks, but as so many projects here have demonstrated, they can be pretty capable when it comes to user-facing applications too. Now [Andy Green] has extended the possibilities with affordable silicon, by producing a proof-of-concept HTML + CSS renderer over h2 on ESP32 for libwebsockets. Surf the web on a microcontroller without settling for a text-only experience? Why not!

He freely admits that this is far from being a complete HTML rendering engine, in that while it parses and renders HTML and CSS with JPEG and PNG image support, it does so only with a subset of HTML and is not tolerant of any malformations. There is also no JS support, which is hardly surprising given the available resources.

Even with those limitations it remains an impressive piece of work, which we hope will one day be able to make some effort at displaying Hackaday on ESP32 devices such as the badge.team European conference badges. Definitely a project to watch!

An input device combining a joystick with several knnobs and buttons

Modular Multi-Input Macro Keypad Integrates Mouse And Joystick

While most computer users make do with just a keyboard and mouse, power users often have multiple additional input devices. Gamers use joysticks or dedicated mice, CAD engineers have specialized gadgets for manipulating 3D objects, while graphic designers might want programmable macro buttons to automate various tasks. [Sascha Nitsch] didn’t fancy cluttering his desk with a whole bunch of input devices and therefore decided to combine as many functions as possible into the CIMDIT: a Completely Insane Multi Device Input Thingy.

The main components making up the CIMDIT are a 3-axis joystick module, which can double as a 3D CAD mouse, and a set of buttons, knobs and sliders to enable various functions. One rotary encoder is used to choose an operating mode, while four others can be used as programmable inputs. A small OLED display shows which mode is currently selected, but can also be used to display notifications from various programs.

An Arduino Pro Micro provides a USB interface to a PC and reads out the various input units. The entire design is modular, so it can be customized to any desired combination of analog and digital inputs. [Sascha] made a neat 3D printed enclosure to hold the 3-axis module along with 26 buttons, five rotary encoders and one analog slider. KiCAD files for the PCBs and the FreeCAD source for the enclosure are available under an open-source license on [Sascha]’s Git repo.

The same thing applies to the software driving the CIMDIT, though adding functionality to it might turn out to be tricky: [Sascha] had to perform some serious code optimization to fit everything into the Arduino’s 32 kB of program flash. The Git repo also includes a convenient tool to create key mappings to be programmed into the controller, saving you from having to compose a binary file by hand.

Love macro keypads? Check out these cool examples with gesture detection, an e-ink display or simply beautiful wooden keys.

Talking To A Texas Instruments Calculator

Texas Instruments is a world-class semiconductors company, but unfortunately what they are best known for among the general public is dated consumer-grade calculators thanks to entrenched standardized testing. These testing standards are so entrenched, in fact, that TI has not had to update the hardware in these calculators since the early 90s. They still run their code on a Z80 microcontroller, but [Ben Heck] found himself in possession of one which has a modern ARM coprocessor in it and thus can run Python.

While he’s not sure exactly what implementation of Python the calculator is running, he did tear it apart to try and figure out as much as he could about what this machine is doing. The immediately noticeable difference is the ARM coprocessor that is not present in other graphing calculators. After some investigation of test points, [Ben] found that the Z80 and ARM chips are communicating with each other over twin serial lines using a very “janky” interface. Jankiness aside, eventually [Ben] was able to wire up a port to the side of the calculator which lets him use his computer to send Python commands to the device when it is in its Python programming mode.

While there are probably limited use cases for 1980s calculators to run Python programs, we can at least commend TI for attempting to modernize within its self-built standardized testing prison. Perhaps this is the starting point for someone else to figure out something more useful to put these machines to work with beyond the classroom too. We’ve already seen some TI-84s that have been modified to connect to the Internet, for example.

Thanks to [Nikša] for the tip!

Continue reading “Talking To A Texas Instruments Calculator”

Open-Source Farming Robot Now Includes Simulations

Farming is a challenge under even the best of circumstances. Almost all conventional farmers use some combination of tillers, combines, seeders and plows to help get the difficult job done, but for those like [Taylor] who do not farm large industrial monocultures, more specialized tools are needed. While we’ve featured the Acorn open source farming robot before, it’s back now with new and improved features and a simulation mode to help rapidly improve the platform’s software.

The first of the two new physical features includes a fail-safe braking system. Since the robot uses electric geared hub motors for propulsion, the braking system consists of two normally closed relays which short the motor leads in emergency situations. This makes the motors see an extremely high load and stops them from turning. The robot also has been given advanced navigation facilities so that it can follow custom complex routes. And finally, [Taylor] created a simulation mode so that the robot’s entire software stack can be run in Docker and tested inside a simulation without using the actual robot.

For farmers who are looking to buck unsustainable modern agricultural practices while maintaining profitable farms, a platform like Acorn could be invaluable. With the ability to survey, seed, harvest, and even weed, it could perform every task of larger agricultural machinery. Of course, if you want to learn more about it, you can check out our earlier feature on this futuristic farming machine.

Giant PC fan

3D-Printed Parts Let You Assemble Your Own Biggest Fan

It’s getting close to the time of year when we need to start carefully vetting projects here at Hackaday. After all, nobody likes to get punked by an early April Fool’s joke. But as silly as this outsized PC fan looks, it sure seems like a legit build, if a bit on the pointless side.

Then again, perhaps pointless is too harsh a word to use. This 500-mm fan is by [Angus] over at Maker’s Muse, and it represents a lot of design work to make it buildable, as well as workable and (mostly) safe. Using both CNC-cut MDF and printed parts, the fan is an embiggened replica of a normal-sized case fan. The fan’s frame had to be printed in four parts, which lock together with clever interlocking joints. Each of the nine blades locks into a central hub with sturdy-looking dovetails.

And sturdy is important, as the fan is powered by a 1,500 Watt brushless DC motor. With a 4:1 reduction thanks to a printed gear train, the fan spins at around 3,300 RPM, which makes a terrifying noise. There’s a little bit of “speed-wobble” evident, but [Angus] managed to survive testing. The fan, however, did not — the 3D-printed gears self-destructed after a full-speed test, but not before the fan did its best wind tunnel imitation. And the RGB LEDs looked great.

This one reminds up of something we might see [Ivan Miranda] come up with. In fact, his super-sized 3D printer might have been just the thing to shorten [Angus]’ print times.

Continue reading “3D-Printed Parts Let You Assemble Your Own Biggest Fan”