Prusa Lack Stack, LED Lighting, CircuitPython Tweaks

Much like those recipes on the internet where the author tells you their life story or inspiration, I’ve got a lot to share before I get to the punchline of this blog post (a bunch of CircuitPython tweaks).  Edit:  On second thought:

  • Keep the lines of code <250
  • Try using mpy-cross.exe to compress the *.py to a *.mpy file

This is a bit of a winding road, so buckle up.

Admission time – I bought a Prusa1 about three years ago, but never powered it on until about a month ago.  It was just classic analysis paralysis / procrastineering.  I wanted to set up the Prusa Lack enclosure – but most of the parts couldn’t be printed on my MonoPrice Mini Delta, which meant I had to set up the Prusa first and find a place to set it up.  But, I also wanted to install the Pi Zero W upgrade so I could connect to it wirelessly – but there was a Pi shortage and it was hard to find the little headers too.  Plus, that also meant printing a new plate to go over where the Pi Zero was installed, a plate that I could only print on the Prusa, but I didn’t have a place to set it up…

ANYHOW, we’ve since moved, I set up the Prusa (without the Pi Zero installed yet), printed a Prusa Lack stack connector to house/organize my printers.  Unlike the official version, I didn’t have to drill any pilot holes or screw anything into the legs of the Lack tables.

Once the Lack tables were put together, I set about putting in some addressable LEDs off Amazon. I found a strip that had the voltage (5V for USB power), density (60 LED’s per meter), and the length (5 meters) I wanted at a pretty good price <$14, shipped.  I did find one LED with a badly soldered SMD component which caused a problem, but I cut the strip to either side of the it, then soldered it back together.  Faster and less wasteful than a return at the cost of a single pixel and bit of solder.

The Lack stack is three tables tall, keeps extra filament under the bottom of the first table, my trusty Brother laser printer on top of the first table, my trusty Monoprice Mini Delta (Roberto) on top of the second table, and the Prusa (as yet unnamed Futurama robot reference… Crushinator?) on top.  Since I don’t need to illuminate the laser printer, I didn’t run any LED’s above it.  I did run a bunch of LED’s around the bottom of the third printer…  this is difficult to explain, so I should just show a picture.

When Adafruit launched their QtPy board about four years ago, I picked up several of them.  I found CircuitPython was a million times easier for me to code than Adafruit, not least of which because it meant I didn’t have to compile, upload, then run – I could just hit “save” in Mu and see whether the code worked.  I also started buying their 2MB flash chips solder onto the backs of the QtPy’s to a ton of extra space.  Whenever I put a QtPy into a project, I would just buy another one (or two) to replace them.  There’s one in my Cloud-E robot and my wife’s octopus robot.  Now, there’s one powering the LED’s in my Lack Stack too.

I soldered headers and the 2MB chip into one of the QtPy’s, which now basically lives in a breadboard so I can experiment with it before I commit those changes to a final project.  After I got some decent code to animate the 300 or so pixels, I soldered an LED connector directly into a brand new QtPy and uploaded the code – and it worked!

Or, so I thought.  The code ran – which is good.  But, it ran slowly, really slowly – which was bad.  The extra flash memory shouldn’t have impacted the little MCU’s processor or the onboard RAM – just given it more space to store files.  The only other difference I could think of was that the QtPy + SOIC chip required a different bootloader from the stock QtPy bootloader to recognize the chip.  I tried flashing the alternate “Haxpress” bootloader to the new QtPy, but that didn’t help either.  Having exhausted my limited abilities, I turned to the Adafruit discord.

I’ll save you from my blind thrashing about and cut to the chase:

  • Two very kind people, Neradoc and anecdata, figured out the reason the unmodified QtPy was running slower was because the QtPy + 2MB chip running Haxpress “puts the CIRCUITPY drive onto the flash chip, freeing a lot of space in the internal flash to put more things.”
    • This bit of code shows how to test how quickly the QtPy was able to update the LED strip.
      • from supervisor import ticks_ms
      • t0 = ticks_ms()
      • pixels.fill(0xFF0000)
      • t1 = ticks_ms()
      • print(t1 – t0, “ms”)
    • It turns out the stock QtPy needed 192ms to update 300 LED’s.  This doesn’t seem like a lot, until you realize that’s 1/5th of a second, or 5 frames a second.  For animation to appear fluid, you need at least 24 frames per second.  If you watched a cartoon at 5 frames per second, it would look incredibly choppy.
    • The Haxpress QtPy with the 2MB chip could update 300 LED’s at just 2ms or 500 frames per second.  This was more than enough for an incredibly fluid looking animation.
    • Solution 1:  Just solder in my last 2MB chip.  Adafruit has been out of these chips for several months now.  My guess is they’re going to come out with a new version of the QtPy which has a lot more space on board.
      • Even so, I’ve got several QtPy’s and they could all use the speed/space boost.  I’m not great at reading/interpreting a component’s data sheet, but using the one on Adafruit, it looks like these on Digikey would be a good match.
  • The second item was a kept running into a “memory allocation” error while writing animations for these LED’s.  This seemed pretty strange since just adding a single very innocuous line of code could send the QtPy into “memory allocation” errors.
    • Then I remembered that there’s a limit of about 250 lines of code.  Just removing vestigial code and removing some comments helped tremendously.
    • The next thing that I could do would be to compress some of the animations from python (*.py) code into *.mpy files which use less memory.  I found a copy of the necessary compression/compiler program on my computer (mpy-cross.exe), but it appeared to be out of date.  I didn’t save the location where I found the file, so I had to search for it all over again.  Only after giving up and moving on to search for “how many lines of code for circuitpython on a microcontroller” did I find the location again by accident..  Adafruit, of course.  :)
    • I’m pretty confident I will need to find the link to the latest mpy-cross.exe again in the future.  On that day, when I google for a solution I’ve already solved, I hope this post is the first result.  :)

