Fujitsu Proprietary Keyboard Goes PS/2 With A Pico

One of our favorite retro-computing YouTubers, [Clint] from LGR, found himself a very interesting Fujitsu keyboard while thrift store shopping. It was a beautiful unit, but confusing, as this keyboard comes with an 8-pin DIN connector. A 5-pin DIN plug or 6-pin Mini-DIN would be easy to work with, but what was this odd connection? Turns out the Fujitsu N860-2500-T111 came with an Olympus CV-100 Video Processor, which was designed for medical imaging, potentially among other uses. And as often happened with old specialized hardware, the keyboard used a proprietary protocol for sending keystrokes.

[Clint] put out a call for anyone that could help him build an adapter, and [Andy] from Element14 answered the call. But this problem requires more than an adapter, mainly because the Fujitsu doesn’t have key rollover. It’s one key at a time, and that just doesn’t work for the sort of things [Clint] shows off on LGR. So, the electronic guts of the keyboard were removed, to be replaced with a Raspberry Pi Pico, wired directly to the keyboard matrix.

Continue reading “Fujitsu Proprietary Keyboard Goes PS/2 With A Pico”

Exploring The Tech Behind Concert LED Wristbands

LED wristbands are now a common feature of large arena concerts and events, with a variety of capabilities and technical implementations. In the video after the break, Wall Street Journal does a fascinating deep dive into these wearable light shows.

The three main control technologies are IR light, RF radios, and Bluetooth. The IR-controlled ones are the simplest, and we’ve covered a teardown, a reverse engineering effort and reflash of the Pixmob IR armbands.

Finally, we get a good behind-the-scenes look at how they are controlled. Using pan-tilt IR emitters mounted on lighting towers, the operators can sweep across the audience controlling color and light levels or activating pre-programmed sequences.

The full control setup for RF wristbands, with transmitter on the left.
The full control setup for RF wristbands, with transmitter on the left.

RF armbands have the simplest control setup, only requiring a single portable transmitter connected to a computer running the control software. It does however require some pre-planning for more complex light displays, to ensure each section of the audience is individually addressable.

The most advanced and expensive versions are handheld light sticks controlled via Bluetooth from an app on the users smartphone, and are popular at K-Pop concerts. Each device is linked to the users seat number, making them individually addressable and allowing the lighting operators to produce complex patterns, and even text, in the crowd.

While each of these devices is simple and underwhelming on its own, tens of thousands working together produce impressive effects and probably hide some hard-earned engineering experience.

Continue reading “Exploring The Tech Behind Concert LED Wristbands”

This Week In Security:Camaro Dragon, RowPress, And RepoJacking

Malicious flash drives have come a long ways since the old days of autorun infections. It’s not an accident that Microsoft has tightened down the attack surface available of removable media. So how exactly did a malicious flash drive lead to the compromise of a European hospital? Some sophisticated firmware on the drive? A mysterious zero day? Nope, just hidden files, and an executable using the drive name and icon. Some attacker discovered that a user trying to access a flash drive, only to be presented with what looks like the same flash drive icon, will naturally try to access it again, running an .exe in the process.

That executable runs a signed Symantec binary, included on the drive, and sideloads an OCX that hijacks the process. From there, the computer is infected, as well as any other flash drives in the machine. Part of the obfuscation technique is an odd chain of executables, executed recursively for a hundred copies. Naturally once the infection has rooted itself in a given machine, it takes commands from a C&C server, and sends certain files out to its waiting overlords. Checkpoint Research has attributed this campaign to Camaro Dragon, a name straight from the 80s that refers to a Chinese actor with an emphasis on espionage. Continue reading “This Week In Security:Camaro Dragon, RowPress, And RepoJacking”

A BASIC Interpreter For The Raspberry Pi Pico

It’s pretty easy to program the Raspberry Pi Pico in Python, or you can use C or C++ if you so desire. However, if you fancy the easy language of yesteryear, you might like PiccoloBASIC from [Gary Sims].

Putting it simply, piccoloBASIC is a BASIC interpreter that runs on the Raspberry Pi Pico. It features all the good bits of BASIC such as GOTO and GOSUB commands, that fancier languages kind of look down upon. It’s also got enough built-in routines to handle regular programming life, like sleeps, delays, a basic pseudorandom number source, trigonometric functions, and the ability to deal with floating point numbers. As far as microcontroller tasks go, it’s got rudimentary support for talking to GPIOs right now via the pinon and pinoff commands. However, it’s probably not the way to go if you want to bit-bang an SD card to within an inch of its speed rating.

