Teensy++ 2.0

From PS3 Developer wiki
Revision as of 00:39, 1 August 2015 by Sandungas (talk | contribs) (→‎Parts: ghetto interference shielding)
Jump to navigation Jump to search
Teensy++ 2.0 perspective view

Teensy++ 2.0 top view

Teensy++ 2.0 bottom view

Description

The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed

To use it as a PS3 flasher is needed to program it with either NORway.hex or NANDway.hex, explained below

Teensy++ 2.0 dimensions: 2.0 x 0.7 inch = 5.0 x 1.7 centimeter (1 decimal rounded)

Teensy Software

Windows Drivers and Linux UDEV Rules

The Teensy 2.0++ needs windows drivers and linux udev rules to be recognized fully as it was meant to, as explained here http://www.pjrc.com/teensy/usb_serial.html

Teensy loader

Program used to load the compiled hex-file for the Teensy++ 2.0 (AT90USB1286), as explained here: http://www.pjrc.com/teensy/loader.html

Programming teensy with NORway or NANDway

The program needed to be loaded to the teensy to use it as a PS3 flasher (choose one based on your flash type or installation wiring):

Python and Pyserial (only windows)

NORway

NOR PC Python client NORway.py

Used to analyze dumps and also contains hex files to program the Teensy itself.

Mac OS-X patch

if you are on Mac OS-X and having problems with timeouts:

<MikeM64> hahaha, it's a dirty fix, but it seems to work XD
<MikeM64> lemme compile diffs, I got perfect writes happening on my mac now
<MikeM64> 10 writes and 2 timeouts; not bad. better than 20 timeouts / write
<MikeM64> http://pastie.org/8570558 if anyone needs it

NORway usage

Usage: %s serialport [command] [filename] [address]
    
serialport  Name of serial port to open (eg. COM1, COM2, /dev/ttyACM0, etc)
command     dump       Reads entire NOR to [filename]
            erase      Erases one sector (128KB) at [address]
            write      Flashes (read-erase-modify-write-verify) [filename]
                       at [address] to NOR
            writeimg   Same as write, but prepend a 16-byte length header
                       [address] is required
            program    Flashes (erase-write-verify) [filename]
                       at [address] to NOR
            release    Releases NOR interface, so the PS3 can boot
filename    Filename for [dump|write|writeimg|program]
address     Address for [erase|write|writeimg|program]
            Default is 0x0, address must be aligned (multiple of 0x20000)

NANDway

NAND PC Python client NANDway.py

Project home:

precompiled by judges : http://www.mediafire.com/?i5y1mhhh5lz62xu

NANDway usage

NANDWay.py Serial-Port 0/1 Command

  Serial-Port  Name of serial port to open (eg. COM1, COM2, /dev/ttyACM0, etc)
  0/1  NAND id number: 0-NAND0, 1-NAND1
  Commands:
  *  dump Filename [Offset] [Length]
     dumps to Filename at [Offset] and [Length]
  *  vwrite/write Filename [Offset] [Length]
     Flashes (v=verify) Filename at [Offset] and [Length]
  *  vdiffwrite/diffwrite  Filename Diff-file
     Flashes (v=verify) Filename using a Diff-file
  *  release
     Releases TRISTATE, so that the PS3 can boot
  *  bootloader
     Enters Teensy's bootloader mode (for Teensy reprogramming)
     Notes: 1) All offsets and lengths are in hex
            2) The Diff-file is a file which lists all the changed
               offsets of a dump file. This should increase flashing
               time dramatically.

Examples:

  NANDWay.py COM1
  NANDWay.py COM1 0 dump d:\myflash.bin
  NANDWay.py COM1 1 dump d:\myflash.bin 3D a0
  NANDWay.py COM1 0 write d:\myflash.bin
  NANDWay.py COM3 1 write d:\myflash.bin
  NANDWay.py COM3 1 vwrite d:\myflash.bin 8D A0000
  NANDWay.py COM4 0 diffwrite d:\myflash.bin d:\myflash_diff
  NANDWay.py COM3 1 vdiffwrite d:\myflash.bin d:\myflash_diff
  NANDWay.py COM1 0 release