The animations for the Lack table are coming along.  I’ve got a nice “pulse” going, a rainbow pattern, color chases, color wipes, and a “matrix rain” / sparkle effect that mostly works.

Animated GIF

I started this blog post roughly 7 months ago2 by the time I finally hit publish.  After all that fuss, ended up switching from CircuitPython (which I find easy to read, write, maintain, update) to Arduino because it was able to hold more code and run more animations.  Besides the pulse animations, rainbow patterns, color chases, color wipes, and a matrix rain, it’s also got this halo animation, some Nyan cat inspired chases, and plays the animations at a lower brightness for 12 hours a day (which is intended to be less harsh at night).  I could probably add a light sensor, but I don’t really want to take everything apart to add one component.

  1. The i3 MK3S+! []
  2. January 7, 2025 []

QMK: The Adventure Begins

Richard Feynman
Richard Feynman

Noted philosopher / physicist Richard Feynman has a now-famous method for quickly learning a topic.  It boils down to (a) pick topic (b) write everything you know (c) research to understand gaps (d) simplify.  While I’m not big on biographies, I found this graphic novel version extremely compelling.

I suspect most makers do something very similar to this, whether they realize it or not.  My own variation on this method is to create an outline of what I want to learn with each feature I want to include, do some preliminary internet research, add links to resources to the outline, read, drill down on topics, ask questions, LRR.1

Sometimes I’ll document stuff in a notebook, but when it’s something I know will take some time to learn and probably require code and other digital resources, I like to type them up in blog posts.  It feels therapeutic, getting all this stuff written down.  I think of it as closing mental browser tabs.  Also, by adding links into a post, I can actually close real browser tabs, which is a distinct side benefit.

Quantum Mechanical Keyboards
  1. Falling Down the Mechanical Keyboard Rabbit Hole
  2. A Cornucopia of Keyboard Options
  3. QMK: The Adventure Begins
  1. Lather, rinse, repeat []

A Cornucopia of Keyboard Options

Once I started looking, I found a lot of options for a custom keyboard.  In fact, I started seeing them everywhere.1 I found these offered as some combination of “media,” “macro,” “button,” “board,” “keypad,” and “keyboard.”  I’m offering this list in no particular order – other than how I noticed each one.

 "6 Key Macro Keypad" by @iHayri1
“6 Key Macro Keypad” by
@iHayri1

6 Key Macro Keypad” by @iHayri1, ~$87

I found @iHayri1‘s keyboard in HackSpace magazine, issue #37, page 101.  If you don’t happen to have it lying around – no problem!  This magazine published by the Raspberry Pi Foundation gives away their digital version!  While on the pricier end of the keyboards, it’s got a lot of interesting features.  Six buttons, a media dial, an RGB LED under each key, a series of LED’s at the base of the keypad, and an LCD screen displaying each key’s current function.  I would have ordered this one, except it’s been out of stock for a little while.  :)

"NoodlePad" by @TheMadNoodle
“NoodlePad” by @TheMadNoodle

NoodlePad” by @TheMadNoodle, ~$86

I found the NoodlePad by @TheMadNoodle on Etsy after searching for media keypads.  This is another beautifully designed board – eight buttons, knurled metal knob, mounted onto a shaped board and thick lasercut acrylic plate.  This was the first board I saw referencing “QMK” firmware.  This board is also offered in a “semi-assembled” state where the buyer supplies their own switches and keycaps.  If you’re going to fall down a rabbit hole on mechanical keyboards, the switches may be what get you.  The ordering options also offer “Cherry Red,” “Cherry Blue,” “Cherry Brown,” and “Cherry Black” switches.  At first I thought this referred only to the color of the switch underneath the keycap.  As it turns out, each color matches the little bit of plastic connecting into the keycap which in turn is associated with a different set of mechanical features for that particular kind of switch.  Maybe you want a key with more bounce, requires more force, or a more gentle touch.  That you can order your keypad with the exact keys you need says a lot about this maker and their product.

This slideshow requires JavaScript.

BYO Keyboard” by @travis_the_makr, starting at $36

