Low Tech High Safety And The NYC Subway System

The year is 1894. You are designing a train system for a large city. Your boss informs you that the mayor’s office wants assurances that trains can’t have wrecks. The system will start small, but it is going to get big and complex over time with tracks crossing and switching. Remember, it is 1894, so computing and wireless tech are barely science fiction at this point. The answer — at least for the New York City subway system — is a clever system of signals and interlocks that make great use of the technology of the day. Bernard S. Greenberg does a great job of describing the system in great detail.

The subway began operation in 1904, well over 30 years since the above-ground trains began running. A clever system of signals and the tracks themselves worked together with some mechanical devices to make the subway very safe. Even if you tried to run two trains together, the safety systems would prevent it.

On the face of it, the system is very simple. There are lights that show red, yellow, and green. If you drive, you know what these mean. But what’s really interesting is the scheme used at the time to make them light.

Continue reading “Low Tech High Safety And The NYC Subway System”

Hackaday Podcast 001: Seriously, We Know What We’re Doing

First podcast of the new year! Editors Elliot Williams and Mike Szczys look back on the most interesting hacks and can’t-miss articles from the past week (or so). Highlights include abusing IPv6 addresses, underclocking WiFi, taking Wii out of the livingroom, scratch built microphones, computer prophecy coming true, and the end of an automotive era. Full show notes below.

This week, Hackaday Contributor Bob Baddeley came on the show to discuss developments in facial recognition technology and its use in the wild.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (60 MB or so.)

Continue reading “Hackaday Podcast 001: Seriously, We Know What We’re Doing”

Robot Arm Is A Fast Learner

Not long ago, machines grew their skills when programmers put their noses to the grindstone and mercilessly attacked those 104 keys. Machine learning is turning some of that around by replacing the typing with humans demonstrating the actions they want the robot to perform. Suddenly, a factory line-worker can be a robot trainer. This is not new, but a robot needs thousands of examples before it is ready to make an attempt. A new paper from researchers at the University of California, Berkeley, are adding the ability to infer so robots can perform after witnessing a task just one time.

A robotic arm with no learning capability can only be told to go to (X,Y,Z), pick up a thing, and drop it off at (X2, Y2, Z2). Many readers have probably done precisely this in school or with a homemade arm. A learning robot generates those coordinates by observing repeated trials and then copies the trainer and saves the keystrokes. This new method can infer that when the trainer picks up a piece of fruit, and drops it in the red bowl, that the robot should make sure the fruit ends up in the red bowl, not just the location where the red bowl was before.

The ability to infer is built from many smaller lessons, like moving to a location, grasping, and releasing and those are trained with regular machine learning, but the inference is the glue that holds it all together. If this sounds like how we teach children or train workers, then you are probably thinking in the right direction.

Continue reading “Robot Arm Is A Fast Learner”

Ask Hackaday: Help Me Pick A CAD Package

Of all the skills that I have picked up over the years as an engineer, there is one that has stayed with me and been a constant over the last three decades. It has helped me work on electronic projects, on furniture, on car parts, robots, and even garments, and it is likely that I will continue using it periodically for the rest of my career. You see, I am a trained PAD expert.

Don't build this, it's fundamentally flawed! Sometimes the front of an envelope is as effective as its back.
Don’t build this, it’s fundamentally flawed! Sometimes the front of an envelope is as effective as its back.

PAD, you ask? OK, it’s an acronym of my own coinage, it stands for Pencil Aided Design, and it refers to the first-year undergraduate course I sat many years ago in which I learned technical drawing to the old British standard BS308. If I’m making something then by far the quickest way for me to visualise its design is to draw it, first a freehand sketch to get a feel of how everything will sit, then a series of isometric component drawings on graph paper with careful attention to dimensions and angles. Well, maybe I lied a little there, the graph paper only comes in when I’m doing something very fancy; the back of an envelope is fine as long as the dimensions on the diagram are correct.

Continue reading “Ask Hackaday: Help Me Pick A CAD Package”

Nintendo 64 Homebrew Via Game Shark

