]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/jj40/README.md
Align use of atmega32a program script (#5259)
[qmk_firmware.git] / keyboards / jj40 / README.md
index 39e871d87357b8110aab1d0d5bd26940195f4e59..7d3612554bc75d0f8752ba2457b4ee020cdfeb5a 100644 (file)
@@ -12,7 +12,7 @@ Make example for this keyboard (after setting up your build environment):
 
     make jj40:default:program
 
-See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
+See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
 
 Note that this is a complete replacement for the firmware, so you won't be
 using Bootmapper Client to change any keyboard settings, since not all the
@@ -36,7 +36,7 @@ $ make
 $ sudo cp bootloadHID /usr/bin
 ```
 
-In order to use the `./program` script, which can reboot the board into
+In order to use the `././util/atmega32a_program.py` script, which can reboot the board into
 the bootloader, you'll need Python 2 with PyUSB installed:
 
 ```
@@ -69,3 +69,16 @@ Windows sometimes doesn't recognize the jj40. The easiest way of flashing a new
 3. If you get an error such as "Resource Unavailable" when attemting to flash
    on Linux, you may want to compile and run `tools/usb_detach.c`. See `tools/README.md`
    for more info.
+
+## Recovery 
+If you flash a bad hex (e.g. you have a V1 board without RGB and compile/flash blindly without editing your rules.mk), your jj40 is now semi-bricked and you're stuck unless you have access to an ISP. The [ISP Flashing Guide](https://docs.qmk.fm/#/isp_flashing_guide) contains very good (but somewhat generalized) information. However, the instructions below should get you up and running provided you have an Arduino or clone.
+
+### Arduino Setup 
+1. Upload the ArduinoISP sketch onto your Arduino board (https://www.arduino.cc/en/Tutorial/ArduinoISP).  
+2. Wire the Arduino to the jj40. Match the data pins on the Arduino to those on the jj40. "RST" usually goes to D10 on the Arduino. I didn't need a capacitor when using my Uno. 
+![Imgur](https://i.imgur.com/oLWJOkQ.jpg)
+3. Get a working bootloader from https://blog.winkeyless.kr/m/152. The file is called "main.hex" from the archive called "ps2avrGB_bootloader_161215.zip"  Copy "main.hex" to your qmk folder.  
+4. Burn the bootloader with the following command  
+` avrdude -b 19200 -c avrisp -p atmega32 -v -e -U hfuse:w:0xD0:m -U lfuse:w:0x0F:m -U flash:w:main.hex:i -P comPORT`  
+Change `comPORT` to whatever port is used by the Arduino (e.g. `com11` in Windows or `/dev/ttyACM0` in Linux). Use Device Manager in Windows to find the port being used. Use `ls /dev/tty*` in Linux.
+5. If this process is successful, you should now be able to upload normally.