The finished display
Around a year ago, I got my hands on 120 Split-flap displays. As a friend of mine told me about them my first thaught was: I need to have them. So I started my recherches. After some time, I found a YouTuber who had a hand full of modules working which looked a lot like mine. When I got in contact with him, I got a disappointing answer. He had a documentation, but wasn't alowed to give it to me or scan the parts I was interested in. But he could tell me that the modules where controlled via UART with 4800 Baud (Just think about this for a moment, that's almost 5 kBit per second). For power they needed 9V DC for the logic and 48V AC for the motors.
Before getting deeper into the process, I want to say a few words about the shackspace (the Hackerspace in Stuttgart). Like in all other Hackerspaces, it is a place full of know-how and technology. The whole Project was build there and a lot of people helped me around various problems (also with getting my arse around to finish the project). Thank you guys. So if you ever happen to be in Stuttgart, just stop by, have a look at all the amazing projects standing around and ask someone to show you around. Maybe I will also happen to be there.
The displays consist of two parts. There is the display with a voltage regulator, logic, motor and the motorcontroller. Then there is a small PCB which connects the displays with the wires and where the address of the module is set. On this address-chip (I don't know what is the correct term, so I just stick with this name) is also a big electrolytic capacitor. Since such a thing would be absolute bullshit on the signal lines or the AC power lines, I could easily identify the connectors for the 9V power.
A single module from the side.
Almost as easy to identify were the connectors for the motor power. (There were 6 Pins used for both phases of the AC power.) The communication was a bit more of a problem, since I had no clue about the serial protocol in use. So I started to bruteforce my way into it. At a datarate of 4800 Baud you can think for yourself who long this can take.
After finding the manufacturer of the system, I contact them in hope of a complete documentation. But unfortunately, they couldn't find it themselves. I was almost at the point to say throw the whole stuff into the bin and start a new project, when a somehow disturbing miracle happened. Wanting to search for a video on YouTube, I saw a video about the exact same displays on the startpage. It was from the Chaos Computer Club Darmstadt (aka Trollhöhle). They had a few of exactly the same modules and were able to controll them.
So I wrote them about my displays and asked them for help. And guess what, they've had a complete documentation. But they lost it. But I still had some luck. they sent me the code they use to control theirs. Although it wasn't commented very well (The help function answered with "Look at the sources. lol"), it was written well enough to anderstand it easily. So I reverse-engineered the serial protocol from the code and used it to write my own software.
After this, I started to check the modules, and figured that about 30 of them are broken in some way. With 80 of the working ones, I've build a working display just two weeks ago. In just one day I soldered the address-chips together (I couldn't get 80 connectors in that short time) and build a case to show them off at the open day of my local hackerspace. (Yes, I decided to finish them just a day before.) When I got there, I just had to plug the modules into it and was ready to go. So far the plan. In fact I spend the rest of the day debugging the software, fixing faulty soldered joints and swapping broken modules. At the end of the day, there was noone left to show it to, but I finally finished the build.
Super dirty soldered wires.
Complete back view
All's well that ends well.
Or I wished it was.
At the moment I'm trying to figure out why the modules are dying one after another. Every once in a while, a module won't rotate any more and only jitters when getting a command. I know that the problem is neither on the address-chip, nor the microcontroller.
This is the point where I hope that some of youmay help me find out where the problem is.
I'm almost sure that the problem is one of the two small chips at the bottom. The black one is a 4N25 optocoupler, the yellow one a TLP3502 motordriver. But I don't really know what the last one does.
Close up of the controller
Those are probably responsible for the failure.
The small 8-Pin SMD chip beneath the microcontrolleris also can't be the source of this behaviour. It's only a I2C EEPROM which stores some settings.
So if you have a guess what could go wrong (or maybe know where I can get more of this modules) feel free to leave a comment.
Also the modules sometimes don't hit there destination correctly, but that just comes from some wrong settings and I was just too lazy to fix this.