Categories
Uncategorized

Converting DigitNow! BR120 Videos

Digit!Now

During the holidays my uncle asked me about converting old VHS video tapes to digital versions, and he showed me a converter he had found. Knowing that the specs on such things are usually not very specific, but that I’d find a way to make it work, I told him to order it. (The device is a Werecord BR120 Video & Audio Grabber Box from Digit!Now)

It’s simple to use. You just plug in some RCA cables coming from your VCR or old analog video camera, and press the “record” button on the device. It saves a digital file to an Micro SD card.

AVI Format

Oh, yeah… it’s an AVI file. If you don’t know much about AVI, it’s a ‘container format’, which means it could use any of a long list of encoding schemes, and you may have problems reading the file. Since I’m using Mac OS X in 2016 and AVI was introduced by Microsoft in November 1992, I had some problems.

QuickTime Player 10

The first attempt was to open it using Apple’s QuickTime Player 10. No dice. The “Tell me more” button takes you to a page explaining that QuickTime Player 10 sucks, and you should try QuickTime Player 7.

QuickTime Player 7

QuickTime Player 7 opens the file, but there’s nothing there… at least nothing it can decode properly. (You’ve let me down again, QuickTime Player!)

MPEG StreamClip

That’s enough fun with Apple’s offerings… on to the more powerful Swiss Army knife of transcoding video; MPEG StreamClip. There hasn’t been a new release for over three years, but it still works wonders on changing videos from one format to another.

Well, no better than QuickTime Player 7. Unless you like a white screen better than a black screen. Let’s move on…

Miro Video Converter

Don’t worry, I’m not even half way through my list of the video conversion software I have on my hard drive. (Yes, I have hundreds of applications on my hard drive, not in some damn cloud somewhere!)

Our old pal Miro Video Converter was willing to accept the AVI file and give me an MP4, which is what I want, because it will probably play fine on any device I want to play video on…

Converting

Hey, look at that! Miro Video Converter is using FFmpeg under the hood. Excellent… especially since ffmpegX hasn’t been updated in many years.

Raspbian Boot

As for the video, since I didn’t have one of my VCRs handy, I grabbed a old Raspberry Pi with a composite video output and used that for the test. I know, it looks terrible here, partly due to it being a GIF, but mostly due to it being a computer output scaled down to a 640×480 standard definition display. I’m going to assume actual video footage from 25 year old VHS tapes will look much better. (Sort of.)

Categories
Uncategorized

A Big Big Keyboard

Big Keyboard

If you happened to see a post titled 8 Crazy Keyboards That Will Trick Out Your Typing over on the Make Blog, you may have seen the big keyboard I worked on last year.

It was for a graphic design station we built for “Word Headquarters” at the Betty Brinn Children’s Museum. (I did this project as a contractor, before I worked at the Exhibits Shop.) Here’s a bunch of images that show the building of the keyboard.

Concept #1

This is the concept Mike came up with, which was to use lots of different sized pieces of wood, CNC’d to look like letterpress type (though obviously not reversed, as they would be unreadable.) This was definitely a fun design, but things always change along the development path…

Layout

Layout

While Mike was working on a design, I mocked up a drawing showing the spacing I thought would work using arcade buttons and how close together we could get them. This helped determine the overall size of the keyboard. Things could obviously get more spaced out, but this was the tightest we could go.

Teensy++ 2.0

I’ve built plenty of keyboards over the years using Teensy development boards so there wasn’t too much new happening on that front. Still, it’s always good to breadboard things up for testing.

Concept #2

We ended up going with a simpler and cleaner key layout than the original concept. As you’ll see later, we added variations elsewhere in the piece.

Teensy++ 2.0

Did I mention the keyboard would have 46 keys? Well, 46 is the number of digital inputs you can get on a Teensy++ 2.0 board. That’s every single input. (And yes, there was an issue using pin 6 which eventually got solved.)

Buttons!

