Category Archives: Engineering

MOnSter in a box

MOnSter 6502 in enclosure

For the past couple of years we have been working towards a public launch of the MOnSter 6502, our working transistor-scale replica of the famous MOS 6502 microprocessor.

One of the biggest pieces of the puzzle has been how to present it in such a way that shows off its beauty but also lets you see it in action. Here – finally – is the result of that effort: An elegant shadowbox frame with hidden electronics and integrated buttons.

If you’d like to see the MOnSter and its new prototype enclosure, this weekend is the perfect opportunity: we are exhibiting it at the 2019 Vintage Computer Festival West, August 3-4 at the Computer History Museum in Mountain View, California.

MOnSter 6502 in enclosure

Where to go from here? If everything goes well, we’ll be launching the MOnSter this fall. Stay tuned!

The AxiDraw CLI and Python API

Following the release of our new AxiDraw software this week, we are pleased to announce the release of two additional software components that greatly extend the capability of the machine.

The AxiDraw software is now available in two alternate versions that may be helpful for developers or for anyone who would like to control the machine programmatically rather than through Inkscape: A stand-alone command-line interface (CLI) tool, as well as a full-featured Python library.

The AxiDraw CLI

The first new tool is the AxiDraw CLI,  a command-line API to drive the AxiDraw outside of Inkscape. Like the Inkscape-based software, its primary function is to plot SVG files. However, it is a stand-alone utility that can be driven from within shell scripts and other environments that make use of shell commands.

Once installed, plotting a file can be as simple as executing the following command:

axicli filename.svg

There are, of course, a breadth of different modes and configuration parameters available. We have written detailed descriptions of each of these options in our comprehensive API documentation. The CLI also supports the use of configuration files to quickly switch between different sets of parameters.

Since most common scripting and programming environments allow one to call shell commands like this, that allows the AxiDraw to be used directly within a wide variety of frameworks.

 

The Python API

The second new tool is the AxiDraw Python API. The AxiDraw CLI is written within Python, and we have both exposed and expanded upon that nucleus to create a flexible and powerful Python module, complete with its own comprehensive documentation.

Just like the CLI, the Python API can plot SVG documents; it can both read SVG files and accept strings containing SVG data.

It also has features that are not available within Inkscape or the CLI: It supports direct interactive XY control. You can use absolute or relative moveto/lineto type commands to control the AxiDraw from within your own programs. This is particularly useful for a wide variety of potential AxiDraw applications that are not writing or drawing, but otherwise making use of the AxiDraw as a low-cost motion control platform.

Hershey Text v 3.0

Some years ago we wrote a neat little Inkscape extension called Hershey Text. Hershey text could take a little bit of text that you would type and render it into stroke fonts, also known as engraving fonts.

We are very pleased this week to release an all-new version of Hershey Text, written from scratch, and far more useful, capable, and extensible. We have a comprehensive user guide for it as well.

Hershey Text v 3.0 will be bundled into future versions of Inkscape, but it’s also included with the new AxiDraw software and available on its own for download today.

Continue reading Hershey Text v 3.0

New AxiDraw Software v 2.5

We’re pleased to announce the release of the latest version of the AxiDraw software, 2.5. which includes a number of frequently-requested features that we’ve been working on over the last year.

An expanded user guide

Perhaps foremost, we have updated and greatly expanded the PDF AxiDraw user guide, which covers how to use the AxiDraw, including every part of the software. In addition to sections that go over the new features, we have thoroughly revised the rest, including a larger and clearer section on getting started.

A new SVG optimization tool

In normal use, the AxiDraw software plots elements in the same order that they occur in the file. However, depending on how your file was generated, that may not be the most efficient way to do things. If the order of the elements in the file is poor enough, the plot time can actually be dominated not by writing and drawing time, but by pen-up movements (illustrated here in red) between objects.

We’ve written a new SVG ordering utility, that can sorting of objects in an SVG document, re-ordering them as needed to reduce pen-up travel. It’s also a layer-aware and group-aware sorting tool, that can process a full document and reorder elements on each layer of the document and either respect or break apart other groups in your document. This tool is available in two versions: An individual Inkscape extension as well as an integrated version that you can use automatically within the AxiDraw software.

Better support for using multiple machines

The new AxiDraw software supports assigning names to individual AxiDraw units over USB, which you can use as semi-permanent labels when printing to a particular machine. You can also now plot to a specific AxiDraw, or simultaneously plot the same document to a number of connected machines.

A new version of Hershey Text

This release includes an all-new version of Hershey Text, our software for creating stroke-based text within Inkscape. You can about the new features in our blog post announcing it.

And more!

Amongst other improvements in the new software are the following:

  • Updated to use Inkscape 0.92
  • Paths in the document are now clipped gracefully and precisely at the boundaries of both the artboard (drawing canvas) and machine travel.
  • Supports more SVG object and layout types natively
  • Faster plotting on paths with very high vertex density
  • Online version check added
  • Improves behavior of Hatch Fill extension
  • Bug fixes galore

We recommend this new version to all AxiDraw users; you can download it for Mac, Windows, or Linux, following our guide here.

Uncovering the Silicon: μL914