Notes:

  • WP: When the NANDs are mounted on the PS3 motherboard - the WP controllines are already connected to +3.3V. If Teensy is used for NANDs on the PS3 motherboard - the WP wire for each NAND can be discarded.
  • Vcc: Teensy 3.3V regulator cannot power the NANDs on the PS3. The drain of the motherboard summed by the other peripherals draw too much current (~1.8A). The NANDs can be powered from external 3.3V power supply like ATX power supply (the orange 3.3V line of the ATX main connector).

WAY-launchers

Simple GUI to run NORway, NANDway and SPIway.

Project home:

Forum threads:

Installation Requirements

You are going to need a lot parts to accomplish such a task. This takes a lot of patience, and steady hands.
This is a difficult installation! If a part is not needed below it will be specified per model so check there as well.

Parts

The following is a list of good tools you could use to perform the installation of the Teensy++

  • PS3 disassembling tools:
    • 1x Regular Philips head screwdriver
    • 1x Torx T-10 or T-8 screwdriver (depending on PS3 model)
  • Case modification tools:
    • 1x Cutting knife (to make straight cuts in the plastic)
    • 1x Drill and small drill bits set
    • 1x Needle file set (also known as diamond files for jewellry or hobbyists) with shapes as rounded, squared, triangular, etc. (to make holes in the plastic case or metals with different shapes)
    • 1x Dremel tool or similar (to make long straight cuts, not needed on some models)
    • 1x Roll of double sided foam tape, or double side thermal resistant tape over 300°C (known as polyimide or kapton tape)
  • Soldering work tools:
    • 1x Soldering iron (15-30 Watt, or around 230°C) with a 1 millimetre tip
    • 1x Tin solder (60/40 or a low melting point 63/37 alloy) with a high percentage of flux core like 2%)
    • 1x 30AWG or 26 AWG silver-plated solid core and thermal resistant insulated wrapping wire, also known as kynar wire. (Few have reported 30AWG may be too small and has interference but does work if done well.)
    • 1x Cutting knife (to peel wire tips by cutting around them), or a wire stripper tool
    • 1x Multimeter (to identify shorts, to identify bad cold solder joints, to find where copper traces in the motherboard are connected, etc.)
    • 1x Desoldering braid (aka desoldering wick or solder wick) preferred more than 2 millimetre wide (to fix the mistakes by melting the tin and wicking it, to remove the factory lead-free solder, to clean solders joints where a bad tin alloy happened because residues or degradation of the tin, to remove bridges between pins or pads, etc.)
    • 1x Single side thermal resistant tape over 300°C, known as polyimide or kapton tape (to stick wires in place, and other uses)
    • 1x Single side aluminium tape, or alufoil (not glued), to create interference shields for wires and PCB's (aluminium tape could create shorcuts, is needed to isolate aluminium layers at top and bottom with kapton tape layers, like a sadwich)
    • 1x Fiberglass Scratch Brush or alternatively sandpaper and a needle (to expose copper pads by removing the green varnish masking layer that covers both sides of the motherboard, needed for some alternative points in NAND motherboards installations)
    • 1x Bottle of flux, lead-free, no-clean
    • 1x Bottle of 99% Isopropyl alcohol, aka Isopropanol (to clean residues from rosin core of tin, or flux)
    • 1x Box of cotton swabs / Q-tips (to spread flux, or clean with alcohol where needed.)
  • Other helpers:
    • 1x Good lighting (either very well lighted room or a lamp. You need to be able to check your work.)
    • 1x Magnifying glass, or jewellry magnifier, preferred 50x zoom (to check your soldering joints for bad cold solders.)
    • 1x Small tweezers with a wide tip (to grab wires very close to the tip while soldering them and not burning your fingers in the process, only needed when the solder joint requires extreme precision)
    • 1x Pair of steady hands (not joking. tremor fingers will not cut it. You are soldering 40+ points and all must be done very well.)
    • 20x of patience, if you are having lot of problems is a good idea to stop and continue another day

