Giter VIP home page Giter VIP logo

sam-fusee-launcher-internal's Introduction

sam-fusee-launcher-internal

Fusee Launcher for the adafruit trinket m0 board. Based on sam fusee launcher by atlas44 and the fork by noemu.

Build and tested with Arduino SDK.

I created this fork to create an internal Trinket M0 mod. This chip will pull down the RCM_STRAP when the switch turns on, and then once it detects RCM mode it will upload a payload and go to sleep. If it cannot find RCM mode it will also simply go to sleep.

If you expose a reset wire outside the switch or put a magnetic or physical button on the switch you can put the trinket into bootloader mode and flash a new payload without opening it again. It's pretty hacky but it kind of works.

Once an open source chainloader payload is released, reflashing the trinket shouldn't be necessary anymore.

This installation is NOT for the faint of heart. It requires soldering to one end of an extremely small capacitor.

Additionally, this is all experimental, there are some issues (see below).

This code and these instructions are distributed with no warranty or support. You are responsible for your own actions. Only perform this if you have the skills and equipment to do so.

Software Installation

Go through trinket m0: arduino-ide-setup and trinket m0: arduino-ide-setup2 and read very carefully.

Summary:

  • Download and install arduino IDE http://www.arduino.cc/en/Main/Software
  • In Arduino: go to "Prefences" and add to "Additional Board Manager URLs" followin URL:
  • https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
  • go to "Tools > Board > Board Manager" and select Type: All and
  • Install "Arduino - Boards SAMD"
  • Install "Adafruit SAMD Boards" by Adafruit
  • Select the Trinket M0 with "Tools > Board > Adafruit Trinket M0"
  • Go to Sketch > Include Library > Manage Libraries
  • Install USBHost and Adafruit DotStar

Double click the reset button on the trinket -- the center LED should turn RED. Connect the Trinket m0 to your computer -- the center LED should turn GREEN, and should see a USB mass storage device called TRINKETBOOT

Your computer should detect the Trinket m0 automatically (On win7 install this driver)

Got to Tools > Port and select your conneted trinket m0

Download this Repository, open main/main.ino with Arduino IDE.

Then Verify/Compile (Ctrl + R) If no errors appear Upload (Ctrl + U).

The trinket is ready for installation.

LED is:

  • blue -> Holding RCM_STRAP low
  • blinking orange -> searching for Switch in RCM mode
  • red -> no Switch found
  • green -> payload successfully injected, about to sleep
  • off -> sleeping

Update the Payload

Download your favorite payload as a .bin file. Run the python script tools/binConverter.py with the path to the file as an argument: python binConverter.py "C:\pathToMyPayload\hekateNew.bin or just drag the .bin file on the script

In the same folder as the .bin file is located, a new .h file should appear. Copy the new file to the main folder and in the main.ino go to line 6 #include "hekate_ctcaer_2.3.h" and rename it to your new file #include "hekateNew.h"

Then just compile and upload.

Installation into the Nintendo Switch

See INSTALL.md

Reflashing the Trinket while installed

This is hacky and may not work forever, but somehow it works:

  • Boot into horizon, leave it at the home screen
  • Put the trinket into bootloader mode by pulling the Trinket RST line to ground twice quickly.
  • Plug the switch into your computer, the LED should turn green and you should see the Trinket as a mass storage device
  • Flash the Trinket with the Arduino IDE as normal.

Issues

  • xboxexpert has reported that sometimes the trinket will wake itself up ~10 to 13 seconds after a poweroff. The trinket quickly goes back to sleep and this seems to only happen once per poweroff and does not continually drain the switch battery. I cannot confirm because I do not want to open my switch again and the light is not visible from the outside.
  • Behavior with autoRCM is unsupported. Use autoRCM at your own risk.
  • The trinket is always "on" but remains in deep sleep. If you store the switch unplugged for a very long time there is a chance that the switch battery could drain to 0% (very bad for a lithium ion battery). I have good reason to believe the point marked for power is after the battery protection circuit, so it should be safe. But I cannot confirm it 100%. basically if your switch catches fire and burns your house down it's not my fault

Install Picture

xboxexpert's installation

Thanks!

  • atlas44 for the original implementation, help with my install, and being someone I can bounce ideas off of
  • CTCaer for his work on hekate
  • noemu for his iteration/cleanup of atlas44's code.
  • xboxexport for testing the mod, helping with the install instructions, pictures, and the idea for grabbing RCM_STRAP at the rail.

sam-fusee-launcher-internal's People

Contributors

atlas44 avatar frep avatar noemu avatar quantumcross avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.