I happened to catch @travis_the_makr showing off a prototype “BYO Keyboard” on Adafruit’s Show and Tell.  I should probably feel a little bad for hassling Travis to sell me one of these board immediately after his appearance on the show.  Intended as both a way to get started with soldering and programming as well as an actually useful final project. I kinda love the project is powered by an Adafruit Itsy Bitsy M0 so you can use either Arduino or CircuitPython.  I note QMK firmware support is a stretch goal.  :)  Don’t let this bare bones DIY kit without LED’s, knobs, and displays fool you.  If, like me, you’re only now embarking on your mechanical keypad journey and don’t have a drawer full of Cherry MX switches and keycaps, this is an excellent and affordable starting point.  Suffice it to say, I immediately pledged the Kickstarter and am really looking forward to playing with this project.

BigKnob by Leafcutter Labs
BigKnob by Leafcutter Labs

“BigKnob” by Leafcutter Labs, starting at $45

Of all the various keypads I’ve looked at, this was the very first one I ordered.  I opted for the version with the black steel case, wonderfully heavy metal knob, and asked the owner for some variation in the keycaps.  Craig shipped the keypad immediately and it arrived well packed in bubble wrap, only requiring that I pop in my choice of keycaps and apply the included sticky rubber feet.2 This keypad rocks four Cherry MX switches, a big hefty knurled metal knob, six RGB LED’s which glow through the lasercut acrylic base plate.  My configuration (with the metal case) was $62, including shipping.  While this is the only keypad I’ve actually used so far, it’s going to hard to top.

“8K Controller” by 2XLNetworks, starting at $32

Once I started tweeting about picking out some keypads, my buddy Pete told me about the “8K Controller” by 2XLNetworks.  This keypad has no LED’s, no metal knobs, no LCD displays – but it doesn’t need any of that.  It comes with a built-in USB cable, you can order it with pre-programmed with custom button assignments at no extra cost, reprogram it if you like, and it unlike a hipster clicky-clacky Cherry MX switch, it rocks arcade buttons.  If you need a bulletproof box that can stand up to repeated abuse at the hands of the public (perhaps for a photobooth, art project, school installation?), this is be the keyboard for you.

Quantum Mechanical Keyboards
  1. Falling Down the Mechanical Keyboard Rabbit Hole
  2. A Cornucopia of Keyboard Options
  3. QMK: The Adventure Begins
  1. I’m reminded of the Baader–Meinhof phenomenon; after the first time you notice something, you notice it more everywhere []
  2. These are a great touch! []

Falling Down the Mechanical Keyboard Rabbit Hole

The Solace of Quantum (Mechanical Keyboards)
The Solace of Quantum (Mechanical Keyboards)

TLDR:  I’m going to try some mechanical keyboards to help me work from home and blog about my experiences.

I’m fortunate that I’ve been able to work from home this pandemic.  I’ve always made a special effort to make my work more “digital,” by scanning and organizing digital copies of important work documents.  In many ways working from home hasn’t required too many changes to my overall workflow.  My entire office and desk space shrunk to just a single laptop propped up on a plank of cardboard with some holes to help distribute heat.  I have to be more disciplined about creating digital notes, since I can’t cover my work space in post-its and illegible scraps of paper.  Two pairs of noise cancelling bluetooth headphones are are taking the place of four walls and a door to help me concentrate and communicate “I’m working” to the kids. 1  While I’ve gotten used to one medium sized laptop screen, in place of a dual monitor setup, the one thing that’s been extremely difficult is using a laptop keyboard instead of a full fledged keyboard.

Which brings me, dear reader, to the QMK or “quantum mechanical keyboards.”  The QMK is a keyboard firmware2 that allows you to create very customized keyboards and keyboard layouts.

A while back I wrote a Chrome extension to help me with some work related data entry tasks.  It works by intercepting some of the top row function keys, preventing their default actions, and replacing them with some macros.  This setup probably slashed the number of required clicks and keystrokes by 75%.  My fevered dream is for a custom keyboard which could cut this yet in half.

Now, if that keyboard also has some media controls and sweet RGB goodness, well, then, awesome.  Of course, this means I can’t just go order a keyboard off a shelf.  While there are plenty of neat custom and QMK keyboards, to really get the most out of a board, to get exactly what I need, I will need to roll up my sleeves and actually dive into the firmware itself.

Next up – which keyboards?!

Quantum Mechanical Keyboards
  1. Falling Down the Mechanical Keyboard Rabbit Hole
  2. A Cornucopia of Keyboard Options
  3. QMK: The Adventure Begins
  1. Why two pairs?  I originally bought one for myself and one for my wife, but now I’m just using one while the other charges… []
  2. “Firmware” is nothing more than software built to run inside a piece of hardware []

BristleBots – Easy DIY STEM/STEAM Robots

This slideshow requires JavaScript.

If you don’t know who EMSL are, you’re missing out.  Evil Mad Scientist Laboratories is a small family owned DIY electronics business in the California Bay Area with a deep enduring commitment and support for open source software, open source hardware, educators, and Makers.

And they are genuinely good people.  Their blog is an incredible resource for anyone from beginners in crafts and electronics to grizzled veteran engineers.  There are free tutorials, resources, and tons of kits for every level.  I’ve purchased several of their kits and cannot recommend their products highly enough for the material quality, comprehensive (and occasionally playful) instructional materials, and support – including a robust community and forum.1