At the 2018 Bay Area Maker Faire, our project Uncovering the Silicon showed off a number of simple and complex integrated circuits (with rather large feature size) under the microscope. We had a great time helping visitors look at the features and get a glimpse of what’s inside those black box integrated circuit packages. To take this to the next level for this year’s Maker Faire, we decided to try and close the loop; to take one simple integrated circuit and elucidate its workings well enough that visitors to our booth will be able to see every single component of the circuit, understand their function, and relate it to the macroscopic behavior of the chip. For this, we picked what turns out to be a rather obscure chip: the Fairchild μL914, which is a dual 2-input NOR gate. This chip belongs to the resistor–transistor logic (RTL) family.

uL914 IC closeup in circuit

Here’s what the chip looks like. It’s in a funny old “glob-top” can package with eight leads.

pinout

Here’s the pinout; there are two NOR gates in the chip, plus power and ground.

uL914 IC package circuit with switches and LEDs

Ken Shirriff built a circuit with the chip to demonstrate its functionality. When we push either of the two buttons for one of the gates, that LED will turn off.

Schematic

Here’s the schematic diagram, adapted from the original datasheet. If you look at the left side, if either of those inputs goes high, the transistor pulls the output low.

uL914 dual 2-input NOR gate die photo

John McMaster decapped a few of the chips and sent us a die photo. He made a video about the process — no small feat. We’ll be bringing one of these bare chips and a microscope (equipped with both eyepieces and a camera) to Maker Faire.

For the macroscopic scale, we approached visualizing this circuit from a couple of angles: the physical structure of the chip, and the electronic structure of the circuit.

uL914 die model render

Eric Schlaepfer used the die photo to model the structure of the chip in CAD.

uL914 PCB version

Simultaneously, Ken designed a printed circuit board version for use with discrete components that maintained the same structure as the IC.

Individual transistor acrylic model Individual transistor acrylic model

Working from Eric’s CAD model, we built a single NPN transistor model from layers of colored acrylic. If you lift it up, and look through the transparent middle layers, you can tell that the emitter (red) is embedded into the top of the base (yellow) and does not go all the down way through it. (Transistors like these are planar: The emitter is above the base, and the base is above the collector.)

The top layer of this little model has labels for the collector, emitter and base. It is removable so that the layers of the model can be more easily inspected.

The model of the chip die includes a transparent cover representing the oxide layer, and that supports the metal layer with the wire bond pads on the edges.

One of the reasons that this particular chip is educational to look at is that there are a few unused components on the die. There are two unused transistors: one of them is unconnected, and the other is shorted. There are also several unused resistors (resistors are the dogbone shapes). The unconnected and unused components are easier to see, and provide a visual example that is useful for understanding what the connected components look like under the metal layer.

It is also fun to imagine what other circuits could have been made with different connections.

We glued most of the layers together, but left the top two layers removable so that it is easier to see the internal structure when the top is removed.

(Aside: we left out most of the epitaxial pocket material, because even though we used transparent acrylic to represent it, the layers of the components are much more visible without it present.)

Acrylic chip model top with metal layer

There are cutouts in the oxide layer where the metal layer connects to the circuitry below.

Acrylic chip model with hot glue bond wire example

One of the most noticeable things you see when you look at this type of IC under the microscope is the bond wires. We’ve used silver glitter hot glue sticks to represent them.

bond wire closeup

The glob of melted glue represents where the wire is bonded to the pad.

Acrylic chip model with hot glue bond wires

When you look straight down on the model with its glitter bond wires, it looks very similar to what you’ll see in the microscope.

Acrylic model legend

To round things out for our acrylic model, we made a physical legend to make it easier to identify all of the parts of the model.

uL914 discrete version switch and LED circuit

Once Ken got his PCBs back from our friends at OSHPark, he built it up with the same example circuit.

discrete circuit closeup

The PCBs turned out beautifully, and it’s great to see the familiar discrete packages on the enlarged circuit. Ken has published the PCB design on Github.

We hope to see you at Maker Faire this weekend!

Bonus: Ken laid out some hypothetical alternate metal layers to use the same die to create different chips.

Bonus video: Mike from Hackaday came to visit our project at Maker Faire and got a great video explanation of our project with Windell. He also wrote it up for Hackaday.

AxiDraw on MythBusters Jr

I’m super excited to see the new MythBusters Jr episode tonight, because I’m in it with the AxiDraw!


I had a fun time working with Valerie, Rachel, and Elijah, as well as the great crew.

Stroboscopic Ornaments

Jiří Zemánek, whose EggBot work we have featured before, sent in this wonderful video of stroboscopically animated Christmas ornaments.

The stroboscopic patterns are designed in MATLAB and drawn by EggBot Pro on colored glass Christmas ornaments. Motion of the balls is controlled by custom mechanism built using components from two Prusa i3 MK3 3D printers, like six stepper motors and two Rambo boards. On top of designing the patterns, which is Jiri’s hobby (when he is not busy with research) and building the whole contraption in a very short time, the team had to deal with issues including non-spherical ornaments, or how to use Rambo board to precisely control the velocity profiles.

We love to see how people make things, and Jiri did not disappoint, sharing process photos of making the rotation mechanisms.

With great help from his colleagues Martin, Krištof, and Filip they took Christmas ornaments to the next level and taught them to dance!

The final setup shot captures how they created such a beautiful video.

Merry Christmas to Jiri and the Advanced Algorithms for Control and Communications group! Thank you for sharing your project!