Software Installs for netArt

NetArt explores a number of contexts and makes use of several platforms. Some of these will be uses in depth, others only peripherally.

To take advantage of our short time together, you should get them installed ASAP.

I may add more items during the term, depending on how things unfold.

You need to do ARDUINO and VS CODE immediately. You can take the next week to get the others installed and rolling.

Arduino

The first and possibly most complicated install is getting ArduinoIDE 2.x installed and configured for ESP32 coding . There are LOTS of steps here — take your time!

Download and install the latest IDE 2.2.X Arduino software. (2.2.1 at time of writing – Jan 2024). You can click download only if you wish to bypass a donation.

Arduino plotter Fix:

You will need to modify the plotter in IDE 2.x. Follow the instructions here:

NOTE the above plotter fix must be done every time you install or update Arduino 2.X software.

ESP32 Mods – Add the board:

We need to extend Arduino so that it can talk to our ESP32 / Feathers. We will be using Uno’s (from tangible) and Adafruit Huzzah32, ESP32 Feather in this course.

The video below will walk you through the process of getting your software talking to the netArt board.

The video breaks the process down into several steps. They are outlined in text after the video. It may make sense to watch video and scroll text as you go?

(?Ironically? – No, irritatingly, I shot the video then edited the text in this post – so the page visit part of the video is a bit out of order — sorry).

For the first install step, you will need to copy the URL (link) from Setup Boards section (below)– it comes immediately after the video. The sample code is a little further down.

Arduino Software Video

You may want to follow the instructions below as you watch the video — instructions and notes are time stamped.

Video Time Stamps:

00:00 Intro, this post, Installing Arduino IDE
02:30 Adding Additional board manager URL (link below)
03:49 Boards Manager – add ESP32
05:18 Test Ports (5:40 – ESP on breadboard), first connections
12:45 Installing drivers.
14:00 Testing the Tool Chain – UPLOADING
15:30 ASIDE – xCode CLI tools ( OSX only – a bit of an interruption)
17:45 Back to UPLOADING
19:18 End.

TEXT instructions:

These instructions are a summary of the video instructions above. They include links and text that need to be pasted at various stages in the video.

Setup Boards (02:30 in video)

This first part is basically the same for OSX and WINDOWS.

1) Add the ESP32 board URL via:

Preferences –> Additional board manager URL. Then paste text below into the input window – use commas to separate any other entries!

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

2) NEXT, go to the BOARD manager (board icon on left, or Tools–>Board–>Board Manager) (03:49 in video)

Search ESP32 (copy below) …. and install the version by Espressif Systems:

esp32 

When the time comes to program your Feather in Arduino, you will select:

Tools->Board->ESP32->Adafruit ESP32 Feather
Test Ports (05:18 in video)

Once the ESP32 feather board is selectable in Arduino boards menu you should plug in the feather and see if Arduino recognizes the port.

I tested two (intel and apple chips sets) clean OSX installs for this part. On the intel machine the feather was recognized with no extra effort (but see xCode tools below) . On the Apple chip set a pop-up asked if I wanted to Allow an Accesory to Connect. I chose allow and was ready to go.

In both cases as this was a fresh 2.x install on these machines I had to install xCode tools ( see below).

If all has gone well — regardless of platform you are ready to test the installation. Jump down to Testing the Tool Chain.

If you do not see the Huzzah in the PORTS menu item when the netArt board is connected by USB you likely need to install a serial driver.

Install Serial Drivers IF needed (12:45 in video)

The process for installing drivers is different for OSX and Windows.

Find the driver for all platforms here – CP210X USB to UART bridge here.

Pick the driver for your computer.

OSX – driver:

You will have to unpack the download and install the disk image — should be straight forward.

The video covers OSX driver install (TIMESTAMP) (see also, Mariana’s OSX instructions)

Windows:

The video gives an overview of Windows driver process (TIMESTAMP).

