(Topic ID: 228359)

PIN2DMD running on Teensy 3.6 or DMDMK66

By steve45

5 years ago



Topic Stats

  • 9 posts
  • 4 Pinsiders participating
  • Latest reply 4 years ago by lucky1
  • Topic is favorited by 8 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    20181030_235917 (resized).jpg
    20181029_205124 (resized).jpg
    20181030_235951 (resized).jpg
    #1 5 years ago

    For those of you looking for an alternative device to run pin2dmd as replacement display, look how we turned this:

    20181029_205124 (resized).jpg20181029_205124 (resized).jpg

    to that:

    20181030_235951 (resized).jpg20181030_235951 (resized).jpg20181030_235917 (resized).jpg20181030_235917 (resized).jpg

    And its of course not only a splash screen, but really a full functional port of the pin2dmd firmware to the kinetis processor architecture:

    Configuration files and colorizations are fully compatible to the stm32 version of pin2dmd.

    Hope you like it.

    /Steve

    #2 5 years ago

    You have to add that the STM32 processor still has some big advantages to the Kinetis MK66 and therefore is still the first choice for all future development of pin2dmd. There were a lot of problems we had to get around during the port due to the lack of peripheral functions in the kinetis mpu which speed up the processing of the data, but nevertheless it is working and took us only about 4 weeks to make it happen.

    3 months later
    #3 5 years ago

    FYI:
    Currently we are not able to release the pin2dmd firmware for MK66 because of the lack of information how to pack the firmware for the utasker bootloader (https://github.com/uTasker/uTasker-Kinetis) preloaded on DMDMK66 boards. The encryption option of utasker is activated for firmware updates and as long as we don´t have the encryption parameters (key, prime and shift value) the upgrade process is not at all user friendly and also not reversable. If pinballsp provides us the necessary information we can release the firmware almost instantly.

    #4 5 years ago

    That looks amazing

    7 months later
    #5 4 years ago

    I released the PoC version of the firmware here https://github.com/lucky01/PIN2DMD/tree/master/firmware/latest/MK66
    in case anyone wants to try out pin2dmd firmware on DMDMK66 hardware. Because of the activated code security on the DMDMK66
    the conversion is not for unexperienced users. See instructions on github. Due to the lack of hardware support or differences in the
    MPU peripherals not all pin2dmd features are supported (e.g serial side-channel for Stern SAM) but most should work just fine.

    #6 4 years ago
    Quoted from lucky1:

    I released the PoC version of the firmware here https://github.com/lucky01/PIN2DMD/tree/master/firmware/latest/MK66
    in case anyone wants to try out pin2dmd firmware on DMDMK66 hardware. Because of the activated code security on the DMDMK66
    the conversion is not for unexperienced users. See instructions on github. Due to the lack of hardware support or differences in the
    MPU peripherals not all pin2dmd features are supported (e.g serial side-channel for Stern SAM) but most should work just fine.

    That’s pretty remarkable that you got this working, although I guess I shouldn’t be too surprised since DMDMK66 is so uh, similar... to Pin2DMD

    #7 4 years ago
    Quoted from Rdoyle1978:

    That’s pretty remarkable that you got this working, although I guess I shouldn’t be too surprised since DMDMK66 is so uh, similar... to Pin2DMD

    Although it uses almost the same components (M4 ARM CPU, RGB LED panels) it is very different on the software side. DMDMK66 is based on RGB.DMD from ecurtz which uses the smartmatrix library for the output part. I tried to use that code also for the output but soon found out that it not really suitable. Smartmatrix is very flexible but that brings a lot unneeded overhead. I ended up porting my own output routine to NXP MK66 which wasn´t as easy as I thought. One could think that both STM32F4 and MK66 are arm processors and should be able to do the same, but what makes the difference is not the core but the flexibility of the peripherals the processor offers. For example MK66 can only generate a single interrupt for a port group of 16 pins. Those ports then all share the same priority. STM32 can give different priorities to different pins and if you design it right this can be a big advantage in such a realtime application. Another example is the SPI interface. The NXP MK66 implementation is missing a lot of features like DMA doublebuffering, software slave select to clear the shift registers and support for both MSB and LSB slave input. Of course you can always rebuild the missing functionalities in software but that is just not the same when it comes to performance. Anyways I don´t think that this firmware will be of great use, because of the complicated installation procedure, but who knows. For me it was a great journey and helped me to optimize my own STM32 code because almost all had to be reviewed.

    #8 4 years ago
    Quoted from lucky1:

    Although it uses almost the same components (M4 ARM CPU, RGB LED panels) it is very different on the software side. DMDMK66 is based on RGB.DMD from ecurtz which uses the smartmatrix library for the output part. I tried to use that code also for the output but soon found out that it not really suitable. Smartmatrix is very flexible but that brings a lot unneeded overhead. I ended up porting my own output routine to NXP MK66 which wasn´t as easy as I thought. One could think that both STM32F4 and MK66 are arm processors and should be able to do the same, but what makes the difference is not the core but the flexibility of the peripherals the processor offers. For example MK66 can only generate a single interrupt for a port group of 16 pins. Those ports then all share the same priority. STM32 can give different priorities to different pins and if you design it right this can be a big advantage in such a realtime application. Another example is the SPI interface. The NXP MK66 implementation is missing a lot of features like DMA doublebuffering, software slave select to clear the shift registers and support for both MSB and LSB slave input. Of course you can always rebuild the missing functionalities in software but that is just not the same when it comes to performance. Anyways I don´t think that this firmware will be of great use, because of the complicated installation procedure, but who knows. For me it was a great journey and helped me to optimize my own STM32 code because almost all had to be reviewed.

    Very interesting! And those of us with pin2dmd will benefit from that. I initially had an RGB.DMD which I used in a Twilight Zone, Eli was very helpful sending me all his Eagle
    Files and getting it up and running. But yes .. it only really does 4 colors. I am so much more Happy with pin2dmd

    #9 4 years ago

    Just a quick test in my AFM

    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/pin2dmd-running-on-an-alternative-device 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.