As you can see it requires a lot of materials to perform this kind of job. If you do not already have the parts for this kind of project, it will probably be cheaper to pay someone else to do it and ship it to and from them. Also if you are not confident in your soldering technique, it is a very realistic possibility that you will damage your PlayStation 3 Console during this process as there are a LOT of soldering joints that need to be perfectly made.

Teensy 2.0 ++ Powering options

Teensy can work in a wide range of voltages up to 5v, but the same voltages that feeds the teensy are used in the data lines (traveling along the wires connected to PS3 flash)

All PS3 flash models included NAND and NOR works at a range of around 3.3 volts

For this reason is mandatory to cut the 5v trace at the bottom of the teensy board and short the 3.3v pads to feed the teensy with 3.3v, this way teensy and the PS3 flash chips will work at the same 3.3 voltage levels

Prepare the Teensy
First of all, we cut the following bridge on the bottom side of the Teensy so that the Teensy no longer works with 5V
now, we solder a bridge between the middle common solder pad and the 3,3V pad

Teensy powered by USB with the onboard voltage regulator

After cutting the 5v bridge and soldering the 3.3v bridge, we solder the voltage regulator on the Teensy

This is the standard way of powering the teensy with 3.3v, by soldering a 3.3v regulator as explained in https://www.pjrc.com/teensy/3volt.html

DON'T CONNECT THE +5V SOLDER PAD IN A CORNER OF THE TEENSY TO ANYTHING !

Teensy adapter Board for NANDway - solder regulator on Teensy

Teensy powered externally by PS3 or adaptor

Same as before, first is needed to cut the 5v bridge and solder the 3.3v bridge, but here is not used a voltage regulator

To feed the teensy with the 3.3v are several options, as using an external power supply, taking a 3.3v line from the power supply or from some point of the motherboard... info about this methods can be moved here

In all cases, there is a wire connected from the 3.3 voltage power source to the +5V pad in a corner of the teensy. Note using a on/off switch in this wire is suggested otherway teensy will be powered up permanentlly

DON'T INSTALL VOLTAGE REGULATOR!

Question (by tiago95)
Just one thing, those anyone know if the teensy sets automatically Tristate to ground on version v0.64 without any usb plugged in?

Answer (by judges)
No, NORway grounds tristate when you plug it into usb.

But depending on how you power Teensy you might observe some unwanted behaviour that can lead to interference with the console when Teensy is wired up:
1) Teensy is powered externally (by console, no vreg)
   When usb is connected, console won't boot, because tristate gets grounded (by design)
   When usb is disconnected, console will boot. Everythings peachy
2) Teensy is powered by usb (vreg installed)
   When usb is connected, console won't boot, because tristate gets grounded (by design)
   When usb is disconnected, Teensy isn't powered by usb anymore, but might  receive some voltage through signal lines, which can lead to unpredictable behaviourbecause Teensy is running in an undefined state

Teensy 2.0 ++ Pinout by flash type

See Hardware flashing page

