Repo for the esp32s2 version of the Wi-Fi Nugget

Related tags

HardwareS2-Nugget
Overview

S2-Nugget

Repo for the esp32s2-based S2 Wi-Fi Nugget

You can buy an S2 Nugget and support our team here: https://retia.io/products/wi-fi-nugget-s2-nugget-esp32s2

Welcome to the Github repo for the S2 Nugget! The S2 Nugget is a Wi-Fi Nugget breakout board combined with an ESP32S2 based S2 Mini development board.

S2 Nugget

Because the S2 Mini is pin-compatible with the D1 Mini, the original Wi-Fi Nugget breakout board can be used to make an S2 Nugget by swapping out the D1 mini for an S2 mini.

S2 Nugget

You can learn more about the ESP32s2 here: 👉 https://www.espressif.com/en/products/socs/esp32-s2

You can learn about the S2 Mini development board here: 👉 https://www.wemos.cc/en/latest/s2/s2_mini.html

The ESP32s2 has many advantages over the ESP8266 used in the original Wi-Fi Nugget, such as:

  1. USB support, allowing you to drag and drop code to a flash drive
  2. HID support, allowing you to do USB rubber ducky style attacks
  3. Wi-Fi monitor mode in Python
  4. Support for CircuitPython

The S2 Nugget is supported by Arduino IDE and supports MicroPython and CircuitPython.

Get started working with the S2 Nugget on the Wiki: https://github.com/HakCat-Tech/S2-Nugget/wiki

Quickstart CircuitPython Setup Guide

S2 Nugget

CircuitPython is a Python based language for controlling hardware supported by Adafruit. The S2 Nugget supports CircuitPython, allowing users to drag and drop code onto the board to program it.

