Friday, February 20, 2015

iPad graphics tablet

For those of you who do some graphic design, here's a handy tool that may be able to help (at least if you're an Apple user.)

It's called Astropad (http://astropad.com) and it allows you to use your iPad as a graphics pad with your Mac. So, instead of swapping back and forth between the Mac and the iPad for editing tasks – copying files back and forth – you can use them together.

You need to launch an app on both platforms and from there it's relatively seemless – changes you make on either platform are immediately echoed to the other. There's also a palm reject function on the iPad – handy for stylus users.

It's pricey, at $50 ($20 for an academic license), but if you do this stuff all day, it might be worth it. And, it's cheaper than a full blown graphics tablet.

Thursday, February 19, 2015

Security card reader

This post describes a quick-and-dirty proof-of-concept that I recently did using a Wiegand card reader and a Raspberry Pi.

One of our executives at work saw a kiosk that read people’s ID cards as they walked up to it and displayed some personalized content. He asked if we had anything that could do that. I thought this could be an interesting weekends-and-nights project that would result in a basic, demoable proof-of-concept system. There was enough new-to-me technology involved that I thought it would be a worthwhile learning exercise.

When I start a new project I put together a hypothetical architecture and design based on what I think is necessary to achieve the objectives of the project. I list all of the pieces of the problem space that I don’t understand along with pieces that I think I can use. The pieces I don’t understand, typically expands as I get into research mode - I found I didn't know much about card reader technology before I started... 

I hypothesized that I could use a Raspberry Pi to decode data from the scanner and implement a web page that displays the data. I’d use a mySQL database to store the card data and an Apache web server to display the output.


I’m generally a cheapskate, so I look for ways to use whatever I have on hand whenever possible. In this case, the Raspberry Pi seemed to be a good fit – I’d used it for a couple of other projects and knew that it was quite a powerful little computer. I know enough Linux to be dangerous and thought it would be easier developing software in this environment than figuring out how to interface the scanner to a Windows PC (and the only Windows PC I have at home is an old XP laptop...)

The card’s I selected to test with were HID 125KHz proximity cards, selected because of their ubiquity in security applications - and because I had one. These cards have a little processor and antenna embedded in them that, when placed near the electromagnetic field of a scanner, power up and disrupt the field slightly, transmitting 26 bits of information. There are a couple of parity bits, an 8 bit “facility code” and a 16 bit “cardID”. The specs and the interface protocol were all available on-line.

There were a number of cheap, used scanners on e-bay so I ordered one to test with for about $40. I figured that if I couldn't make it work, this was a cheap way to fail. A more capable, longer range scanner, the MaxiProx HID reader, costs about 10X the cheap unit I bought. If the PoC worked, I could swap in the more capable scanner later for longer range scans.

I found that someone (Ben Kent) had already done some development of Wiegand software in C that I could hack for the Raspberry Pi application. The Wiegand interface uses two data lines and a ground wire and works over long distances. Typically the scanners are at building points of entry and the wires have to be routed through walls, ceilings and floors to get to wherever their authorization system is located. The Wiegand protocol works well for these long cable runs. The software gets an interrupt when either of the data lines signals and then turns these events into bits that it accumulates until it has 26 of them.

Just to make sure that the scanner was working, I hooked up the data lines to a dual trace memory scope and captured a card scan. I was able to visually convert the oscilloscope traces to the 1s and 0s of the number embedded on my ID card.


Using a couple of resistors and zener diodes I built a quick and dirty converter to scale the 0-5V output of the scanner to a 0-3.3V signal that the RPi could deal with.  I loaded a current version of Linux onto the RPi and downloaded, installed and updated the software I thought I’d need: Apache, php, mySQL and a gcc compiler and verified that each of the components worked. This is all pretty standard for the Raspberry Pi, so it was easy to get running.

Since I hadn’t used mySQL before and had only written a couple of small php apps, I wrote some test programs to demonstrate that I could read and write to the database from C and php applications. This took most of the “development” time – totaling maybe 6-8 hours – mostly googling for C and php subroutines that could read and write mySQL data and then playing with them until they worked. For hacking together these simple programs, the RPi worked fine.  This resulted in a couple dozen lines of php code and maybe 150 lines of C. 

A quick test of the software showed that it was indeed capturing the 1’s and 0’s from the Wiegand interface. And a little more development got me an app that stored the scanned card info to a database. A php app running on the RPi’s Apache server queried the database that I had created to translate card number into a name. It then opened a couple of search pages using the name. I had all the software auto-load at startup so that I could run the RPi "headless" (without a monitor, keyboard or mouse attached.)

This project took maybe 10-12 hours of research, software and hardware hacking spread over a couple of weeks with less than $100 in hardware budget (much of it stuff I already had.) I learned something about Apache, php, mySQL coding in C, Wiegand encoded cards and 125KHz scanners. Well worth the time!

My point in documenting this journey and others like it is not to provide a step-by-step guide so that you can reproduce what I did – this stuff is just not that complicated and you’ll probably find a better way to do it anyway… 

