mitxela.com forum
Welcome. Please log in or register.

FLIP Pendant
ATIoNo Posted: 15 Jan 2025, 03:43 AM
Avatar


Member
Posts: 4
Joined: 30-June 20
My second favorite project after the precision clock. Would've loved to have gotten my hands on one, but I came in 11 hours too late it seemed.

I believe the video presentation was also one of your longer ones, though half as long as the UV pendant video. Lovely job on all parts of the project, as usual.

I dug through git.mitxela and github, but found no project files. Is this project something you'll consider sharing? Am I badgering you before you've gotten a chance to publish? Either way, I would absolutely love to give producing one of these a go, hope it's not too near and dear to your heart.

Lovely confluence of all you like to do. Regards.

-------------
[top]
Dunkle Posted: 15 Jan 2025, 05:15 PM
Avatar


Member
Posts: 1
Joined: 15-January 25
I also want to know its specific details. I plan to use STM32, MPU6050, and 16 * 16 WS2812 for production

-------------
[top]
SapereAude1490 Posted: 16 Jan 2025, 11:07 AM
Avatar


Member
Posts: 3
Joined: 16-January 25
From the blog post:

"These demos, along with the source code to the pendant itself, are not yet released to the public, but I plan to do that at some point in future. I figured that at least for a short while, given that I've put some of the pendants up for sale, there should be some mystery behind their exact operation, but all will be revealed in time."

-------------
[top]
Tonyp56 Posted: 17 Jan 2025, 08:58 PM
Avatar


Member
Posts: 1
Joined: 17-January 25
How much to purchase the pendant from you?

-------------
[top]
Slashasher Posted: 11 Apr 2025, 04:52 AM
Avatar


Member
Posts: 1
Joined: 11-April 25
Any update on if or when the files for this project will be shared? I plan on taking the original design and morphing it to a credit card sized format.

-------------
[top]
mit Posted: 14 Apr 2025, 08:36 PM
Avatar
yeah whatever

Admin
Posts: 637
Joined: 4-May 16
QUOTE (Slashasher)
Any update on if or when the files for this project will be shared? I plan on taking the original design and morphing it to a credit card sized format.
Probably at least a few months sorry.

-------------
[top]
Lestat Posted: 29 Apr 2025, 11:02 AM
Avatar


Member
Posts: 1
Joined: 21-January 25
here and waiting lol i just need to know the cap / res and mayve the code for the chip but i have a pcb ready to go i think

-------------
[top]
MrFastfinger Posted: 30 Apr 2025, 11:49 AM
Avatar


Member
Posts: 2
Joined: 30-April 25
I really liked your project and decided to create something similar for my engineering thesis.

As far as I understand, it's not possible to update GPIO pins using DMA on the STM32L4xx series.
It works on my STM32F103, but not on my STM32L467RG.

How did you manage to make it work?

I implemented the display using two 4-bit decoders instead of using Charlieplexing. This way, I don’t have to deal with tri-state outputs — I just need to update the GPIOA register.

-------------
[top]
mit Posted: 1 May 2025, 10:27 AM
Avatar
yeah whatever

Admin
Posts: 637
Joined: 4-May 16
QUOTE (MrFastfinger)
I really liked your project and decided to create something similar for my engineering thesis.

As far as I understand, it's not possible to update GPIO pins using DMA on the STM32L4xx series.
It works on my STM32F103, but not on my STM32L467RG.

How did you manage to make it work?

I implemented the display using two 4-bit decoders instead of using Charlieplexing. This way, I don’t have to deal with tri-state outputs — I just need to update the GPIOA register.
DMA to GPIO is definitely possible on both L476 and L432. The setup is probably different to the F103 though as they have a different number of streams/channels, I can't remember the details. It's also different again on the newer generation of chips with their GPDMA.

-------------
[top]
MrFastfinger Posted: 2 May 2025, 10:31 AM
Avatar


Member
Posts: 2
Joined: 30-April 25
QUOTE (mit)
QUOTE (MrFastfinger)
I really liked your project and decided to create something similar for my engineering thesis.

As far as I understand, it's not possible to update GPIO pins using DMA on the STM32L4xx series.
It works on my STM32F103, but not on my STM32L467RG.

How did you manage to make it work?

