Thanks For The Memories: Touring The Awesome Random Access Of Old

I was buying a new laptop the other day and had to make a choice between 4GB of memory and 8. I can remember how big a deal it was when a TRS-80 went from 4K (that’s .000004 GB, if you are counting) to 48K. Today just about all RAM (at least in PCs) is dynamic–it relies on tiny capacitors to hold a charge. The downside to that is that the RAM is unavailable sometimes while the capacitors get refreshed. The upside is you can inexpensively pack lots of bits into a small area. All of the common memory you plug into a PC motherboard–DDR, DDR2, SDRAM, RDRAM, and so on–are types of dynamic memory.

The other kind of common RAM you see is static. This is more or less an array of flip flops. They don’t require refreshing, but a static RAM cell is much larger than an equivalent bit of dynamic memory, so static memory is much less dense than dynamic. Static RAM lives in your PC, too, as cache memory where speed is important.

For now, at least, these two types of RAM technology dominate the market for fast random access read/write memory. Sure, there are a few new technologies that could gain wider usage. There’s also things like flash memory that are useful, but can’t displace regular RAM because of speed, durability, or complex write cycles. However, computers didn’t always use static and dynamic RAM. In fact, they are relatively newcomers to the scene. What did early computers use for fast read/write storage?

Continue reading “Thanks For The Memories: Touring The Awesome Random Access Of Old”

It’s Time The Software People And Mechanical People Sat Down And Had A Talk.

With the advances in rapid prototyping, there’s been a huge influx of people in the physical realm of hacking. While my overall view of this development is positive, I’ve noticed a schism forming in the community. I’m going to have to call a group out. I think it stems from a fundamental refusal of software folks to change their ways of thinking to some of the real aspects of working in the physical realm, so-to-speak. The problem, I think, comes down to three things: dismissal of cost, favoring modularity over understanding, and a resulting insistence that there’s nothing to learn.

Continue reading “It’s Time The Software People And Mechanical People Sat Down And Had A Talk.”

Wiring Was Arduino Before Arduino

Hernando Barragán is the grandfather of Arduino of whom you’ve never heard. And after years now of being basically silent on the issue of attribution, he’s decided to get some of his grudges off his chest and clear the air around Wiring and Arduino. It’s a long read, and at times a little bitter, but if you’ve been following the development of the Arduino vs Arduino debacle, it’s an important piece in the puzzle.

Wiring, in case you don’t know, is where digitalWrite() and company come from. Maybe even more importantly, Wiring basically incubated the idea of building a microcontroller-based hardware controller platform that was simple enough to program that it could be used by artists. Indeed, it was intended to be the physical counterpart to Processing, a visual programming language for art. We’ve always wondered about the relationship between Wiring and Arduino, and it’s good to hear the Wiring side of the story. (We actually interviewed Barragán earlier this year, and he asked that we hold off until he published his side of things on the web.)

The short version is that Arduino was basically a fork of the Wiring software, re-branded and running on a physical platform that borrowed a lot from the Wiring boards. Whether or not this is legal or even moral is not an issue — Wiring was developed fully open-source, both software and hardware, so it was Massimo Banzi’s to copy as much as anyone else’s. But given that Arduino started off as essentially a re-branded Wiring (with code ported to a trivially different microcontroller), you’d be forgiven for thinking that somewhat more acknowledgement than “derives from Wiring” was appropriate.

screenshots_comparo
See what we mean?

The story of Arduino, from Barragán’s perspective, is actually a classic tragedy: student comes up with a really big idea, and one of his professors takes credit for it and runs with it.

Continue reading “Wiring Was Arduino Before Arduino”

Broken Promises Of The Wankel Engine

Through the history of internal combustion engines, there has been plenty of evolution, but few revolutions. Talk of radically different designs always leads to a single name – Wankel. The Wankel rotary engine, most notably used in automobiles by Mazda, has been around since the late 1950’s. The Wankel rotary is an example of a design which makes sense on paper. However, practical problems cause it to underperform in the real world.

Invention and History

felixwankelFelix Wankel’s engine was conceived during a dream. In it, 17-year-old Felix was driving his car to a concert. When he arrived, he bragged to his friends that his car used a new type of engine – half turbine, half reciprocating. “It is my invention!” he told his friends. Upon waking up, Wankel became dedicated to building his engine. Though he never received a formal degree (or a driver’s license), Wankel was a gifted engineer.

Young Wankel’s checkered history includes membership in several anti-semitic groups in the 1920’s. He was also involved with the founding of the Nazi party. His conflicting views on the direction of the party lead to his arrest in 1933. Eventually released through action of Hitler himself, Wankel joined the SS in 1940. The end of the war saw Wankel spending several months in a French prison for his wartime involvement.

Continue reading “Broken Promises Of The Wankel Engine”