I just want to demonstrate that it's really about breaking the problem down into known and unknown chunks, learning the unknown parts, playing with each individual piece of the puzzle to understand it, and then hacking these pieces together until it works. The Linux platform is great for integrating different technologies, because most of the necessary software is open source and free. And the Raspberry Pi is a great Linux platform because of all the support it enjoys and the ease with which it can connect to, well, anything. Also, if you're a Mac user, most of the same tools are available on the Mac - it's based on UNIX so it's easy to move back and forth between it and Linux.

If you can think it, you can do it!



Wednesday, February 18, 2015

Open source 3D printer from Autodesk

While many hobbyists and makers have embraced the inexpensive 3D printer market, there are a number of higher end devices available to serious fab shops. Autodesk has just announced their Ember 3D printer, coming in March. Since Autodesk is a big player in the CAD world, a lot of engineers who already use it will be interested in this printer. But the big value is their open-source printing software called Spark 3D. 

In the hobbyist world Makerbot made a lot of fans by using open source design software and Autodesk is betting that this will help them sell more product as well.

The new Ember printer isn’t cheap (starts at about $6000), but for serious fab shops this isn’t outrageous. It uses light-cured resin to print a layer at a time, unlike the hobbyist tools that print using melted plastic. This yields finer features and more accurate models.

Here’s a timelapse video showing the printer making an statue of liberty. Typical of light-cured resin printers, the Ember prints upside down. https://www.youtube.com/watch?v=88ZJWbaumMg 

Tuesday, February 17, 2015

High speed communications via light

​This one’s not quite ready for prime-time, but I thought it was interesting. 

WiFi uses limited bandwidth in the 2.4 GHz and 5 GHz bands. If it could use light instead of radio frequency signaling, the sky’s the limit in terms of performance.

Using light, researchers at Oxford are looking at possible speeds of 3 terabits per second. Currently, WiFi can hit 7 gigabits per second on a good day. Beyond speed, the other advantage of using light is that it is unlicensed – you can use as much as you need without interfering with other services (or requiring a permit from the FCC...)

So far, they’ve been able to transmit at over 200 gigabits per second using an access point in the ceiling directing a beam toward the computer. Currently, the computer needs to be in a fixed position relative to the access point, but they’re working on a tracking system that would allow for more portable operation. 

It will be a while before something like this makes it into commercial products. When it comes it will really up the ante in wireless communications - great for HD video transmission, for instance.

For more details see: http://spectrum.ieee.org/tech-talk/semiconductors/optoelectronics/fiber-to-the-living-room




Monday, February 16, 2015

Apple iWork on the desktop?

It's no secret that I'm an Apple guy – I use a MacBook Air and an iPad at work to connect to my Windows 7 virtual desktop. I use an iPhone and Mac at home. 

But, when it comes to iWork, well, not so much. Sometimes I'll use Keynote for a quick presentation, but most of the time I use Microsoft Office products for work and Google Apps for home.

It looks like Apple is trying to be more business friendly with their recent announcement of iWorks for the browser. The new iWork tools work on PC's in IE (9 or higher), Chrome (27.0.1 or higher) and Safari (6.0.3 or higher). They also work on Linux and Chromebooks. 

Some recent talk by Apple CEO, Tim Cook, about their evolving relationship with IBM also points to more of an enterprise focus. 

Are you an iWork user? Would you like to use it at work as well as home?

For now, there are some security concerns regarding intellectual property leakage and IP protection, so I won't be using it for any corporate proprietary info, but maybe for personal stuff…





Friday, February 13, 2015

Tactile iPad typing

Here's an oddly interesting iPad "keyboard" option. Instead of adding an external keyboard, Tactus built an iPad mini case with a built-in screen protector that has key guides that rise up from the screen when you need them.

It's called Phorm and it uses invisible channels embedded in the screen protector to fill transparent pockets with fluid - which creates the key guides. Currently it is only available for the iPad mini and only works in portrait mode.

And you don't actually press the bubbles like keys, they're just there as "guides" – they appear near the top of the actual on-screen keys. There's a slider that raises the bubbles – it's completely manual: when you want the key guides, the slider fills the pockets with liquid, when you want it to go away, you slide it the other direction.

Honestly, it is way too pricey at its $150 pre-order price – you can get a $30 transparent keyboard overlay that actually works pretty well. I think this is really just their short-term "get something shipping" product. 

As the technology evolves, I would expect some kind of tactile key feedback from Apple or Samsung to be built in to their devices (maybe using Tactus' technology.) I think they're just waiting for materials science to catch up with the idea-space.

Here's a clever marketing video for the technology: https://vimeo.com/43431035


In any case (pun intended) watch for more tactile feedback keyboards on consumer products - I think this is just a teaser.


Thursday, February 12, 2015

Printer for prototype circuit boards

This year at CES Voltera demoed a printer that prints prototype printed circuit boards. This is definitely a niche product – but people who do circuit board design for proofs-of-concept or pilots have had to use tricky chemical etching or wait days or weeks for an outsourced prototype supplier to bring their design to a board. Either way, it's way too much work and time for hobbyists and small shops.

The Voltera uses conductive ink to rapidly print prototypes (45 minutes to an hour for a small board.)

They're targeting hobbyists and makers in the short term - their Kickstarter campaign over-funded by a factor of 4. Check out the animated gif below for a sped-up view of the printing process.

Here's a link to a video that more thorougly describes the product. https://d2pq0u4uni88oo.cloudfront.net/projects/1607708/video-496130-h264_high.mp4