Saturday, June 9, 2018

Firmware Update!

My O_C arrived with firmware version 1.3.3b. I decided that my first project was going to be to update the firmware from the source.

The instructions at http://ornament-and-cri.me/firmware/#method_b are complete enough. But there were a few concepts that I had work through:

The USB Trace

I did not build my O_C, so I didn't realize that the USB trace was cut on my O_C's Teensy. So I spent a few frustrating minutes wondering why the LED wouldn't light when I had it plugged into my computer. When the USB trace is cut, the Teensy no longer takes its power via USB. You have to have the O_C powered by your modular during an update.

Arduino IDE Settings

Make sure that all of the settings in Arduino are right. These are all available under the Tools menu.
  • Teensy 3.2/3.1 Board selected
  • USB Type: "No USB"
  • CPU Speed: "120MHz (overclocked)"
  • Optimize: "Faster"

Push the Button!

When you're ready to compile and upload to your O_C, click the Upload button on Arduino IDE. It'll take a little while for the code to compile. When compilation is done, a separate Teensy application will open and say that the Arduino is attempting to put the Teensy into program mode. This is your cue to push the button on the Teensy, the little button directly across from the USB connector.

Note that Arduino IDE might complain that the Teensy isn't responding. This is okay. At this point, the actual upload is in the hands of the Teensy application. You can press the button at any time and the upload will get done. As long as you have the Teensy application open, the most recently-compiled code will be uploaded whenever you press the button on the Teensy.

A New Teensy

Teensy 3.2 boards are fairly inexpensive, weighing in at around $25USD on Amazon. I'm going to buy an extra one or two. I plan on doing a fairly big application (more on that later), and it would be nice to have on Teensy for "standard" firmware, and one for my custom firmware. If I ever blow my O_C up, I can revert to a known-functional board. Also, I'd like to be able to program the Teensy from my desk, so I'd like to have one without the USB trace cut.

What's Next?

My next thing is going to be to modify the firmware in some way. I've spent a bit of time studying the source, and I'd like to convert that into a visible change of some kind. You know... get my feet wet, build some confidence with the framework. Until next time!

2 comments:

Pitch Calculation and Output

"If pitches were horses, we'd all be eatin' steak." --Jayne Cobb And where have I been for almost two months? I was busy...