Bus Stop Bloom Filter

Imagine you’re sitting on a nice bench, the sun shines warmly, and a bus pulls up. You’re headed to Stendal from Osnabrück, how can you tell if you should get on that bus? [Julian Vanecek] is trying to turn that from an O(n) problem to an O(1) one with a Bloom filter right at the bus stop.

In [Julian’s] sample code, each stop is a 3-bit number that can be encoded into a 192-bit array. Your ticket is just that 3-bit number encoded, so you can look at the graphic on the side of the incoming bus, match it against your ticket, and hop on. Gone are the days of waiting for the little LED screen to cycle through all the stops, waiting for yours to come up. Your ticket should have just a few boxes filled in so it is relatively quick to search against the bus’s graphic.

Of course, there is a potential for a false positive rate. [Julian] points out that this can be tuned to prevent errors and has achieved a < 0.5% false positive rate using the Deutsche Bahn bus system. The code is written in Python and available on GitHub. Perhaps buses could have a large flip-dop display on the side, to adjust to show which stops they’re headed to next. Additionally, it doesn’t encode which stops are next, just which stops the bus will eventually go to.

In the video after the break, [Julian] explains how the system works. Whether it would be ultimately adopted is somewhat beside the point. We love the seeing people re-imagining ideas and trying to apply new techniques to improve the things around them.

Continue reading “Bus Stop Bloom Filter”

Caterpillar-Like Soft Robot With Distributed Programmable Thermal Actuation

Researchers at North Carolina State University have created a soft robot that moves in a distinctly caterpillar-like manner. As detailed in the research paper in Science Advances by [Shuang Wu] and colleagues, the robot they developed consists of a layer of liquid crystalline elastomers (LCE) and polydimethylsiloxane (PDMS) with embedded silver nanowire that acts as a heater.

The LCE is hereby designed as a thermal bimorph actuator, using a distinct thermal expansion coefficient between the LCE and PDMS sides to create a highly controllable deformation and thus motion. Since the nanowire is divided into sections that can be individually heated, the exact deformation can be quite tightly controlled, enabling the crawling motion.

(A) Schematics of the forward locomotion of a caterpillar. (B) Schematics of the reverse locomotion of a caterpillar. (C) Snapshots of the crawling robot in one cycle of actuation for reverse locomotion. (D) Snapshots of the crawling robot in one cycle of actuation for forward locomotion. (E) infrared image of the crawling robot with 0.05-A current injected in channel 1 and the tilted view of the crawling robot. (F) Infrared image of the crawling robot with 30-mA current injected in channel 2 and the corresponding tilted view of the crawling robot. (Credit: Shuang Wu, et al. (2023))
(A) Schematics of the forward locomotion of a caterpillar. (B) Schematics of the reverse locomotion of a caterpillar. (C) Snapshots of the crawling robot in one cycle of actuation for reverse locomotion. (D) Snapshots of the crawling robot in one cycle of actuation for forward locomotion. (E) infrared image of the crawling robot with 0.05-A current injected in channel 1 and the tilted view of the crawling robot. (F) Infrared image of the crawling robot with 30-mA current injected in channel 2 and the corresponding tilted view of the crawling robot. (Credit: Shuang Wu, et al. (2023))

As can be seen in the video below, the motion is fairly rapid and quite efficient, as well as decidedly caterpillar-like. Although the current prototype uses external control wires that supply the current, it might be possible to integrate a power supply and control circuitry in a stand-alone robot. Since the heater works on low voltage (5 V) and relatively little power is required, this would seem to make stand-alone operation eminently possible.

Continue reading “Caterpillar-Like Soft Robot With Distributed Programmable Thermal Actuation”

The 4004 Upgrade You’ve Been Waiting For

You know how it is. You have an older computer, and you can’t run the latest software on it. Time to upgrade, right? Well, if you have been in this situation a very long time, [ryomuk] may have an answer for you. The emu8080on4004 project (Google Translate) offers a way to run 8080 code on a 4004 CPU. Finally!

The 4004 development board is a homebrew affair, and the emulator works well enough that an 8080 Tiny BASIC interpreter ran with very few changes to the source code. You can see it working in the video below. It would be cool to run CP/M, but we imagine that would be a little harder, especially resource-wise.

A few things are missing. For example, the DAA instruction doesn’t exist, and there are no provisions for interrupts. There’s only one I/O port, and using the IN instruction will block until you receive a serial port character. There is an option to implement the parity flag in the 8080 flags register, but its operation is untested.

Still, pretty impressive for a 4-bit CPU running at 740 kHz with very little memory. If you want to see more about the development board itself, check out the second video below. Want to know more about the chip that launched a family of processors that is still around? Read its biography. You can also read about the designer who put his signature on the die.

Continue reading “The 4004 Upgrade You’ve Been Waiting For”

Hackaday Links Column Banner

Hackaday Links: March 26, 2023