Down the road, [Gary] hopes to add support for features like the Pico’s I2C, SPI, and PIO hardware, along with networking protocols and Bluetooth. PEEK and POKE are also hopefully on the way for those that like to fiddle with memory directly.

Meanwhile, if you’re looking for a different yet similar take, explore the port of MMBasic to the Pico platform. Video after the break.

Continue reading “A BASIC Interpreter For The Raspberry Pi Pico”

Get Your Leafy Meats

Some of us jokingly refer to our hobbies as “mad science,” but [Justin] from The Thought Emporium could be one Igor away from living up to the jibe. The latest project to come out of the YouTube channel, video also after the break, outlines a map for creating an artificial organism in their new lab. The purpose is to test how far a citizen scientist can push the boundary of bioengineering. The stated goal is to create a swimming entity with a skeleton. The Thought Emporium also has a neuron project in the works, hinting at a potential crossover.

The artifishal [sic] organism has themes at the micro and macro scale. [Justin] says, “Cells are like little nano-robots. Mainly in the sense that they just follow their built-in instructions to the best of their ability.” At the multi-cellular level, the goal is to program something to actuate muscle tissue rhythmically to sustain locomotion. The method for creating living parts is decellularization and recellularization, a technique we heard about at Hackaday Belgrade.

The Thought Emporium is improving upon its protocol which removes cells from their “scaffolding” to repopulate it with the desired type, muscle in this case. Cellular scaffolds retain the shape of whatever they were, so whatever grows on them determines what they become. Once the technique of turning a leaf into muscle fibers is mastered, the next step will be creating bones with a different cell line that will mineralize the scaffold. Optimizing the processes and combining the results may show the world what is possible with the dedication of citizen bioengineers.

Regenerative medicine is looking at replacement human-parts with similar techniques. We are eager to see fish that digest plastic.

Continue reading “Get Your Leafy Meats”

Meshtastic For The Greater Good

Last week, my city was hit by a tornado. That’s not surprising here in Oklahoma, and thankfully this event was an F0 or possibly even an EF0 — a really weak tornado. Only a couple roofs collapsed, though probably half the houses in town are going to need roof repairs, thanks to the combination of huge hail and high winds. While it wasn’t too bad, power did go down in a few places around town, and this led to an interesting series of events.

Chat messages were coming in like this: “That was a [power] flicker, yeah. Even took down my Internet.” Followed by “Whee, [fiber Internet] got knocked out and now Starlink has too many clouds in the way.” And after ten minutes of silence, we got a bit worried to see “Time to hide under a bed. … Is cell service back?” It is a bit spooky to think about trying to help neighbors and friends after a disaster, in the midst of the communication breakdown that often follows. If he had needed help, and had no working communications, how long would it have taken for us to go check on him?
Continue reading “Meshtastic For The Greater Good”

A Simple Guide To Bit Banged I2C On The 6502

We covered [Anders Nielsen]’s 65duino project a short while ago, and now he’s back with an update video showing some more details of bit-banging I2C using plain old 6502 assembly language.

Obviously, with such a simple system, there is no dedicated I2C interface hardware, so the programmer must take care of all the details of the I2C protocol in software, bit-banging it out to the peripheral and reading back the response one bit at a time.

The first detail to concern us will be the I2C addresses of the devices being connected to the bus and how low-level bit manipulation is used to turn the 7-bit I2C address into the byte being bit-banged. As [Anders] shows, setting a bit is simply a logical-OR operation, and resetting a bit is a simple logical-AND operation using the inversion (or one’s complement) bit to reset to form a bitmask. As many will already know, this process is necessary to code for a read or a write I2C operation. A further detail is that I2C uses an open-collector connection scheme, which means that no device on the bus may drive the bus to logical high; instead, they must release the drive by going to the high impedance state, and an external pull-up resistor will pull the bus high. The 6532 RIOT chip (used for I/O on the 65unio) does not have tristate control but instead uses a data direction register (DDR) to allow a pin to be an input. This will do the job just fine, albeit with slightly odd-looking code, until you know what’s going on.

From there, it’s a straightforward matter to write subroutines that generate the I2C start, stop, and NACK conditions that are required to write to the SSD1306-based OLED to get it to do something we can observe. From these basic roots, through higher-level subroutines, a complete OLED library in assembly can be constructed. We shall sit tight and await where [Anders] goes next with this!

We see I2C-connected things all the time, like this neat ATtiny85-based I2C peripheral, and whilst we’re talking about the SSD1306 OLED display controller, here’s a hack that shows just how much you can push your luck with the I2C spec and get some crazy frame rates.

Continue reading “A Simple Guide To Bit Banged I2C On The 6502”