Since our family is home an awful lot these days, we’re always looking ways to keep our kids curious, engaged, and occupied.  Our next project is the EMSL “BristleBot.”2

Their write up and video tutorial will provide you with all the information you need to help build a very tiny zippy robot from things you probably have around the house. 3  There’s a lot to talk about with your kids here – from basic electrical connections, off-center motors, springiness of the bristles, to how the directions of bristles affect the robot’s travel.

A box of parts to make enough for a whole classroom might be about $50 (or less) if you could buy parts in bulk.  But, if you only need a handful of BristleBots for your household, you could taking things apart for motors, old toothbrushes for bristles, common coin cell batteries for free/nearly free, maybe adding some matchbox car or marble run tracks for BristleBot trails or a cardboard box for a battle arena.

  1. Most notably their Egg-Bot []
  2. Time capsule:  This post was published in July of 2020 []
  3. You can get these from old cell phones, cheap dollar store electric toothbrushes, or lots of places online []

Cephalopod Robot Friend, the story so far

Quick lead in:  I am trying to build a cephalopod robot shoulder friend.

I was disappointed that I only learned of Glow Ascii‘s owl robot companion, Archimedes, after Maker Faire Bay Area 2018.  Over the year, leading up to Maker Faire Bay Area 2019, I followed Odd_Jayy‘s spider/bowler Anansi robot companion with similar rapt interest.

Still high off Maker Faire 20191 , I was also excited by the prospect of #CephalopodWeek on NPR’s ScienceFriday.  Between cuttlefish, squid, and various octopuses (especially the “Opisthoteuthis Adorabilis“), there are a LOT of awesome little friends to consider making.

While trying to avoid work, I posted a sketches to Twitter.

This slideshow requires JavaScript.

Last week I started designing a few parts, drawing from some experience designing printable prosthetics for the E-nable project a few years ago.  I was trying to build it out of what I had on hand, which did not include elastic cord.  I thought a zip tie might provide enough “spring” and “give” to work.

This slideshow requires JavaScript.

I admit, this was a total mess.  I suppose it is only fitting I use this meme featuring Dr. Zoidberg.

Thanks Dr. Z
Thanks Dr. Z

Thanks to some kind encouragement from Odd_Jayy, I kept moving forward.  Rather than focusing on the end of the tentacle, I got to work on the basics of the mechanics – channels for the elastic cord and fishing line, wedges cut into the faces so the tentacle could articulate.

This slideshow requires JavaScript.

The tabs on these parts were too thin and tended to break when I assembled them.  However, the next version worked really well.

This slideshow requires JavaScript.

These worked a lot better, so I started cranking out parts.

The nice thing about these tentacles is that they look somewhat lifelike without actually requiring much in the way of electronics.  As long as I can design a body/housing and put a servo inside, that one servo could possibly pull on 8 different sets of fishing line to articulate all the tentacles at the same time.  And, since it’s just fishing line, there’s no special routing of brake cables necessary.

The tentacles are somewhat larger than I would like, so that means where they connect to the body needs to be similarly large.  There’s definitely room for improving the tentacle segments.  I’ve already designed two different “ends” for the tentacles, so they’re rounded instead of exposed connectors, fishing line, and elastic cord.  Also, to make the curling tentacle look better, I should angle the the top and bottom of each segment.  Another improvement would be to rotate the articulation angle for different segments to give the tentacle a more organic look when moving.

However, if I don’t get working on the body of the robot, it’s not going to ever get done.  Given the size of the tentacles, I’d need to have them all on one side, lest the little robot take over my entire shoulder.  Here are some “Cuttle-Bot” sketches along with a robot body design.  If you look at the design, you’ll notice the connectors are rotated to different angles.  This is so that the tentacles would each spring back together towards each other – and then splay outwards when articulated.

This slideshow requires JavaScript.

However, this last design takes FOREVER2 to render in OpenSCAD.  This is at least partially due to design and code inefficiencies, but also due to the number of spherical parts, facets, and “hull” operations needed to make these parts work.

I think I may want to try shrinking the tentacles slightly so I can build a smaller-bodied robot.  Either way, I have to get cracking on at least some kind of housing/body and mounting motors/electronics before I can keep moving forward.

Companion Robots: Building Robot Friends
  1. Cephalopod Robot Friend, the story so far
  2. Cephalopod Robot Friend Progress
  3. CuttleBot Body and OpenSCAD Design Tips
  4. An Assembled CuttleBot Body
  5. Building the Monocle Top Hat Cat for #MicrobitVirtualConcert
  6. Companion Robots and Maker Faire Season!
  1. LONG LIVE MAKER FAIRE! []
  2. Well, a little over 5 minutes []

PCB Design with KiCAD

It is pretty incredible that you can find a written or1 video tutorial on virtually any topic to learn anything.  Today, I’m particularly thankful to Shawn Hymel, Sparkfun, and Digi-Key for putting together their Intro to KiCAD video series on printed circuit board design.

This series took me from knowing nothing at all about PCB layout and design to ordering my very first board through OSHPark.  My first design isn’t anything amazing – it was basically a breakout board for an ATTiny85 to make it easier to build small projects. 

