Category Archives: Electronics

Posts about electronics. Usually meaning electrical gadgets smaller than a proper computer.

Shapeoko: Part 1

My Shapeoko kit arrived from Inventables while I was away at SC.

I’ve been trying to build myself a small CNC milling machine since 2009, and contemplating it for longer than that. It became clear that my original design, however educational, was a dead end sometime last year. I’d been idly watching the Shapeoko project for some time as it had similar aspirations to my design, and a couple months ago I was in a particularly mechanical mood when I saw that a batch had reached enough buyers to be produced, so I bought in for a mechanical kit to mount my existing electronics on.

The Shapeoko community is really excellent, and the kit was designed to be flexible, so I’m starting off with some suggested modifications – I’m using NEMA23 motors instead of the usual NEMA17 on the X and Y axis, because I already had some nice Lin Engineering 130 oz-in NEMA23 motors and the frame can fit them. I’m configuring for dual Y motors, which give more even force across the Y axis, and routing my belts on the outside of the frame, since I needed to buy different hardware for the NEMA23 motors anyway and this particular modification is widely recommended.

There is a gallery to document my first round of assembly below the fold (captions don’t display properly in the RSS feed).
Continue reading

Posted in Announcements, DIY, Electronics, Entertainment, General, Objects | Tagged , | 2 Comments

Raspberry Pi

I finally got my Raspberry Pi yesterday, and wanted to ramble about it for a bit under the fold.
My Raspberry Pi
Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, Objects | Leave a comment

The WiFi Common Ancestor

WaveLAN PCMCIA Card

We’ve been doing some parts closet cleaning along with the sysadmin types in our building on campus, and I spotted an original AT&T branded WaveLAN PCMICA card (Model 3399-K2624) in one of the bins. These are the precursor to all modern wireless networking devices – they don’t just predate the 802.11 standards, but were actually the contributed technology that eventually became the basis for the standard – I love computer history artifacts, so I had to play with it.

Sadly, the wavelan and wavelan_cs Linux drivers were demoted to staging in 2.6.33 in 2009 (commit) and removed in 2.6.35 in 2010 (commit… gods I love well documented F/OSS projects).

This is eminently reasonable, since it is non-standard in every way, and I may be handling one of the only remaining functional examples – assuming it is fully functional. I tried to verify with some LiveCDs of suitable vintage, but inserting the card either errored the module on load or crashed the machine… which is probably why it was removed from the kernel. It’s still a neat artifact and will be getting tucked away with my odd vintage machines.

Internals of the EAM

While I had it out I opened it up (Imagine! Opening a consumer device without having to pry the fucker apart with spudgers while praying to whatever gods you believe in that none of the tabs break.) The picture above is the “EAM” (External Antenna Module) pulled apart. There isn’t too much to see among the RF cages, but the fact it is assembled with the wire harness apparently hand soldered into a row of machine pins is amazingly quaint, and the fulls-scale R/F parts are awesome.

I’m pretty enamored of the industrial design on this thing – it looks like an important transitional device. It is the dull gray that was common on (especially AT&T) computer equipment in the 80s, which has grown even uglier with UV yellowing, so the color, logos, and sharp edges look like it crawled out of the 70s, while the rounded accents, domed round indicator LEDs, and darker molded stress relief look surprisingly modern.

Posted in Computers, Electronics, Entertainment, General, Objects | 2 Comments

OpenWRT

I’ve been using various consumer routers hacked with dd-wrt both at home and on campus for years, and was shopping for a new one to use in the apartment I’ll be moving in to in a couple weeks, only to discover that the desired feature set wasn’t possible with dd-wrt. In particular, I wanted 802.11n, Gigabit Ethernet, USB printer sharing, and the ability to share an ext4-formatted USB hard disc via SMB and SSHFS. Hardware with the requisite bits isn’t too hard to come by, but no stock firmware supports the range of printer and storage features I wanted (and most of them are missing basic features and/or just plain suck). DD-WRT isn’t a solution, because it uses ancient kernels that don’t support modern file systems. I figured since OpenWRT was well spoken of and claimed to do everything I wanted when coupled with suitable hardware I would give it a try, and picked up a TP-Link WL-1043ND based on reviews and price, and followed the Wiki Instructions to flash it from the web interface.