Follow these linked instructions (2022) from Mariana (makerSpace staff) for the Window’s install – Mariana’s process for Windows Driver Install.

Testing the Tool Chain – Uploading (14:00 in video)

Once you have boards installed and ports confirmed you can do a test upload.

This code will blink the on board LED — no circuit building required.

// simple led blink - esp32 (feather,huzzah)

int led = 13;

void setup() {
  // put your setup code here, to run once:
   pinMode(led, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(led, 1);
  delay(500);
  digitalWrite(led, 0);
  delay(500);
}

You must select BOARD – Adafruit ESP32 Feather,

and

PORT (OSX) – /dev/cu/usbmodem##### Serial Port (USB)

OR

PORT (Windows) – COM# (USB)

Hit the upload button (Arrow icon) as you would an Arduino Uno. The process is slower for these boards! Be patient.

The software will COMPILE your code then UPLOAD it. If this works and you don’t get any errors jump to 17:45 in the video!

If all goes well you have a blinking RED led on your Huzzah.

Windows may be fine at this point (yay)!

OSX if this is your first 2.X upload or you get a tool error and a failed upload — see the next section.

(Windows if you get errors please screen cap them and let us know.)

OSX – install xCode tools IF this is first use of Arduino 2.X

(15:30 – 17:45 in video)

A little twist for OSX users. If you are using Arduino 2.x for the first time, you will need to install some xCode tools. They are free, they take up hard drive space, and this step takes about 15 minutes.

The process is mostly automatic — so get it started and grab some coffee.

17:45 Back to uploading

Ince the OSX detour is handled you should be looking at a blinking red led on your board.

Excellent.

At end of video you can take a break — we will tackle Arduino libraries next!

Other Setup Tutorials

Here are some external resources that I relied upon to get the above instructions sorted.

Here is a good tutorial for 2.X – so this is the basics (the following link is from random nerd tutorials — they are reliable and very detailed — you should check out their other posts.)

The following is also a nice set of instructions.

https://makeabilitylab.github.io/physcomp/esp32/esp32.html

Arduino Libraries:

We will take advantage of many libraries over the term. I have listed here — others we will add as we go.

These are required.

Most of these can be simply add from library manager in the IDE. Some require zip install.

Networking Libraries (some of these may come installed):

I think wifi is built in …. or comes with ESP32 …. we will find out.

ArduinoMqttClient by Arduino

ZIP install the next two– go to github. On right, click green box labelled CODE->download ZIP, then ZIP install to Arduino.

https://github.com/hex705/Scissors

https://github.com/hex705/Glue

General Libraries

AdaFruit NeoPixel by Adafruit

Grove-3-axis-Digital-Accelerometer-2g-to16g-LIS3DHTR by Seed Studio

Ultrasonic by Erick Simoes

VS Code

There is a video walkthrough of the VS Code install instructions at the bottom of this section.

First, go get a free copy of Visual Studio Code

https://code.visualstudio.com/download

We need some extensions to make this platform super P5JS friendly.

Here are the verbose instructions for this process:

https://code.visualstudio.com/docs/editor/extension-marketplace#:~:text=You%20can%20browse%20and%20install,on%20the%20VS%20Code%20Marketplace.

TLDR:

Goto Preferences -> Extensions.

Search for and add the following:

p5.vscode by Sam Lavigne

Live Server by Ritwick Dey NOTE – i think code has a built in live server, but we will add this too.

Live Share by microsoft (needs git hub account)

There will be more but this is a good start.

Video Instructions for VS Code
Installed

Installed and open VSCode will look similar to this:

P5 Serial Control

P5 serial control is a critical software bridge that we will use to make serial connections between Arduino / Microcontrollers and the browser (P5JS projects).

Go to the releases page click on Assets and pick the version for your platform. Here is a direct link to the downloads (checked 2024). This software is good but no longer updated, we will look at alternatives in class.

Previously, I was blocked by Chrome trying to download this — so I used Firefox. YMMV.

Installed

Installed and open P5 Serial Control will look similar to this:

shiftr.io

shiftr.io is a public facing, mostly free MQTT broker. We will begin with it fairly early on. For the netArt course I will/have set up some public facing brokers — but you may want your own free account for playing around.

We will use a paid account in class — login will be in D2L, but not this site.

Get an account here

Open in web:

Shiftr is a primarily a browser based experience, the public instance looks like this:

Github

We will be using Github to varying degrees. You will need an account to use teletype in Atom. There are several layers and interfaces to using Github. We will build this up slowly over the course of term.

Github Downloads

NOTE: At some point we may add command line Github functionality — but not yet.

Node.js

Node is command line tool — no icon now window opens — we will write for it in VSCode and run it via a command line interface (CLI).

We will use Node.js to build servers. To do this we need to install the engine.

Node is largely a command line tool — we will get to that in a few weeks. Good to have it on hand.

Install LTS here (left link). For this course it makes most sense to install the LTS ( long term support ) release. At time of writing that would be v20.11.0.

If you want grab the current release. We are not that bleeding edge tho.

CoolTerm

At some point we will need a terminal program fancier than the one installed with Arduino. It will be used for viewing and debugging serial communication. Most operating systems have a built in version — but this will give us some cross platform consistency, making it easier to teach.

Download coolTerm here. Scroll down, its the first item. Last access (Jan, 2024)

Installed

Installed and open Cool Term(inal) will look similar to this:

Digi XCTU

Later in the course we will explore how to set up and configure xBee radios. This requires custom software called XCTU from a company called Digi (the makers of the radios). Get a fee copy here.

Installed

Installed and open XCTU will look similar to this:

Atom — No LONGER Supported

ATOM was purchased by a moderately big company(github) which was then purchased by a bigger company (microsoft) and is no longer operable.

Ironically? vs code and Arduino 2.0 are based to varying degrees on the atom code base.

DO NOT INSTALL.

A LOT OF MY EARLY VIDEOS ARE ATOM HEAVY — THE LOGIC REMAINS THE SAME BUT THE SPECIFICS HAVE CHANGED.

WE WILL NOT USE ATOM — THIS IS HERE FOR LEGACY FUN

https://thenextweb.com/news/microsofts-cross-platform-visual-studio-code-app-is-based-on-githubs-atom-editor

Download and install Atom for your platform. Atom is a text editor that will allow us to do much of the course work. I will use it A LOT.

Once you have Atom installed, we will extend its functionality with some additional Packages. Packages add additional functionality to the base editor allowing you to customize for different workflows

TLDR

Open Atom, then –

Atom–> Packages–> Settings View –> Open

This should open the Core Settings tab with many menu options. On the left select + Install.

This will switch to the Install Packages view. On the right you should now see a search bar along with other functions. Make sure that the Packages button to the right of the search bar is selected. You will type package names into this bar and once a Package is found, click install (blue button) in the lower right of the Package description.

In the image above you can see two package descriptions. The top one, atom-live-server is installed on my system so the bottom options are Uninstall and Disable. This allows one to turn various Packages on and off to test functionality.

Immediately below this is a package I do not have installed — atom-live-server-plus v3.0.1. In this case, note that the bottom right button is for install.

As you begin to work with Atom you will notice there are lots of variations on some Packages. It worth playing with different ones from time to time to see what they add to your life. Some forks of main packages are vanity projects and you will find yourself uninstalling them immediately.

Package list

Here are some Packages we will need to get us started (these are ones I use — these are not endorsements, and I don’t claim they are the best — they just get it done for me. If you find better ones, let me know and I will add here):

  • atom-live-server (v2.3.0)
  • teletype (0.13.4)
  • markdown-preview (0.160.2)
  • github (0.36.10)
  • snippets (1.6.0)
  • terminal-tab (0.6.0)

If it spell check does not come installed as part of base, then also add one — I use:

  • spell-check (0.77.1)

That should tons to get us rolling.