The Agony of The Feet

plutarch on rail

If, bit by bit, you replace the parts of a store-bought pirate parrot with 3D printed components and electronics, is it still the same parrot in five years?

Another Halloween has come and gone, and no, I did not festoon the house with an Arduino-controlled lightshow as I had planned to do in July.

Nor did I design and print that glowing Riddler sword cane I’ve been wanting to get to, and I also failed to make any headway on that EL wire and fog-machine witches’ cauldron I was so pumped up about two years ago.

What I did manage to do was stay married to the lovely and talented Mrs. Zheng3, who in addition to being lovely and talented also had the foresight to order us up a couple of relatively inexpensive pirate costumes from some online retailer.

See, here’s the thing about Halloween costumes. A store-bought costume is all well and good, but I gots ideas, man. Next time you and I are having a beer ask me about my plans for a two-person piñata donkey costume. If you whack us with a stick we’ll drop a bunch of candy out through a trapdoor in the belly. It’s-a-gonna-be-awesome.


Of course, I don’t have the time to make this. I also must make peace with the idea that I will never, ever, learn how to do DIY vacuum forming and craft myself a suit of Dr. Doom armor. The probability of my constructing an animatronic tarantula the size of a Great Dane approaches zero. Halloween’s an annual exercise in abandoning fun projects before they get started.

But you’ve gotta have a costume, right? Especially since we annually attend a spectacular haunted house/halloween party thrown by good friends of ours out in the boondocks of Hortonville, Wisconsin. Can’t show up there wearing my usual costume of cargo pants and free trade show T-shirts.

As she’s done so many times in the past, the lovely and talented Mrs. Zheng3 pulled my bacon out of the fire with an assist from Amazon prime and MasterCard, and now we’ve got pirate gear aplenty.

But what about next year? And the year after that? We’ve decided that our best option is to commit to the pirate life completely and upgrade our costumes by degrees. This year’s our baseline, and at some point in the next twelve months I’ll buy a nice set of leather boots to replace the cheap vinyl boot-tops that go over my dress shoes.

(The costume has a little tag on the inside that says, I kid you not, DO NOT WASH. Need to replace the shirt ASAP.)

do not wash

Maybe next year I’ll find a flouncy pirate shirt that can do double duty at the renaissance faire. And the year after that I can fall off my wallet and get a nice steel cutlass. And so on and so forth and in five years I’ll have a really great pirate costume just hanging in the closet.

We also bought a polystyrene parrot accessory. He doesn’t look too bad for $10 but the UX could use some love. At the most basic level, it’d be nice if I didn’t have to worry about my bird falling off to join the choir invisible every time I reach for the guacamole.

Plutarch’s original feet have two problems. First, they look nothing like actual parrot feet. Parrot feet are weird, and these are clearly sparrow feet repurposed by an overworked factory manager in Guangzhou.

original feet

Second, the feet don’t ship with a convenient way to attach to the wearer. Plutarch ships with a shoelace-like strap that’s halfheartedly hot-glued to his sole, intended to loop under his owner’s armpit. You’ll see from the Amazon reviews that this is a less-than-optimal solution.

Magnets are my go-to solution for holding things together. A while ago I bought a passel of tiny neodymium magnets for some long-forgotten purpose, and I still have about fifty of them left. A few minutes tweaking a cube in Maya gets me a pair of parrot feet with little sockets for the magnets. The magnets are friction-fit, but being a belt-and-suspenders type of hominid I’ve super glued them in.

feet magnets

A steel tuna fish can lid, easily hand-bent to be convex, hides under my clothing. I’ve covered the lid in athletic tape because it’ll be under a white shirt eventually and I don’t want it to show through.

feet pauldron

Besides, I’m nursing a rotator cuff injury, again, and have no other use for my athletic tape for at least a month. Feh.

Also, Coco gives approximately 6.02×10-23 f_cks about this parrot.

These feet are printed flat in ColorFabb signal yellow PLA/PHA, which is easy enough to deform post-print with a little bit of heat. A few months ago I bought this great little heat gun for heat-shrink tubing and it does a fine job helping me mold Plutarch’s toes to my shoulder.

plutarch shoulder

In the long term I’d like to put some motor control into Plutarch’s head so that he can swivel to look at stuff. And a webcam. And a speaker. And wireless control so that I can control the parrot from across the room.

I’ve already got a wee servo on order from Adafruit, so that’ll be next weekend’s project.

