CDJ-1000mk3 new life project
Self assembly manual
Minsk 2018
Important!
Everything you do with the equipment, you do at your own risk! I am not responsible for
the damaged equipment, time and money you spent.
For a successful result, you need to have a basic knowledge of radio electronics.
List of additional equipment (minimum kit for start project without buttons aka CDJ-
2000):
Pioneer CDJ 1000mk3. You can use the faulty (with problems in the main assy and CD-ROM)
STM32F746G-DISCO board
Can be bought here:
http://www.st.com/en/evaluation-tools/32f746gdiscovery.html#samplebuy-scroll
https://www.ebay.com/itm/STM32F746G-DISCO-
NEW/173245262810?hash=item285638ebda:g:vFUAAOSwr95avt41
or other online stores.
USB to mini USB cable (for download firmware only)
Circuit SN74HC245 (TSSOP or other) 1pcs
Can be bought here:
https://www.ebay.com/itm/10-PCS-74HC245PW-TSSOP-20-74HC245-HC245-SMD-Octal-bus-
transceiver-3-state/301264153227?hash=item4624be2a8b:g:A1IAAOSwKQ9aAsp-
https://www.digikey.com/product-detail/en/texas-instruments/SN74HC245PWR/296-8279-2-
ND/376997
or other online stores or radio market.
TSSOP to DIP adapter board (if you have a circuit in another package, then you need an
adapter for your circuit type package) 1pcs
Can be bought here:
https://www.ebay.com/itm/5pcs-SOP-SSOP-TSSOP-SOIC24-to-DIP-Adapter-PCB-Board-
Converter-Double-Sides-
F06/171216713832?epid=752562730&hash=item27dd4fb868:g:iLIAAOxyUrZS1Blh
or other online stores or radio market.
Capacitors 220pf 3pcs
Can be bought here:
https://www.ebay.com/itm/Monolithic-Multilayer-Chip-Ceramic-Capacitors-50V-1-22-33-47-68-
470-680-pF-nF-uF/262768747666?hash=item3d2e3ce492:m:mWocGsslgnku90L5iEYIOYA
https://www.digikey.com/product-detail/en/kemet/PFR5221J63J11L4BULK/399-7681-
ND/3465848
or other online stores or radio market.
Capacitor 1uF 1pcs
Can be bought here:
https://www.ebay.com/itm/Monolithic-Multilayer-Chip-Ceramic-Capacitors-50V-1-22-33-47-68-
470-680-pF-nF-uF/262768747666?hash=item3d2e3ce492:m:mWocGsslgnku90L5iEYIOYA
https://www.digikey.com/product-detail/en/kemet/R82DC4100DQ60J/399-5447-1-ND/1930840
or other online stores or radio market.
Resistor 10 kohm 3pcs
Can be bought here:
https://www.ebay.com/itm/1000pcs-Carbon-Film-Resistor-1-4W-0-25W-Full-Range-of-Values-
1-2-10M/252856536398?hash=item3adf6c8d4e:m:mr1GacVeyo_CY3IVs-fkm4g
https://www.digikey.com/product-detail/en/stackpole-electronics-
inc/CF18JT10K0/CF18JT10K0CT-ND/2022766
or other online stores or radio market.
Resistor 470 ohm 1pcs
Can be bought here:
https://www.ebay.com/itm/1000pcs-Carbon-Film-Resistor-1-4W-0-25W-Full-Range-of-Values-
1-2-10M/252856536398?hash=item3adf6c8d4e:m:mr1GacVeyo_CY3IVs-fkm4g
https://www.digikey.com/product-detail/en/stackpole-electronics-
inc/CF18JT470R/CF18JT470RCT-ND/2022734
or other online stores or radio market.
Resistor 36 ohm 5W 1pcs
Can be bought here:
https://www.ebay.com/itm/10pcs-Wirewound-Cement-Resistor-Ceramic-5W-Horizontal-5-1R-
820R-ohm/122799381107?hash=item1c9769da73:m:mQsisIs2A74QQgBlGc9NFvw
https://www.digikey.com/product-detail/en/yageo/SQP500JB-36R/36W-5-ND/18668
or other online stores or radio market.
Jack 3.5mm with a cable of 20cm long (can be used from damage headphones or buy a jack):
https://www.ebay.com/itm/10Pcs-3-5mm-Male-Plug-3-Pole-Soldering-Earphone-Headphone-
Audio-Jack-Gold-
Newly/222596122063?epid=1469578278&hash=item33d3c345cf:g:pkgAAOSwek1Zeub7
or other online stores or radio market.
Several thin wires for soldering (10-20cm long)
Can be bought here:
https://www.ebay.com/itm/30PCS-Double-Headed-Tin-Wire-31cm-7-Cores-Thin-Connecting-
Line-Black-
Cable/182382296939?epid=881803417&hash=item2a76d4ff6b:g:MjUAAOSwa~BYSJF6
or other online stores or radio market.
Soldering iron (25-40W) and accessories for soldering. Ability to work with a soldering iron.
List of additional equipment (for assembly of the display module completely):
SMD LEDs green 22pcs
Can be bought here:
https://www.digikey.com/product-detail/en/lite-on-inc/LTST-C191KGKT/160-1446-1-
ND/386834
https://www.ebay.com/itm/0805-SMD-SMT-LED-Red-Green-Blue-Yellow-White-Orange-
Purple-7Colours-
Light/272173424833?var=570984529354&hash=item3f5ecce0c1:g:u2sAAOSwP~tW6aHj
or other online stores or radio market.
SMD LEDs blue 3pcs
Can be bought here:
https://www.digikey.com/product-detail/en/lite-on-inc/LTST-C190TBKT/160-1646-1-
ND/573586
https://www.ebay.com/itm/0805-SMD-SMT-LED-Red-Green-Blue-Yellow-White-Orange-
Purple-7Colours-
Light/272173424833?var=570984529354&hash=item3f5ecce0c1:g:u2sAAOSwP~tW6aHj
or other online stores or radio market.
SMD LEDs 5730 white 6pcs
Can be bought here:
https://www.ebay.com/itm/100PCS-SMD-5630-5730-Big-chip-0-5W-High-Power-White-LED-
Light/291636097481?hash=item43e6ddb1c9:g:b9sAAOSwHQ9Wacvg
or other online stores or radio market.
LED 3mm for red (mounting type: through hole) 1pcs
Can be bought here:
https://www.digikey.com/product-detail/en/broadcom-limited/HLMP-1700-B0002/516-1791-2-
ND/1234784
or other online stores or radio market. Also you can find in the old broken electronic technique.
Encoder with push button 1pcs
Can be bought here:
https://www.ebay.com/itm/Brand-New-Rotary-Encoder-EC11-Digital-Potentiometer-Handle-
15mm-20mm-Kit-Set/222355519139?hash=item33c56bf6a3:m:mMKi-XWIttuvhMb6FlXcfCg
or other online stores or radio market.
Buttons 6x3x2.5mm 10pcs
Can be bought here:
https://www.ebay.com/itm/100pcs-3X6X2-5mm-Tactile-Push-Button-Switch-Tact-Switch-Micro-
Switch-2Pin-SMD-
S2/261995936109?epid=1046591979&hash=item3d002cb96d:g:RSsAAOSwyQtVxKPd
or other online stores or radio market.
40Pin 2.54mm Single Row Straight Male Pin Header Strip 1*40P
Can be bought here:
https://www.ebay.ca/itm/10PCS-40Pin-2-54mm-Single-Row-Straight-Male-Pin-Header-Strip-1-
40P-for-
Ardunio/201080074697?_trkparms=aid%3D222007%26algo%3DSIM.MBE%26ao%3D2%26a
sc%3D20180124145912%26meid%3Dd5249128c5c549158f0f870f79d33f02%26pid%3D1000
05%26rk%3D5%26rkt%3D6%26sd%3D181918556293%26itm%3D201080074697&_trksid=p
2047675.c100005.m1851
or other online stores or radio market.
Resistors SMD 0805 75kohm 9pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
Resistors SMD 0805 47 ohm 9pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
**Resistors SMD 0805 300 ohm 4pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
**Resistors SMD 0805 3,3kohm 4pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
**Resistors SMD 0805 1kohm 3pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
**Resistors SMD 0805 12kohm 3pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
**Resistors SMD 0805 10kohm 1pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
**Resistors SMD 0805 47kohm 1pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
Resistors SMD 0805 5,2kohm 13pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
Resistors SMD 0805 2,2kohm 2pcs
Can be bought here:
https://www.ebay.com/itm/100Pcs-0805-SMD-Resistor-Resistors-1K-910K-Ohm-1-Free-
Shipping/192121945109?hash=item2cbb5c3c15:m:mdj0PiM7YOyJ5ICPOQNDbTQ
or other online stores or radio market.
Capacitors SMD 0805 0,047uf 13pcs
Can be bought here:
https://www.ebay.com/itm/100-SMD-Kondensatoren-Ceramic-Capacitors-Chip-0805-X7R-
47nF-0-047uF-50V-063747/361524717119?hash=item542c8d663f:g:9scAAMXQleBTlygT
or other online stores or radio market.
Transistor PMBF170 9pcs
Can be bought here:
https://www.ebay.com/itm/10-pcs-PMBF170-NEXPERIA-MOSFET-N-Channel-60V-0-3A-
830mW-SOT23-NEW/332489800228?hash=item4d69efba24:g:AtsAAOSw1EhZkKPd
https://www.digikey.com/product-detail/en/nexperia-usa-inc/PMBF170215/1727-5173-1-
ND/2531764
or other online stores or radio market.
Single PCB Copper Clad Laminate Board for create of a PCB with buttons and LEDs (or
manufacture of the board in the factory)
Black plastic of 3mm thickness and transparent plexiglas of 3mm and 6mm thickness to create
a display case. Perhaps later there will be 3D models for printing the case on a 3D printer.
Super clue (Cyanoacrylate)
*The number of components in the table is given to upgrade one CDJ.
*Some components, such as LEDs, resistors, capacitors and wires, you can’t buy. They can be found in old broken electronic
technique.
**Perhaps these elements will have to choose other values, to obtain the desired brightness of LEDs.
The STM32F746DISCO board has weaker MCU than the CDJ-2000s or XDJ-1000s, so the project has some hardware
and software limitations of functions, in comparison with the original CDJs. Therefore, before you start modding the CDJ-1000mk3,
read the main features of this project.
Parameter Description Note
Supported audio formats 44,1k 16Bit Stereo, .wav only expansion is possible, but it is not in the
basic plans
Supported media Micro SD card only (FAT16, FAT32) plans to add USB flash drive support
Rekordbox support Playback of the analyzed database of tracks, plan work with playlists, as well as add a
drawing static and dynamic waveforms, drawing loading hot CUEs, memory CUEs
beat grid, reading of hot CUEs, memory CUEs (but
for now, without loading into audio RAM (firmware
ver.085 beta)). Restrictions: All playlists merge into
one shared playlist.
Quantize On development stage (firmware ver.085 beta).
Now there is only a beat grid and phase meter.
Supported MIDI Not supported. expansion is possible, but it is not in the
basic plans
PRO DJ Link Not supported. expansion is possible, but it is not in the
basic plans
Needle search Supported. The STM32F746DICSO board has a
touch screen.
SLIP MODE Supported. the master tempo button is used to
activate the slip mode
MASTER TEMPO Not supported. MCU is too weak for such realtime the master tempo button is used to
algorithms of high quality of sound. activate the slip mode
Resampling algorithms Interpolator 4-point, 3rd-order optimal 2x, floating-
point calculation. Output stream 44,1k 16Bit Stereo.
Step 1: prepare STM32F746G-DISCO
1. Set the jumper on the STM32F746G-DISCO board to "5V link USB" and connect the board to the computer using the mini
USB cable.
2. Download STM32 ST-LINK Utility from the official web page http://www.st.com/en/development-tools/stsw-link004.html or
take it in my archive CDJ1000_new_life_project.rar:
https://drive.google.com/open?id=1TosmzRpz8K_REsWoLKB8q8zJHkgPR6lb
3. Download the latest firmware file CDJ1000VERxxxx.hex on my github: https://github.com/djgreeb/CDJ-
1000mk3_new_life_project (CDJ1000VERxxxx.hex where xxxx - firmware version).
4. Unzip the archive with the STM32 ST-LINK Utility and install the utility on the PC. During the installation of the utility,
drivers for usb-cable will be installed. It is necessary to agree with the installation.
5. Launch STM32 ST-LINK Utility.
6. File->Open file. Open file CDJ1000VERxxxx.hex on your computer.
7. External Loader->Add External Loader.
8. Select N25Q128A_STM32F746G-DISCO Nor Flash
9. Target->Connect
10. Target->Program…
11. Push Start and wait for programming to finish:
12. Close the utility. After downloading the firmware, the display will show the Pioneer DJ logo and the firmware version. If this
does not happen, then you did something wrong. Try again.
13. Insert the Micro SD card with the Rekordbox music library (wav files) on the back of the board and reconnect the board to
the PC using the mini cable. This will display the:
14. Disconnect mini USB cable and set the jumper on the STM32F746G-DISCO board to "5V ext".
15. Now we need to assemble the scheme using the TSSOP to DIP adapter board and the components from the first table.
I soldered this scheme and glued this mini-pcb on the back side of the STM32F746G-DISCO board. On the STM32F746G-DISCO
board I was hindered by the RJ45 connector and I had to remove it.
Here are the places to connect TSSOP to DIP adapter board. You also need to cut 2 paths.
Step 2: prepare CDJ-1000mk3
Important! In the CDJ should be in working condition: power supply, all buttons, LEDs, jog and pitch.
1. Unscrew the bottom cover and remove the main board (main assy).
2. Remove the top cover, unscrew and remove the CD-ROM. It will not be used in the project.
3. From the top, unscrew and remove the board with the display (MFLB assy).
4. Unmount the display from the board. Need to solder.
5. On the back of the board, 8 wires must be soldered. These wires will be connected to the STM32F746G-DISCO board
and TSSOP to DIP adapter board. It is also necessary to cut several paths on the board.
6. Cut the one path on the jog board (JFLB assy).
7. Remove excess plastic partitions.
8. In the display area, you need to cut out the window for installing the display module. After that, you can install the display
board (MFLB assy) in place and connect all the flexible cables to it.
9. To the MJCB board solder a resistor 36 ohm 5W. This resistor is needed for the stable operation of the power supply. It
imitates the load instead of the removed FL display.
10. Also, on the MJCB, you need to cut 2 paths and solder the 3.5mm jack cable to transfer the audio signal from the
STM32F746G board to the RCA output on the player.
11. Connect the 3.5mm jack and 8 wires to the STM32F746G board. Connect a flexible cable that connects the top and
bottom of the player, as was done. This is enough to turn on and check the player. You can load and search tracks with
the "TRACK SEARCH" buttons on player. Do not forget to insert the microSD card.
To use other navigation buttons, like on CDJ-2000, you need to create a board and a case for the display module.
Step 3: creation of a display module
The creation of the display module consists of 2 stages. The first stage is the creation of the hull (you need to work with
plastic, plexiglas). The second stage is the creation of a single-layer boards for buttons and leds.
Stage 1:
From black plastic, I cut out such elements as in the drawing. A drawing is also in my archive in my archive
CDJ1000_new_life_project.rar https://drive.google.com/open?id=1TosmzRpz8K_REsWoLKB8q8zJHkgPR6lb Rectangular buttons,
fastening for buttons and fastening for the encoder I cut out from transparent plexiglas. Plastic parts I glued using super glue.
The STM32F746G-DISCO board has such dimensions:
Bezel for the encoder I made from aluminum 40mm knob.
Menu Search Knob can be cut from plastic. You can buy the original (part number DAA1259 or DAA1246) or accidentally
choose a suitable cap from the tube.
On the panel, over the plastic, a vinyl sticker is pasted. Source files for printing vinyl stickers are in my archive
CDJ1000_new_life_project.rar.
After I pasted the vinyl sticker on the panel and buttons, I got this result.
Stage 2:
To install the luminous buttons you need to make 3 single-layer PCB. They can be made at home, as I did, or ordered at
the factory (for example in China). Files for the manufacture of PCB are in my archive CDJ1000_new_life_project.rar. All elements
must be soldered according to the scheme.
As a result, I made these PCB:
Wires are soldered to the PCB. The second end of the wires is soldered to the single row straight male pin header. There
are other wires on the STM32F746G-DISCO board, which I'm not talking about. Do not pay attention to them, they are only needed
for me to debug.
Testing…
After that, the display module is installed in the CDJ-1000mk3 casing and connect 8 wires + audio jack 3,5 mm.
This completes your work. But I will, if possible, work on improving the firmware and adding new features. You can follow
the new versions in my git-hub: https://github.com/djgreeb/CDJ-1000mk3_new_life_project
I'm also interested in ideas and suggestions. For example, such as manufacturing the body of the display module on a 3D
printer.
Additional Information:
Reverse Engineering Pioneer CDJ-1000 serial protocol:
https://drive.google.com/open?id=0B8FarhJkT4w_Q2Z1d1pydFdtQzQ
History of firmware changes:
// ver. 0.61a
// - optimized browser function
// - added dark_green color in browser for text on white line cursor
// ver. 0.62a
// - optimized DATABASE_PARSER finction
// - DATABASE_PARSER using WFORMDYNAMIC massive only
// ver. 0.63a
// - optimized LOAD_TRACK function. Now the PCM[] massive is not used.
// - PCM[] converted in uint16_t
// - optimized audio processing for new uint16_t PCM[]. Now the calculation of 1 sample is 5us instead of 7.5us
// ver. 0.64a
// - fixed joint in circular buffer in audio processing
// - optimized ring buffer size for increased audio processing performance
// ver. 0.65a
// - optimized audio processing (read SDRAM). Now the calculation of 1 sample is 4us
// - added SD_LED blink
// - added encoder blink when loading track
// ver. 0.66a
// - added touch screen control
// ver. 0.67a
// - added basic function needle search
// - fixed function BSP_LCD_DisplayStringAt.
// - added TRANSPARENT_MODE for text.
// - changed method of determination the font with dynamic width (Font15P) and other fonts with static width.
// - optimized touch controller driver
// - create audioparcer for SEEK function
// ver. 0.68a
// - added QSPI flash support
// - added animation startup logo
// ver. 0.69a
// - added REKORDBOX logo on startup
// - added tag list
// - added internal function for RedrawWaveforms process
// ver. 0.70a
// - added INFO mode in BROWSER and TAG LIST menu
// - added internal functions for optimize code
// ver. 0.71a
// - improved the functionality of the TAG LIST menu
// ver. 0.72a
// - added symbol red check mark for TAG LIST
// - improved the functionality of the TAG LIST (added TAG TRACK/REMOVE button)
// - bugs fixes internal functions browser and tag list
// - bugs fixes NAVIGATOR function
// - added loading track from TAG LIST
// ver. 0.73a
// - added UTILITY window
// - added long press MENU button for entering to UTILITY
// - fixed check WAV header
// - optimized process add/delete tracks in TAG LIST
// ver. 0.74a
// - added SPI transfer for CDJ-1000mk3 panel
// ver. 0.75a
// - added reading cues and memory pionts from ANLZXXXX.DAT
// - fixed bug SPI DMA (see note*)
// ver. 0.76a
// - added PLAY, TEMPO, TEMPO RESET, JOG MODE buttons
// - added pitch slider 4 ranges
// - added calculation tempo and bpm after pitch change
// ver. 0.77a
// - added PLAY blink led, CUE led
// - improved jog vinyl mode (inertial process)
// - added TRACK SEARCH buttons
// - improved ShowTempo function
// - added TIME MODE button, REMAIN MODE
// - added CDJ JOG MODE work
// - optimized pitch bend coeficients aka CDJ-1000mk3
// - optimized VINYL MODE precision jog step
// ver. 0.78a
// - improved static scroll UI
// - added BEATGRID massive
// - shift up 1px static information, static waveform
// - beatgrid support
// - improved Phase Meter
// ver. 0.79a
// - improved BPM calculating after pitch change
// - added BPMGRID for tracks with variable BPM
// ver. 0.80a
// - added Font13D for phase bars
// - added slip mode marker on jog display
// - added master player ICON
// - added slip mode red button and slip mode jog illumination
// - fixed bug spin jog at maximum speed (variable overflow)
// - added first SLIP MODE functions with audio processing
// - added animation icon and gradient for phase bars
// - improved jog pitch bend in reverse mode
// - improved jog in slip mode
// ver. 0.81a
// - added CUE blink
// - improved time mode button code
// - added VINYL RELEASE/START and TOUCH/BREAKE mode
// - optimized SPI-DMA transfer process
// - optimized potenciometer's curve for VINYL RELEASE/START and TOUCH/BREAKE mode
// ver. 0.82a
// - added track nubmer and status (playing or played) in INFO mode
// - added filling buffer step sequencer for optimize time gaps
// - fixed filling buffer step sequencer algoritm
// ver. 0.83a
// - improved the work of the function of static and dynamic waveforms
// - added "remain/foward time style" for progress bar
// ver. 0.84b
// - added blink progress bar when the remaining time is less than 30sec
// - fixed DrawMinuteMarkers function
// - improved performance static and dynamic waveforms (added ForceDrawVLine function)
// - added checking device UID
// - fixed fatal error when deleting a track from an empty tag list
// - the first addition of a function CUE audio
// ver. 0.85b
// - added CUE button process
// - improved CUE audio process
// - optimized pitch bend coefficients
// - added loading of Hot Cues and Memory Cues attributes
// ver. 0.86b
// - added MEMORY CUE calling
// - bugs fixes calling CUEs when jog in CDJ mode
Contacts:
Andrei Anatska
Minsk, Belarus.
YouTube: www.youtube.com/channel/UCA6XayxHQ-knm6hkCL-jbjw
Mail: greeb-mail@mail.ru
Facebook: www.facebook.com/djgreeb
GitHub: https://github.com/djgreeb/CDJ-1000mk3_new_life_project