This turns out to have been an excellent decision, because not only are the basic packages in OpenWRT a good five years newer than in in DD-WRT, it turns out to be superior in virtually every way. The OpenWRT documentation isn’t as inviting as DD’s, but the install process is no more complicated, the Web GUI is better laid out and more responsive, and features can be easily added and removed with a well-designed, well-integrated package manager (opkg). I’m aware that DD-WRT supports ipkg, but it has always felt hacked on and never worked terribly well for me, but opkg just works on OpenWRT. It even has a friendly Web interface for managing packages. Even the warning about the stock WL-1043ND image not coming with the appropriate WiFi modules is apparently out of date, because everything was already in place.
Continue reading

Posted in Computers, DIY, Electronics, General, Objects | Tagged , | Leave a comment

Watch as a Phone Stand


I do this all the time and didn’t realize it was unusual until someone pointed it out the other day. I wear a somewhat clunky metal watch (to use as a grounding strap) and it makes a pretty solid portrait orientation phone stand. Might be a useful trick for someone else.

Posted in DIY, Electronics, General, Objects | Leave a comment

Touchpad Cyanogenmod 9

My Touchpad (AKA “The Mobile Platform Test Device”) has had both its OSes updated in the last couple days. WebOS bumped from 3.0.4 to 3.0.5, and I updated the Android install from Cyanogenmod 7 Alpha 3.5 (Gingerbread based) to Cyanogenmod9 Alpha0 (Ice Cream Sandwich based).
tl;dr version: Cyanogenmod9 is, by virtue of speed and features, at rough pairty with WebOS, even though its interactions are uniformly worse.
Details below.
Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, Objects | Tagged , , | Leave a comment

The best of 28C3

I already posted deeper thoughts about some particular talks, but I’ve been watching talks from 28C3 all week, and now that the high-quality permlink videos are up, I want to share some of my favoites. If you would like several hours of background video that will make you a smarter, and possibly better, person, these are excellent.

Roger Dingledine, Jacob Applebaum – How governments have tried to block Tor (Video)
This is the real hacking to change the world for the better situation. These are the hackers who are protecting the people who will get chopped up and mailed to their families for what they say. They deserve all the respect and support in the world. I’m not intellectually equipped to help with Tor, but it is always good to keep humanitarian aspects of engineering in mind – both what you can do to help, and when you may, even inadvertanly, do harm.

Bunnie Huang – Implementation of MITM Attack on HDCP-Secured Links (Video)
I hadn’t really considered the collection of non-infringing desirable things that HDCP ruins (Ever wonderd why Picture-in-Picture stopped being so common? Blame the copyright industry and HDCP.) Bunnie thought about it, and made a consumer-grade product that fixes it. The FPGA crypto+signal work is badass, the hardware platform is awesome, and seeing how it went together as a consumer product is inspiring.

Meredith Patterson – The Science of Insecurity (Video)
Thoughts in a previous post here.

Cory Doctorow – The Coming War on General Compution (Video)
This is why you invite SciFi authors to technical conferences. It lacks the technical depth of most of the other talks I bumped, but it’s insightful and far looking and right.

Evgeny Morozov – Marriage from Hell (video)
This was the keynote, and, unlike most keynotes, really did set the tone for much the conference. The basis of the talk was discussing the issues of large scale surveillance technology, and the role of western companies and governments in creating and perpetuating the industry. A big part of the message is that the technology being paid for for monitoring employees in commercial settings and “lawful intercept” is being sold to authoritarian governments for whom such technologies would otherwise be out of reach, to hunt their citizens.
I thought the Tor talk above actually made a more forceful argument, but this is a better starting point. The hackers have been harping about this for far longer than the rest of the world: these are the people who have been handling the forbidden knowledge computing opens up, and they saw the disaster coming. The freakout isn’t about what large scale surveillance is going to do to hackers – we have the tools to protect ourselves – it’s what it will do to everyone else.

Ang Cui, Jonathan Voris – Print Me If You Dare (Video)
There was some stupid news responses to this (of the “OMG T3H H4XORS WILL BLOW UP YOUR PRINTER” variety) when it was first disclosed, but the hack itself is terribly clever. The reverse engineering foo is tight, the hole they exploit is a classic “I would have done that but … facepalm” kind of hole, and the attacks it enables are a massive evolution of a known mechanism.