Flash types and models used by PS3
Flash Type / Model PS3 Fat PS3 Slim PS3 SuperSlim notes
CECHA
CECHB
CECHC
CECHE
CECHE CECHG CECHH
CECHM
CECHQ
CECHJ
CECHK
CECHL
CECHP
CECH-20xx CECH-21xx CECH-25xx CECH-25xx CECH-30xx CECH-40xxB/C CECH-40xxB/C CECH-40xxA
'12GB' noHDD
COK
001
COK
002
COK
002W
SEM
001
DIA
001
DIA
002
VER
001
DYN
001
SUR
001
JTP
001
JSD
001
KTE
001
MSX
001
MPX
001
MPX
001
NAND 2x Samsung K9F1G08U0A-PIB0 Yes Yes Yes - No No No No No No No No No No No
2x Samsung K9F1G08U0B-PIB0 - - - Yes No No No No No No No No No No No
NOR 1x Spansion S29GL128N90TFIR2 No No No No Yes Yes Yes Yes - - - - - - No
1x Samsung K8Q2815UQB-PI4B No No No No - - Yes Yes Yes - - - - - No
1x Spansion S29GL128P90TFIR2 No No No No - - Yes Yes Yes Yes Yes Yes Yes Yes No
1x Macronix MX29GL128ELT2I-90G No No No No - - - Yes Yes Yes yes ? Yes No
1x Samsung K8P2716UZC-QI4D No No No No Yes - - - - Yes Yes Yes No
1x Macronix MX29GL128FLT2I-90G No No No No - - - - - - - - Yes Yes No
eMMC 1x Panasonic MN66840 +
1x Samsung KLMAG2GE4A-A001
No No No No No No No No No No No No No No Yes
connection type NAND layout 1 NOR layout 1 NOR layout 2 NOR layout 3 NOR layout 4 NOR layout 5 eMMC layout


Teensy NOR pinout

Teensy NOR pinout
NOR Flash pinout

Teensy NAND Pinout

File:TeensyNAND.png
Teensy DUAL NAND pinout
Dual NAND flash pinout
Teensy NAND Booster edition pinout
NAND flash pinout

Teensy Solder Install Notes by Motherboard Model

First open the PS3. Follow youtube videos to learn how (Just search).

Once opened, look at the motherboard model printed there. Depending on which model you have follow the case modifications below to install teensy.

There are two methods to use a Teensy 2.0++ Flasher.

1.) Install while the PS3 is somewhat opened still with everything plugged in. (Be careful of shorts.)

2.) Internal Case Modifications. This is the best way to go as you can install the teensy inside of the PS3 for later use. This is the advantage of using a Teensy 2.0++ because it's just small enough to install inside the PS3 with a little case modification. Other flashers are generally too large to do this with the PS3 closed up. You will find there is just no room for it.

COK-001, COK-002, COK-002W, SEM-001

I used the image for the Progskeet, along with an image of which Progskeet pin(GP1 etc.) corresponds to which NAND chip pin name (WP, ALE, CLE, I/O1 etc.) to create a diagram of which testpoint on the mainboard goes to which leg of the NAND chips made by Samsung.

Diagram for wiring Teensy++ 2.0 to a PS3 COK-002 mainboard

So now you can use this diagram not only for downgrading/dumping/writing the NANDs with a Teensy++ 2.0 board, but with any other board available on the Internet.

Important: You must provide a stable 3.3V PSU to both the PS3 board and the Teensy, and don’t forget to unite the GNDs. You can use any PSU which outputs 3.3V @ 1.8A+, the easiest option will be to use a PC PSU.

DIA-001, DIA-002

Parts not needed? Submitter please list here.


Installation and Case Modification

This installation the case was not modified. It was flashed while opened, and removed.

Teensy++ tucked away below where the psu sits, usb cable hanging out.
Teensy++ soldered to NOR testpoints

VER-001

Usage :

1 - Connect first SB VCC 2v Max

2 - Connect in second step Vcc Teensy2++ 3.3v

Installation and case modification

In this installation, the cables were strategically soldered to fit better and not break or short when the power supply was placed, so no external power was needed.

The shielding was cut with a small dremel to have a more permanent install.
Teensy++ soldered to NOR testpoints
Each pin was carefully bent and were soldered with an idea of where they'd fit between the BD and PSU. Double sided tape was used to hold the teensy 2.0++ in place.
A small port was made for the usd, and a button was later placed next to it for teensy programing

DYN-001

Parts not needed - Torque T-10 Screwdriver. (T-8 IS still needed!)

Installation and Case Modifications

Be sure to make a screw map when disassembling the PS3, there are a lot of screws, and you will not remember where they go.

First and Second dremel area. These 4 pictures show before and after affects and where to dremel on the top side shielding.

