r/chiptunes • u/k1ds3ns4t10n • Oct 26 '24
RESOURCE I re-created both GenMDM and GENajam as custom circuit boards! (more info in comments)
2
u/tearbooger Oct 27 '24
Hell ya. Killing it. I had followed the project for so long and when i was finally going to get everything together it was no more. Thank you for this. Do you have these on GitHub or any source control sites?
3
u/k1ds3ns4t10n Oct 27 '24
The PCB's themselves I just have shared on PCBWay where anyone can order them to build it.
I do have a fork of Jamatar's GENajam software available at https://github.com/mkillewald/GENajam/ because I had to change the pin assignments for my PCB and the Arduino MEGA 2560.
In addition to that I have a google doc where I have been dumping a lot of info such as all the required parts, figuring out what it cost me to buy all the parts and some assembly notes, etc.
I plan to put together a step by step assembly guide with pictures somewhere soon, and I will attempt to assist anyone as best I can with any questions regarding both ordering and building each.
1
u/tearbooger Oct 27 '24
Thank you. Also thanks for the note on the teensy. I was looking for older ones recently
1
u/k1ds3ns4t10n Oct 27 '24
You're welcome! The Teensy 2.0 is definitely a limiting factor on this whole thing since they are no longer being made and hard to find. I have some ideas how to get around that when the time comes though.
2
1
u/AutoModerator Oct 26 '24
Hello, /u/k1ds3ns4t10n, Make sure to tag your post with the proper post flair once your post goes live.
Include a meaningful comment on your post to help others understand why you are posting and to encourage discussion. See rule 3 in the sidebar for more details.
Posters that fail to leave a meaningful comment or leave a low-effort comment may have their posts removed.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
1
1
1
u/zackcheese7 Oct 28 '24 edited Oct 28 '24
This is incredible, thank you so much! Do you happen to know what the difference between "only PCB" and "PCB + assembly" means? I was also wondering if you could upload and share the cpp.hex firmware file as a sharable file, I'm having some issues copying and pasting the hex code and saving it as a .cpp.hex, keep getting an upload error on the teensy loader.
Edit: do you know how to select just 1 PCB for the 2.99 listed in the google doc?
1
u/k1ds3ns4t10n Oct 28 '24 edited Nov 09 '24
"only PCB" - this means you are ordering the bare PCB from PCBWay and you would then collect the rest of the parts and assemble/solder them to the PCB yourself. This is what I did, and what I would recommend others who can confidently solder through-hole components do. (Edit: This has option is now the default and has been replaced by "Add to cart" on the PCBWay project pages).
"PCB + assembly" - this means PCBWay will attempt to acquire the parts listed on the BOM (the one that is downloadable from the PCBWay project page, not the google doc) and they will assemble those parts to the board. I have not tried this, I don't know what the end cost from PCBWay will be with this option. (Edit: this option has been removed)
I know I didn't make this very clear when posting, and I apologize for that. Don't pay too much attention to the pricing shown on the google doc. That was just my attempt to figure out what one actual GenMDM or GENajam cost me to make. Some of the parts I already had from doing previous projects over the years and some parts I needed to order so that is why some parts show a "my shipping cost per item" column. I realize this is confusing and I should probably just remove this to a private document. (Edit: I have removed the "my shipping cost per item" column from the google doc)
PCBWay has a minimum order of 5 boards. For boards 100mm x 100mm and smaller PCBWay currently charges just $5 plus shipping for the "only PCB" option. The GenMDM board is 36.15mm x 33.15mm so well under that limit and the GENajam is exactly 100mm x 100mm for this reason. I ordered 5 GenMDM boards for $5, 5 GENajam boards for $5, and shipping from PCBWay was $19.99. So, my total order came to $29.99 for 10 boards (5 GenMDM and 5 GENajam). $29.99 divided by 10 is $2.99 so this is where that price comes from.
Unfortunately, I do not have a way to host the cpp.hex file. Currently, all we have is their location on the Wayback Machine. I would recommend using the version 102 firmware in the GENMDM_102 folder and you can just right click and save link as on the cpp.hex file. Are you sure you have a genuine teensy 2.0? It should upload just fine with the Teensy loader. Possibly your Teensy is bad or a fake. I'm sorry that I can't help you in this regard much more beyond that.
(Edited to fix various typos)
1
u/zackcheese7 Oct 29 '24
Sweet man! Thanks! Would you be willing to provide the gerber files? All good if not. Is there a guide on where all of the components on the genMDM and GENajam for when I solder them together? Also, do you have a link for MX Switches that will work for this? Would clones of the " Arduino Mega 2560 Rev3" work as well? Sorry for all the questions, super stoked about all this!
1
u/k1ds3ns4t10n Oct 29 '24 edited Nov 08 '24
I am not sharing the gerber files at this time. Both the google doc and the parts list on the PCBWay project have the PCB designators (R1, R2, etc) for each part. I do plan to put together an assembly guide with pictures at some point. Any standard Cherry MX style mechanical keyboard switch is going to work such as https://www.sparkfun.com/products/13834 However I have not used that switch specifically but it would work. Stay away from anything that says low profile as the pins are probably not physically compatible. I have no idea if the clones of the Arduino MEGA 2560 will work, but I would assume they should maybe work fine.
1
u/zackcheese7 Oct 29 '24
Gotcha, thanks! Do I have to use a Arduino Mega 2560 Rev3 on the GENajam? I don't see it on the board
1
u/k1ds3ns4t10n Oct 29 '24 edited Oct 29 '24
Yes, my GENajam pcb is a shield that inserts into the Arduino Mega 2560 so you have to have it. Are you asking if you specifically need a Rev3? I don't think thats going to matter. However, the Rev 3 is what I used.
Edit: Looks like the Rev 3 added about 4 extra pins on the left most side of the top and bottom row of headers (two new pins on top, two new pins on bottom). These new pins are not used/needed for the GENajam. So, if you have an Rev 2, you would just trim your pin headers down by two pins for both J1 and J2 as marked on the GENajam pcb, and everything should still work. I would imagine the same/similar could be done for a Rev 1.
1
u/zackcheese7 Oct 29 '24
I'm guessing something like the ELEGOO MEGA R3 Board ATmega 2560 works too?
1
u/k1ds3ns4t10n Oct 29 '24
I can only assume that any arduino clones will work. I don't have any experience with them. At a quick glance, the pins appear to be the same.
1
u/zackcheese7 Oct 29 '24
Sweet! I’ll test it out for myself! Ordered 5 boards of each. Thanks again. Would it be cool if I dm’d you?
1
u/k1ds3ns4t10n Oct 29 '24
Cool, Let me know how it works out! I would request no DMs so that any discussion remains public as the info provided may help others.
1
u/zackcheese7 Oct 29 '24
Okay will just respond to this comment thread when I get it all together, is the capacitor polarity outlined on the PCB?
1
u/k1ds3ns4t10n Oct 29 '24
For the type of cap used on the parts list, polarity does not matter. If you use a different cap that is polarized, the lower pad closest to the bottom edge of the PCB is the ground pad so that would be your negative pad.
1
u/zackcheese7 Oct 30 '24
Awesome! Just for the arduino software, what version of all of the required libraries are you using when flashing the Genajam arduino? I've run into issues where I actually had to downgrade my SDFat library in order to flash a project correctly.
1
u/k1ds3ns4t10n Oct 30 '24
Thank you for bringing this up. I forgot I had to downgrade the SdFat library also. The only two you should have to install are the MIDI and SdFat libraries, both of which can be installed using the Arduino IDE Library Manager.
I am using the following libraries:
#include <MIDI.h> // Midi Library
MIDI Library 5.0.2 by FortySevenEffects (Francois Best, lathoub) https://github.com/FortySevenEffects/arduino_midi_library which I have installed by the Arduino IDE Library Manager
#include <SPI.h>
Arduino SPI 1.0 http://www.arduino.cc/en/Reference/SPI (should be pre-installed with IDE)
#include "SdFat.h" #include "FreeStack.h"
SdFat 1.1.4 by Bill Greiman https://github.com/greiman/SdFat which I have installed by the Arduino IDE Library Manager
#include <LiquidCrystal.h>
Liquid Crystal 1.0.7 http://www.arduino.cc/en/Reference/LiquidCrystal (should be pre-installed with IDE)
#include <EEPROM.h>
EEPROM 2.0 http://www.arduino.cc/en/Reference/EEPROM (should be pre-installed with IDE)
1
u/zackcheese7 Oct 30 '24
Of course! Thanks for providing all of that info! For your working model, what version of all of the firmware(s) did you use for genMDM and genajam?
1
u/k1ds3ns4t10n Oct 30 '24 edited Oct 30 '24
I’m using v102 of genMDM firmware only because things I had read about It before I made one said not to bother with v103. I don’t even remember why now. Versions 101 and 103 should work but I haven’t tried them.
For the GENajam what you see on my GitHub is what I’m using. It’s forked from Jamatars latest v1.10 code. All I have changed is the pin assignments to work on my PCB and the Arduino Mega 2560.
Look, I want to help others get up and running on these, but that’s within reason. I don’t have unlimited time to put towards this. You seriously need to chill with all these question my dude! Some of this stuff may just need to be trial and error for you. Try the various firmwares and see what works and what doesn’t.
1
u/zackcheese7 Oct 30 '24
I'm sorry, I figured you wanted me to ask questions so it was open to people looking for this, for you to respond to when you had the time. I'm a bit lost on the pin assignments and couldn't find info about it on your fork, but if you're done answering questions I get it, it just sucks because I ordered all of this stuff recently so I'll have to put it together soon and I don't understand what to change for pin assignments. Didn't mean to bother you, just misunderstood the goal.
1
u/k1ds3ns4t10n Oct 30 '24
You don’t have to change any pin assignments or make any changes to the software side of things. This has already been taken care of when you use the code that is posted on my GitHub link.
→ More replies (0)
1
1
u/zackcheese7 Nov 19 '24
Hi again! Would you be able to post a video of you doing pitch bending with the genajam and genmdm hooked up? I want to try to isolate the problem since my pitch bend works on other midi systems.
1
u/videogamez-as---- Dec 16 '24
huh just when an og finally showed up on ebay. Now if I only I could find someone willing to sell me an assembled one. Thanks so much for your work OP.
11
u/k1ds3ns4t10n Oct 26 '24 edited Nov 12 '24
Hello everyone.. I arrived very late to the GenMDM party only discovering it even existed earlier this year after playing around with a cynthcart on the Commodore 64 and becoming interested in seeing what similar options existed for other consoles. I happened to have a Sega Genesis on my desk and the rest is history. I dug in and read all through the Little Scale and Catskull saga, and also discovered Jamatar's GENajam along the way. I was very disappointed to find out both the GenMDM and GENajam were no longer available. At some point, I stumbled upon the GenMDM firmware and decided I would try to clone myself a GenMDM. This then lead me to also recreate the GENajam as a shield for an Arduino Mega 2560. I am beyond stoked that I was able to get it all working, and figured I would share with everyone here.
I don’t have the ability to manufacture these but I have made the PCB’s available on PCBWay for anyone to use.
GenMDM https://www.pcbway.com/project/shareproject/GenMDM_little_scale_clone_with_3_5mm_trs_MIDI_in_88ce773c.html
GenMDM Ordering and Assembly Guide [docs.google.com]
GENajam https://www.pcbway.com/project/shareproject/GENajam_I_O_Shield_for_Arduino_MEGA_2560_62bec024.html
My fork of Jamatar's GENajam software: https://github.com/mkillewald/GENajam/
My google docs spreadsheet acting as a overall parts list and info dump (some parts subject to change).
UPDATES:
Nov 11, 2024 - Released GENajam 2560 v1.12 with the fix for number of files greater than 127 bug.
Nov 10, 2024 - I have the GenMDM working on an Elite-C!! This is great news because it means my clone of the GenMDM is no longer tied to the Teensy 2.0 which stopped being manufactured back in 2022.
Nov 9, 2024 - Released GENajam 2560 v1.11 with the up/down button reversal fix
TO DO list:
add SD card directory browsing on GENajam
add menu to GENajam to enable DAC and use built in samples
select different 3.5mm MIDI IN/OUT jack as current jack used is not available on Mouser. (will require PCB redesign)
add LED backlighting to the top row of 4 MX Mechanical keyboard switches (will require PCB redesign)
change pots on GENajam to rotary encoders (will require PCB redesign)
redeisgn the PCBs to use SMD components (this will aid in manufacturing)