Tinkering with Microcontrollers, Arduino + Beaglebone, frustrations

Two primary lessons I’ve learned

  1. Don’t work on the wiring aspect of electronics past 1am or so. The chances of you shorting something out approach 100% as you get closer to 3am
  2. Servos have more torque than you think and consume a ton of instantanious amperage

I’ve been tinkering around with Microcontrollers since about February of this year, my main interest is in servo control but also I own more than a couple of 1″ OLED displays, some GPS modules , etc etc. First I started out with the Intel Galileo, but it turned out that it had terrible PWM (they’ve since fixed this with a dedicated PWM chip) and for some reason it would send my servos in to a haywire arrangement that I couldn’t understand. I had a birchwood articulated arm laser cut and shipped to my house, but without being able to resolve the problems with the wild servos I gave up and looked for something with more reliable PWM. I sold it to someone else and bought a Beaglebone black.

This is basically a cell phone with a bunch of pinouts for sensors (like on a cell phone) but also does PWM which is good for servo control, etc. I ran in to issues with the sensors however, they were 3.3v and the Beaglebone only takes, I think, 1.8v max input. This isn’t a difficult problem to solve, but required learning how to split the voltage. In trying this, at 4am, a wayward wire scraped across the BBB and shorted something out. I had to wait almost four months for a replacement. This was shortly after I had finally gotten Debian working on the device and sortd out the CapeMgr, etc that makes servo control in python fairly easy.

In the mean time I ended up ordering an arduino, which I’ve had better luck with. But as it turns out, those servos pull a ton of amperage and they really need to be on their own power circuit to keep from “browning out” the microcontroller, which in retrospect was probably was what was causing the erratic behavior.

In other news, I bought a dedicated PWM controller that talks over I2C, but I did something that caused the motor to overtorque and damage the potentiometer, looks like that servo may become a continuous rotation servo, now.

Posted in computing, Mechanical | Tagged , , , , , , , , | Leave a comment

Converting Bitnami VMDK to Hyper-V VHDX files

I scoured the internet looking for an answer on how to run a Bitnami Virtual Appliance in Microsoft Hyper-V. I’ve had some luck using TurnKey Linux, but the hostnames in TurnKey don’t resolve well (or at all) using windows/OpenWRT so I’ve been looking at Bitnami. Since Windows Pro comes with Hyper-V, I thought I’d give it a try. Unfortunately, while TurnKey provides raw ISOs, Bitnami only provides files (or “stacks” as they call them) that are useful for VMWare and VirtualBox users.

After a couple hours of bouncing around the internet I finally came across a solution – Microsoft Virtual Machine Converter. Except that all of the tutorials referenced mvmc.exe, which is no longer included! It has been recompiled as MvmcCmdlet.dll or some other directly-inaccessible vector and the only exe left is Mvmc.Gui.exe.

Turns out you can call the cmdlet via powershell if you know how to load it. Further googling resulted in this, which I posted to Bitnami’s forums in the hopes of helping out others. I decided to use the Minecraft bukkit bitnami stack as a fun example.

Continue reading

Posted in computing, windows | Tagged , , , , , , , , | Leave a comment

Bicycles and Cats, and why bicycles self-steer themselves (and cats always land on their feet)

I’m curious, how does stem length impact steering feel?

I realize that steering feel is almost 100% impacted by trail (how far the contact patch is behind the line of the head tube) but for example, on my project bike, the old quill stem is 70mm, which puts the handlebars (3 inches) behind the hub; the new quill stem is 150mm which should put it in line with the hub.

I was looking in to wheel trail and came across this experiment again on bicycle stability, but apparently now there’s a Wikipedia page on it, and also a very good video with description of how it works (the wiki page sucks). Basically the idea is to remove things like gyroscopic forces (wheel stability), trail (front wheel auto-stabilization) and see if the bike will keep going in a straight line.

Basically what they decided is that since the front wheel has a non-zero mass, since the fork/wheel is smaller it actually rotates at a faster rate than the rest of the frame. As a result the steering motion causes the bike to self-right despite the fact that it has negative trail.


Ok, so what does that mean exactly? Well fortunately someone as smart as me already went ahead and put this in to a visual frame of reference. With Cats. The internet loves cats. How cats rotate from upside down to right side up in free fall is an interesting part of Physics minutia, but basically the long and short is that once the cat knows what way is up, they pull in their legs in the front and twist, then extend the front legs, retract the rear legs and twist again. Boom, instant reorientation using two sets of angular momentum. That probably made no sense so here’s the video.

Posted in bicycles, Mechanical | Tagged , , , , , , , , , | Leave a comment

NIC Teaming on Windows 8.1 (really)

So there is a way to get NIC Teaming to work in Windows 8.1. WS2012 R2 has dead-easy way to team any two nics (effectively giving you 2 gigabit eithernet if the other end also has at least 2 gigabit capacity). And during the Windows 8 developer preview, Microsoft had forgotten to turn off NIC Teaming, so there are a ton of (outdated) articles explaining how to turn it on. The retail version of Win 8 did not ship with this feature, nor did the retail version of 8.1, not even Pro or Enterprise.

As it turns out, Intel includes NIC Teaming in the PRO version of all their Ethernet cards. Intel pretty much owns the server Ethernet card market so they’re both cheap and plentiful. The driver-level (as opposed to Microsoft’s OS-level NIC Teaming) teaming works between any two Intel PRO Ethernet cards (I think) and, more importantly, works on Windows 7, Windows 8 and Windows 8.1 (and more than likely, someday, Windows 9). For your convenience, Intel makes dual gigabit Ethernet cards for less than fifty bucks which is awfully nice of them. The new version runs about $150, but supports VT-c which is greatly improved for boxes hosting lots of virtual machines, it allows direct hardware pass-through to the VM improving performance and also power consumption/heat.