Like I said, I gots ideas. Check back in a year and we’ll see how far I’ve gotten.

Why Plutarch? Ship of Theseus, grandfather’s axe, and all that.

Lao Zheng out.

Beholden to The Next Thing

Here at Zheng Labs we are busy, as always, working on the Next Thing. The Next Thing is our white whale. It is our golden hind. Our Sisyphus’ boulder. Our El Guapo. It is all of these, and more.

And for us there shall always be a Next Thing, until we are from this earthly womb untimely ripp’d, and the Next Thing, still unfinished, taunts us as we rage against the dying of the light.

And so it was the pursuit of the Next Thing that caused the recent lack of posts at, and we failed at achieving the Next Thing anyways, and so the Next Thing has become a Last Thing, consigned to the Hopper of Good Ideas That Must Unfortunately Be Backburnered, and we’ll move on to the (next) Next Thing.

next thing

The (last) Next Thing involved lots of voltage dividers and photoresistors and lasers and conduit. Too bad it didn’t work out.

But before we approach the (next) Next Thing, which of course involves parrots and neodymium, we must address an issue that’s been subordinate to the (last) Next Thing for some time. To wit: 3d-Fuel’s Algae-Fuel PLA.

Some backstory: some time ago I ordered a roll of ColorFabb yellow PLA/PHA from PrintedSolid. Nice folks that they are, PrintedSolid threw in a short sample of algae-based PLA for me to test, presumably with the expectation that I would do so posthaste.

Alas, PrintedSolid failed to account for the siren song of the (last) Next Thing, and test prints with Algae-Fuel were unfortunately delayed while I was repeatedly punched in the face, neck, and liver by the (last) Next Thing for the better part of two months.

Pros for Algae-Fuel: it’s compostable, biodegradable, and, best of all, sustainable. The feedstock (algae! will wonders never cease?) can be grown without using huge tracts of land.

Cons: Typical of filaments with infused particles, it can be a little stringy if you’re not tweaking your print settings from regular PLA.

Take a gander at this photo of The Beast. The beast is designed to print without support on an FDM printer, though it didn’t seem to care much for Algae-Fuel.


Prolly shoulda printed an Ooze instead.

UPDATE 7-11-15: Upon receiving some advice from PrintedSolid, I dropped the temperature of my print from 220°C to 180°. I’m almost out of Algae-Fuel at this point, so I designed a little stringing test STL and gave it a go. Here’s a side-by-side comparison.

side by side

The results are definitely improved. Still a little stringing, but nothing like what we saw printing the Beast at 220°. Now back to yesterday’s post.

Other cons: It’s more expensive than your typical PLA’s, and it smells a little funky.

Algae-Fuel is better used in prints without so much open space, like this owl from Thingiverse:


Sharp-eyed readers will note that this is not a Yoda head. Stop printing Yoda heads, people.

You’ll see a little bit of stringing between the owl’s ears and around the beak, but overall the print’s looking pretty good. The final texture is slightly rough, like very fine sandpaper. It’s quite pleasant to handle.

What does algae at 220° C smell like? Strangely enough, like burnt coffee beans. It’s not unpleasant, but it’s definitely noticeable. Ventilate your makerspace well and passers-by will think you’re running a semicompetent java house.

You can purchase Algae-Fuel at

#staytuned for updates on the (next) Next Thing. Soon.

Complicated Selections in Maya

Sometimes geometry comes into Maya with difficult tessellation; the original designer might have never intended the model to be edited in the first place, or, more likely, was a lunatic.

Take, for example, this knurled surface by aubenc (not a lunatic, AFAIK) on Thingiverse. All those edges on the top surface N-gon trace to a single vertex. Performing an extrude on that top surface is going to get messy and difficult to deal with down the road.


So, how to delete that collection of edges and replace with a nice clean N-gon?

There’s always the brute force solution, hand-selecting each edge by picking them with the selection tool. This’ll work, but it’s tedious and one always runs the risk of accidentally selecting an edge somewhere else on the model.

I can’t count the number of times a stray edge got accidentally beveled because I selected it this way.

Sometimes it’s possible to switch to an orthographic view, drag-select all the edges on a face from the side, and then CTRL-select the edges you dont want from the other side.

select side A

deselect side