The process for setting up CircuitPython is fast, easy, and requires only a browser and Mu Editor (https://codewith.mu/)

Learn more about using the S2 Mini with CircuitPython here: 👉 https://circuitpython.org/board/lolin_s2_mini/

Setting up CircuitPython

See setup video here: https://youtu.be/8JJkAxRp8cw

Thank you to Adafruit for including excellent documentation for setting up CircuitPython, some of which is copied below.

Step 1: Set up the bootloader to enable USB support

To set up CircuitPython on the S2 Nugget, navigate here: 👉 https://circuitpython.org/board/lolin_s2_mini/

Go to the section that says "Install, Repair, or Update UF2 Bootloader" and click the purple "Download bootloader ZIP" at the bottom.

Plug board into a USB port on your computer using a data/sync cable. Make sure it is the only board plugged in, and that a charge-only cable is not being used.

Press and hold down the BOOT or 0 button, press and release the RESET or RST button, and then release the BOOT button.

In the Chrome browser, navigate to: 👉 https://adafruit.github.io/Adafruit_WebSerial_ESPTool/

Select 460800 Baud from the pull-down menu (top-right).

Click Connect (top-right).

Select the COM or Serial port from the pop-up window.

After successful connection, click Erase.

After successful erase, click any Choose a file..., then locate and select the combined.bin file unzipped earlier.

After successfully choosing combined.bin, click Program.

After the TinyUF2 firmware update is complete, press the RESET button on the board. A new drive BOOT should be visible in your file browser.

Step 2: Install CircuitPython

Go back to 👉 https://circuitpython.org/board/lolin_s2_mini/ and download the .UF2 file for the latest stable version of CircuitPython

Once the .UF2 file downloads, drag and drop it into the drive that appears when you plug in your S2 Nugget

This should automatically install CircuitPython on your S2 Nugget!

Step 3: Programming in CircuitPython

Download and install Mu Editor from here: 👉 https://codewith.mu/

Open Mu editor and select CircuitPython editing mode.

Name your file code.py, this will be automatically run each time the board boots.

Save your code to the board, it will automatically re-run your code each time you save changes to it.

To add files, drag and drop them from your computer to the board.

Using the neopixel

In Mu Editor, create a new file, name it "code.py", and save it to your CIRCUITPY drive.

Copy or download the following script into your file: https://github.com/HakCat-Tech/S2-Nugget/blob/main/NeoPixelTest_CircuitPy_Nugget.py

At the bottom of the script (on lines 55-58), uncomment the function you'd like to test.

You can choose from:

  1. SetAll(r,g,b) Uncomment this to test setting all neopixels to a single color (set your own values)
  2. RandomColor() Uncomment this to test setting all neopixels to random colors
  3. VividColor() Uncomment this to test setting all neopixels to vivid random colors using some math
  4. RandomChase() Uncomment this to test creating a racing animation for neopixel strips or rings

Reading Wi-Fi packets

To try out Wi-Fi packet parsing, download the Wifi_Deauth_Detector_Example.zip file here: https://github.com/HakCat-Tech/S2-Nugget/blob/main/Wifi_Deauth_Detector_Example.zip

Unzip the .ZIP file, and drag and drop the contents into your CircuitPy board, overwriting the existing /lib folder and code.py

Open Code.py to see the code under the hood, otherwise the code should run and detect deauth packets with a shocked anime face.

Controlling the screen

To try loading a bitmap on the screen, download the OLED Bitmap example here: https://github.com/HakCat-Tech/S2-Nugget/blob/main/OLED_Bitmap_Example.zip

Unzip the .ZIP file, and drag and drop the contents into your CircuitPy board, overwriting the existing /lib folder and code.py

You can drag and drop black and white .BMP images that are 128X64 onto your board and display them by changing the file path in code.py

HID Attack Examples

The S2 Nugget supports HID attacks! You can pretend to be a keyboard or mouse to send keystrokes or control mouse movements.

To try out the HID attack examples, download the ZIP file here: https://github.com/HakCat-Tech/S2-Nugget/blob/main/HID_Attack_CircuitPython_Examples.zip

Unzip the .ZIP file, and drag and drop the contents into your CircuitPy board, overwriting the existing /lib folder and code.py

You'll find 3 examples, which include:

  • MacOS_HID_Payload - Pretends to be a keyboard, when inserted into MacOS computer, opens a terminal window and injects a payload. Currently set to "curl parrot.live" which makes a dancing parrot appear. Uses the screen on the S2 Nugget to show the status of the payload.
  • Simple_HID_Payload - Bare-bones HID payload to inject keystrokes, currently set for MacOS to "curl parrot.live" which makes a dancing parrot appear.
  • Screen_Mouse_Jiggler - Turns the S2 Nugget into a mouse jiggler. When the right button is pressed, the mouse is moved randomly. On screen instructions.
  • Simple_Mouse_Jiggler - Bare-bones mouse jiggler with no screen or neopixel indicator

You can easily add payloads for your own operating system! For more CircuiptPython HID documentation, see here: https://circuitpython.readthedocs.io/projects/hid/en/latest/

To run an example, make a copy of the script and rename it "code.py", overwriting the old "code.py" file.

Your S2 Nugget will automatically reload and run the current code.py script.

Owner
HakCat
HakCat
[unmaintained] WiFi tools for linux

Note: This project is unmaintained. While I would love to keep up the development on this project, it is difficult for me for several reasons: I don't

Rocky Meza 288 Dec 13, 2022
Testing out some (stolen) DMA code for RP2040 Micropython

RP2040_micropython_dma testing out some (stolen) DMA code for RP2040 Micropython. Heavy inspiration and some code from https://iosoft.blog/2021/10/26/

2 Dec 29, 2022
Blender Camera Switcher

Blender Camera Switcher A simple camera switcher addon for blender. Useful when use reference image for camera. This addon will automatically fix the

Corgice 1 Jan 31, 2022
Detic ros - A simple ROS wrapper for Detic instance segmentation using pre-trained dataset

Detic ros - A simple ROS wrapper for Detic instance segmentation using pre-trained dataset

Hirokazu Ishida 12 Nov 19, 2022
A IC scan test interface for Arduino

ICSCAN_ARDUINO Prerequisites Python 3.6 or higher arduino uno or nano what is this It is a bitstream tranceiver to test IC chip It sends bitstream to

Nifty Chips Laboratory 0 Sep 15, 2022
Control the lights of Alienware computers under GNU/Linux systems.

Before requesting support please consider that this software is not actively developed. I created it in 2014 for managing my Alienware M14X-R1 (where

rsm 111 Dec 05, 2022
Cow Feeder is a bot automatically execute trade on cowswap

Cow Feeder is a bot automatically execute trade on cowswap, includes functions: Monitoring Ethereum network gas price and execute trade whe

6 Apr 20, 2022
A Fast, Easy, and User Friendly way to control Robotics Actuators.

T-Motor Controller A Fast, Easy, and User Friendly way to control Robotics Actuators. View Demo · Report Bug · Request Feature Table of Contents About

26 Aug 23, 2022
Uses the Duke Energy Gateway to import near real time energy usage into Home Assistant

Duke Energy Gateway This is a custom integration for Home Assistant. It pulls near-real-time energy usage from Duke Energy via the Duke Energy Gateway

Michael Meli 28 Dec 23, 2022
A script and GUI for controlling stepper motors from an arduino

A script and GUI for controlling stepper motors from an arduino (nema 23 in my case but should work for others in general)

Pip 2 Aug 01, 2022
Activate Numpad inside the touchpad with top right corner switch or F8 key

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

Mohamed Badaoui 230 Jan 08, 2023
Quasi-static control of the centroid of quadruped robot

Quasi-static control of quadruped robot   This is a demo of the quasi-static controller for the centroid of the quadruped robot. The Quadratic Program

Junwen Cui 21 Dec 12, 2022
Provide Unifi device info via api to Home Assistant that will give ap sensors

Unifi AP Device info Provide Unifi device info via api to Home Assistant that will give ap sensors

12 Jan 07, 2023
GUI wrapper designed for convenient service work with TI CC1352/CC2538/CC2652 based Zigbee sticks or gateways. Packed into single executable file

ZigStar GW Multi tool is GUI wrapper firtsly designed for convenient service work with Zig Star LAN GW, but now supports any TI CC1352/CC2538/CC2652 b

133 Jan 01, 2023
从零开始打造一个智能家居系统

SweetHome 从零开始打造智能家居系统的尝试,主要的实现有 可以扫码添加设备并控制设备的Android App 可以控制亮灭的灯,并可以设置在Android App连接到指定Wifi后自动亮起 可以控制开关的窗帘,机械结构部分自己设计并3D打印出来 树莓派主控,实现Http请求接口和ZigBe

金榜 5 May 01, 2022
Real-time Coastal Monitoring at the University of Hawaii at Manoa

Coastal Monitoring at the University of Manoa Source code for Beaglebone/RPi-based data loggers, shore internet gateways, and web server. Software dev

Stanley Lio 7 Dec 07, 2021
a weather application for the raspberry pi and the Pimorioni Inky pHAT.

raspi-weather a weather application for the raspberry pi and the Inky pHAT

Derek Caelin 59 Oct 24, 2022
Component for deep integration LedFx from Home Assistant.

LedFX for Home Assistant Component for deep integration LedFx from Home Assistant. Table of Contents FAQ Install Config Performance FAQ Q. What versio

Dmitry Mamontov 28 Dec 13, 2022
3d printable macropad

Pico Mpad A 3D printable macropad for automating frequently repeated actions. Hardware To build this project you need access to a 3d printer. The mode

Dmytro Panin 94 Jan 07, 2023
Home Assistant custom integration for e-distribución

e-Distribución is an energy distribution company that covers most of South Spain area. If you live in this area, you probably are able to register into their website to get some information about you

VMG 17 Sep 07, 2022