Here’s a big piece of HDPE that’s been milled out for all of the buttons. Yes, that’s a lot of buttons! (There are 47 buttons because we used two for the spacebar.)

Wiring!

Here’s the back of the big piece of HDPE. That’s a lot of wires! We used slip-on connectors rather than soldering wires to the buttons (for ease of maintenance) and the other ends of the wires all go to screw terminals.

Teensy++ 2.0

All wires run to screw terminals on an Adafruit Perma-Proto board. It’s not the cleanest thing, but the deadline was tight on this, and the impending launch date meant we had to get it all done and working, even if it wasn’t the prettiest under the hood. (And yes, this is mid-wiring… not everything is connected yet!)

Wiring!

More wiring, more wiring, labels for everything… And testing as we go.

More Wires!

Here’s the piece of Alupanel attached to the top of the HDPE. It also serves to hold the wood keys in place. Each key has a lip at the bottom to hold it captive and is held up by the spring in the arcade button. (At some point I did weight tests to determine a safe weight for each key so that it wouldn’t press down on the button too much.)

Wood Keys

Since we went with a uniform size for the keys, we added some variety in the choice of woods used. You may notice there is no return key. We eventually replaced the exclamation point with a return key. (We honestly didn’t think we’d need one due to the way the application allowed the use of text, but like all exhibits you put on the museum floor, things change over time as you learn how they are used.)

Wood Keys

I think the nice, clean, readable type turned out great. I’d still like to see the really varied version that was the first concept some day, but this works for now!

Wood Keys

There’s about 650 lines of code running on the Teensy, including code for handling the shift key with every key, so even though you don’t see the exclamation point anymore, you can get one by holding down shift and typing the number “1” key. With the letters you get lower case and upper case, and with the numbers and other non-alpha keys you get whatever would normally show up with the shift key on a standard US keyboard.

In the end, this was an awesome project to be involved in. Thanks to Kathy, Mike, Sam, and Dom for contributing to the entire thing.

Categories
Uncategorized

Documentation Wiki

BBCM Wiki

I’ve mentioned before my love of wikis as a documentation platform, and I helped start the Milwaukee Makerspace wiki and grow and maintain it over the years…

Since I started working at the BBCM Exhibits Shop last year one of the biggest challenges has been locating needed documentation. Sometimes it existed, but was difficult to find. Other times knowledge existed only in someone’s head, which isn’t the best thing for an organization.

Even though I launched the wiki late last summer, things didn’t really start to get populated until December when I got a chance to pours lots of data into it, and then Sam joined us as the Exhibit Floor Coordinator and jumped completely on-board the wiki train. We’ve added over 150 pages in the last four months, and some of them are pretty extensive.

(We’re doing a small bit of integration with our ticketing system as well. Not as much as I’d like, but there’s a few weird issues with MantisBT that make things a little difficult.)

There are still more extensive pieces of documentation that exist in other formats, things that make sense as static documents, and those are often linked from the wiki so they are easy to locate as well.

In the building of this knowledge base, I like to think of it as an easily searchable manual that multiple people can update at any time. It’s not a bunch of Word documents or PDFs on a file server, it’s a living resource, meant to be used (and updated) constantly. It should serve as a useful tool not just to the people who have access to it now, but the people who join the organization in the future. A new team member should be able to sit down on the first day and dig through the wiki to get a good overview of what we deal with. (That’s my hope anyway!)

Categories
Uncategorized

Learning to Code

Copying and Pasting

I saw many friends share this amusing image of a fake O’Reilly book titled “Copying and Pasting from Stack Overflow”, and if you’re not in on the joke, Stack Overflow is a web site where you can post programming questions and get answers to those questions. It’s also a site (like many others) where people who are not sure what they are doing grab bits of code from when they are not 100% sure what they are doing. (And if you don’t know about O’Reilly, they publish technical books, many about programming.)