My first ATTiny hacked tap light was a mess.  I soldered wires directly to the microcontroller making it a real pain to update. ((I ask you – is this the work of a sane man?)) I soon realized my mistake and soldered an 8-pin socket in its place so I could reprogram the chip easily.

This is the alternative to a custom PCB – a rat’s nest of wires soldered to a chip

Mercifully, Shawn’s tutorial series got me up and running very quickly.  This post is not meant to be a tutorial for KiCAD, but more like a “lab notebook” for the workflow to create a board.  If you haven’t built a board yet, go check out Shawn’s series and follow along in KiCAD.  If you are a novice like me, you might find these notes helpful:

Eeschema

  • If you launch Eeschema separately from KiCAD, you can save different versions of a schematic.  Keeping old versions of design files is hugely helpful to me and if you launch KiCAD directly, the option to save different file names and versions is not available!
  • The keyboard shortcuts in Eeschema are great.  With just a few, it’s possible to really get around quickly.
    • “Shift-A” and left click to place parts 
    • “M” to move parts
    • “R” to rotate parts
  • It is necessary to add “PWR_FLAG” to both the power and ground lines.
  • Double check your connections work by clicking on the bug icon. 
  • Assign the parts you intend to use to match up with the symbols using the “Assign PCB footprints” icon.
  • Save your work and “Generate netlist” to have something the Pcbnew will be able to work with.

Pcbnew

  • First configure the Design Rules by going to Setup -> Design Rules.  Shawn pulled these KiCAD Design Rules from the OSHPark.com website.  KiCAD has apparently changed a little since the version used on the OSHPark website, but the settings are easy enough to identify and change.
    • Net Classes Editor
      • Clearance: 0.01.  Track Width: 0.01.  Via Dia: 0.03.  Via Drill: 0.015.  uVia Dia: 0.03.  uVia Drill: 0.015.  Diff Pair Width: default.  Diff Pair Gap: default.
      Global Design Rules
      • Minimum track width: 0.006.  Minimum via diameter: 0.027.  Minimum via drill: 0.013Custom Track Widths: Track 1: 0.03
  • Read netlist” to bring your design over from Eeschema.
  • Placing parts and drawing lines gets a lot easier when you fine tune the Grid.  I started with 5.00 mils at first, then smaller figures to place smaller parts and features.
  • Once the parts are arranged in Pcbnew, connect the ground and power lines using 30 mil traces and everything else using 10 mil traces.
  • Create the outline for the board cutout by clicking on “Edge.Cuts” and drawing with the “Add graphic lines” tool.  Starting with my second board, I began cutting the corners off, so that they were a little nicer to hold and 
  • Label things on the “F.SilkS” and “B.SilkS” layers using the “Add text”‘ button.  Since my boards are so small, I wanted the text to be a fair bit smaller than the default settings.  I edited the text settings by going to Setup -> Text and Drawings.  
    • Copper text thickness:  0.007.  Text height:  0.035.  Text width:  0.035.
  • Create a copper pour with Place -> Zone, then choose “F.Cu”2 and “GND”.3 and draw a box around your board.  Then repeat for the “B.Cu” and “GND.”

Again, I’m a total newbie at circuit design.  If I got something wildly wrong, please let me know.  :)

  1. More frequently these days []
  2. Front copper []
  3. Ground, natch []

Cheapest Easiest Easy Button Hack EVER

But... could it be even EASIER?!
But… could it be even EASIER?!

I’ve always liked the idea of the Staples Easy Button.  Not so much a button that says “That was easy,” but the idea of having an enormous button on my desktop that would do… anything at all.  Official “Staples Easy Buttons” used to sell for about $20 and are now only about $7.  But, this is still a lot to pay for a big button that I’d want to gut anyhow.  Recently I figured out a way to build a big useful button, very inexpensively.

This slideshow requires JavaScript.

The secret sauce is … a tap light!  You can buy a pack of 4 big (10cm diameter) tap lights for under $4 and they’ll ship free as a “Prime add-on.”  For less than $1 each, you get a three AA battery holder, toggle on/off switch, a bright LED, all neatly organized into a big plastic button.  This button also has another “feature” which is missing from many other pricier options.  The dome over the light is white – which means you can put any color LED or, as I did, an Adafruit Neopixel inside and the dome will change color accordingly!

This slideshow requires JavaScript.

Here are some pictures of the disassembled tap light so you can see if it would work for you.  I had originally bought these so that I could put a light right next to my newest 3D printer.123

This slideshow requires JavaScript.

There’s actually quite a bit of room inside the tap light for a small project.  I was able to pack a Neopixel, a small buzzer, an ATTiny85, and a rat’s nest of wires.  I expect this project to take a lot of abuse at Maker Faire, so I applied a liberal amount of hot glue inside to hold the wires down and out of the path of the springs, switch, case, and the likely path of the button dome.