DYN-001 Placement Area and first dremel
DYN-001 Wire direction and second dremel
DYN-001 Post dremel for Teensy placement
DYN-001 Teensy fits. Need to wait until MB is back in shielding before final placement.

Third dremel area. These pictures show before and after affects and where to dremel on the bottom side shielding.
This helps with interference by running wires outside the shielding instead of inside. This method has to be done
on these models as unlike JSD-001 Models there are no holes or spaces between the HDD and shielding. It's connected
on DYN-001 Models.

NOTE: When placing teensy, DO NOT PLACE directly on the shielding. Make sure you use a strip of double sided foam tape. to act between the shielding and teensy.

DYN-001 Wire direction and third dremel
DYN-001 Post dremel of bottom shield
DYN-001 Reconstruct shielding and Chip Mounts
DYN-001 Post Wire Job Topside.
DYN-001 Post Wire Job Underside.

Forth and last dremel area. This is done on the case itself. The port for the teensy is covered by the HDD cover area. You will have to take care in cutting open the area. If you did not spread your wires out evenly on the underside of the shielding, it will create a raised section and the port itself will be too high to reach and may have to dremel higher.

DYN-001 Open Port
DYN-001 USB Cable plugged into flasher
DYN-001 HDD + Teensy Cover :)

Notes on Reassembly: Before putting back the blu-ray drive, carefully bend each wire on the topside flat by hand ONE AT A TIME so you do not break the solder joints on the teensy. If you do not bend them flat by hand one at a time carefully, the drive could easily undo one of your soldering joints and you will have to start again. (I managed to do it on the first try. Did I say that you needed 1x of Patience?

Testing: You can test your work before putting the cover top back on. Just make sure blu-ray and power-supply are connected and everything else before trying. This is so you know that everything is fitting okay and that the install has worked for you. Take 3 dumps (Read above on how to take a dump of NOR) and compare them. Do md5sum and sha1sum, and then try and unpack them with norunpack from f0f tools. If they all match, and it unpackages, congratulations you have a good dump!

JSD-001

No dremel required. Design of this CECH 2500 series has an opened hole area to put wires through.


Installation and Case Modification

JSD-001 Teensy Placement. Mounted using double sided foam tape.

JSD-001 Port cut and drilled to view teensy usb port from outside.
JSD-001 Post wire job from motherboard view with wire wrap.

JSD-001 Teensy placement and wired up. Notice open space.
File:JSD-001 testpoints.png
JSD-001 Motherboard NOR Test Points.

JSD-001, Teensy2.0++ Connection Diagram

SUR-001/JTP-001/KTE-001

      • Need submissions...

Teensy Flash Clip adapters

Teensy clip adapter Board for NANDway v1

Layout for a PCB without external Voltage-source (this was the first version without capacitors, Voltageregulator and two bridges)

deprecated, use v2 instead

Gallery

Download

Teensy2Clip - Folie.pdf mirror

Teensy clip adapter Board for NANDway v2.1

Teensy adapter Board for NANDway
Source article: http://playstationhax.it/forums/topic/1149-teensy-adapter-board-for-nandway/

Hey. in the past, i create a simple adapter board to connect the Teensy to a "360-clip NAND Clip" (the classic kind of NAND Clips). It's easier and faster to solder a board than wire the cables, no more problems with cable breaks and a good connection. An english speaking user ask me for a solder tutorial, so I thought on this occasion, i can write directly to the community. :) Of course, you can find all what you need below to order your own boards.

I hope i could help someone
with kind regards
esprit1711 from psXtools Team :)

But now the tutorial with some words (the most things should be self-explanatory).

What you need

Teensy adapter Board for NANDway - what you need

  • 1x adapter board
  • 1x Teensy++ 2.0
  • 1x 5V to 3,3V Voltage Regulator for the Teensy (MCP1825, LM3940 or Pin-compatible)
  • 1x TSSOP 32 NAND-Clip (360-Clip) with equipment (Flat-cable, Pin-header (2x11) and the red adapter board (you get always all these things when you buy a new NAND Clip))
  • 2x Pin-header (1x20)
  • 1x Pin-header (2x4)

