From 30ac09a4d0311fd5ce7a78a64dd4e7b76ba44848 Mon Sep 17 00:00:00 2001 From: Noah Axon Date: Sat, 30 Sep 2023 23:58:13 -0500 Subject: [PATCH] Update Readme Added a lot of detail to the Readme --- README.md | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b7f3bc8..d0d6f2f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # M5Stick-NEMO M5 Stick C firmware for high-tech pranks -## Name -NEMO is named after the small, clever and headstrong fish in Finding Nemo. This project stands in contrast to other gadgets that have become associated with certain sea-dwelling creatures. +## Name and Background +NEMO started a personal project to help me learn more about ESP32 development with the Arduino IDE. I decided to replicate a few common, trending pranks that were getting a lot of attention in the tech community, as a challenge to myself, and to also better understand these attacks. +NEMO is named after the small, clever and stubborn fish in Finding Nemo. This project stands in contrast to another high-tech gadget that's associated with certain sea-dwelling creatures. I did want to prove that there are a lot of things you can do with a small development kit and some curiosity. I have no delusions of superseding the capabilities of any similar device with this project. It's just for fun, and my own education. ## Features * [TV B-Gone](http://www.righto.com/2010/11/improved-arduino-tv-b-gone.html) port (thanks to MrArm's [HAKRWATCH](https://github.com/MrARM/hakrwatch)) to shut off many infrared-controlled TVs, projectors and other devices @@ -12,6 +13,32 @@ NEMO is named after the small, clever and headstrong fish in Finding Nemo. This * EEPROM-backed Settings for rotation, brightness and, automatic dimming * Battery level and credits in settings menu +## Install from M5Burner +This is the absolute easiest way to get NEMO +* [M5Stick C Plus Quick Start](https://docs.m5stack.com/en/quick_start/m5stickc_plus/uiflow) has links to the M5Burner app for Linux, MacOS and Windows. This is the official tool to install UIFlow and other official firmware. I provide up-to-date binaries for NEMO there. +* Launch M5Burner +* Select "StickC" from the menu on the left +* Use the search at the top of the app to look for "NEMO For M5Stick C Plus" +* Click Download +* Click Burn + +## Install .bin files manually with esptool.py +* Install ESP-IDF tools per the [Espressif Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/) +* Open the esp-idf CMD tool (on Windows) - on Mac or Linux, esp-idf.py and esptool.py should be in the system path. +* esptool.py --port COMPORT -b 115200 write_flash -z 0x0 M5Nemo-VERSION.bin + * port may be a COM port e.g. COM4, COM11 on Windows. On Mac and Linux it will usually be in /dev such as /dev/ttyUSB0, /dev/ttyACM0 or /dev/cu.usbserial-3 + * M5Nemo-VERSION.bin should be a version you downloaded from a GitHub Release -- preferably the latest available. + ## Building from Source -* I have compiled successfully using Arduino IDE on Linux and Windows -* If app size is too large, you must switch partition schemes. Tools -> Partition Scheme -> No OTA (Large APP) +If you want to customize NEMO or contribute to the project, you should be familiar with building NEMO from source. +* Install Arduino IDE. I've used Arduino 1.8 on Linux and Windows, and Arduino 2.2 on Windows successfully. +* Install the M5Stack boards for Arduino IDE: In File -> Preferences, paste this URL into the "Boards Manager URLs" text box. Use commas between URLs if there are already URLs present. https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json +* If M5Stack -> M5Stick-C-Plus doesn't show up under Tools -> Boards, then use Tools -> Boards -> Boards Manager and search for M5Stack. This will install support for most of the M5Stack boards including the Stick C Plus. +* Ensure the M5Stick-C-Plus is selected in the boards menu. +* Install necessary libraries. In Sketch -> Include Library -> Library Manager, search for and install the following libraries and any dependencies they require: + * M5StickCPlus + * IRRemoteESP8266 +* Switch partition schemes. Tools -> Partition Scheme -> No OTA (Large APP) +* Compile and upload the project + +