Once reassembled, there really isn’t any way to tell the button was hacked.  It looks identical to three other tap lights.  I just love that I was able to make use of the battery holder and existing switch inside the project.  The 4.5V supplied by the batteries is perfect for powering my ATTiny85 and lone Neopixel.  If you’ve got a junk drawer, you could probably build something very similar for about $2-3.4 As it is, I “splurged” by using $1 worth of Neopixel because I was being lazy and didn’t want to either wire up three sets of LED’s or track down three resistors to go with an RGB LED.  Even so, this is an incredibly cost-effective project enclosure.

15 Second Timer-Buzzer
15 Second Timer-Buzzer

In case it’s of interest to you, this project is the newest iteration of our 15 Second Timer-Buzzer from my daughter’s 15 Second Drawings project for Maker Faire Bay Area 2017.  The prior version used an Adafruit Circuit Playground, a 100mm Red Button, and a LiPo battery and probably cost around $40 or so. 5

All of the code is on Github. Basically, the buzzer flashes amber three times with a very short tone in between flashes, then turns green for 14 seconds, amber for one more second, and then turns red and buzzes angrily to let you know time is up.  I had written most of the code to work on an ATTiny45… until the code ballooned to a whopping 4560 bytes and I had to switch to an ATTiny85.6 If I had to build this over again, I’d solder in an 8-pin DIP socket for the ATTiny rather than mutilating the chip and hot gluing it directly to the inside.  ;)

Default Series Title

  1. I have a power strip next to it, but it’s fully utilized, I only need a little bit of light sometimes, and I was getting tired of holding a flashlight on it at night []
  2. In my tradition of naming my 3D printers after characters from Futurama, my Monoprice Mini Delta is named “Roberto.” []
  3. My prior 3D printers are Bender the MakerBot Cupcake CNC, Flexo the MakerBot Thing-O-Matic, and HedonismBot the Replicator 1 Dual []
  4. I figure about $1 for an ATTiny85 and $1 for the button.  Most people can find a way to scrounge an RGB LED or a few different LED’s, an old buzzer or piezoelectric disc, and some bits of wire []
  5. Not counting the gelato we ate, of course []
  6. What a waste!!! []

Paper Circuits: The Adventure Begins

While I’m a big fan of paper and circuits, I’ve never really given paper circuits/circuitry a shot.  Unfortunately, I have no good excuse for this.  (Fair warning:  I’ve been collecting links and ideas on this topic for several weeks now, and even though I intend to break up the post into more manageable chunks, I have a feeling this is going to be a doozy)

TapeTricity

Years ago Chris Connors, a STEAM educator/maker and friend, had posted some photos and videos about something called, “TapeTricity” and helped hundreds of kids as young as 3 and 4 years old build their very first circuit at Maker Faire 2013.  TapeTricity is all about making electronics accessible to people by showing them how to make real circuits using cheap and common components while removing the need for specialized tools and materials.  This system of designing circuits made use of several very interesting innovations: aluminum HVAC tape and paperclips along the edges to form electrical contacts.

Aluminum HVAC Tape – Benefits and Limitations

Back in 2013 copper tape was reasonably common in artistic settings for use with soldering stain glass.  However, the copper tape wasn’t readily available with conductive adhesive and tended to be more expensive than the aluminum HVAC tape used in Chris’ projects.  While the prices of copper tape with conductive adhesive have fallen over the last few years and conductive inks/paints have become more common, pretty much nothing is going to beat aluminum HVAC tape for price per project.  However, HVAC tape is not without its limitations.  The adhesive is a decent insulator rather than a conductor, the tape only comes in strips about 2 inches wide and must be torn or cut to much thinner strips, and has a tendency to curl at torn edges, and aluminum tape does not take solder well.1 I expect that the non-insulation properties of the underside of the aluminum tape could actually be very useful in conjunction with copper tape – to essentially make for circuit board traces that can cross over one another.

Taped Edges – Contact Points

TapeTricity components

As you can see from some of the photos above, the edges of the cards had foil tape wrapped over some edges which were then connected to some of the components.  The result is that the edges of the paper essentially become functional I/O pins.  The nifty thing about this is that it could allow TapeTricity cards to be wired/rewired/networked together.

Paperclips – Alternatives to Alligator Clips

Another interesting feature of TapeTricity comes from the use of paperclips.  Paperclips are ubiquitous and cheap23 and, with a little bit of wire, become cheap DIY alligator clips replacements.  While individual alligator clips aren’t that expensive (let’s say around $0.25 each?), the cost of providing a number of them to a room full of students would quickly add up.

These TapeTricity cards allowed kids to color and draw on one side of an index card – then bring their designs to life with electronics on the back and through the card.

Lessons from TapeTricity

  • HVAC tape is a great choice for paper electronics with a few limitations.  The adhesive is an insulator which allows HVAC tape to be leveraged in bridges and there aren’t easy ways to solder to it.
  • Edge conductive pads from HVAC tape allow for cards to be powered or networked
  • Paperclips and wire are a great cheap DIY alternative to alligator clips

Evil Mad Scientist Labs and Paper Electronics