So how do you get this $50 wonder card to work with Windows 8.1? I’m glad you asked, someone wrote-up this how-to, and that’s what I’m here to share

Continue reading

Posted in computing, windows | Tagged , , , , , , , , , , , | 6 Comments

Intel’s Galileo Ardunio and Powershell

Intel’s Galileo is a pretty neat piece of kit. However it won’t always connect on the same COM port (typically COM3 or COM4). The only way the tutorials tell you to check this is via a menu deep inside the Control Panel if you’re on Windows. The good news is that there’s a pair of simple commands in Powershell that give you access to what you need.

Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description

This will give you the device number, description and COM port.

However, the device is half baked. Buggy firmware that won’t take new sketches after 5-10 uploads, lack of even a basic tone() library, and serveo library support so bad it might as well not even be there. Had it for 48 hours and I’m returning it for a Beaglebone Black. On the upside, I got to wander around the house talking about stuff like “pulse width modulation” and feeling smart while I complain about how bad the Galileo is.

As cool as the project is, Intel, you really let me down this time. The board has been out for four months, since October, and there hasn’t been a single firmware or Linux software update. It’s February for crying out loud. Round 2 is with TI and their Beaglebone..

Posted in computing, linux, Mechanical | Tagged , , | Leave a comment

Red Green Show now on YouTube (Legally) in all it’s glory

Friend of mine sent me this:

I listed out all the play lists for my dad for the red green show because youtube’s ui on the playlists is kinda funky, here it is, every episode by season play list.

91 season, http://www.youtube.com/playlist?list=PL1B7032B7794EACD3
92 season, http://www.youtube.com/playlist?list=PL78B1B0E48A7BF317
93 season, http://www.youtube.com/playlist?list=PL7157EB9819397C37
94 season, http://www.youtube.com/playlist?list=PLAC94480E353C3F52
95 season, http://www.youtube.com/playlist?list=PL873A957141B903D1
96 season, http://www.youtube.com/playlist?list=PL2B5EF8DD806A6DD5
97 season, http://www.youtube.com/playlist?list=PLFD0D1FB18C816E3D
98 season, http://www.youtube.com/playlist?list=PL85CFDA9E38ED01F1
99 season, http://www.youtube.com/playlist?list=PL948952E14836BF5C
00 season, http://www.youtube.com/playlist?list=PL691F4DDFBF9CFFE1
01 season, http://www.youtube.com/playlist?list=PLCE8C51A2299DAA37
02 season, http://www.youtube.com/playlist?list=PLD71E1DE3A9DECE42
03 season, http://www.youtube.com/playlist?list=PL101336834998F6AF
04 season, http://www.youtube.com/playlist?list=PL4B3F0EC3DA76FEAD
05 season, http://www.youtube.com/playlist?list=PL54C3FEA27A19484F

if you put these on and then connect to chrome cast it will just play the whole play list even if you shut your laptop off which is awesome.

Posted in Mechanical | Tagged , , , | Leave a comment

Removing the redundant “google doodle” in Chrome

Sometime this fall Google pushed out a change that puts the google logo/search bar in the tabs home page. Clicking on the search bar in the middle of the page is just a dirty trick, it redirects you to the omnibar anyways. And it takes up a ton of screen space. Lame. here is the fix.

In the address bar type:
On that page, search for (using Ctrl+F) “Instant Extended API“.

Then select disable and restart chrome.

Posted in Android, computing, Uncategorized | Tagged , | Leave a comment

Setting up Windows Hyper-V Server 2012 R2 in a workgroup

Setting up Windows Hyper-V Server 2012 R2 in a workgroup

All of Microsoft’s server stuff is designed to work within an already existing Active Directory environment. Most home users don’t have an Active Directory server, unless you are running SAMBA 4 or higher (Linux product, advanced users only). So additional configuration is needed to get server products running and talking to eachother in a Workgroup environment.

Three main steps here

A) Setup Hyper-V Server 2012 R2 to accept connections
B) Setup Remote Server Management on desktop machine
C) Setup Hyper-V Management on desktop machine Continue reading

Posted in computing, windows | Tagged , , , , , , | 11 Comments

Intel i217-V network drivers for Windows Server 2012 R2

Intel can eat a bag of dicks. Here is the driver you need to run Server 2012 on the i217-V chipset.

For some reason they released the i217-V (desktop) and i217-LM (server) versions of their gigabit ethernet chip. They are the same chip. The only difference is that the -V has support for Win7, Win8 and -LM has support for WS2008, WS2012, i.e. desktop drivers and server drivers. The idea is that you can’t run Windows server OS’es on desktop hardware and you will buy the server hardware instead. You should probably do this if you’re a business so that you have official support and your boss won’t fire you. If you’re a home user/hobbyist, you’re going to want your hardware to work with your OS. So let’s fix that.

So we’re going to move some lines around in the config file (.ini) and comment out others. I’ve already done this, you are ready to go. This should work with any H87 or Z87 chipset motherboard with the i217-V gigabit ethernet chipset/network chip.

You can ( download the file(s) here. 8.4MB zip file ).

This only works for WS2012 and Hyper-V Server 2012 (and the R2 versions). NDIS63 folder is for Windows 8/2012, NDIS62 is for Windows 7/2008 R2 and NDIS61 is for Windows Vista/2008, but the same concept applies there too.

Thanks to users JoeSchmoe007 on HardOCP and Ivo Beerens on IvoBeerens.nl


Run these commands -AS ADMINISTRATOR- from the command line to disable driver integrity checks (this lets you sneak past intel’s bullshit)

Full post under the cut~

Continue reading

Posted in computing | Tagged , , , , , , , , , | 84 Comments