Sad news in the tech world this week as Intel co-founder Gordon Moore passed away in Hawaii at the age of 94. Along with Robert Noyce in 1968, Moore founded NM Electronics, the company that would later go on to become Intel Corporation and give the world the first commercially available microprocessor, the 4004, in 1971. The four-bit microprocessor would be joined a few years later by the 8008 and 8080, chips that paved the way for the PC revolution to come. Surprisingly, Moore was not an electrical engineer but a chemist, earning his Ph.D. from the California Institute of Technology in 1954 before his postdoctoral research at the prestigious Applied Physics Lab at Johns Hopkins. He briefly worked alongside Nobel laureate and transistor co-inventor William Shockley before jumping ship with Noyce and others to found Fairchild Semiconductor, which is where he made the observation that integrated circuit component density doubled roughly every two years. This calculation would go on to be known as “Moore’s Law.”

Continue reading “Hackaday Links: March 26, 2023”

Recreating The ZX Spectrum Unboxing Experience By Manufacturing A New Boxed One

Why scour the internet for a rare-as-hen’s-teeth new in box ZX Spectrum computer when you can instead order up some parts, assemble a basically all new ZX Spectrum along with the box, instruction manuals and more?

That seems to have been the reasoning behind [Lost Retro Tapes] when they decided to do exactly that. Along with the announcement of the completion on Reddit, the website details the BOM and sourcing the components.

For the mainboard, an existing, redrawn ZX Spectrum 48 Issue 3B PCB was found and ordered from PCBWay. As a UK-based entity, many of the other components were sourced from retro computing shops around the UK, but with all but the LM1889N IC being available for new or with currently produced alternative, it should be viable to source them locally.

Perhaps most impressive was the creation of the box (unfortunately not detailed on the website at this point), and having the manuals (system and BASIC) professionally printed and bound. Along with a few other bits and pieces, including a tape recorder and fresh Horizons tape, the total price tag came to around £412.

Thanks to [Lee Hodgson] for the tip.

IBIS Models Explained

If you’ve worked with circuit simulation, you may have run into IBIS models. The acronym is input/output buffer information, and while you can do a lot without having to deal with IBIS, knowing about it can help you have a successful simulation.

IBIS is an industry-standard format that uses ASCII text to describe voltage versus current and voltage versus time about some device’s digital input and output pins. This allows precise simulation without revealing the device’s internals, which is important to some vendors. The first post of this two-part series talks about what IBIS is and how it got started. The second part explains creating and using LTSpice to create your own IBIS models. It also covers why you might want to do that.

Of course, if you don’t care about revealing the internals of a device, you could just create a Spice simulation. However, many tools will accept both models, so it is useful to know how to produce either kind of model. In fact, to create an IBIS model, you’ll want to use a Spice model to generate the data for the IBIS model, so it is a good bet you’ll have both, even if you choose to only publish the IBIS models.

If you need a refresher on Spice, we have a series. If you prefer using something different, try Micro-Cap 12, which was commercial, but went free a few years ago.

Screenshot of the SDR software in action, with decoded data in a terminal, and a map that shows the location received from the decoded data

Loudmouth DJI Drones Tell Everyone Where You Are

Back when commercial quadcopters started appearing in the news on the regular, public safety was a talking point. How, for example, do we keep them away from airports? Well, large drone companies didn’t want the negative PR, so some voluntarily added geofencing and tracking mechanisms to their own drones.

When it comes to DJI, one such mechanism is DroneID: a beacon on the drone itself, sending out a trove of data, including its operator’s GPS location. DJI also, of course, sells the Aeroscope device that receives and decodes DroneID data, declared to be for government use. As it often is with privacy-compromising technology, turns out it’s been a bigger compromise than we expected.

Questions started popping up last year, as off-the-shelf quadcopters (including those made by DJI) started to play a part in the Russo-Ukrainian War. It didn’t take long for Ukrainian forces to notice that launching a DJI drone led to its operators being swiftly attacked, and intel was that Russia got some Aeroscopes from Syria. DJI’s response was that their products were not meant to be used this way, and shortly thereafter cut sales to both Russia and Ukraine.

But security researchers have recently discovered the situation was actually worse than we expected. Back in 2022, DJI claimed that the DroneID data was encrypted, but [Kevin Finisterre]’s research proved that to be a lie — with the company finally admitting to it after Verge pushed them on the question. It wouldn’t even be hard to implement a worse-than-nothing encryption that holds up mathematically. However, it seems, DroneID doesn’t even try: here’s a GitHub repository with a DroneID decoder you can use if you have an SDR dongle.

Sadly, the days of companies like DJI standing up against the anti-copter talking points seem to be over, Now they’re setting an example on how devices can subvert their owners’ privacy without reservation. Looks like it’s up to hackers on the frontlines to learn how to excise DroneID, just like we’ve done with the un-nuanced RF power limitations, or the DJI battery DRM, or transplanting firmware between hardware-identical DJI flight controller models.

Continue reading “Loudmouth DJI Drones Tell Everyone Where You Are”