Evil Mad Scientist Labs is one of my all time favorite open source arts/electronics designers/manufacturers ever.  Not only do they enable other people to realize their plans for world domination, they’re pretty cool people.  I had the good fortune to be able to visit Evil Mad Scientist Labs (now celebrating their 10th birthday!) a few years ago.

One Sided Circuit Board – paper, conductive ink, and soldering

Mobius Circuit - 21

While there Windell Oskay and Lenore Edman gave me a tour and showed off their awesome single sided mobiüs circuit board.4

Electronic Origami – several methods for electrifying paper

toner - 15

More recently, while researching for this blog post I discovered their simpler, but perhaps more spectacular, origami balloon circuit.  EMSL posted several possible methods for electrifying paper.  Since the post explains each of these methods in detail, I’ll only list them:

  • Using dry mount adhesive to glue aluminum foil to paper
  • Using an iron to fuse aluminum foil to freezer paper
  • Using an iron to fuse aluminum foil to the toner on laser printed paper
  • Lessons on resistors and simple LED/battery combinations inspired by LED throwies

This circuit is beautiful and eerily reminiscent of a certain other cube.  If someone hasn’t made an origami LED paper circuitry companion cube, well, this is just a thing that needs to exist in the universe.

Edge-Lit Cards

EdgeLitCard - 31

Another particularly cool post from EMSL is their piece on edge lit holiday cards.  The electronics are essentially the same as a simple throwie or TapeTricity circuit, but the use of scored sheets of plastic allow incredibly interesting display possibilities.

Lessons from EMSL

In no particular order, here are some of the lessons I’ve learned from EMSL:

  • The conductive ink in the mobiüs circuit has enough resistance that the LED’s don’t really require actual resistors
  • Electronic paper projects need not be merely two-dimensional and adding a third dimension can be truly transformative
  • Scored or scratched plastic plus paper and carefully designed LED circuits can create amazing display possibilities

Paper Circuits / Paper Circuitry / Electronic Notebook

Just before Maker Faire 2016 I saw a tweet from Jeannine Huffman showing off her development of a paper circuitry robot panda which would cost about $5 per student.

I was astounded by what Jeannine was doing.  Where TapeTricity was a great way to introduce kids to electronics, making those same electronics smart by adding a microcontroller could make those same pages smart and interactive.  Moreover, a TapeTricity project could be “leveled” up by just wiring the aluminum contact pads to a microcontroller.

Jeannine Huffman’s Notebook

I was fortunate enough to be able to catch up with Jeannine at Maker Faire Bay Area 2016 this year and we compared notebooks.  Here’s some pictures of her work:

This slideshow requires JavaScript.

I regret that I didn’t take more pictures of Jeannine’s notebook, she’s been kind enough to post much of her designs on her website, her Twitter account, her Google Plus page, and in the 21st Century Notebooking Google Plus community.

Lessons from Jeannine Huffman

To just jot down some of the problem solving and ideas I noticed in the few moments when we compared notebooks:

  • Mixing off the shelf electronic components and circuit stickers with conductive ink, copper tape, and soldering
  • Incorporating electronic components, sensors, and microcontrollers with DIY sensors, switches, and other solutions
  • Melding a notebook and electronics – by sketching in, around, and through circuits to provide annotations and instructions
  • Finding a way to create a copper tape hinge that could survive repeated opening and closing of the notebook

21st Century Notebooking

The ideas shared in the 21st Century Notebooking Google Plus community are just too numerous for me to do justice.  Since my blog posts are as much about me documenting my own discoveries as it is about sharing with you, gentle reader, perhaps you’ll forgive my jotting down just a few of the ideas found within a 30 second scan of this community:

  1. Paper electronics with mixed media arts crafts
  2. Paper electronics mixed with origami
  3. From +Jie Qi and @Chibitronics:
    1. Conductive fabric to create conductive hinges for use in circuits spanning more than one page in a notebook
    2. Light up paper helicopters
    3. Copper tape paper speakers
    4. UPDATE 10/26/2016: Jie Qi’s “paper-based electronics for creative expression” tutorials have some really great ideas for getting started with paper circuitry.  Frankly, this is to be expected from the lady who created Chibitronics and circuit stickers.  :)  These tutorials are great – and you can see exactly how she refined these ideas to become circuit stickers and the kind of skill building projects seen in Chibitronics books.  These tutorials include:
      1. basic circuits,
      2. paper battery holder,
      3. parallel circuits, soldering,
      4. making switches,
      5. blinking LED’s,
      6. pressure sensors,
      7. basic programming,
      8. fading program,
      9. blinking program,
      10. random program,
      11. sequence program,
      12. and a microphone program!

Project Daffodil (Update 10/26/2016)

Project Daffodil is the work of Sian Geraghty, Robert Foster, and Christine Ho as their graduate thesis project for the Masters in Multimedia Program at CSUEB.  Their project combines pop-up books, paper circuitry techniques, and 3D printing to provide an interesting introduction to electronics for kids.  When I saw them at Mini Maker Faire Rocklin on 10/5/2016 they had combined their work with an iPad app which could interact with some of their 3D printed models infused with conductive material.  They’ve been interviewed on the Make Magazine website and published a tutorial on building pop up paper crafts with electronics.