This technique will work with a model that’s oriented nicely along the X and Z axes like this knurled cylinder, but what if you can’t get a clean orthographic selection? Like in this (admittedly fabricated for the purposes of this blog post) case? There are no guarantees that a model you find out there in the wild is going to be well-positioned by the time you get to it.

bad orient

Here’s where Maya’s selection conversion tools become astoundingly useful. First, switch to perspecive view and hit F9. This will put you into component selection mode. Select the single vertex that is common to all the edges you want to delete.

single vert

Hold down the CTRL key and then hit F11. This will convert your vertex selection to faces. (CTRL-F10 will convert to edges, by the way.)

Right click and use the contextual menu to switch to face selection.


Hold down CTRL again and unpick the faces that you don’t want in your selection.

faces selected

Then delete the unwanted faces.

border edge

With most models, Polygon-> Fill Hole will give you a nice, clean N-gon if you select a border edge before applying it.


With some fiddling and fuddling and boolean magic, Aubenc’s model became the base for the thumbscrews in Zheng’s GoPro Gubbinses.

Zheng’s GoPro Gubbinses

(Free download, it’s in The Forge, support Open Source design by throwing me a bone yadda yadda yadda.)

Make: 2015 Digital Fabrication Shootout

I’ve just returned from Make: Magazine’s 2015 Digital Fabrication Shootout. Huge, huge, HUGE thanks to Make: for granting me the opportunity to participate, and a thousand quatloos to generalissimo Matt Stultz for keeping the cat herd on point during the tests.


We testers have been asked not to reveal or discuss which machines we tested until after Make publishes in November, so I’ll do my best to provide a description of the testing process without letting the cat out of the bag or the horse out of the barn or whatever mammal-preposition-structure metaphor you choose. Onward we go.

Full disclosure: I traveled to the Digital Fabrication Shootout in San Francisco at Make:’s expense. I did not receive any financial compensation from Make for the time I spent at the shootout. Fortunately you don’t have to declare having your mind blown to the IRS, because that totally happened. At least twice.

Most of us left for SF on Thursday the 30th. A weather snarl on the east coast of the US caused many of the New Yorkers/Bostonians/Rhode Islanders among our crew to arrive late, but the midwestern contingent, myself included, got in right on schedule. We agreed to meet up at 10AM to let the late arrivals sleep in a bit. This would be the last time any of us got a full night’s sleep for the rest of the weekend.

By some combination of Ubers and hoofing it, all members of our party arrived at the Maker Media lab, tucked inside the Innovation Hangar next to the Palace of Fine Arts.

Several times I witnessed the death throes of the taxi industry as six nerds waited RIGHT NEXT TO AN IDLING TAXI for our Uber to arrive. I’m convinced the killer app for Uber is the convenience of expense reports; reciepts get emailed to you, you forward them on to your corporate overlords, and bam. Done. Also, no tipping, which is darn handy.

The People

Ehmahgerd. The people. An assortment of keen minds at the tops of their games. Some of these folks I know from Maker Faires past, and the rest are now new pals of mine. Once we went around the circle once doing introductions I realized I was hanging out with the Justice League of 3D printing. That’s me, down at the bottom left.


Those of us with prior CNC/laser cutter experience broke off to work on machines of that ilk– with only 3 days to test over a dozen machines there’s not a lot of time to climb a steep learning curve. I’m a 3D printer guy, so I grabbed the nearest printer, moved it over to an empty bench and started working through the testing procedure. Everything is branded at the Maker Media Lab, even the workbenches. Note to self: brand my workbench at home.


The Process:

The testing process was fairly straightforward; every tester put his or her printer through its paces by running specially designed test prints, one at a time. The test models are designed to isolate one specific aspect of the printer’s capabilities; speed, resolution, etc.

In the interest of impartiality, testers were prevented from using any specialized knowledge/3d printing voodoo to ensure successful prints; we used manufacturer-recommended default settings for and followed manufacturer instructions to the letter.

I can’t show you any of the prints but I can show you these shiny and attractive stickers:


These stickers help to eliminate bias from the scoring process, and here’s how: each print begins with a logging a sticker’s number in a spreadsheet. Other data: the printer, slicer, filament, tester name, temperature, etc wind up associated with that sticker number. One print, one sticker.

Finished prints got labeled with their sticker and dropped into a ziploc bag.

At the end of the day, each tester’s bag is brought anonymously to the scoring room, where it was stored until the prints could be evaluated. The scorer has no idea which tester or machine made the print; as far as they’re concerned each print is just a number.