optional but recommendable

Optional (if you want power the NAND with external Power)

  • 1x 5V to 3,3V Voltage Regulator (LMS1587CS-3.3 or Pin-compatible)
  • 1x 5V Powersupply (minimum 3A)

See section above to cut the 5v trace on teensy and how to solder the 3.3v regulator at the bottom of teensy board

Solder the adapter board

Solder pinheaders on adapterboard

Solder the pin-header on the board (be careful, the plastic of the pin-header could melt fast)

Teensy adapter Board for NANDway - solder pinheaders on adapterboard

now, plug the red adapter board (which was at the NAND-clip) on the pin-header, solder the pins and cut them if they are too long.

Solder adapterboard on pinheader

Teensy adapter Board for NANDway - solder adapterboard on pinheader

Mount Teensy to board

You can choose, if you want solder the Teensy fixed on the board....

Teensy adapter Board for NANDway - solder teensy on pinheader

... or solder the Teensy on female connector to unplug him any time

Teensy adapter Board for NANDway - solder teensy on female pinheader

Powersource 1x3 pinheader

with the following 1x3 pin-header, you can choose the Powersource for the NAND (external, or USB) (sometimes it can cause problems, when you use the USB as Power Supply)

Teensy adapter Board for NANDway - 1x3 Pinheader Powersource

when you Power the NAND by USB, the final step is to connect the common header-pin with outermost pin

Teensy adapter Board for NANDway - 1x3 Pinheader Powersource by USB

Optional things:

Filtering

for a cleaner voltage, you should solder the capacitors

Teensy adapter Board for NANDway - Solder capacitors for cleaner voltage

Teensy adapter Board for NANDway - Soldered capacitors for cleaner voltage

External regulator

you can also solder a stronger voltage-regulator (than the one on the Teensy) to connect a stronger 5V power supply (than your USB Port).

Before you solder the regulator on the board, you should prepare the large pad of the Regulator and the Board with a layer of tin.

Teensy adapter Board for NANDway - Prepare regulator

Teensy adapter Board for NANDway - Soldered Regulator

DC connector

you can connect your 5V Power supply on the marked solder points. I used a DC-coupling for a better handling

Teensy adapter Board for NANDway - DC connector for external 5V supply

when you want use the external voltage, you must reposition the jumper (like you can see on the picture), but you can always change the powersource with the jumper

Where you can buy this boards?

You can find a zip-file to download below. in this file, you find the complete project folder. You can use the files to view and change the Layout or the circuit diagram, but if you only want a board, you can send this zip-file to a PCB service. I order my boards always at elecrow.com. The board has a size of 55mm x 45mm, so you must order the boards on this page.

Before you add your order to the cart, the options should (except the colour, this is your choice) look like on the following picture (a change of the order quantity only changed the weight and the transportation costs, so i order always 10 boards)

Teensy adapter Board for NANDway - Elecrow

Download

Teensy Adapter Platine V2.zip / mirror

 EDIT 2015-06-10
 V2.1 available / 2.1 mirror.
 Fixed a layout mistake (twisted the 2x4 pin header at the Teensy socket (thank to Th3Knights for the report)
 and change the silkscreen. If you have a V2, you can use it without any problem. the V2 use only 2 of 5 lines 
 for RE, but this is not a critical problem.


You can open the project file with Target3001 (the simplest variant of this tool is free), but below, you find a pdf of the schematic, too

Teensy Adapter Platine V2.pdf mirror

TEENSY2PS3

http://www.psx-place.com/forum/downgrading/teensy2ps3-pcb-linker-teensy-2-0-ps3-1728.html

http://www.psx-place.com/ps3-news/1795/littlebalups-teensy2ps3-pcb-quotlinkerquot-teensy20-ltgt-ps3.html

http://www.mediafire.com/download/i9tma7gkft84442/TEENSY2PS3_v1.00.zip