Sunday, February 04, 2018

Creation Crate Crashes macOS X Sierra or macOS X High Sierra


Background (If you just want to find out how to fix it scroll down to the Solution section)

So Creation Crate is a 12 month subscription service where they send you a package containing hardware to build interesting electronics devices.  It also requires coding. They give you the code to type into their app or you can download the source files from their website.  If you are interested in teaching your child basic coding I recommend having them retype it in from the instruction book.  My son was excited enough he did this diligently and then we spent a few minutes fixing syntax errors the compiler found.  It was a good learning experience about programming basics and debugging syntax errors in my opinion.

What They Don't Tell You Upfront

So first, all these projects are based around an Arduino Uno board as opposed to a custom Creation Crate board, so you will be using the Arduino IDE software to program it.  I'm a big fan of Raspberry Pi and wasn't really invested in also learning Arduino hacking but since everything is packaged together, in theory, you don't have to become an Arduino expert or hang out in Arduino forums.

I figured to save on costs the first kit would include the experimenter's breadboard and the Arduino Uno and the other 11 kits would just include the hardware specific to them.  It turns out they send you a new Arduino and breadboard with every kit.  I guess they don't want you to have to tear apart your previous project to build a new one.

I did find where I believe they are getting these items at a very low cost:



Drivers?

So here is where the problems start.  In order to run this on a Mac you need to install drivers (think printer driver or scanner driver… basically a small program that tells your computer how to recognize and talk to a hardware device).  Creation Crate gives you a location to download the macOS X drivers.  It's called the UNO R3 Driver and they give you this URL (password is given in the documentation but I won't post it here)   The only problem is that driver is dated November 1st 2015.  Now it's my understanding this will work with most Mac OS X versions, but not the latest Mac OS X 10.13 High Sierra or 10.12 Sierra.  And that's the crux of the problem.

Issue Description

So what does happen?  Well I've tried on two different Macs and saw somewhat different behaviors.

On my MacBook Air it never gave an option to allow the driver to run in the Security & Privacy System Preference settings so I believe it installed the files but they weren't allowed to ever run.  So in the IDE you use to enter the code and upload it to the Arduino board, the board simply never was seen and it basically said there were no devices plugged in.  (BTW contact customer service about this and they will say it is probably a bad USB cable.  I tried several different cables with the same results of course.)

On my son's Mac mini the drivers did install and I did get an option to allow them to run in the "System Preferences"->"Security & Privacy"->"General" control panel.  A button specific to this driver appeared that asked me to allow it to run.  This was closer to the procedure I expected.  So now after restarting when I plugged the Arduino board in to the USB cable the computer would immediately crash, shutdown, and restart.  This is what most people are seeing.

Solution

Well you need a newer driver.  Creation Crate as of the writing of this blog on 2/4/2018 is not aware of this yet and is not supplying it.  Luckily an updated driver is available for download on GitHub.  You can find the repository here with a detailed ReadMe.

Assuming you've already install the old drivers and experienced the crashing of your Mac you'll need to remove them first, which requires using the Terminal/command line.  I had to use the following command:
sudo rm -rf /Library/Extensions/usbserial.kext
Then from the repository I downloaded the CH34x_Install_V1.3.zip file and ran the .pkg installer it contained.  Then I restarted, and I was able to upload my program to the Arduino board just as described in the Creation Crate instructions.  All of this is detailed in the ReadMe at the link I gave above.

Thanks to Adrian Mihalko who setup the GitHub repository with the new driver and wrote the documentation describing how to use it.

Keywords: Mac OS X macOS High Sierra macOS Sierra