Lessons from 21st Century Notebooking, Circuit Stickers, and Project Daffodil

I think what I learned most out of these projects is that there’s a lot of ways to combine paper circuitry with other interesting and creative ideas like origami, paper crafts, greeting cards, pop up books, and 3D printing.

What’s Next???

Smart sketchbooks, electronic origami, and the ability to program anything.  With all these incredible designs, pieces of code, and ideas – where can we go next?

Well, I have a few ideas…

Default Series Title

  1. When I googled “how to solder copper wire to aluminum foil” the top result was a YouTube video which suggested applying a thin layer of oil to the foil, using a soldering iron with solder to heat up the foil, with the oil supposedly preventing the aluminum from oxidizing, then the wire could be soldered to the foil. []
  2. Or free when you are at a Kinko’s []
  3. Perhaps the better phrase is “complimentary”? []
  4. I hope you will, once again, forgive me as I present these items in the order of my discovery, rather than chronological order? []

XY-Plotter Robot Kit v2.0 Unboxing

The crew over at Makeblock.cc were kind enough to send an XY-Plotter Robot Kit v2.0 my way for a review.  I’ll be assembling the the robot and posting pictures of the process soon, but for now I wanted to do an unboxing preview for you.

The Box

This slideshow requires JavaScript.

The first step to any unboxing review must, necessarily, start with the box in which the product arrives.  The box arrived safe and sound from China and was well packaged for transport.  Most parts were wrapped in plastic, the electronics were in anti-static bags, and the boxes were nestled in thick foam padding.  The blue anodized aluminum beams were mostly not wrapped in anything.  There were no noticeable scratches on any of them.  I did find a few blue anodized aluminum burrs from the parts in the box.  Keep an eye out for them if you’re opening the package on carpet, as I did.

The Electronics

This slideshow requires JavaScript.

Above are the pictures of electronics.  As mentioned earlier, each board arrived in its own little anti-static baggie.  The card with the QR code to the instructions and rubber feet were a nice touch.  At this point you’ll notice that the connector ports on all of the boards have colored coded stickers to assist with assembly.  Clockwise starting at the top left corner, the box includes the card with the QR code to the instructions, three Me RJ25 Adapters, two Me Steper Driver v1.0 boards, an Me Baseboard, and four sticky-backed rubber feet.

The Tools

This slideshow requires JavaScript.

Clockwise starting at the top left corner, the box includes RJ25 cables, a USB micro cable, three timing belts, three micro switch buttons, three lasercut acrylic “LS” brackets for the micro switches, 11 tiny screws, one lasercut acrylic “servo bracket,” another RJ25 cable, a small Philips screwdriver, a 2.5mm hex screwdriver, a 7mm wrench, two 1.5mm hex wrenches, a Micro Servo, a lasercut acrylic “Baseboard,” and one Beam 0808 72/80 aluminum beam.

The Hardware

This slideshow requires JavaScript.

There are a lot of hardware parts in the main cardboard box:

  1. Shafts
    1. 2x D shafts, 4 x 56mm
    2. 1x linear motion shaft, D4 x 80mm
    3. 1x threaded shaft, 4 x 39mm
  2. Flexible coupling, 4 x 4mm
  3. 6x timing pulleys 18T
  4. 8x flange bearing, 4 x 8 x 3mm
  5. 43x M4 nuts
  6. 25x plastic ring, 4 x 7 x 2mm
  7. 6x cutable linkage 3, anodized blue aluminum
  8. 6x linear motion slide unit, 8mm
  9. Beams
    1. 4x Beam 0824 48
    2. 1x Beam 0824 80
    3. 4x Beam 0824 96
    4. 2x Beam 0824 112
  10. 2x 42BYG Stepper Motor Bracket
  11. 2x bracket, 3 x 3
  12. 4x plate, 3 x 6
  13. 5x bracket, U1
  14. 3x belt connector
  15. 1x Beam 0828 16
  16. 1x 42BYG Stepper Motor
  17. 12V DC power adapter
  18. 1x 42BYG Stepper Motor
  19. 31x socket cap screw, M4 x 14
  20. 28x headless set screw, M3 x 5
  21. 28x socket cap screw, M4 x 16
  22. 6x plastic rivets R4100
  23. 18x plastic rivets R4060
  24. 10x shaft collar, 4mm
  25. 18x socket cap screw, M4 x 30
  26. 12x socket cap screw, M4 x 22
  27. 30x plastic zip ties and 5x rubber bands
  28. 36x socket cap screw, M4 x 8
  29. 3x cross recessed pan head screw, M2×10 and 3x M2 nuts
  30. 10x countersunk screw, M3x8

The last picture in the set depicts all the really long pieces of the robot – the linear shafts and beams.  In order, from top to bottom, they are:

  1. 2x Beam 2424-504
  2. 2x Beam 0824 496
  3. 4x linear motion shaft, D8 x 496mm
  4.  1x linear motion shaft, D4 x 512mm

Default Series Title


Disclaimer:  This robot kit was provided by Makeblock.cc for the purposes of unboxing and review.  They have asked that I provide my honest assessment of this kit.