Maybe The Oldest Computer, Probably The Oddest

[Tadao Hamada] works for Fujitsu Tokki, a subsidiary of the more famous Fujitsu. In 1956, Fujitsu decided to compete with IBM and built a relay-based computer, the FACOM128. The computer takes up 70 square meters and weighs about 3 tons. By 1959, they’d learned enough to make a FACOM128B model that was improved. [Hamada’s] job is to keep one of these beasts operational at Fujitsu’s Numazu plant. According to the Japanese Computer Museum, it may be the oldest working computer.

Continue reading “Maybe The Oldest Computer, Probably The Oddest”

Memristor Computing On A Chip

Memristors have been — so far — mostly a solution looking for a problem. However, researchers at the University of Michigan are claiming the first memristor-based programmable computer that has the potential to make AI applications more efficient and faster.

Because memristors have a memory, they can accumulate data in a way that is common for — among other things — neural networks. The chip has both an array of nearly 6,000 memristors, a crossbar array, along with analog to digital and digital to analog converters. In fact, there are 486 DACs and 162 ADCs along with an OpenRISC processor.

Continue reading “Memristor Computing On A Chip”

How To Build A CubeSat

There was a time when building your own satellite and having it placed into orbit would have been a wild dream. Now it is extremely possible, but still not trivial. A CubeSat is a very small satellite that can hitch a ride with a bigger satellite or get tossed out of a friendly space station. This week’s issue of The Orbital Index has a very good overview of what all is required. It also contains a great selection of links to get more information.

At first glance, it seems like it would be pretty simple. A computer, a battery, and some solar cells. Well, you probably want to hear back from it, so then you need a radio. Oh, and an antenna. But the antenna can’t stick out during launch so you need a way to deploy it. If you want the satellite to point somewhere, you’ll need things for that, too. Some CubeSats even have tiny thrusters to affect their orbit.

Continue reading “How To Build A CubeSat”

Computer Optimized 3D Printed Bookshelves

[Thomas] does a lot of interesting experiments with 3D printing and lately, he’s been using the free version of Fusion 360 to do topology optimization. He started with a blocky bookshelf bracket and let the software analyze the loads so it can remove pieces that don’t contribute a lot to the bracket’s strength. This uses less material, prints faster, and — [Thomas’] biggest goal — looks cool.

If you know [Thomas] you know he didn’t just hope the brackets would be strong enough. He made prototypes and destroyed them in testing. Despite being printed in a poor orientation for strength, the models held a good bit of weight.

Continue reading “Computer Optimized 3D Printed Bookshelves”

Abraham Wald’s Problem Solving Lesson Is To Seek What’s Not There

You may not know the name Abraham Wald, but he has a very valuable lesson you can apply to problem solving, engineering, and many other parts of life. Wald worked for the Statistical Research Group (SRG) during World War II. This was part of a top secret organization in the United States that applied elite mathematical talent to help the allies win the war. Near Columbia University, mathematicians and computers — the human kind — worked on problems ranging from how to keep an enemy plane under fire longer to optimal bombing patterns.

One of Wald’s ways to approach problem was to look beyond the data in front of him. He was looking for things that weren’t there, using their absence as an additional data point. It is easy to critique things that are present but incorrect. It is harder to see things that are missing. But the end results of this technique were profound and present an object lesson we can still draw from today.

Continue reading “Abraham Wald’s Problem Solving Lesson Is To Seek What’s Not There”

Ping-Pong Ball Makes Great PID Example

It is a common situation in electronics to have a control loop, that is some sort of feedback that drives the input to a system such as a motor or a heater based upon a sensor to measure something like position or temperature. You’ll have a set point — whatever you want the sensor to read — and your job is to adjust the driving thing to make the sensor read the set point value. This seems easy, right? It does seem that way, but in realitythere’s a lot of nuance to doing it well and that usually involves at least some part of a PID (proportional, integral, derivative) controller. You can bog down in math trying to understand the PID but [Electronoobs] recent video shows a very simple test setup that clearly demonstrates what’s going on with an Arduino, a motor, a distance sensor, and a ping-pong ball. You can see the video below.

Imagine for a moment heating a tank of water as an example. The simple approach would be to turn on the heater and when the water reaches the setpoint, turn the heater off. The problem there is though that you will probably overshoot the target. The proportional part of a PID controller will only turn the heater fully on when the water is way under the target temperature. As the water gets closer to the right temperature, the controller will turn down the input — in this case using PWM. The closer the sensor reads to the setpoint, the lower the system will turn the heater.

Continue reading “Ping-Pong Ball Makes Great PID Example”

BootBasic Fits Your Favorite Language In The Boot Sector

Humans seem to have a need to do things that aren’t practical. Make the biggest ball of twine. Engrave the Declaration of Independence on a grain of rice. We want to make things bigger, smaller, faster, or whatever. That might explain why [nanochess] put out bootBASIC.

The 8088 (or later) assembly code gives you a very restricted BASIC interpreter that you can boot up. That means it has to fit in the 512-byte boot block that the hardware loads to get an operating system running. How restricted? Keep in mind it fits in 512 bytes. Each line can only have 19 characters or less. Backspace works, but doesn’t update the screen. Line numbers range from 1 to 999 and there are only 26 integer variables named a through z that hold 16 bits. All statements are in lower case.

Continue reading “BootBasic Fits Your Favorite Language In The Boot Sector”