Introduction: 3D Printing Records for a Fisher Price Toy Record Player
A little while ago I stumbled across an old toy record player made by Fisher Price in the 1970s, and decided that what it really needed was some new tunes. I got thinking about it, reverse engineered the way it was encoded, got out my trusty CNC mill and created an Instructable all about it right here.
I was blown away by the response to it, but I only know of one person who had a goat milling their own. Whilst the mill did a great job (and I explained how to convert your own too), a CNC mill is not the sort of thing that everyone has access too.
So as promised, I decided that a 3D printed version would follow to give more people a chance to get creative. More people have a 3D printer or have access to one. And even if you don't, once you have the STL file there are plenty of places that will bring your creation to life and mail you a physical copy.
I thought about just adding to my previous Instructable, but to be honest it's only the music editing side of things that's the same. Everything else from the file creation to the production is very different. I thought a new Instructable would be neater.
Anyway, let's get on with creating your masterpiece...
Step 1: What You'll Need
For my previous Instructable you needed a CNC mill and some acrylic sheet. Now all you need is some free software. If you have a 3D printer then great; if not, you can get still get a record created for you.
Attached you'll find the new version of my Fisher Price music editing software. It's included as an executable and (if you don't trust randomly downloaded software from the internet) the C# source code is there too. Feel free to take a nose around in the source code and compile it with the free version of Visual C# 2010 Express.
You'll also need a copy of OpenSCAD. This amazing software allows the scripting of 3D CAD objects and is what turns the idea of what you want into the STL file that a 3D printer accepts.
Wow - all this software and no need to pay a penny for any of it.
If this all sounds like too much trouble, then you can just open one of the pre-generated STL files. Your jukebox comprises of Stairway to Heaven, the Star Wars theme and You are my Sunshine. If none of those float your boat then don't complain... get editing. I'd love to hear what you can do.
Attachments
Step 2: Editing the Music
First fire up my music editing software. This software will let you edit your tune and preview it so see how it sounds before you print it.
The software is admittedly pretty basic. It's not exactly sophisticated musical software but the player is not exactly hifi equipment. It does the job and I hope you'll find it easy to use.
Click where you want to add a note and click again to remove it. Click on the blue + if you want to add a gap. Click on the red X if you want to delete some notes and shuffle everything up. Click the Play button to preview your tune.
The left hand side of the musical stave shows all the note that the player can play. You'll find they are most of the notes from a C major scale and cover about 2 octaves. There are no sharps of flats and a few notes are missing. I guess that's because the original 10 nursery rhymes it can play just didn't need them.
Once you've finished your masterpiece (or more likely transposed someone else's tune) it's time to create the physical product. Click "Build / Create SCAD file..." in the editing software. (There's also the option of gcode files if you were going to CNC mill the disc.) A file with the same name as your music file and an extension of scad will be the result.
You can now create double sided discs! When creating the SCAD file you'll get the following options:
- Disc thickness. You can create 3mm or 5mm discs
- Single or double sided. Double sided discs should be 5mm thick. You can also select the music for the second side
- Song title on the disc. You can now have the song title embossed on the disc surface.
- Render quality. If your mucking around and making changes, a lower quality cirlce will render quicker.
Of course, all the options are easily found in the SCAD file which is plain text. If you want to create a chunky 2cm thick disc then go ahead and edit the file.
Step 3: Using OpenSCAD to Generate the STL File
The next step is simple, but can take a while.
The Fisher Price editing software has dynamically created the scad file which contains all the 3D modelling instructions needed to create your record. If you've not yet installed OpenSCAD then now is the time to do so.
Open the file and all you'll see is the generated script in a window on the left hand side. Press F6 and your script will be run and a 3D rendering will appear. The file is set to use 100 straight lines to create each circle. This means that the circles will be smooth but the rendering may take over 10 minutes. If you're mucking around and are less concerned about accurancy and would rather have some speed, simply remove or comment out the line that says "$fn = 100;". If you think that's slow, a double-sided disc can take about 50 minutes to generate!
You can now see how your disc will look. Spin it. Flip it over. Zoom in/out. Your musicis on its way to becoming a physical product. The next step is to select "Design / Export as STL..." from the menu and OpenSCAD will create a STL file. This won't take as long as the calculations have already been done. This file is what your 3D printer will be expecting.
Step 4: Printing Your Work
So, what are you going to do with this STL file? If you have (or have access to) a 3D printer that can manage a print of about 12.1cm (about 4.8") in diameter then get printing!
If you don't, then there are plenty of places that will print this for you. One of the most popular is Shapeways. They'll produce a 3D print for you in various materials from about $30. In fact, you'll find mine are already there:
- Stairway to Heaven (3mm single-sided)
- Star Wars theme (3mm single-sided)
- Both the above on one disc (5mm double-sided)
- You are my Sunshine (3mm single-sided)
Obviously the final result will depend on what printer you use. The ones that were produced on the Objet printer that Instructables use have turned out great. In the photo you can see four discs. The purple is a Fisher Price original and the orange one my CNC milled version. The other discs are 3D printed in green ABS-like material and transparent "Vero clear" plastic. The both play well on the player, although the Vero clear has sharper definition than the ABS and the transparent disc definitely looks the best.
A few people have asked to see a video of the printed record playing, so here's the final result.
If you check the comments you'll see that Timmmyboy has has some success printing on a more typical home (Fused Deposition Modelling style) printer, but getting the very thin (0.7mm) ridges on the disc is not easy.

Runner Up in the
Hurricane Lasers Contest
91 Comments
21 days ago on Step 4
You mentioned this instructable creates discs for the 1971 iteration of the fisher price record player. Do you know if the discs will work on the later models? I just bought the 2010 version before finding this post. Judging from the pictures the ‘71 discs have bumps like a music box but the 2010 version does not, which is why I am wondering if the newer players can play the original discs. I would LOVE to have a Baby Shark disc for my daycare class!
5 weeks ago
Sadly, my Fisher Price Record player works only in 4 rings, ie the binary value triggers a predefined tune. I found the 4 disks are missing binary values for 1,2,4,8. Possibly I will 3D print these out to see if they uncover these 4 'missing' tunes. The slot in the player only holds 4 disks.
1 year ago
I may have missed something , but how do I take the MIDI file and transpose it into an NC file form your software Fred, I have over 2000 midi files and the knowhow to actually make the record itself, but that first step is eluding me. Do I just print off a text file with the MIDI notes?
1 year ago
Variant idea I had was to make an all-purpose disk, with holes to put tiny pegs
in, so you could assemble songs. Question then becomes how to space the
holes (Same number in each concentric ring, or more possible beats for
the notes closer to the outer rim? I have no idea if the spindle or rim
notes are higher or lower.)
2 years ago
Welp, wish I could use this software on mac. Cool project though!
Reply 1 year ago
Play On Mac
1 year ago
i hope that record is playing darude's 'sandstorm'
Question 2 years ago
but the pin module only uses 4 arguments:
Furthermore, the pins are defined with a cube, which is translated a variable-amount along the x-axis and always -0.5 along the y-axis, which I don't think can work.
{
rotate(a=angle) {
if (onSecondSide > 0) {
translate(v=[inner, -0.5, - overlap]) {
# cube (size=[outer-inner, 1 ,hGroove + overlap], center=false);
}
Does anyone have any thoughts about how to fix this? I would be so grateful for help.
Benjeman
Question 2 years ago on Step 4
Is the source code for the music composition tool in Github or equivalent? I plan to make some changes and wondered if there was a repo I could fork?
5 years ago
Hi really great job! i have just one question, your software only allow 16 notes, but fisher price can play 22 notes. i have checked the disk and the mechanism. is it normal or am i missing something? thanks
Reply 3 years ago
it can only play 16 notes.. they permanently removed 6 of the metal pins in production, so you will never get them to play...
3 years ago
so I am not sure why this ever worked.. i did a lot of research and found the notes he used in this were wrong... i have redone the 2016 reduex of this and you can check it out at https://www.thingiverse.com/thing:4484452 :)
8 years ago on Step 3
Hi,
First of all, i d'like to thank you for this amazing work. I searched for a couple of months the way to make a music box with my favorite song or any little music i love.
So now, i bought a fisher Price player on ebay and i'm looking for a 3D printing service. I have found a fantastic FAbLab in Paris where i live.
So, i created a lullaby with your "FrefRecordPlayer" but i do not convert my music on a real object (virtually) . I always have the same result with OpenScad and http://openjscad.org/ I join the screen shot.
Do you have any idea why the result is wrong ?
Thanks again for your work.
Basile
Reply 3 years ago
I have the exact same problem, did you ever find out a way to fix this?
Reply 3 years ago
After a bit of trial and error, this seemed to be a compatibility issue with Windows 10. Right-click the executable, select compatibility and lauch as Windows 8, ran like a dream! Thanks for the custom tune, love the idea!
Question 4 years ago on Step 4
The link for the music editor does not work? Is there any other websites i can use?
Question 5 years ago on Step 4
Hello, I am trying to replicate this project and I am getting an error when trying to generate the SCAD file:
System.NullReferenceException: Object reference not set to an instance of an object
en Fred.RecordPlayer.ScadWriter.Generate(IPlayable recording, Boolean secondSide)
en Fred.RecordPlayer.ScadDialog.generateButton_Click(Object sender, EventArgs e)
en System.Windows.Forms.Control.OnClick(EventArgs e)
en System.Windows.Forms.Button.OnClick(EventArgs e)
en System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.ButtonBase.WndProc(Message& m)
en System.Windows.Forms.Button.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
has anyone come across this issue?
Answer 5 years ago
I know this was three months ago, but I ran into this also. The solution is to make sure you save your composition before you try to generate the SCAD file.
5 years ago
I would love if someone could post STL files for printing. I'm a mac user and cannot run the software to create the stl files. Much appreciated!
5 years ago
Are the stl files gone? I cannot find them in the zip file, and You are my sunshine is missing from the SCAD :(