I implemented the display using two 4-bit decoders instead of using Charlieplexing. This way, I don’t have to deal with tri-state outputs — I just need to update the GPIOA register.
DMA to GPIO is definitely possible on both L476 and L432. The setup is probably different to the F103 though as they have a different number of streams/channels, I can't remember the details. It's also different again on the newer generation of chips with their GPDMA.

I've been trying to get it to work since your reply. I found out it might be possible using DMA to write to GPIO->BSRR, but I couldn't get it working. I think I still need more experience to pull this off.
In the meantime, I optimized my simulation parameters, and now it runs decently on my F103. (I also overclocked it to 128MHz...)

Last edit by MrFastfinger at 2 May 2025, 10:33 AM

-------------
[top]
Jos Posted: 27 May 2025, 06:10 AM
Avatar


Member
Posts: 1
Joined: 27-May 25
Hello, I followed your suggestions and built a prototype, but encountered some issues. After adding collision detection, the refresh rate became too slow and the screen appears too dim. Have you performed any overclocking?
Regarding DMA usage:
- I'm only using DMA to control GPIO output levels
- I'm not using DMA to change GPIO input/output modes
- Could DMA also be used to control GPIO modes?

-------------
[top]
Nick Posted: 1 Aug 2025, 06:42 AM
Avatar


Member
Posts: 1
Joined: 1-August 25
QUOTE (Slashasher)
Any update on if or when the files for this project will be shared? I plan on taking the original design and morphing it to a credit card sized format.

Well crap, I swear I didn't rip this idea of on purpose. I had the same idea separately for a business card version after watching the video.

https://github.com/Nicholas-L-Johnson/flip-card

(User posted image)


Last edit by Nick at 1 Aug 2025, 08:24 PM

-------------
[top]
mit Posted: 3 Aug 2025, 10:15 AM
Avatar
yeah whatever

Admin
Posts: 637
Joined: 4-May 16
Very nice! And in Rust too.

I've also built a few square/rectangular fluid simulation toys that I haven't published yet. I really ought to get round to it.

-------------
[top]
barryabrams Posted: 9 Sep 2025, 03:03 PM
Avatar


Member
Posts: 1
Joined: 9-September 25
I'm working on a personal project using similar hardware (STM32L432 + Accelerometer) to drive a charlieplexed matrix. I could use some pointers.

I can run the matrix in a timer and the refresh is mostly flicker free. But i'd love to know how you worked the DMA magic as I've spent days struggling to get it to work with both GPIOA and B banks. I've gotten the DMA to work if I pretend it's a traditional matrix and treat A as columns and B as rows. It only allows 1/2 the leds to work.

I did the same thing and started my fluid simulation by watching the 10 minute physics demo, creating an example in language i know well (javascript), then rewriting it in C (which i'm ok at). It's.... ok. It's very very slow, and mostly has to do with the logic where i'm enforcing density. So maybe the timer based logic for the led's is eating up my CPU overhead?

-------------
[top]
mit Posted: 11 Sep 2025, 04:56 PM
Avatar
yeah whatever

Admin
Posts: 637
Joined: 4-May 16
QUOTE (barryabrams)
I'm working on a personal project using similar hardware (STM32L432 + Accelerometer) to drive a charlieplexed matrix. I could use some pointers.

I can run the matrix in a timer and the refresh is mostly flicker free. But i'd love to know how you worked the DMA magic as I've spent days struggling to get it to work with both GPIOA and B banks. I've gotten the DMA to work if I pretend it's a traditional matrix and treat A as columns and B as rows. It only allows 1/2 the leds to work.

I did the same thing and started my fluid simulation by watching the 10 minute physics demo, creating an example in language i know well (javascript), then rewriting it in C (which i'm ok at). It's.... ok. It's very very slow, and mostly has to do with the logic where i'm enforcing density. So maybe the timer based logic for the led's is eating up my CPU overhead?
As mentioned in the video, it's not possible to update two different GPIO ports in the same cycle, so I don't think it's viable to charlieplex across different ports.

My FLIP implementation is not quite the same as the 10 minute physics version, I did some things differently to optimise it a bit, I can't remember the details now though. Will publish it eventually.

-------------
[top]

Sign in to post a reply.