We had one print labeled 24601 that escaped to the countryside. No idea what’ll happen to it, but I’ll bet it’s miserable now.

All during this process we were ensconced behind a small barrier that kept muggles from getting into a space where safety and liabiity might be an issue. But you could still have come by and thrown peanuts at us.


My Saturday highlight was talking to a gaggle of tourists from Beijing who wandered up to the rope line. Always a treat to see the mental shift in a native speaker’s face when they realize I’m trying to speak broken Mandarin at them.

The testing period was intense; Make: thoughtfully brought in catered eats which were consumed while hunched over laptops and printers, working, working, working. I think I saw the sun maybe twice the whole weekend– day one went until just before midnight and day two went even longer.

This is not to say there wasn’t the usual horseplay and shenanigans you’d expect from twelve geeks in a lab full of technology; far from it! There’s some downtime while print tests are running, so we used that time to document our tests, update social media (check #digfabshootout on Twitter, lotsa good pictures there), and, most importantly, chat with each other.

In between the prints and the coffee and the prints and the Red Bull and the prints there was a lot– I dare say a metric butt-ton of– 3dprinterati cross-pollination. Meeting up with this crew and sharing ideas has my mind going in all kinds of new and different directions now. Also, I gotta up my 3d printing game.

#staytuned, my friends. New stuff on the way soon, once I rest up a bit.

All About That Base Are Belong To Us: Controlling an LED with an NPN Transistor

unforeseen problemFull disclosure: I have no idea what I’m doing. If you arrived here by googling CONTROL LED NPN TRANSISTER then you probably know only slightly less about electronics than I do.

Frankly I’m not real clear on exactly what voltage is. People keep telling me charge is like a swimming pool, and the voltage is how much water pressure you have, and the current is how much water flows out of the pool, and resistance is how big the pipe is that the water’s flowing out of, but honestly that makes no intuitive sense to me. No sense at all.

Apparently resistors have something to do with Buddhism because ohms? What. Evs.

I’m a huge fan of getting things working first and understanding them later, so let’s just barrel right ahead and be willing to break stuff for science. These components are relatively inexpensive, so even if you burn a few bucks you’ve gained some knowledge from the carnage.

Here’s what you’ll need:


One. A power source. I’ve got an old 7.5V wall wart power adapter scavenged from what I’m guessing was a D-Link router at some point in the past. You can use any power source you like for this, just so long as you’re pushing somewhere around 5V. Four AA batteries will work great for this. Don’t get your power directly from the wall unless you’re seeking a new career as a fried ham.

The leads on this power supply are stranded wire, which doesn’t jam into breadboards very well. I’ve soldered them solid– not strictly necessary but helpful. If you do this yourself please don’t solder the leads while the power supply is plugged in. Is bad idea.

I’ve used blue painters’ tape to indicate the positive lead on this. Red’s the conventional color, but I ain’t got no red tape, son. Blue it is.

Two. An LED! You can buy these guys by the dozen for cheap, and some places will even sell you resistors in the package. I’m using a green LED. These tend to run somewhere around 3.3V (this matters, and you’ll see why in a moment.)

Any DIY project is improved by adding LED’s to it, so you really ought to have a few thousand of these at the ready. Making a Halloween costume? LED’s. Grade school diorama? LED’s. Bran muffins? LED’s, baby.

Three. Some resistors! Here’s why that 3.3V matters: remember that the power supply I’m using is 7.5 volts. Hook that puppy up to a dinky little 3.3V LED and kablooie– the LED will flash briefly and then die forever. The resistor’s going to limit the amount of juice flowing to the LED by turning excess electricity into heat and dissipating it into the air.


I’m using a 12K and a 5.6K resistor for this project, which I picked at random from a pile of bent resistors in the bottom of my toolbox after a 100K resistor blocked too much current to light an LED.

Voltage calculations and predictions as to whether I will eventually burn up my components are left as an exercise for the reader. EE’s are free to leave helpful comments below.

Fo’. An NPN transistor! It’s tough to buy just one of these. Here’s a pack of one hundred, so you can screw up a bunch of times. We’re going to use one transistor as an electronic switch. What you do with the other 99 is up to you.

Five. A short length of hookup wire. Pretty much anything conductive will work for this– don’t worry about gauge as we’re not exactly building a space probe here. Use a paper clip if you’ve got nothing else.

Six. A solderless breadboard! (not pictured) You’ll probably want at least three of these in your house so that you can leave half-finished projects assembled while you attend to more pressing duties, but you only need one for this project.

The Basic LED Circuit

Let’s assume that you’ve never done this before. We’ll wire up a basic LED circuit to build confidence and then move on to adding the transistor.

Step 1: Connect the power to the breadboard. Plus to plus, minus to minus.

power hookup

Step 2: Connect the 12K resistor to the + strip and somewhere else on the breadboard. We’ll use a second resistor later when we want to avoid frying the transistor.

add resistor

Step 3: Connect the long lead of the LED to the free end of the 12K resistor.

add LED

Step 4: Connect the short lead of the LED back to ground with a piece of hookup wire.

LED circuit

And if all goes well, you should have glowing LED, with brightness dependent on your combination of resistor and power source.

So that’s LED’s 101. I still don’t know how this relates to swimming pools.

The Transistor Circuit

Let’s complicate things just a bit by adding the NPN transistor. Pro tip: It’s always helpful to remove all cats from the work area.


Let’s not dwell on the difference between NPN and PNP transistors: there are plenty of other places on the internets to explain that, full of confusing diagrams and weird-ass equations. For morons at our level it’s enough to understand that when electricty touches the middle pin of an NPN transitor, current flows through the transistor. Otherwise, the transistor acts like a closed gate, and no electricity passes through it.

I’m using a 2N4401 transistor, but any NPN should work for this little tutorial.

Step 6: Take out the LED and hookup wire and insert the transistor so the curved side is facing away from you.

add transistor

Step 7: Connect the long lead of the LED to the rightmost leg of the transistor. Wire the transistor’s leg back to ground with your little piece of hookup wire. If you’re fortunate, nothing will happen.

wire to ground

The LED should still be dark, but if it’s glowing dimly then (I guess?) a little bit of current is passing through the transistor. You can use a more powerful resistor or lower your input voltage by swapping out your power supply.

Or just plow on ahead and don’t worry about incinerating your components. That’s what I’d do.

Step 8: This is where the magic happens! We’re going to apply current to the transistor’s middle leg, which will permit current to flow through the transistor and light up our LED.

transistor circuit

Just to be on the safe side I put my 5.6K resistor in between the source voltage and the transistor’s middle leg. Of course you could read the datasheet and know for sure how much voltage that middle leg can handle (spoiler: it’s 6V read Andy’s comments below) but reading datasheets is for suckers who didn’t buy a 100-pack of transistors.

This Circuit is Stupid

Yeah, I know. But it’s a proof of concept, right? Instead of keeping an LED lit (lame) one might be using this transistor with an Arduino digital pin wired to the middle leg. One could toggle massively interesting circuts by writing HIGH or LOW to the circuit from the Arduino.

Or, OR! In theeeeeeeeeeory, one could use this basic circuit to resolve conflicts among I2C devices with identical hardware addresses by interrupting the SCA signal, if one had accidentally purchased A TSSOP multiplexer and SOIC breakout boards and had a week to kill while the proper components were being shipped to his lab and needed to feel like he was making forward progress on some front for the love of Pete, because none of us are getting any younger, you know, and Time is the enemy.

I’m not saying that happened. But it could have. In theory.

#staytuned, my friends. Lao Zheng out.

Vacation Photos and RGB Sensors

So I’m back from a week travelling across the western half of Canada with the lovely and talented Mrs. Zheng3 and her parents. We now return you to your regular schedule of intermittent blog posts.

The trip began in Vancouver where I enjoyed the singular pleasure of spending a couple of hours meeting with the Pinshape team at their mothership. We discussed some of the more pressing questions facing 3D printing designers today, including but not limited to where one might obtain the best dim sum in BC’s fairest city.

Great bunch of folks, these Pinshapers. Sharp as tacks and friendly to boot. Take a look at their site and you’ll find a nicely-curated selection of models.

Robber Rex (a favorite at Pinshape) managed to visit the Vancouver Public Library, which has been cunningly constructed to resemble the Roman Colosseum.



The Saskatoon train station is as bleak an outpost as you’ll find, but still a welcome diversion for a constipated Parasaurolophus who never quite got the hang of pooping in a cramped train toilet.


The long train ride from Vancouver to Winnipeg, made longer by frequent sidesteppings to allow freight trains to pass, allows for much contemplation and idea generation and idle sketching upon napkins, and by the time I returned home I was more than ready to jump into the next project: RGB color sensing with Arduino.

There are, presumably, roll-your-own RGB sensors cobbled from disposable contact lenses, photoresistors, and Oreo cream, but at some point one must accept that expedience takes priority over molecular-level knowledge of a process and you just can’t be mining your own beryllium all the time. So to Adafruit we go, and earlier this week a TCS34725 RGB color sensor arrived on the doorstep of Zheng Labs.

milton inspecting

The Adafruit tutorial is remarkably easy to follow and we were up and running in less time than it took to print George Timmermans’ handy Arduino and half-sized breadboard caddy, including the time required to solder the sensor to some headers with long-unused and filthy soldering iron tips.

I’d link to the caddy directly except that WordPress is throwing some weird Unicode error and it’s too early in the morning to troubleshoot HTML errors. It’s on Thingiverse.

This little board contains a white LED that burns with the intensity of a thousand suns, so you may want to wire it to ground and turn it off while you’re experimentin’ or you’ll be seeing afterimages of your workspace for hours.


The book in the background is fellow Wisconsinite Jordan Ellenberg’s How Not To Be Wrong, which, 50 pages in, is so far a fun read. Any book that starts off with a humorous telling of statistical analysis of bullet holes in WWII airplane fuselages is going to be good.

Our engineering team ran into a little bit of trouble trying to get Unity3D to talk to the Arduino and settled for a temporary solution using Python code direcly cannibalized from 2012’s Etchasketchulator project:

import serial

ser = serial.Serial('/dev/tty.usbserial-A700fjTr', 9600)

def wait_for_arduino():

     while (true):      
 #read the first 50 characters that the arduino is sending
          print (valueIn)


That /dev/tty.usbserial-A700fjTr serial address is the currently free USB port on my MBP: if you’re using a PC you’ll likely replace that string with something that looks more like COM4. Check your Arduino IDE to see which port to use.

serial screenshot

Looks like I need to make the serial communication a little more elegant; it’s timing out, throwing errors, is badly formatted, and generally a mess. But let us not let the perfect be the enemy of the good. Iterate now, fix later.

ball pit

I used a couple of ball pit balls as test objects. In the interest of presenting properly-formatted data let’s go direct to the Arduino serial monitor for the output:

Offscreen I’m waving a red ball over the sensor and, wonder of wonders, the red values change over time.

arduino serial

Next step: communicating with a passel of these RGB sensors. This should be a challenge, since each one has an identical address and as far as I know they can’t be changed in hardware. Getting ready to hop on the I2C bus.

I’ll clean up the serial communication by next time, promise. And calibration. Gotta do some pre-read calibration of the sensors for ambient light levels, too.

Note to self: buy new soldering iron tips before we go down this road. #staytuned.

The Forge 2.0

Too long has it been since the last post here at the blog. Well, there was yesterday’s short fiction about Milton, but that was just an amuse-bouche while I got the last of the unruly ducks in a row on The Next Thing.

So! The Next Thing.

After digging into forgotten tomes of PHP lore and dusting off my HTML and CSS (it’s amazing what one can do with CSS and HTML 5 these days) and taking my first tentative steps into SQL (ye Gods, people make a living programming this? poor bastards), and hacking away at .htaccess goblins and DNS bugbears I’m thrilled to announce The Forge, version 2.0.

It’s still located at Any links you might have to individual pages in Forge 1.0 will still work, but won’t be updated anymore. It’ll take me a few days to get the redirects up and running.

Milton the Parasaurolophus is the Forge’s inaugural model. He’s a kinda-sequel to Robber Rex and Pip’s Print-in-Place Perambulator. The Island of Catan at Zheng Labs grows ever more thick with low-poly dinosaurs.

Some of the lamer models (cough)shaolinspadewacomnib have been culled from The Forge, and the upload process is much, much more straighforward on my end. My goal’s to reduce the time and fuss required to get a model file from my desk to yours. I’m not 100% thrilled with the way the Forge displays on mobile yet, but it’s functional enough and honestly, there’s only so many hours in the day to attend to every little detail.

I’ll put a B-team of kobolds on it, and maybe it’ll get done someday.

All this Forge work has slowed the production of new 3D models, but the ideas have been piling up in the hopper over the last six weeks. I’ll try and get to them ASAP and we’ll see just how powerful this fully armed and operational 3d model sharing site really is.

As always, #staytuned, friends.