Teensy++ 2.0 has been discontinued years ago and is now somewhat hard to find, so I ported NORway to the first modern and cheap board I could find that had the required amount of contiguous GPIO pins.
It keeps compatibility with the original host-side program, which has been ported to python3.
The firmware as of now is targeting the WeActStudio RP2350B Core Board, but it should be easy to port to other RP2350B boards by adjusting #defines and GPIO init code to the new pin numbers to avoid clashing with buttons/LEDs and whatnot that might be on the board.
I have tested read and buffered write on a non-booting CECH-3000 slim with Macronix NOR, but my only attempt at vwrite didn't seem to work (second sector erased and not written to before verification?)
- Download or compile the binary, then flash it to the dev board. UF2 files can be flashed by holding BOOTSEL while plugging/resetting the board and pasting the file to the emulated storage device presented to the computer.
- (probably optional) remove the 0 Ohm resistor connecting GPIO 0 to the 10k pullup. It should be leftmost resistor below the USB connector when reading the silkscreen upright.
- Wire up the NOR according to the table below (pinouts can be found on the wiki)
- Connect to a PC
- Use the NORway.py script to dump the flash or write to it
| NOR | GPIO |
|---|---|
| A0-22 | 0-22 |
| D0-16 | 32-47 |
| CE | 26 |
| OE | 27 |
| RESET | 28 |
| WE | 29 |
| RY/BY | 30 |
| TRIST | 31 |
| Any ground | Any ground |
I recommend using silicone coated stranded core wires,
they bend well and don't melt when you solder them, but you probably already know.

Once you have obtained the pico-sdk and a supported compiler, you can set up the build by running
cmake -S . -B build -DPICO_SDK_PATH=<your pico-sdk path>You can then build the executable with
cmake --build build --target norpieThis will output elf/bin/uf2 files in the build directory.