Geeks and depression panel(video)
The geek community tends to have depression issues – this isn’t news. The hacker community is an amazing, close, supportive community – this won’t surprise many geeks, but it might surprise others. They talk about this reality. The session is, by the way, really hard to watch. I’m not ashamed to say it made me tear up.

I haven’t seen every session, or even every English session, so I’m no doubt missing some good stuff. There were definitely some other awesome talks; the GSM and USB Reverse Engineering ones were awesome but don’t have quite the same “YOU MUST WATCH THIS” pull to them. I welcome suggestions for other amazing things I may have missed.

Posted in Computers, DIY, Electronics, Entertainment, General | Tagged , | 1 Comment

Touchpad Dual-Boot

I dual booted my Touchpad with CyanogenMod last week, and it has made me notice a lot of things about the Touchpad, WebOS, and Android that I hadn’t fully appreciated before. I wish I had thought to post these as snippets instead of a wall of text, but I foolishly gathered them up and am posting as a set.

Details about putting CM7 on the Toucpad are here in this RootzWiki forum thread. Yes, their page and documentation are a forum thread with 100+ pages of screeching morons obscuring the content – that’s how the Android community tends to be.
The whole CM7 install process is pretty graceful – I had a minor hiccup in that it claimed the gapps would be installed on the first ACME run if I put them in the cyanogeninstall directory, but I had to go in with ClockWork and flash them later – then it hung on the setup autorun on the next boot. Fine after that. During the initial install, I found myself using the phrase “Oh jeez, there is some Linux shit going on”  — it looks like the ACMEInstaller is just a fancy initrd image with some utilities and scripts baked in that does some FS manipulation and archive decompression.  I appreciate it when Linux is Linux. 
Onward to notes:
Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, Objects | Tagged , , | 1 Comment

Canon Cat

Clip from Canon Cat Advertising Materials

I’m not sure why there has been a spate of tech news artcles about the Canon Cat recently, but it’s really refreshing to see. I assume it started because someone spotted this nice document dump, and the tech news world is an echo chamber.

Many of the articles note that the manuals and such come with (mostly) complete circuit designs, but they miss the other interesting bit of technical openness – Cats were running a totally introspective user accessible software stack written in a dialect of Forth. In addition to having a UI that is still a popular example for application specific computing devices, it was also user programmable/modifiable almost down to the hardware. I’m not a fan of Forth, but it demonstrates that 1. It is possible to make an embedded computer programmable without interfering with its UI model, and 2. It is possible to design introspective systems which are usable, which are right in line with what I want to be doing with myself next, and totally out of line with current trends in computing. It brings to mind Alan Kay‘s work, or a more reasonable LISP machine.
The other reason I’m fascinated by the Cat is that it manages to make a completely modeless text editing system, and its development spawned several papers (in the linked documents) on the topic. I despise implicit modality in user interfaces (this is why, despite having all kinds of wonderful features, the traditional progammer’s editors just end up making me furious), and good through theoretical and case studies supporting that stance are a beautiful thing.

That dump is slightly different collection of Canon Cat materials that I put together when I was curious after reading The Humane Interface a couple years back. I’m still integrating the collections, but there seems to be some different stuff in each – piles of arbitrary format documents are hard to diff, especially when there is no name correspondence and some are binary formats. I think there may be enough material in the various available sources that, given access to an operable CAT and a reasonable digital lab, it would only be a large 10s/small 100s of man hours of work to emulate or even hardware simulate one.
I’ve never (actually, I think I ran into one as a kid but did’t know what it was at the time) had a chance to play with a real Canon Cat, and owning one would be a mixture of all the standard problems in owning vintage computing stuff – they’re expensive and collectible, and like most computers of the era, bulky and fragile, and they require problematic media… but I would still probably get one if I had the chance for a reasonable price, because they did so many interesting things right. More and more I think CS/EE programs should include (probably just as an elective) proper History of Computing courses – if my intended life pattern continues, I may even get to teach one for a while. I think it would be a blast for all involved.

Posted in Computers, Electronics, General, Objects | Tagged , , , | Leave a comment

Teaching Embedded Systems (with Arduino)

Now that the classes are winding down, I want to write up some internet-accessible notes about the embedded systems unit I designed and taught for EGR199 this semester. The unit went well, and I can see basically the same materials being reused, so having a nice content dump for me or any other instructor to use is worth the effort. Long winded version after the fold.
Continue reading

Posted in DIY, Electronics, General, Objects, School | Leave a comment