(Topic ID: 140896)

RGB LED panels for DMD replacement

By ecurtz

8 years ago


Topic Heartbeat

Topic Stats

  • 992 posts
  • 99 Pinsiders participating
  • Latest reply 5 years ago by ecurtz
  • Topic is favorited by 126 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    IMG_8545 (resized).jpg
    IMG_8748 (resized).jpg
    IMG_8627 (resized).jpg
    image_(resized).jpeg
    image_(resized).jpeg
    IMG_20160506_082356_(resized).jpg
    pin2dmd_(resized).jpg
    on_comparison_(resized).jpg
    on_100_(resized).jpg
    on_50_(resized).jpg
    on_20_(resized).jpg
    off_comparison_(resized).jpg
    off_100_(resized).jpg
    off_50_(resized).jpg
    off_20_(resized).jpg
    IMG_20160325_191509_(resized).jpg

    You're currently viewing posts by Pinsider ecurtz.
    Click here to go back to viewing the entire thread.

    22
    #1 8 years ago

    In January I noticed that you could get RGB (full color) LED panels for building outdoor display screens that were almost small enough for pinball DMD replacements and started a thread over on the Pinball Controllers forum as a potential DMD like screen for home-brew projects.

    KrustyDMD.jpgKrustyDMD.jpg

    Last month I saw that you can finally get them directly from China in 2.5mm spacing which is practically identical to a regular DMD so I started working on getting a board going for them. Today a new user, lucky1 arrived here looking for colorized ROMs for testing his very similar project, so I decided it was time to let the cat out of the bag and start getting some information out there even though I won't have an actual 2.5mm screen to show until this weekend.

    My project is using a Teensy 3.2 (Arduino like, but much more powerful) microcontroller on a custom carrier board, and lucky1 is using a Discovery STM32F4 Board (similar processor, but a little faster and larger). Not sure what the final results of these two efforts will be at this point, but either way this is going to be an option soon, both for homebrew and DMD replacement, and they should be very cost effective either as a DIY or simple kit.

    #5 8 years ago
    Quoted from KingPinGames:

    Looks great. What's the cost?

    No idea if it will end up as a "product", but I'd say <$200. The parts will probably set you back something like $110 if you're willing to source from China and DIY on all the soldering and cables.

    Quoted from winteriscoming:

    What are you imagining the options for DMD replacement would be? Full colorization? Choose 1 color and just get different shades? Or maybe something like DMD Extender where each shade can be assigned a color?

    WPC is probably best limited to shades of 1 color, although in theory I guess you could use a palette. On Stern it should be easy to use side channel or embedded SmartDMD data for full colorization for those with a PinballBrowser or SmartDMD license (I'm not sure exactly how Oga deals with those.) For homebrew you can send full color data from a host computer over USB.

    #8 8 years ago
    Quoted from marcocapetown:

    great for coming up with this... if u can do full color on wpc u sir would win over the whole of pinside.

    There's really not enough data in WPC to do full colorization. The ColorDMD guys get around that by looking up the frame and merging it with appropriate full frame color data they've stored separately, but they've patented that and this hardware probably wouldn't be up to that task anyway. If ColorDMD wanted to offer the LED panels as an alternative to the LCD screen they probably could, but I don't see any easy way to do full color on WPC without additional hardware.

    #10 8 years ago
    Quoted from winteriscoming:

    Palette choices even for 4 shades is preferable to being locked into one color. That's the big draw-back in my opinion to ColorDMD Sigma vs. SmartDMD/DMD Extender (well and price difference ).
    I have pics of JP with DMD Extender here:
    https://pinside.com/pinball/forum/topic/de-jurassic-park-with-lcd-dmd-replacement#post-1102230
    Even being limited to 4 custom colors can lead to awesome results.

    The palette thing is easy, it's currently using a palette that's just 4 shades of gray. However I'm a little bit worried you'd get some color bleed on the current system, which is just summing the previous 3 frames to get each dot value. It would only last 120th of a second each time though, so maybe it wouldn't be an issue in practice, I'll give it a try.

    EDIT: These caveats are all WPC of course, Stern varies the frame time so it's possible to determine which parts correspond to each intensity, but WPC is just a stream of identical on/off bitmaps all with the same timing.

    #11 8 years ago
    Quoted from Crash:

    Absolutely. Some more great results using this simple feature can be seen here:
    https://pinside.com/pinball/forum/topic/diy-addams-family-poor-mans-color-dmd/page/4#post-1509520
    How are you driving (clocking) the panel matrix in your Twlight Zone video? Are you using the original pixel refresh signals that would normally go to a plasma display? Reason I am interested is things like the leak of screen tearing and jitter as well as the pixel modulation for the different shades looks absolutely bang-on in your video. DMD Extender has some minor issues with not updating the color palette data between frames (planes) but granted you aren't using color in this example.

    It actually isn't quite synchronized between input and output at this point (I think the WPC signal is 122Hz and the screen update is 124Hz) but you really can't tell. I have a scheme about how to fix that, but if it continues to be invisible it may be pretty far down the list.

    #14 8 years ago
    Quoted from Crash:

    It's definitely nice to have a display that can be externally driven rather than having to stick with the fixed 60Hz refresh rate of an LCD-based solution. This is good as it represents the full motion fidelity of original plasmas (scrolling and other animation look butter smooth on the original panels) and allows you to (at this point in time, mostly) avoid tearing, skipped frames, and pulldown issues. Do you know if the plasmas are externally clocked? I have heard that different manufacturers use dissimilar refresh rates.

    The plasmas are clocked externally as part of the signal from the CPU. As I said it looks like the TZ is running at 122Hz (according to my crappy Chinese knockoff logic analyzer). There may be some hardware differences from the manufactures that vary the actual display times or something, but I think they're pretty simple hardware wise, so these are probably minor.

    #15 8 years ago
    Quoted from Crash:

    I wonder, if this ever gets off the ground, if 6 of these displays can be used for a 192x64 Sega DMD replacement? Do you know how many of these can be connected together?

    My poor little Teensy is about at its limit with 2, so you'd need some beefier hardware driving them. Also they eat a lot of 5v so you'd want a serious power supply. You could maybe manage on/off for a single color depending on what the original refresh rate was like. Are they divided up somehow or is it all one monolithic signal?

    #18 8 years ago

    But that worked so well on the TRON ramps.

    #31 8 years ago
    Quoted from Hawkulous:

    Nice find! Please post a link for the source of the panels? They should work on my Rpi B+ project by changing a file or two! Might even be able to do without a loss of frames! The Arduino due also worked for me in capturing and processing Williams DMD signal. Good luck with your project!

    Does the Pi have enough GPIO pins to handle the input and output? The RGB panels require 13 in additional to the DMD input.

    As far as I know the only current source for the panels in direct from China via AliExpress or similar.

    #32 8 years ago
    Quoted from lucky1:

    Let´s throw the code together. ecrutz has the real pinball dmd interface running , i have
    the pinmame usb interface running.
    Currently have a 12bit palette (4096colors) to chose the 16colors from I use to map
    to the 16 shades of a Stern ROM or the 4 colors for the 4 shades of a WPC ROM.
    I have a code sample here with 33bit palette which may be adapted to my code
    but I think 4096 is enough by now. Sometimes it is already hard to seperate the 16 shades
    of one color.
    A video of my first colormapping implementation and more info can be found in the vpuniverse forum
    (I´m not allowed to post links here due to the fact that I´m new to the forum)
    I´m plannig to design a pcb with a connector for a classic DMDs like Stern, Vishay etc. driven by USB and Pinmame (like PINDMD2),
    a connector for the china 2.5pitch RGB panels driven by USB and a classic pinball interface to drive the china panel. All with
    color mapping to either a fixed palette or dynamic palettes with in-frame coding like SmartDMD.
    I will use two RGX panels side by side
    Search for "RGX-p3mm-Indoor-SMD2121-rgb-led-display-module-192mm-x-96mm-64-32-pixle-HD-Video" with the brackets on google.
    They cost 21.50$ each plus shipping.
    Regards
    Lucky1

    The output code in my version is branched from SmartMatrix, which uses extremely clever and efficient DMA for the pixel output. It's doing 12bit with the WPC example because that's all it needed and WPC is 120Hz, but it has support for 24 and 36 bit pixels as well.

    It already supports streaming over USB for homebrew applications at 24bit color and 30fps, but it would be easy to modify PinMAME to provide screens if you wanted it for that.

    DON'T use lucky1's search above if you want panels that will fit for a direct DMD replacement, you need the (brand new AFAIK) 2.5mm panels NOT the 3mm panels. "P2.5" often shows up in the description and the boards should be 32x64 pixels and 80x160mm. But unless you know C and like reading microcontroller datasheets it might be a little early to be buying panels anyway.

    #35 8 years ago

    Also, the bug Crash pointed out in the SmartDMD thread is going to be a big, annoying pain in the ass to fix, so everyone be sure to thank him for noticing it.

    #37 8 years ago
    Quoted from Crash:

    The one about the pixels being cut offf?

    Yeah, but it actually looks like it might not be a problem and we can use a pin I thought was off limits. Sometimes it's better to be lucky than good.

    #39 8 years ago
    Quoted from lucky1:

    The STM32F407 I use should have enough power to handle this.
    Search for HUB75 STM32F4 in google for a 33bit example with 9 panels

    Looking at his project those are smaller panels, so I think even with the extra CPU you're going to have a hard time pushing enough data for one of the big Sega displays. I haven't looked at the datasheet for one of them though, so there may be some tricks to help.

    #40 8 years ago
    Quoted from lucky1:

    Even if the words in the search string tell something else, it leads to the RGX board with 2.5mm pitch. Click on the link to the RGX panels Crash posted. If you want to use it single color with PinMAME my code is already working just fine. Color Code for PinMame is on its way.
    So why not be one of the first who tests it as a pindmd / pinball DMD alternative.

    Oops, I was confused by the description which seems to be talking about two different displays (it has conflicting info in the title and description). Did you order from those guys and get the 2.5mm panels? I'd be nervous about the weird description.

    #42 8 years ago
    Quoted from Crash:

    What is the refresh rate for the Sega displays?

    Not sure I understand, is a line just being skipped or repeated? The resolution of the panels is exact unless I'm missing something.

    It was a timing issue between the WPC DMD signal and the serial interface on the microcontroller that's reading it. The microcontroller has some requirements for what counts as a valid input that the display panel doesn't. Basically I need to take one of the DMD inputs and delay it so the microcontroller accepts the last bit of the message / last dot of the display.

    #44 8 years ago
    Quoted from megadeth2600:

    What's the power consumption of the complete 128x32 panel like? LED displays can draw a decent amount of current (typically in the "all on" case) ... you might not be able to simply splice this into the power supply of a pin.
    It's not at all hard to add a supply to a pin that is capable of driving an array of LEDs, but you should check that out and see if it might be a problem as I think it could tax the 5V rail on many pins . If you power a pin and it happens to drive a lot of "full on" pixels due to trash in the display driver at power up, you might get into a case where the pin will constantly reset itself .
    Nice work by the way ... I am sure they look amazing in person!!!

    Yeah, they take a lot of juice. I think if it was stuck on full white it would be like 7Amps although these are driven way below 100% duty. You definitely don't want to hook them to your pin's 5v supply.

    #46 8 years ago
    Quoted from Crash:

    Have you noticed any flicker at all with the dimmer pixels? What's the range of duty cycles from dim to full bright?

    There's no flicker, the LEDs are being strobed insanely quickly. In the TZ example the DMD information is coming in at 120Hz, and that's the rate it's outputting as well. It works a little like a huge lamp matrix in that the lines are strobed, so only 2 are actually active at any time, and it's outputting 12bit color, so there are 4 updates of varying length each row before it moves on. So a dim pixel is actually only on for 1/(120 * 16 * 16) = ~0.000033s at a time (1/256 of each frame). A fully on pixel would theoretically be on 1/16 of the time but in practice it's less than that.

    #48 8 years ago

    Updated video with the final column bug fixed and a hideous palette applied by request of winteriscoming and Crash.

    #51 8 years ago
    Quoted from Mocean:

    Any thoughts on a VGA connector so I can support this in PyProcGameHD? If not maybe there's something else I can work into the HD branch to make it easier to do color on these on P-ROC?
    Post expo, I want to play with this... Let me know how I can help.

    You can send pixel data to it directly from the host computer over USB, even from disgusting Python code (I'm working with Brian and Gabe to get MPF support in, but the Python code is totally generic).

    #54 8 years ago
    Quoted from arpman:

    The guys building the Minions machine like your project (https://pinside.com/pinball/forum/topic/we-are-building-a-minions-pinball-updates-every-friday/page/5) .
    Do you think you can set them up with something they can use?

    The board and software are designed to be easy to use for DIY machines as well as DMD replacement. You can talk to it directly from the computer running a DIY machine for full color output (or they could just use the DMD signal from the PROC and get a limited palette of colors).

    #56 8 years ago
    Quoted from lucky1:

    Here is a video of the color mapping test of my PIN2DMD Interface using inframe palette switching
    » YouTube video

    Cool. By "inframe palette switching" do you mean SmartDMD style marking of the frames with a palette index?

    #57 8 years ago
    Quoted from Crash:

    When you get the 2.5mm panels can you do a photo comparison with a plasma so we can see the differences?

    Here you go.

    SizeComparison.jpgSizeComparison.jpg

    #59 8 years ago
    Quoted from Crash:

    Dude, this would be awesome if that's the case!!

    That's easy to support, you just need to have the palettes defined and some sort of license from Oga. Side channel should be possible as well, I made sure to leave a couple of serial pins open...

    #63 8 years ago
    Quoted from winteriscoming:

    Will you be able to support DE and Sega?
    Oh, and my Gottleib Super Mario Bros would like some colored LED love, too.

    Since the pinball manufacturers were all constrained to the same input specs for the DMD we should be able to support all of them. Right now there are a few WPC specific hacks in the code while I was getting it working, but it should be possible to scan at startup and have slight variations of the code if needed.

    #68 8 years ago
    Quoted from Crash:

    THAT looks freakin' awesome! I'm VERY impressed with how you managed to flawlessly process the signal and mesh the two panels side by side. Now that you seem to be beyond proof of concept (dang this is moving along fast), can you explain how everything is set up and what parts you used? Do you think this project is something that can be built by anyone for a reasonable cost?

    Original DMD cable to custom carrier board with a Teensy 3.2 on it and all the connectors. Signal to the DMD is read by the Teensy, processed, and the frames are combined (equally weighted last 3 frames for WPC, Stern uses 4 unequal frames to get their 16 shades) then look up the pixel color from that index. The output is done with a slightly modified version of the SmartMatrix library. Output to 2 of the 2.5mm 32x64 matrices driven by an external 5v power supply (which I'm currently taking down to 3.5v because otherwise the Teensy can't talk to it without converters) it sounds as if something like 4.2v would by ideal as anything over that is pretty much waste heat.

    It can definitely be done DIY quite reasonably. I'll probably offer the boards myself at a small profit for the DIY crowd but also encourage one or more of the standard suppliers to offer complete turnkey kits with panels, power, mounting, cables etc. Sourcing everything separately in QTY 1 adds up fast, so I think they could offer something that's still affordable but provides the peace of mind of knowing you can get support or a replacement part.

    #71 8 years ago

    I'll try to get a current reading from the all on display test tonight. I suspect it will be high.

    ... or maybe I'll test on the bench for a few days until I fix whatever I just blew on my Power Board with my totally sketchy setup.

    #77 8 years ago
    Quoted from Hawkulous:

    Thanks for all the info ecurtz. Are you going to share your code with us? It sounds rather interesting.

    Yes, once the hardware is done and it's been tested in enough machine types to be confident it won't need more board revisions. The code isn't all that big or complex, but it uses a lot of microprocessor features so it's kind of hard to follow if you aren't used to that. Most of the effort is in figuring out why something doesn't work when you seem to be following the chip docs exactly...

    RGB_DMD_Beta2.pngRGB_DMD_Beta2.png

    #83 8 years ago
    Quoted from Crash:

    Perhaps a Discovery board could handle it? The framework for decoding the signals is there, there are just more lines correct?

    Maybe. It's 3 times as much data going in and going out. It depends on how fancy you want to get with the coding. The Teensy version is actually currently capable of better color depth than the Discovery one because the Teensy is using DMA to output the pixels, but if the Discovery code was optimized more it would have better throughput. It also depends on how they were driven. If it only updates 60 times a second that's a lot different than if it's doing 200+. Do you have a data sheet for the big DMD?

    EDIT: Never mind, I found the data sheet. Dot pitch is wrong, the large displays are 2mm, so unless they start making panels in that size you'll have to stick with the LCD replacement systems.

    #89 8 years ago

    Stern style 16 color display with a "custom" palette (well, I made 15 green). Unfortunately I still don't have both versions running on the same code / hardware setup, but it's getting closer.

    Test_16_Color.jpgTest_16_Color.jpg

    #96 8 years ago
    Quoted from winteriscoming:

    Your link brings me to ones that are 50 each... gotta love ordering from Chinese sites. Wonder if these are showing up on eBay yet.

    I've never seen them on eBay. I only discovered them by searching for them on AliBaba once a month or so since the original testing with the 3mm panels. I haven't tried to post an "official" supplier, since as you've seen the prices and descriptions are basically random. You just need to do the searching right when you want to buy and make sure you have the pixel count and panel size right. 32x64 and 80mmx160mm.

    #113 8 years ago

    I might be willing to sacrifice one of my panels to the God of curiosity. I'll check if they are just attached with those machine screws or if they're screwed and epoxied (I suspect that).

    #117 8 years ago
    Quoted from Wolfmarsh:

    Cool, I was going to ask another guy I know that bought them to do the same.

    I was wrong, at least for the 3mm and 2.5mm panels I have, which seem to be from different manufacturers, are both just screwed to the frame. The frames are super rigid and sturdy though, and provide most of the stability to the panel. If you were going to disassemble a larger panel I'd make sure your new frame was really solid.

    #144 8 years ago

    Chatting with oga83 about support for PinballBrowser colorized frames. Is there anyone who has strong objections to that version of the code being closed source if it meant it was more convenient for regular users to install and use?

    #153 8 years ago
    Quoted from jwilson:

    It being closed source leads to situations like with the DMD Extender, where the original seller drops off the face of the earth and leaves people hanging.
    This community is tiny enough that no one is getting rich, so making things closed source only hurts the effort.

    Oga83 is justifiably concerned about people directly sharing ROMs which have been modified with his tool rather than macros. If anything is hidden in closed source it will be to help with that. It would be easy to recreate that small part of the code if I get hit by a bus, and Oga will have it as well.

    #155 8 years ago

    After some serious mucking about I think I have a way to keep everything simple and working in the Arduino IDE for people who want to mess with the base code, but still able to lock the colorization data to a single board so you can't just use a random ROM you got off the net.

    The first 3 boards (with a known issue, but easy to jumper around) should be here by the weekend, as I just got the email from OSHPark that they were back from fabrication. So while all of you are off enjoying Expo I can do some good ol' surface mount soldering.

    #157 8 years ago
    Quoted from lucky1:

    Your teensy like my STM32 discovery board do both have USB ports, why don't you use that
    port to upload a SmartDMD license together with the palettes needed for the ROM.
    That way you can hide the information in a closed source PC software.
    I discussed this with oga and he is okay with it. That will be the way we do it.

    I don't think of combining a plain text file of palette information with the totally open source STM32 code as providing any barrier to making the two line change to ignore the check. However if it's good enough for oga's peace of mind that's great. It was interesting to figure out how to call arbitrary ARM data as code anyway so I'll probably continue down the path of having PinballBrowser patch the file directly before upload.

    #159 8 years ago
    Quoted from Aurich:

    Nothing we're doing on a community level from a DRM standpoint is going to withstand any serious effort to crack. But if there's just a mild gate that prevents the average person from uploading and linking modified ROMs all over Pinside that probably achieves enough.

    I've actually had to do real copy protection stuff. Believe me, it's no fun from either side. But I think this system will be enough to discourage casual ROM sharing without any extra burden on the user, since they'd have to write the color data onto the board anyway.

    Looks like no boards until Friday, so I'll have to work on the boring software until then.

    #165 8 years ago

    Mmmm, solder fumes...

    RGB_DMD_b1.jpgRGB_DMD_b1.jpg

    #167 8 years ago
    Quoted from Crash:

    Looks awesome! Is the "extra I/O" header used for possible expansion to drive larger panels?

    No, that would still be sent through the matrix header (if it turns out that the big Sega DMDs have huge throughput you could theoretically double up the output and drive two sections at once, but there aren't enough pins currently hooked up for that.) The Extra I/O is for playing with the PinballBrowser side-channel color, or hooking up buttons or pots for adjusting the screen, or ???.

    I removed the power headers in the updated design, there wasn't really any reason to run the power for the panels through this board instead of directly to them.

    #174 8 years ago
    Quoted from Crash:

    Any news on board development?

    I'm working on the software while I wait for things in the mail. I have the SMT stuff on the 3 boards from my original OSHPark order and am sending 2 of those on to the MPF guys, I'll have 3 more slightly updated boards by the end of the week.

    I need dumps of the DMD signals from as many machines as possible, so I ordered a few cheap Logic Analyzers to mail around to people to collect those, but they seem to be on the slow boat from China, even though I made sure to order from a "USA" seller.

    #177 8 years ago
    Quoted from Aurich:

    It's because Brian is so sexy, everyone wants him.

    That, and I was able to sucker him into ordering the panels for us to experiment with.

    #189 8 years ago
    Quoted from lucky1:

    The displays just arrived today. The dimly lit green pixels are timing related on the software side.
    I tested on bigger panels and wanted to wait how it looks on the smaller ones.
    The animation is, how it is sent from the software. There are no framedrops or anything on my
    side. We should ask someone who has a Stern Pinball how it looks on a real machine.
    I have no idea.

    I actually think it might be a (minor) hardware issue with the panels, since I get some very dim green pixels at times as well, and my code is completely different. It shouldn't be at all visible from playing distance / brightness.

    #190 8 years ago
    Quoted from winteriscoming:

    Awesome! So you're leaving the panels attached to their stock frames and securing your brackets to those? Is there a lot more added depth with that approach? I'm just curious if that makes the screen sit too close to the DMD window or if it comes in at a similar depth, or even if it sits a little closer, maybe it's not an issue? Could you take a picture of both of your displays from a side angle to show compare depth?

    The stock frames are nice and sturdy and they have a (presumably) standard mounting pattern, which I doubt is true with the raw panels, so if they fit well, which I'll have to double check, there's no reason to remove them.

    #192 8 years ago

    The panels with frames are 15mm deep. Per the datasheet the Cherry DMDs are only 10mm deep, but that doesn't seem to correspond with how they're mounted in the game, so they must have a pretty large gap between the front of the display and the speaker panel.

    #195 8 years ago

    Hasn't been tested yet, but if anybody has access to a laser cutter or wants to order from Ponoko. https://dl.dropboxusercontent.com/u/8494826/DMD_Frame_P2.svg

    MatrixDMDMount.jpgMatrixDMDMount.jpg

    #210 8 years ago

    Is it changing palettes for Sherman? I thought Data East was 4 color, but it's been a while since I played R&B.

    #211 8 years ago
    Quoted from Insane:

    i hope someone does a plug and play, programmed for xyz game if possible. I don't know if i have the tools to do that part, don't really know what it would entail. watching patiently...

    I'm sure there will be a plug and play option for those less inclined toward hacking.

    #213 8 years ago
    Quoted from boogies:

    It is 4 color. IIRC: white, tan, brown and black. That pallet is for the entire rom (not scene)

    What about @ 5:16? Looks like they've got pink in there for Sherman's skin. It's emulation, so who knows what they could have hacked in for changing colors, but I'm curious. Doing 4 for the whole game is trivial, presumably DE used the Williams DMD timings, but I won't know 100% until I can get a Logic Analyzer to somebody with a game to test.

    #216 8 years ago
    Quoted from boogies:

    Its my vid, utilizing pinmame - with colors set pet pixel percentage. The pinkish looking was probably my [EDIT] tan,
    I used no tricks, no hacks, but my camera - monitor viewing angle might've altered colors slightly.I dont have pinmame running on any of my current PCs, but anyone can verify using pinmame.
    EDIT ~ The tan definitely appeared pinkish.
    Colors must've been: White, Pinkish Tan, Brown, and Black

    Ah, that's easy then, I didn't realize it was your video.

    #222 8 years ago
    Quoted from Mocean:

    http://m.aliexpress.com/store/storeHome.htm?storeNo=124897&tracelog=store2mobilestore
    Looks like there's some boards that adapt standard VGA video to these displays... That's pretty neat if so.

    You really don't want to mess with that display code, do you?

    Quoted from flecom:

    since this is just serial data could you send it out to multiple displays? Imagine having a 2.5mm LED dmd in the normal position and then a larger LED RGB matrix display on the top of the machine on locations/tournaments, that would be super cool IMHO!

    Yeah, but I'm not sure how far you could run one of those ribbon cables before you'd want to switch to something with some shielding.

    #224 8 years ago
    Quoted from flecom:

    hehe I am down to find out
    how many data lines is it? you could maybe run it over a pair of shielded CAT5 cables or something

    13 data lines plus ground for the RGB panels.

    #230 8 years ago

    The logic analyzers I ordered finally arrived on the slow boat from "USA Seller". Anyone who has access to a number of DMD machines, especially anything oddball, and a Mac or Windows laptop who wants to help out let me know. You'd get the logic analyzer in the mail, install a piece of software, plug the dmd cable into the connector, record the signals and email them to me. Then drop the logic analyzer into the mail for the next person.

    Added the code last night to detect the weird case that probably only happens on the P-ROC when the DMD timings change when it switches from the startup splash to the game display. Hopefully that will also allow me to respond to brightness changes from the pin menus rather than having to add extra configuration to the panel as well.

    The software is getting to be in pretty decent shape, so if you have already ordered panels and are interested in testing my version, PM me about getting a carrier board from my next OSHPark order. We're still talking beta testing, so not for those who don't want to deal with potential problems.

    #235 8 years ago
    Quoted from Mocean:

    Guilty as charged. I did all this work to do rewrite the layer stack to do all the image processing/compositing on the GPU itself in VRAM, and now for this I have to pull the completed textures back out of the video card so I can send them over the usb/serial interface!

    Just think of it as fancy GPU assisted computation!

    Quoted from Crash:

    Oh, They went up in price quite a bit.

    The panel prices are super variable. I assume somebody will start importing them in bulk and the price will stabilize at something in the range we're seeing, but I'd still guess maybe $75 for two in hand. I also think you'd want to spend more than that on a power supply. On the upside, there's no commercial use fee, at least for my software, and the boards will be less than that. You'll also want a mounting plate of some sort, the laser cut one's I ordered from Ponoko were $38 for 3. That's all assuming you want to go the DIY route, I know there are vendors looking into these as well.

    #239 8 years ago

    I'm remembering some tricks for doing SMT with my setup, and only had to fix one solder bridge this time.

    However I'm also getting senile and installed a chip backwards on the third board.

    P1000602.jpgP1000602.jpg

    #241 8 years ago

    If you turn on the color correction that reduces the brightness for most colors as well as being more "accurate", but it's probably better to do those calculations on the PC (although I haven't actually checked the overhead of color correcting the streaming data, it might be fine on the Teensy).

    #245 8 years ago
    Quoted from Snux:

    At this size though it's too big to mount in a regular DMD panel cutout, so it's only an option for custom setups.

    Just switch to the 5mm panels and you can have a combination DMD, backbox, and tanning bed all in one.

    #249 8 years ago
    Quoted from Insane:

    so does that mean you can only have 4 colors or is there a way to get more? forgive my newbie question.

    Yes, only 4 colors, unless PinballBrowser was extended, or somebody made similar software to support DE ROMS, and somebody did colorization for it.

    #251 8 years ago
    Quoted from lucky1:

    4 colors per FRAME is already implemented on my STM32. You can switch palettes during gameplay which means more colors.

    There's currently no way I'm aware of to get any per frame palette information into a Data East game. That's the issue, not switching palettes. Snux is playing 24bit video at 64x128 on the Teensy, but that doesn't mean it's coming from the F-14s ROMS...

    #253 8 years ago

    Finally starting to get the code base into decent shape. The DMD input for WPC, Stern, and USB streaming are now all working in the same project, and there are even some comments.

    #258 8 years ago
    Quoted from lucky1:

    You forget to mention the STM32 discovery board solution.

    Does the STM32 have 5v outputs? Some of the panels don't work reliably with 3.3v signals.

    #262 8 years ago
    Quoted from lucky1:

    My project partner Steve has a lot of experience with different chinese panels from his go-dmd project, which is a wall clock using pinball animations as a backgound. There is no panel I´m aware of which didn´t work with 3,3V. Even the old plasma DMDs can be driven
    with the STM32 and PinMAME as input.

    I personally have in my possession a pair of 3mm panels from Adafruit that don't work with 3.3v, and there are other reports of it on the forum. That's why my board has the bus transceivers on it.

    EDIT: Maybe it's not worth the precaution though, removing them would simplify the board and get rid of the SMT parts...

    #263 8 years ago

    Did a version with no level shifters for those who like to live dangerously.

    f0f9d580f2ddb04b159066e4a567f69e.pngf0f9d580f2ddb04b159066e4a567f69e.png847b674206c404095fa411b5870151cc.png847b674206c404095fa411b5870151cc.png

    #266 8 years ago
    Quoted from Crash:

    Can palette swapping be done on a frame by frame basis? How are the frames indexed to perform the swap and how/where is the palette information stored?

    In theory you could have a unique palette for every single frame, but in practice it probably isn't required.

    lucky1 is using a hash function on the frames to determine the content and thus which palette to use with the data. As a US citizen I'm reluctant to do that on my version without talking to a lawyer. The other option for manipulating the palettes is modifying the ROMS as in SmartDMD, which is trivial to support from the display side, but not currently possible from the ROM side on all systems.

    Palette information can be stored on the controller, they have a decent amount of program space.

    #268 8 years ago
    Quoted from Crash:

    Ok, I didn't know if the frames were individually marked on the adapter side or if there was some sort of indicator of a scene transition coming from the DMD driver.

    Nope, there's no information in the frames about how they relate to each other unless you've used a tool like PinballBrowser to mark the source data.

    I could probably do a brief technical writeup about how the DMD works if people are really interested, but it isn't super exciting.

    Speaking of which I'm still looking for a few people who might have some stuff from smaller manufacturers and would be willing to make some recordings of the DMD signal from their machines. And thanks to those who've already contacted me.

    #270 8 years ago
    Quoted from lucky1:

    We already had a talk about this. My first thought was how can somebody get a patent for creating a hash on received data ?
    I searched for the patent and read it closely. I had no idea of the existence of colordmd or smartdmd when I started this project.
    There really is a part in it talking about detecting frames by creating a hash. But as far as I understand a patent, it is only valid when all claims of it are used. We don´t use a LCD screen in our project, we don´t use a higher resolution or a version with more colors of the frame (4 shades of red are also 4 colors) and many other points are totally different to the patented technology. So I see no reason why our hobby project should endanger the success of colordmd.

    Common sense has exactly zero to do with US patent law. And while I personally agree with your reading I'm not a patent attorney and I assume you aren't either. However I could theoretically get hauled into the United States District Court for the Eastern District of Texas and you couldn't, so why give myself headaches?

    You're using a 3 color display rather than a 1 color display, as you know the shades are an illusion from the refresh rate. Are you positive an LCD panel is different from an LED matrix under the Doctrine of Equivalents? If you're going to provide the hashing code for frame detection I'm sure any enterprising user who happened to be using my hardware could merge that bit in themselves.

    #274 8 years ago

    The laser cut mounting frames arrived from Ponoko. They fit perfectly for my panels, but you should obviously compare the layout with your own panels before you consider ordering. The front side is matte black, very Batman.

    https://dl.dropboxusercontent.com/u/8494826/DMD_Frame_P2.svg

    P1000610.jpgP1000610.jpg
    P1000613.jpgP1000613.jpg

    #276 8 years ago
    Quoted from winteriscoming:

    Awesome! So no issues with the depth?

    Nope, it's just on the existing standoffs that were there for my Cherry DMD. I obviously don't have a lot of machines to test on, and I haven't tried to figure out how far it is from the front window, but there's room on the screw posts to move it back at least another 1/4 inch if you wanted to, and I can't imagine those mounts vary much.

    #283 8 years ago
    Quoted from Crash:

    Well looks like everyone involved is hard at work spending their personal time trying to make this a reality. I feel it won't be much longer until we have some beta boards that will be available for testing. If we get to that point I will be available to test.

    Anybody in the US who has already ordered panels and is interested in getting a beta board can contact me. I'm pretty sure there won't be any more revisions at this point. I have versions with and without the level shifter in the pipeline at both OSHPark and SeeedStudio, but won't have either in hand until at least the end of the week.

    #291 8 years ago
    Quoted from Crash:

    I haven't been able to find anything on the vpinmame.dll file you're talking about that allows you to record the DMD to a file.

    You may have to try one of the Virtual Pinball boards.

    Still working on features and bug fixes while I'm waiting for more boards (should be this week). I got a little sidetracked by the absolute train wreck that is the PinMAME keyboard input code.

    EDIT: Ugh, that was seriously unpleasant, but PinMAME keyboard input works again under SDL and I can get back to looking at whatever it was I started on 6 hours ago.

    #294 8 years ago
    Quoted from Snux:

    There are a bunch of different options when ordering from Ponoko - material etc.... what did you choose? Never done this before

    3mm black acrylic, with matte surface for the front.

    http://www.ponoko.com/make-and-sell/show-material/341-acrylic-black-matte-1-side-

    #295 8 years ago

    Today's good news: After spending all that time getting the keyboard input working in PinMAME getting it to send out the DMD images went pretty fast.

    Today's annoying news: I just got my first data dump from a WhiteStar system game and they're going to be another big pain in the butt because the DMD timing is all sorts of crazy.

    WARNING: I've now heard from two people who tried to order the 64x64 panels and got a monolithic single panel. If you're going to try that you need to be VERY careful you know what you're getting. 1/16th scan, and obviously 80mm are important keywords to look for.

    #302 8 years ago

    Just finishing up the PinMAME stuff. Should the dots for the 16x128 Data East DMD go in the middle or the bottom half?

    #312 8 years ago
    Quoted from rubberducks:

    The effective refresh rate looks good on these LEDs and blacks are obviously absolute once any fade has finished. As for modulation of brightness, hopefully they don't use PWM, as that introduces flicker which is very noticeable to some.

    In some sense of the term PWM is the only way to control brightness on an LED, so yes, they are sort of using PWM. Just like with a Stern "16 color" DMD there are 4 or more updates of each line of data, varying in duration during which each individual red, green, and blue LED can be either on or off. Because of some very clever coding (not all by me) the controller is able to do those updates incredibly quickly. It can keep up with the 120Hz refresh rate that WPC uses for its single color refresh and still fit 8 subframes into every update.

    EDIT: Changed the subframe count, as it's actually doing 8 bits per channel color / 8 subframes.

    #314 8 years ago
    Quoted from rubberducks:

    Interesting, thanks for the info. I haven't managed to gather, what's the colour palette on these? or can each RGBW array only have one of the 4 LEDs on?

    They are only RGB, not RGBW, but they are individually controlled. They have pretty good color characteristics, if you'd like to send me a 32x128 color image I'd be happy to get a photo, but of course it's not quite the same as seeing them in person.

    #325 8 years ago
    Quoted from rubberducks:

    Were RGBW unavailable or just prohibitively expensive?

    Not available in this form factor, but as I've said the color fidelity is surprisingly good once you gamma correct.

    I got the "mini" version of the carrier boards back from OSHPark and I'm ready to provide brains for testing once Aaron or anyone else gets their hands on more panels.

    #328 8 years ago
    Quoted from rubberducks:

    do you need to program it on a per LED basis or do you have an interface or API that just specifies desired colour / brightness / duration etc? It would be a major pain having to redo everything if and when RGBWs become available.
    Anyway, whole thing looks pretty promising.

    There's an API you just feed an array of colors. I really doubt there will be RGBW versions, since these panels are pretty standardized, they just haven't been previously available in the exact size we needed. If there ever were it would require hardware changes to support the extra channel, but both the hardware and software changes would be trivial.

    #332 8 years ago
    Quoted from jedimastermatt:

    So, you wouldn't recommend this as a TZ B&W alternative. Best option is still ColorDMD for this I would assume.

    I've been using my TZ with a black and white palette as testing the whole time. Looks good to me, but different people are bothered by different things.

    #340 8 years ago

    If you were REALLY going for the black and white television look on a Twilight Zone you'd want to use a light gray gel on whatever you were using anyway. It's not very productive to worry about the color accuracy without some sort of goal in mind for what you're trying to achieve. From my testing the biggest issue won't be decent looking white but getting really dark colors, as even the minimal LED on time produces somewhat bright dots.

    #342 8 years ago

    It's 0.542 uS running at 8bits per channel color and 120Hz update.

    EDIT: And 25% brightness, so if for some reason you were running at 100% brightness it would presumably be closer to 2.2uS, but I didn't reconnect it and measure.

    #345 8 years ago

    Yeah, at some point you're going to want some way to attach it to the cabinet anyway so the two panels don't actually need to be connected to each other. I did temporarily hot glue my frames together at the edge for testing while I waited for my laser cut holder to arrive and that worked fine and peeled off easily when I was done.

    #352 8 years ago

    Been doing some other stuff, but got back to this today. Starting to work on automatic game detection.

    CRC rows 12 to 18, bytes 0 to 6
    .*****..***...***...***...***...................
    .*.....*...*.*...*.*...*.*...*..................
    .****..*...*.*...*.....*.*...*..................
    .....*.*...*.*...*...**..*...*..................
    .....*.*...*.*...*..*....*...*..................
    .*...*.*...*.*...*.*.....*...*..................
    ..***...***...***..*****..***...................
    CRC: 0x0c9d37c3
    
    CRC rows 12 to 18, bytes 0 to 6
    .*****..***...***....**....**...................
    .*.....*...*.*...*..*.....*.....................
    .****..*...*.*...*.*.....*......................
    .....*.*...*.*...*.****..****...................
    .....*.*...*.*...*.*...*.*...*..................
    .*...*.*...*.*...*.*...*.*...*..................
    ..***...***...***...***...***...................
    CRC: 0x31341563
    #356 8 years ago
    Quoted from Patofnaud:

    50020
    50066?
    » YouTube video

    Yeah, sorry to be obscure. Crash has it. WPC games conveniently have a standard boot screen that displays the game ID. By building a checksum of that portion of the DMD we can look the game up in a table and have a predefined set of colors that work well for each game. Unfortunately other manufacturers are less consistent in their boot screens, but many of them do match a few basic patterns:

    CRC rows 3 to 9, bytes 2 to 13
    ......................*****.****...***..**....**.....***........**...***........................
    ......................**..*.**..*.**..*.**....**....**..*......***..*..**.......................
    ......................**..*.**..*.**..*.**....**....**..*.......**.....**.......................
    ......................*****.**..*.**..*.**....**....**..*.......**...***........................
    ......................**..*.****..**..*.**....**....**..*.......**.....**.......................
    ......................**..*.**....**..*.**....**....**..*.......**..*..**.......................
    ......................**..*.**.....***..*****.*****..***.......****..***........................
    CRC: 0xa0264089
    
    CRC rows 3 to 9, bytes 2 to 13
    ...****..***..*...*.****...****..***..*...*..****.....****...***..*...*.....****..*****.*...*...
    ..*.......*...**.**.*...*.*.....*...*.**..*.*.........*...*...*...**..*.....*...*...*...*...*...
    ..*.......*...*.*.*.*...*.*.....*...*.*.*.*.*.........*...*...*...*.*.*.....*...*...*....*.*....
    ...***....*...*...*.****...***..*...*.*..**..***......****....*...*..**.....****....*.....*.....
    ......*...*...*...*.*.........*.*...*.*...*.....*.....*.......*...*...*.....*.......*.....*.....
    ......*...*...*...*.*.........*.*...*.*...*.....*.....*.......*...*...*.....*.......*.....*.....
    ..****...***..*...*.*.....****...***..*...*.****......*......***..*...*.....*.......*.....*.....
    CRC: 0x6d088b1d
    
    CRC rows 3 to 9, bytes 2 to 13
    ....................*****..***..*...*.*****.*.....*...*.....****.*...*.*...*....................
    ....................*.....*...*.**.**...*...*.....*...*....*.....*...*.*...*....................
    ....................*.....*...*.*.*.*...*...*.....*...*....*.....*...*.*...*....................
    ....................****..*****.*.*.*...*...*......*.*.....*..**.*...*..*.*.....................
    ....................*.....*...*.*...*...*...*.......*......*...*.*...*...*......................
    ....................*.....*...*.*...*...*...*.......*......*...*.*...*...*......................
    ....................*.....*...*.*...*.*****.*****...*.......****..***....*......................
    CRC: 0x4dce375c
    #360 8 years ago
    Quoted from russdx:

    Because you would be using this device in only one pinball at a time and it would be most likely preloaded with colour data for that particular game do you need to dynamically detect the game on boot? Could it all be pre configured in the micro before being installed?

    There's a split between those who like to adjust everything just perfectly and those who want to put stuff in a game and forget about it, just trying to support everyone. Plus I can at least imagine cases where knowing the game might help the code with timing or something. Also, I needed something to work on while I wait for people to get panels.

    #372 8 years ago
    Quoted from Curbfeeler:

    So I've been curious about the colorization process. So let's say I play through a game and record out all the animations in the game and definitely want to recolor those, so I assign a palette to each animation. Then is there a "general" palette for the game as a whole that is assigned to scoring, etc. ?

    There's going to be a lot of variation depending on how you're doing the palette assignment, but there would always be a default palette that gets used if it doesn't know what else to do with a screen. In general, if you're doing palette swapping rather than color merging (this is the difference between SmartDMD and ColorDMD) scores will be displayed in whatever the matching color from the palette is, which is usually 100% on.

    1 month later
    #408 8 years ago

    I think I've got the Whitestar issue worked out finally.

    Good news is I've been able to optimize the board some while I was working on that, so it's looking pretty good at this point.

    P1000618_(resized).jpgP1000618_(resized).jpg

    #410 8 years ago
    Quoted from rubberducks:

    Are you able to go all purple to match XPin (which are awesome IMO)?

    OSHPark (which is a place is the US that combines small run PCB orders and is really popular with hobbyist designers) uses purple for all their boards. Usually you'd switch to somebody else when done prototyping, since they are kind of expensive for larger orders.

    #418 8 years ago
    Quoted from rubberducks:

    But it looks so good ...

    So you're saying you're in for the OSHPark LE?

    #419 8 years ago
    Quoted from tezting:

    What is the must smooth/nice looking power supply setup? (WPC)
    It would be nice if it could be connected without another power cable going to the machine?

    You can't hook it into the 5v supply on a WPC machine. The panels take too much current and you'll get resets or a blown 5v fuse. You'll either need to provide an additional supply of some kind or step down one of the other voltages.

    #422 8 years ago
    Quoted from CactusJack:

    I would be apprehensive to tax any of the existing power supplies/voltages with a step down converter. As was discussed, full white drive of all LEDs can put quite a load on the 5V required. I would think an added power supply is almost a necessity in this case.
    Obviously, the game's service outlet is powered all the time so that is not a great choice for the LED power supply AC.
    Two possible plug and play alternatives would be:
    An in-between jumper cable placed either
    between the transformer's AC input plug.
    or between the AC going to the Dollar Bill Validator plug.
    The problem is the pinout, and brand of connectors varies greatly from pin manufacturer to manufacturer.
    Armed with the proper pin extractors, you could pop out the 2 AC pins at either of the above and splice a second pigtail connector (2 wires to each crimp) into existing connector housings.

    If the controller is hooked into the pin's 5v the screen will go dark when that loses power and there's no enable signal, so the service outlet may still be a viable option. Power supply is the thing I've looked at the least though, and it may end up being something that varies from system to system.

    #427 8 years ago
    Quoted from CactusJack:

    Here are a couple of plastic encased 5 volt 5/6 amp power supplies:
    ebay.com link » 5 Volt Power Supply
    ebay.com link » 5 Volt 5 Amp Dc Power Supply Kingpro Good For Arduino And Raspberry Pi Projects
    Can remember how much current it was determined these displays required when throttled down from 100% brightness?
    If you need more than 6 amps, I am pretty sure you would need to go the route of a Metal Encased screw terminal switcher.

    Full brightness: 6.8A @ 5.00v
    75% brightness: 5.7A
    50% brightness: 4.3A
    25% brightness: 2.4A

    That's 100% white on both panels. In real world testing of actual game display at reasonable brightness it's more like 2A.

    #430 8 years ago
    Quoted from Aurich:

    What setting are you using for "reasonable"? If I remember right from Expo I was told 18% was around the sweet spot.

    Anything above about 50% you can't look directly at it without wearing sunglasses, so that will probably be the max in the software. I think that ~2A gameplay number was at 25%, which I feel is about traditional DMD brightness (for white dots, other colors you'd probably want brighter.)

    Quoted from Crash:

    So would a 2.5A fuse be a good choice for the 5V rail?

    I'll have to take more measurements, but it will probably be higher than that just for some overhead and odd cases like the inverted DMD tests.

    1 week later
    #441 8 years ago
    Quoted from Crash:

    This display uses a half and half solution, so the only divide would be vertically straight down the middle. From what I can tell from the photos and videos this won't be noticeable.

    Yeah, there aren't any blocks. You might possibly want to hide the edges of the panel itself, since it's "deeper" than a regular DMD, but you could do that with a cutout border around the panel.

    Quoted from agodfrey:

    To back up a little bit just trying to get a hold of what plans/intensions are. OBV you can do this all right now with boards that can be had from VP universe. (Sorry I'm a little slow sometimes) it seems like ecurtz is working on a board that is more suited to real pins as opposed to a board that is supposed to be used in Virtual pinball but CAN be used in real pins.

    I've been having a major trying to get all the versions of Whitestar display boards to play nice with my hardware. I was planning to have all the major systems ready to go before trying to do any more general release, but I know it's been a while. If I don't make any traction on my issue the rest of this week I'll reevaluate what the dev priorities are, since I certainly want people to be able to play with them ASAP.

    1 week later
    #461 8 years ago

    Sorry to be AWOL, I've been down with a head cold this week.

    Significant progress on the Whitestar issue, so I'm fairly confident on that front now.

    I've just put in the order for more boards, so people who are interested in using my stuff will be able to get a controller in the same package if you're getting panels from Aaron. It's still officially "beta" and I can't 100% guarantee that they'll work in every machine, but I'll be posting the code at that point as well, and will work on bug fixes or take them back if you have issues on any particular HW. The only thing they definitely don't support is Spooky, who use a non-standard protocol to control their DMD.

    #463 8 years ago
    Quoted from Crash:

    Since we're on the subject of other manufacturers, has anyone doing this project considered PPS support? MMR (and I would say AFMR) has a 14 pin header labeled "DMD." I tried testing for a signal but I can't grab the a DMD from a neighboring game (cables too short).

    If there's a signal at all it's probably standard. But you wouldn't have the color data that they're using for the LCD display.

    #501 8 years ago
    Quoted from fastpinball:

    You would prefer to pay a local place to produce our design for you instead of buying what we produced?
    Aaron
    FAST Pinball

    It's cheaper to get them from Aaron than Ponoko, but if you have access to your own laser cutter I did post my design file for a similar mount earlier in the thread.

    #510 8 years ago
    Quoted from agodfrey:

    ecurtz any preview of insight into what your software interface will be like? So close I am taste it!!

    It will depend a bit on what people think is most important once they begin using them I guess. To start I'll be happy if it just identifies the system and displays the dots correctly on every WPC, Whitestar, and SAM game.

    The first two obvious post release things, which I've at least thought about a bit and set aside storage for in the code are: Identifying the game from the boot screen and providing a custom default color palette for each game. Working with Oga to use SmartDMD data for palette switching on SAM games. I've done proof of concept work on the hard bits of both of those and don't think there will be issues with either.

    There's an interface in place for streaming video to it over USB for people doing home-brew machines who want full color, but that also has some methods for setting persistent preferences such as the default color palette, so there should probably be a little app to talk to those for people who don't want to look at any code.

    #518 8 years ago
    Quoted from agodfrey:

    Will there be, or is it possible, to do pallet switching on WPC?
    By the way, thanks so much for all the hard work!!!

    There are various methods for doing palette switching. You can modify the ROM in the same way SmartDMD does SAM stuff, or you can identify frames (or portions of frames) as they are displayed using a checksum, which is what ColorDMD does and what's happening in that CV video. The Teensy has hardware support for various checksum methods, but md5 which is what pin2dmd is using isn't one of them so the Teensy can't use the same data files. I don't know if their palette editor is open source? If it is I'd be happy to add output of the alternate checksum calculation. I've put it into PinMAME locally, just as debug output, but that isn't necessarily a convenient way to do anything.

    #521 8 years ago
    Quoted from Crash:

    The side channel method is SAM only, how would you use the same technique for WPC ROMs?

    The original SmartDMD method writes a palette id into the first 8 dots of images in the ROM, which you could use for WPC.

    Quoted from agodfrey:

    Ok. I guess we'll see what shakes out, thanks!

    I don't mean to dampen your enthusiasm, it just isn't necessarily trivial to do in a way that's clean and works everywhere. If you're focusing on any one particular game there is almost certainly a way to do it. Watching that CV video most WPC games don't really have all that much animation, so frame checksums probably would work in lots of places.

    #524 8 years ago
    Quoted from Crash:

    I believe the source for the goDMD editor is here:
    https://github.com/sker65/go-dmd-clock
    The editor stores the checksum for each frame in the palette text file. Alternatively, would it be possible to write a script to convert the checksums to a different type of hash?

    Checksums / hashes are one way. If they weren't you could use them for super efficient compression. Doesn't look like the clock tool and the pin2dmd tool are the same. Getting the hashes directly from PinMAME is sort of convenient in some ways, but interacting with the simulation is annoying. I'll think about whether there's a better way to do that. It would also be possible to attach a button or something and dump them directly from the Teensy while it was running...

    #526 8 years ago
    Quoted from lucky1:

    It is also the source of pin2dmd editor from Steve

    Ah, there you go then. I'll add the alternate version that the Teensy needs and they'll be able to share the same checksum based palette switches.

    #535 8 years ago
    Quoted from Ahoernchen:

    What about the large Sega DMDs?

    You can't currently get panels with the right dot size to match them.

    #541 8 years ago
    Quoted from agodfrey:

    Do we have the option of waiting to have Eli's board shipped with it?
    Also any news on power supplies or just order our own.

    Yeah. It might delay your shipping a day or two depending on my Mouser order. I wasn't expecting international shipping to beat the USPS.

    #552 8 years ago
    Quoted from winteriscoming:

    Also, for Eli's board you'll need to buy a Teensy separately, right? Or is that going to be an option from Fast as well?

    I ordered a "buttload" of Teensy 3.2s, they will be included with the board.

    #564 8 years ago
    Quoted from boogies:

    Will Elis board work with P-ROC? I believe the timing cycles are different than other systems.

    It will work with a P-ROC, but there's no real advantage to using it in that way if you're doing a custom game, you can just talk to it over USB and get full color. The streaming support is already coded, with some basic examples in Python and C for the host computer.

    Quoted from lucky1:

    Eli told me that is uses the same timing like SAM. But it is not a big issue to add other timings.

    P-ROC has four bit planes with equal timing during the boot screen and then switches to SAM style variable timing once it begin displaying images from the host.

    #573 8 years ago
    Quoted from winteriscoming:

    Option from ecurtz: Not sure on final price at the moment

    $50 fully assembled including Teensy. I have to do a few and see how long/annoying it is to determine the you-solder price, but $40-$45.

    #574 8 years ago
    Quoted from ForceFlow:

    Has anyone tried this pin2dmd solution on any Gottlieb System 3 games?

    curbfeeler has successfully used my version in a DE Last Action Hero, which looks to have almost identical DMD timings to the Gottlieb System 3, so it should be possible. I'm not sure if the Pin2DMD group has tested non-WPC games yet or not.

    #577 8 years ago
    Quoted from winteriscoming:

    Inclusive of Teensy?

    Yes, edited above to be clear.

    #596 8 years ago

    Well, I ordered some 603 METRIC parts, which I didn't even know was a thing, and they are invisibly tiny, so I'm doing documentation this weekend instead of assembly and that's getting bumped to the middle of the week.

    Quoted from agodfrey:

    Since I ordered my panels from Aaron and don't mind waiting maybe I'll wait to ship together

    You may want to just go ahead and I can mail these separately.

    #598 8 years ago
    Quoted from Crash:

    Whoa, seriously? That would be very useful for getting dumps of specific animations. To my knowledge there is no way to do this in PinMAME since you cannot drag the ball around in Visual Pinball or manual trigger switches. Just take the glass off, start recording, and start the mode you want to record animations for.

    You can manually trigger switches in PinMAME when it's run by itself rather than as a backend for Visual Pinball.

    #601 8 years ago
    Quoted from Crash:

    I was never successful in getting that to work, followed the instructions exactly but no switches ever registered via the keyboard.

    What OS? I had to fix some errors in the keyboard handling on the Mac to get it to work.

    #603 8 years ago
    Quoted from Crash:

    Oh, didn't realize you developed for PinMAME. Windows 7 x64. I have a thread here:
    http://www.vpforums.org/index.php?showtopic=33174

    I don't, but I have done bits in the past. I helped Gerry get the P-ROC support in there, and I've been playing with it recently for this stuff.

    #620 8 years ago
    Quoted from Coyote:

    Hey Aaron -
    You guys are sending stuff out of Gig Harbor, right? For some reason, USPS thinks ya'll're sending me 5 boxes - I'm hoping ya'll didn't get charged for these, even if nothing's being sent.

    He was having some sort of issue with his shipping software, but it sounded like he got it figured out.

    2 weeks later
    #742 8 years ago
    Quoted from pinballshark:

    I've got this nice RGB LED panel from Fast Pinball and nothing to plug it into. Does anybody have any DMD to RGB panel interface they can sell me?

    You can get one of my boards directly from me, just send me a PM. Or you can get one of the ones lucky1 is using through one of the members of vpuniverse.com.

    #751 8 years ago
    Quoted from winteriscoming:

    I'm almost hesitant to post anything in fear that I would be making it look bad.

    winteriscoming, agodfrey, and other testers who haven'y been in this thread have all been very helpful in ironing out bugs and patient with me cursing the programmers of their various machines. So far we haven't found anything that seems like it won't eventually be fixed, but keep in mind this is still a work in progress and there will be some adventures along the way.

    #754 8 years ago
    Quoted from winteriscoming:

    Ecurtz assembles the RGB.DMD boards (or offers DIY kits if you want to assemble yourself) on his end that are compatible with his software, which as far as I'm seeing is freely available. At the price he's selling these for, I can't imagine there's much profit.

    I'm losing money on every board*, but I hope to make it up in quantity.

    *Not quite true, but I certainly don't want to know what I'm valuing my time at if you figure in development.

    #768 8 years ago

    I'm going to try and stay out of the patent argument, but I did read it and would agree with oga83 that (in my non-lawyer opinion) his side-channel color data does not infringe.

    Hooked the plasma display back up and tried to get a good default matching palette. This looked very close to the naked eye, but clearly needs a little more adjusting.
    P1000623_(resized).jpgP1000623_(resized).jpg

    #770 8 years ago
    Quoted from Coyote:

    Looks real good. Would be curious to see what values you end up with..!

    It's pretty clunky, but here's a Google sheets document where people can share color palettes:
    https://docs.google.com/spreadsheets/d/1NhEcptFEQpfn_NMO9PVFLbWIuYJ64w5DLGVbWvxG0d0

    If you enter hex colors in the format "#RRGGBB" it has an add-in to change the background color to match (although they obviously aren't very accurate to the LED display).

    1 week later
    #798 8 years ago

    They both do color, but Lucky's board will let you adjust the images on a per screen basis if you're willing to ignore the ColorDMD patent.

    Cost for either is around $100 for the panels, $50 for the controller and maybe $15 for a power supply.

    #818 8 years ago
    Quoted from djb_rh:

    Sorry if it seems mundane or unfair to you, but it's kind of an important topic. True open source would be pretty easy to understand. True closed source, same. This stuff in the middle? Not so clear cut.

    It's an important issue, but the discussion is now spread across two threads. I agree it would be nice to keep it in the other one: https://pinside.com/pinball/forum/topic/stolen-pin2dmd-color-rgb-controller-from-pinballspcom

    #823 8 years ago
    Quoted from russdx:

    ecurtz could you list all the features your firmware supports? also is there a guide to setting it all up ie where to download the firmware etc...
    Thanks

    You can get all the code from github: https://github.com/ecurtz/RGB_DMD - it's released under the very liberal MIT license. There is some extremely basic documentation there as well, but if people want to add to that I'm very open to submissions.

    There are still some bugs but it supports all manufacturers (except Spooky) who use 32x128 DMD displays with a custom palette using the same number of colors as the original machine. It uses 8 bit per channel color so you have a lot of control for getting the colors exactly as you want them. I plan to support the side-channel colorization from PinballBrowser as well, but that is not yet implemented.

    There is support for sending full color, or indexed color frames from a computer over USB for people working on custom machines or who just want to use the display for a non-pinball thing. There are also USB commands for setting the palettes, storing preferences, etc. but there's not yet anything from the computer side making use of those commands.

    There is proof of concept code for outputting from PinMAME to the DMD, but that hasn't been submitted back into the PinMAME repository yet. If anyone is interested in the WIP version of that I'm happy to send it to them.

    #824 8 years ago
    Quoted from Darscot:

    As a software engineer I just want to buy the hardware and gain access to the open source repository.

    Based on these requirements the RGB_DMD is probably a better solution for you than the Pin2DMD. The code is MIT licensed: https://github.com/ecurtz/RGB_DMD . The board is "commercial" (it would be trivial to copy but you'd barely save anything over buying one from me).

    #827 8 years ago

    The "Arduino language" is C++, they just pretend it isn't to be less scary to beginners.

    Edit: Also I just looked at your code and it's in C, not C++. I can tell from the pixels, and having seen quite a few C++ files in my time.

    #830 8 years ago
    Quoted from russdx:

    Can i install your fimware on my own DMD hardware to play with it? (not sell or distribute just see what it does)

    Of course. MIT license even allows commercial use (it's basically "do anything but remove the copyright statement and redistribute").

    #832 8 years ago
    Quoted from carlitos_litos:

    May you provide schematic about your adapter board for Teensy to connect to DMD ??. I see only pictures, see you have add two more chips in that adapter board and also do not know what pins of Teensy connect to each input/output signal.

    I'm not releasing the hardware design, only the software. It would be simple to clone, but I'd prefer if you didn't.

    The pin definitions are all available in the software:
    #define GPIO_PIN_CLK_TEENSY_PIN 14
    #define GPIO_PIN_B0_TEENSY_PIN 6
    #define GPIO_PIN_R0_TEENSY_PIN 2
    #define GPIO_PIN_R1_TEENSY_PIN 21
    #define GPIO_PIN_G0_TEENSY_PIN 5
    #define GPIO_PIN_G1_TEENSY_PIN 7
    #define GPIO_PIN_B1_TEENSY_PIN 20
    #define ADDX_TEENSY_PIN_0 9
    #define ADDX_TEENSY_PIN_1 10
    #define ADDX_TEENSY_PIN_2 22
    #define ADDX_TEENSY_PIN_3 23
    const static uint8_t DMD_ROW_DATA = 17;
    const static uint8_t DMD_ROW_CLK = 16;
    const static uint8_t DMD_DOT_LATCH = 18;
    const static uint8_t DMD_OE = 19;
    and 3 pins on SPI0: 10, 11, 12

    #834 8 years ago
    Quoted from carlitos_litos:

    Thanks Ecurtz.
    I do not want to clone your board, simply I want to test it in a protoboard with Teensy I have already.
    May you tell me what references are those two chips ??, I suppose will be some input buffer, perhaps 74HC14 or 74HC04, to improve read of data signals from pinball, instead of connect directly to Teensy ports.
    EDIT: ok, I see in a picture that those chips are 3-state bus transceivers 74LS245.
    Its not possible connect directly output ports of Teensy to Input Data of Led panels, need add 2 bus transceivers ??.

    You can connect directly to the outputs. Some of the earlier 3mm boards only worked at 5v, but every 2.5mm panel I've heard of works fine at 3.3v and I've removed those level converters on the new boards.

    #839 8 years ago
    Quoted from carlitos_litos:

    Interesting, I have think about to do a new PCB, but directly with the Freescale MCU chip, not the Teensy board, and program it with a JTAG programmer.

    If you do build a compatible board with JTAG let me know, I've got a couple weird bugs you can look at.

    #843 8 years ago
    Quoted from carlitos_litos:

    Do you have develop all your software without do Debug ??, I think its really hard develop and test software if can not run software under Debug.

    There's still good old fashioned "printf debugging".

    #852 8 years ago
    Quoted from carlitos_litos:

    One question please; Your firmware do not support keyframe to apply multiple color palettes, and some Editor to colorize it ??

    I don't currently have plans to support modifying colored frames based on checksums.

    #856 8 years ago
    Quoted from russdx:

    ecurtz what about sending pre coloured frames from pinMame this does not intrude on any patents? as your device is receiving the frames already coloured and from a computer not a pinball machine. Or does the pinMame side of things not really interest you.

    Displaying colored data received over USB certainly doesn't infringe any patents, whether it be from PinMAME or a custom app. The current PinMAME proof of concept code only sends 4bit indexed images, but the display code supports 4bit and 8bit indexed as well as 8bit per channel color.

    #868 8 years ago
    Quoted from sysprog:

    Has anyone tested RGB.DMD in TAF yet? In my testing it seems to work correctly For a while, then the image shifts to the right about 18 pixels and down 1.

    Yeah, as agodfrey mentioned it's been updated on github - https://github.com/ecurtz/RGB_DMD. It would be interesting to hear if you have better results with or without the define on line 11 of InputDMD.ino.
    #define DMA_COMPLETION_ISR 1

    #872 8 years ago
    Quoted from Coyote:

    Everything's shifted up one row, so the top row is moved to the bottom..

    That's a software issue - what are you running?

    #879 8 years ago

    I don't think I could lock the thread myself anyway, but it doesn't seem necessary. Somebody should probably start a thread for Pin2DMD support similar to the RGB.DMD one pfinny points out above. It still seems useful for a general thread covering things like questions about panels, and we can try to move software specific stuff and bug reports into the other threads.

    1 week later
    #899 8 years ago
    Quoted from shimoda:

    To clarify, he isn't going after anyone for a similar looking product, just any product that uses technology that he patented (and patented because he was the first to do it). For example, anyone that came up with an alternate system for coloring that relied on none of the methods or algorithm's he developed and patented (ultimately just what he patented) would be protected. SmartDMD infringed by utilizing particular algorithms. SmartDMD would have had other commercial considerations that would have costed as much or more though, that being licensing as you actually change the rom.

    SmartDMD does not appear to infringe on the ColorDMD patent. (I am not a lawyer, this is not legal advice, etc.).

    2 years later
    #992 5 years ago

    Sorry nobody ever responded to this - you have to ping me by direct message or email if you want to get a hold of me these days. The Eagle files for the board are up on GitHub with the code and you can get the PCBs made from those at OSHPark or similar places.

    You're currently viewing posts by Pinsider ecurtz.
    Click here to go back to viewing the entire thread.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/rgb-led-panels-for-dmd-replacement?tu=ecurtz and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.