Getting It Right By Getting It Wrong: RepRap And The Evolution Of 3D Printing

The beginning of the DIY 3D printing movement was a heady time. There was a vision of a post-scarcity world in which everything could and would be made at home, for free. Printers printing other printers would ensure the exponential growth that would put a 3D printer in every home. As it says on the front page: “RepRap is humanity’s first general-purpose self-replicating manufacturing machine.” Well, kinda.

RepRapOneDarwin-darwin
Original Darwin. Photo: Adrian Bowyer, founder of RepRap.

Just to set the record straight, I love the RepRap project. My hackerspace put our funds together to build one of the first few Darwins in the US: Zach “Hoeken” came down and delivered the cut-acrylic pieces in person. I have, sitting on my desk, a Prusa Mendel with 3D parts printed by Joseph Prusa himself, and I spent a fantastic weekend with him and Kliment Yanev (author of Pronterface) putting it together. Most everyone I’ve met in the RepRap community has been awesome, giving, and talented. The overarching goal of RepRap — getting 3D printers in as many peoples’ hands as possible — is worthy.

But one foundational RepRap idea(l) is wrong, and unfortunately it’s in the name: replication. The original plan was that RepRap printers would print other printers and soon everyone on Earth would have one. In reality, an infinitesimal percentage of RepRap owners print other printers, and the cost of a mass-produced, commercial RepRap spinoff is much less than it would cost me to print you one and source the parts. Because of economies of scale, replicating 3D printers one at a time is just wasteful. Five years ago, this was a controversial stance in the community.

On the other hand, the openness of the RepRap community has fostered great advances in the state of the DIY 3D printing art. Printers haven’t reproduced like wildfire, but ideas and designs have. It’s time to look back on the ideal of literal replication and realize that the replication of designs, building methods, and the software that drives the RepRap project is its great success. It’s the Open Hardware, smarty! A corollary of this shift in thought is to use whatever materials are at hand that make experimentation with new designs as easy as possible, including embracing cheap mass-produced machines as a first step. The number of RepRaps may never grow exponentially, but the quality and number of RepRap designs can.

Continue reading “Getting It Right By Getting It Wrong: RepRap And The Evolution Of 3D Printing”

Pi 3 Benchmarks: The Marketing Hype Is True

The spec bullet list for the latest Raspberry Pi begins as you’ve already heard: WiFi and Bluetooth, now standard. While this is impressive itself, it doesn’t tell the whole story. The Pi 3, with an ARM Cortex A53, is up to 50% faster than the Pi 2 from last year. That’s an astonishing improvement in just 12 short months.

In playing with the Pi 3 for a few hours, it’s apparent the Pi 3 is fast. It passes a threshold of usability. The Raspberry Pi isn’t a computer that just sits on a shelf and runs a few cron jobs and blinks LEDs anymore – this is a computer that’s usable as a computer. But how fast is it? By stroke of luck, the official website for the Cortex A53 gives us a direct comparison between this chip and the CPU in the Raspberry Pi 2:

image credit: arm.com
image credit: arm.com

In real devices, the performance improvement from the Pi 2 to the Pi 3 is somewhere between 40 and 60 percent. At least that’s what ARM and the Raspberry Pi foundation are claiming. Is this true? There are tests we can run, and the marketing speak, for once, isn’t too terribly off the mark.

Continue reading “Pi 3 Benchmarks: The Marketing Hype Is True”

Color TV Broadcasts Are ESP8266’s Newest Trick

The ESP8266 is well known as an incredibly small and cheap WiFi module. But the silicon behind that functionality is very powerful, far beyond its intended purpose. I’ve been hacking different uses for the board and my most recent adventure involves generating color video from the chip. This generated video may be wired to your TV, or you can broadcast it over the air!

I’ve been tinkering with NTSC, the North American video standard that has fairly recently been superseded by digital standards like ATSC. Originally I explored pumping out NTSC with AVRs, which lead to an entire let’s learn, let’s code series. But for a while, this was on the back-burner, until I decided to see how fast I could run the ESP8266’s I2S bus (a glorified shift register) and the answer was 80 MHz. This is much faster than I expected. Faster than the 1.41 MHz used for audio (its intended purpose), 2.35 MHz used for controlling WS2812B LEDs or 4 MHz used to hopefully operate a reprap. It occasionally glitches at 80 MHz, however, it still works surprisingly well!

The coolest part of using the chip’s I2S bus is the versatile DMA engine connected to it. Data blocks can be chained together to seamlessly shift the data out, and interrupts can be generated upon a block’s completion to fill it in with new data. This allows the creation of a software defined bitstream in an interrupt.

Why NTSC? If I lived in Europe, it would have been PAL. The question you’re probably thinking is: “Why a dead standard?” And there’s really three reasons.

Continue reading “Color TV Broadcasts Are ESP8266’s Newest Trick”