<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div>Hello all !<br></div>
<div><br></div>
<div>Monday, we had a really cool demonstration and overview of the Adafruit Circuit Playground Express by Neil. For those of you who did not make it to the PyOhio class, his presentation was distilled from that. I had some trouble getting my board to cooperate, but there was some time earlier today where I was able to figure it out.<br></div>
<div><br></div>
<div>Some details I learned : <br></div>
<div><br></div>
<div>1) Are you a Windows enthusiast ? You must install drivers first.<br></div>
<div><br></div>
<div><a href="https://learn.adafruit.com/adafruit-circuit-playground-express/adafruit2-windows-driver-installation">https://learn.adafruit.com/adafruit-circuit-playground-express/adafruit2-windows-driver-installation</a><br></div>
<div><br></div>
<div>That is a  bundle of all of the drivers needed for Adafruit boards - run it as Administrator. <br></div>
<div><br></div>
<div>The installer will have the first three of five checkboxes checked by default. On a Windows device I was able to confirm that the default choices are correct - do not uncheck the middle two boxes, or serial and bootloading will not totally work.<br></div>
<div><br></div>
<div>2) Are you a Linux enthusiast ? Make sure your account is added to the uucp group (Debian/Linux Mint; other distros use dialup for the same thing). Otherwise, you will not be able to totally get into the board<br></div>
<div><br></div>
<div>3) I mistakenly thought that serial communication was needed to load programs onto the board. That is true for the BBC Microbit, but not for the Circuit Playground Express. You can literally drag and drop things onto the board, and save them from your editor of choice.<br></div>
<div><br></div>
<div>4) Speaking of which : I understand why Kattni told everyone to use Mu - it is super basic and goof-proof - but it does not remove hard tabs. Obviously, it would not have mattered if people were typing along with her during the class, but it does account for the root cause of the difficulty I had Monday night.<br></div>
<div><br></div>
<div>When following her instructions to update the firmware, the code.py file that executes is replaced by a main.py - this does not run the demo, even after you change the name to code.py, because at some point in the process, hard tabs were introduced into the code listing, and Mu could not strip them out.<br></div>
<div><br></div>
<div>Thonny can, however, and I was able to get the demo running again by loading it then saving it back out. <a href="https://thonny.org/">https://thonny.org/</a><br></div>
<div><br></div>
<div>Remember, even if hard tabs are set to four spaces, they are still tabs, and the extra invisible characters will cause Python to fail/throw exceptions/generally misbehave - even though you see the right amount of whitespace.<br></div>
<div><br></div>
<div>4a) If you want your code to run on the board, you must rename the Python file to code.py - this will autoexecute on boot.<br></div>
<div><br></div>
<div>5) Literally today, in the wee hours of the morning, the Circuit Express Playground library was updated to match the firmware version 3.0 :<br></div>
<div><br></div>
<div><a href="https://github.com/adafruit/Adafruit_CircuitPython_Bundle">https://github.com/adafruit/Adafruit_CircuitPython_Bundle</a><br></div>
<div><br></div>
<div><a href="https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/tag/20180731">https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/tag/20180731</a> <-- this has the bundles containing all of the things - if you followed the firmware update instructions given at the presentation, the link you want is the "3.x" link :<br></div>
<div><br></div>
<div><a href="https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/download/20180731/adafruit-circuitpython-bundle-3.x-mpy-20180731.zip">https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/download/20180731/adafruit-circuitpython-bundle-3.x-mpy-20180731.zip</a><br></div>
<div><br></div>
<div>Once unzipped, you can literally just drag and drop this folder onto the existing lib folder on the board and overwrite everything - there will still be ~1.2 MB of free space left over. <br></div>
<div><br></div>
<div>I really appreciate learning that the board had both wav playback and two buttons - now I can finish my Pomodoro timer project !<br></div>
<div><br></div>
<div>6) In case I forget - there is a dojo meeting every Thursday night from ~6p-9p at the Smokehouse Brewing Company :<br></div>
<div><br></div>
<div><a href="https://www.smokehousebrewing.com/">https://www.smokehousebrewing.com/</a><br></div>
<div><br></div>
<div>1130 Dublin Road Columbus, Ohio 43215<br></div>
<div><br></div>
<div><br></div>
<div>Thanks again to Neil, Kattni, and Pillar for hosting. <br></div>
<div><br></div>
<div>Oh, and RSVP here for the next monthly meeting - but only if you like pizza : <a href="https://www.meetup.com/Central-Ohio-Python-Users-Group/">https://www.meetup.com/Central-Ohio-Python-Users-Group/</a><br></div>
<div><br></div>
<div>- Damien Calloway<br></div>
<div><br></div>
</body>
</html>