The Nintendo 64 is a classic console now, and much loved, despite losing in commercial stakes to the dominating PlayStation from Sony. It’s one that doesn’t always get as much attention in the homebrew and hacker scene, compared to platforms like the NES and Game Boy. This means the tools required to work with the console aren’t as well-known. However, there’s a remarkably easy way to load homebrew on to the Nintendo 64, if you’ve got the right hardware.

To pull this off, you’ll need a N64 Gameshark, particularly a version higher than 3.0. These included a parallel port and the relevant onboard logic to allow the console to receive data and commands from an attached computer. [Nathan] demonstrates using the gs_libusb utility to deliver homebrew code to the console, using a USB to parallel adapter to make it easy from a modern computer.

The tools are available on github if you wish to try the hack for yourself. Most hacks we see of the platform are of the portable variety, but if you’ve got something fresh, you know who to call.

Continue reading “Nintendo 64 Homebrew Via Game Shark”

Pac-Man Fever Comes To The Pano Logic FPGA

If you’ve been reading Hackaday for a while now, you might recall the tale of Pano Logic that we first covered all the way back in 2013. They were a company that put out some very interesting FPGA-based thin clients, but as occasionally happens in situations like this, the market wasn’t ready and the company went belly up. These thin clients, now without official support, invariably got dumped onto the second-hand market. Shame for Pano Logic and their staff, but good news for hackers like [Skip Hansen].

After seeing a few posts about the Pano Logic devices and general FPGA hacking, he decided to grab a few on eBay and dive in. Using open source tools and the wealth of information that’s available [Skip] was able to get a Pac-Man simulator up and running over his holiday break, and he tells us his life may never be the same again. FPGA hacking is a fascinating subject with a lot of activity right now, and since you can get these Pano Logic boxes on eBay for less than $10 USD in some cases, now is as good a time as ever to get your feet wet.

Like many open source projects, [Skip] says his code is built upon the existing work of a number of other programmers, which let him get up and running much faster than if he had to start from scratch. He describes his code as the “glue” that mashes these projects together, but we think he’s being somewhat modest there. It took more than copying and pasting some code into an IDE to get Blinky, Pinky, Inky and Clyde doing their thing on the Pano Logic.

The biggest challenge was the lack of I/O. The Pano Logic thin clients have USB ports, but it seems nobody has quite figured out how to get them working yet. To talk to the outside world, you’ve got to get a little more creative. Eventually [Skip] was able to track down four lines he could effectively use as GPIO: two which are used to drive the LEDs on the device, and two which are used for the VGA port’s Display Data Channel (DDC) pins. Soldering jumpers from the LEDs to the unused pins in the device’s VGA connector meant he was even able to get these four GPIO lines accessible from the outside of the Pano Logic without having to cut any holes in the case.

Anyone with a Pano Logic client that has a VGA port, an Atari 2600 joystick, and who doesn’t mind soldering a couple of wires can now play Pac-Man with the bitstream [Skip] has provided. But where do we go from here? How long until we see DOOM running on it? Perhaps one of you fine readers should pick one up and see what you can do to advance the state of Pano Logic hacking. Just be sure to let us know about it.

We’ve previously covered one of the projects used to get this Pac-Man simulator off the ground, a very cool ray tracing demo for the Pano Logic developed by [Tom Verbeure]. In fact, [Skip] says that project was what got him interested in FPGA hacking in the first place. If you’re thinking of following his lead, you might also want to check out our FPGA Boot Camp.

Code On Your Phone With CircuitPython Editor

[foamyguy] loves Python and messing around with electronics. Boards such as Adafruit’s Circuit Playground Express make it easy for him to take both anywhere. He recently found himself wanting to program Circuit Python boards in the field, but doesn’t always have a laptop on him. So he created an Android app to make on-the-go programming fast and easy.

Using CircuitPython Editor and one or two USB cables, you can program Circuit Python boards with most Android device, including Tinkerboards. It features serial communication, a basic code editor, and a REPL sandbox for code-based castle building. [foamyguy]’s most recent addition to this work in progress is a macro creation tool that lets you edit and store modular, repeatable tasks, like turning all the NeoPixels blue, or lighting them up in a smiley face pattern. The Circuit Python board will draw its power from the Android device, so keep that in mind before you program some crazy light show.

You can get the app in the Play store or download it directly from the ‘hub. If you have any trouble setting it up, check out [foamyguy]’s Adafruit guide.