This is the first semester I’ve taught a class that includes programming. I was upfront with students about how I’ve learned to write code over the years, and that includes looking at examples, using existing code, and (eventually) reusing my own code. I didn’t force them to type out each line of an Arduino sketch because I didn’t think it was completely necessary. They already know how to type, and once I showed them how to hit the compile button, they learned about syntax errors. Occasionally in class I’d demo things by writing code on the fly and inviting them to type up what I just typed, and to play around with the values, add more lines, etc. (I showed them the “Examples” menu early on, which contains plenty of useful code to get started with.)

Here’s something that may be news to some readers – I’m not a great programmer. I’m a hacker, and I can write enough code to get by, but more importantly I can find enough sample code and examples and tutorials to write the code that I need to do what I want to do. I think that’s the key to things.

If you’ve ever heard the expression “To be a great writer, you need to be a great reader” then perhaps this also applies to programming, and reading code is an important part of writing code.

Now, with all that said, I still expect students to learn some of the basics of writing code and understanding it. If at the end of the semester all they’ve done is copied & pasted code that someone else wrote, and by some miracle it compiles and runs and works for their project, that’s still sort of good, but not quite as good as having a basic understanding of what exactly those lines of code are doing.

In the meantime, keep copying code, and pasting code, and while you’re at it, try to read it and understand it.

Categories
Uncategorized

The Screwdriver

Screwdriver vinyl

My pal John McGeen posted a challenge for February. The challenge was to design a screwdriver. He also said we should “Push the boundaries of what is possible”, and while I’m normally a hammer guy, I figured I’d try a screwdriver.

While John was busy making a real screwdriver I thought about the challenge, and at first I thought about designing a 3D model of a screwdriver, and then I thought about making a nice screwdriver shaped sign using a large piece of wood, and ultimately being overloaded with projects in February I ended up doing something different.

Craftsman Screwdrivers

I started this project by thinking about screwdrivers. The first screwdrivers I ever used when I was a kid belonged to my dad. He had nice Craftsman tools. I remember him telling me that Craftsman had a lifetime warranty on their tools, and if you ever broke one, they would replace it. I still have a few Craftsman screwdrivers, but over the years I seem to have collected many other brands. None of them are probably the same quality of the old Craftsman tools, and none of them hold a memory for me like the Craftsman do.

I found a photo of some Craftsman screwdrivers and used them as a basis for tracing the outline I wanted for my silhouette.

Screwdriver with text

Once I had my screwdriver shape drawn out in Inkscape I added the word CRAFT using the typeface Adobe Naskh Medium. I wanted a contrast from the original CRAFTSMAN type which was a simple sans-serif typeface. I also flipped the screwdriver horizontally so the handle was on the left.

CRAFT

Detail of the handle and the CRAFT text. I also colored my illustration green because I planned to use green vinyl, again as a contrast to the red and blue of the original Craftsman screwdrivers.

Screwdriver

After the text was added I changed it to outlines and then exported it as a DXF file to load into the Silhouette Studio software to be cut.

Screwdriver Silhouette

In Silhouette Studio I scaled it to an appropriate size for my laptop screen, which ended up being 242mm long (or 9.5″ for you non-Metric folks.)

Screwdriver vinyl

The vinyl was then cut and weeded. I also cut a small piece of transfer paper to attach to the vinyl to hold the islands from the text in place.

Screwdriver vinyl

Yes, it’s finally time to replace the Imperator Furiosa skeleton arm. It had a good run of more than six months before the change. (It took a Simple Green scrubbing to get the lid clean before I applied the screwdriver vinyl.)

Screwdriver vinyl

Here’s the 13″ MacBook Pro with the screwdriver vinyl applied. Overall I’m pleased with how it turned out and it feels good to have some new artwork on the old laptop.

I hope this is enough of a screwdriver for John’s new site GrindstoneMKE. I’m expecting that a bunch of different screwdrivers are going to show up there in the coming days. (I’m not sure if anyone besides me will have a vinyl screwdriver though!)

Screwdriver vinyl

Screwdriver vinyl