Tools, firmware and software for the JoeyJoebags
Required Software:
Flashing the firmware:
- Open "JoeyBootloader.ino" in the Arduino IDE
- Connect the maple mini over usb
- Under "Tools" select the following options:
Board: "Maple Mini"
Bootloader version: "Original (17k RAM, 108k Flash)"
CPU Speed(MHz): "48MHz (Slow - with USB)"
Optimize: "Smallest (default)"
Port: COM# (Maple Mini)" ##Where # is the COM number of your device
- Click Upload and open the serial monitor
- That's it, you're done
Required Software:
Required Tools:
- CP2102 (or any other device that can be used for flashing)
Pinout:
Maple Mini | CP2102 |
---|---|
GND | GND |
25(RX1) | TXD |
26(TX1) | RXD |
VIN | 5V |
Maple Mini | Maple Mini |
---|---|
VCC | BUT(boot0) |
GND | boot1 |
Connect everything according to the above pinout (boot1 and boot0 are not needed if you set the maple mini to flash mode using the buttons)
Flashing the firmware:
- Drop a .ben file onto "JoeyFirmwareTool.exe", this will produce a file called "JoeyFirmware.bin"
- Find out what com port your flashing tool is (for this example i will be using COM8)
- open commandline and navigate to your stm32flash folder
- run
stm32flash -w JoeyFirmware.bin -v -g 0x0 COM8
and your maple mini will be flashed. - That's it, you're done!
Pinout:
STM32F103C8T6 | CP2102 |
---|---|
Pin 31 | GND |
Pin 43 | TXD |
Pin 42 | RXD |
Pin 32 | 3.3V |
Pin 61 | 3.3V |
Pin 28 | GND |
Flashing the firmware:
- Drop a .ben file onto "JoeyFirmwareTool.exe", this will produce a file called "JoeyFirmware.bin"
- Find out what com port your flashing tool is (for this example i will be using COM8)
- open commandline and navigate to your stm32flash folder
- run
stm32flash -w JoeyFirmware.bin -v -g 0x0 COM8
and your STM32F103C8T6 will be flashed. - That's it, you're done!
Unzip the "JoeyJoebags_Signed_Driver.zip" file and right click "Install Driver.bat" and run is as an admin, no reboots or disabling driver signature enforecement needed.
Run python -m py2exe JoeyJoebags.py
to compile windows binaries
Alternatively you can use this script
from distutils.core import setup
import py2exe, sys
sys.argv.append('py2exe')
setup(
options = {
'py2exe': {'bundle_files': 2,
'compressed': True
}
},
console = [{
'script': "JoeyJoebags.py",
'icon_resources': [(0, 'favicon.ico')]
}],
zipfile = None,
)
Python 3.4
PyUSB
py2exe
- Download & Install Python 3.4 64bit from https://www.python.org/downloads/windows/
- open cmd as admin and type
python -m pip install PyUSB
&python -m pip install py2exe
To decompile the binary you will need python_exe_unpack.py from https://github.com/countercept/python-exe-unpacker just follow the instructions in the readme, to decompile the exe use python python_exe_unpack.py -i JoeyJoebags.exe
If you experience any issues with installing PyCrypto for the decompiler, install this https://github.com/axper/python3-pycrypto-windows-installer
Python 3.4
pefile
unpy2exe
uncompyle6
xdis
pycrypto
configparser
- Download & Install Python 3.4 64bit from https://www.python.org/downloads/windows/
- Download https://github.com/countercept/python-exe-unpacker
- open cmd as admin in the python-exe-unpacker folder and type
python -m pip install -r requirements.txt
-
Fixes dumping 32MB repros like the DV15 & PPP08
-
Dumping / Flashing completion percentage
-
Progress is now shown on a single line
-
Removed dotted lines at the top of all menu entries