Needing a multitude of chargers for ebookreaders, tablets, smartphones, USB-power-banks, flashlights just didn’t feel right and so I first used a cheap 10 port USB hub from aliexpress – but kept having problems with a good electric connection. As it turns out the hub doesn’t have any nibs on the contacts.
Buying a brand name (D-Link) active (so you can inject the necessary power) USB hub seemed the way to go – just to learn that it needs a connection to a computer to power up the 7 ports.
I thought I could get this working in a few hours but after ttb had hooked up the endstops and I had built an adapter for the extruder it turned out the 4pi board was broken. *bummer*
So I threw it in a corner and started looking at the electronics the next day or so.
Fortunately the 4pi board is open hardware (schematic on github) and so I set out to find what’s broken.
As it turns out there was an inductor mechanically broken off the board and I _only_ had to find one with the matching value. To get it done I simply unsoldered a lot of inductors from scrap pcb’s and measuring all with a LCR meter.
^^ _quick_ fix.
The next issue I ran into was the extruder that didn’t extrude properly. The problem was that no PLA would come out of the nozzle after a few minutes of printing. Tightening the screw that presses the material against the gear, increasing the stepper current as well as some cussing didn’t solve the issue.
Trying to manually push the PLA through the heated extruder let to the conclusion that the PLA was getting soft too far up in the supply screw and then sticking to the wall. No force whatsoever could then push it through the nozzle.
It then turned out that Phil also encountered the problem with his qu-bd but couldn’t overcome it and so his delta went to the corner again.
We thought of a fix and a few days later I manufactured a supply screw into which you can insert a teflon tube to preven the filament from getting soft too early.
^^ the original was in stainless steel (so I also did it in stainless – is that necessary?) – but the 2.5mm hole isn’t that much fun 😉
Next there was the missing steps issue occuring only in y axis. ^^dickbutt test sample
I fiddled with motor current, speed and acceleration settings, even checked whether the y-axis stepper motor had degraded magnets … but could only get rid of the missing steps by reducing the speed to a whopping 9mm/s (~180rpm).
^^ the comparison measurement show that the the tested motors were all equally good/bad.
Es sich merken wäre wohl eine Möglichkeit ... oder für die Zukunft
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
After I avoided programming my own microcontroller to get the thing rolling in as little time as possible (sidetracking kills a lot of drive) – I finally decided it was time to take it on.
Actually the realisation that the cheap servo tester assumes the poti position when powering up as middle position convinced me that it was necessary to write my own speed controller – since I can’t (or at least not realiably/comfortably) use the braking functionality of the alien power sytem esc.
Also this way I can – or at least I can try to – write my own soft-start routine so people don’t fall off the back.
@phrewfuf encouraged me to program the arduino nano I tucked in a box some months back for when the time was right 😉
Since he didn’t send me the code I just set down myself today and took the first steps.
Also I had to wildlarize the freaking busted poti I pulled out of a part drawer. If you’re not familiar with the term:
„widlarize“ (invented by Bob Widlar): You take the bad component to the anvil part of the vice and beat it with a hammer। It will make you feel so good, for no damaged parts will appear in your latest application।
It sucks so hard wasting time and money with broken components that I consider not reusing old parts – or at least not the parts lying around shackspace 😉
Here is already another poti hooked up to an analogue pin linked to the pin the servo is connected to:
int ledPin = 13;
int escPin = 3; // servo signal connected to digital pin 3
int potiPin = 7; // potentiometer wiper (middle terminal) connected to analog pin 3
int potiVal = 0; // variable to store the value read from the poti
//initial Servo Position
potiVal = analogRead(potiPin); // read the input pin
potiVal = map (potiVal, 0, 1023, 0, 180); //convert input range to servo range
*gnarf* … it seems I wrote this 2 months ago and never published it to the blog …
5x Nvidia NVS 440 dual gpu, dual head -> 2xDMS-59 -> 2xDVI 2 A$$rock X79 Extreme 7 mainboards never buy Asrock. I mean it.
1 P9X79_WS mainboard
1 i7 3930k CPU (because I wanted it … not because it was necessary)
1 SilenX EFZ-120HA5
1 Enermax Liberty ELT500AWT 80Plus
4x 4GB (Quad-kit) Mushkin Redline DDR3 1866MHz
2x Noctua NF-P12 PWM silent fans
20 resuscitated Samsung 940B/BF/T screens
20 DVI-cables from 1.5m to 5m, 20 VESA mounts, 4×5-port socket ports
And a video … from a few weeks back
Build log/pictures and details will follow.
P.S.: And then there’s this *jealousy dripping out of my eyes* … for ~20k$.
(and it doesn’t even give you any trouble with MS OS gpu limits since there are only 4 driving 24 screens)
So lets just throw it out in the hope someone else does it.
Else I … and makefu have to 😉
I would like to have a plattform that works somewhat similar to kickstarter – but different.
The focus would mainly be on open source software – but maybe also tangible products.
Let’s say you use a piece of open source software – e.g. Openwrt and you stumble upon a broken DYNDNS package. Now you may still be able to set up dynamic DNS through a script – but it would also be nice to have the luci-app-ddns package working as
So on the get it done platform I would state the wish for the luci-app-ddns package to be fixed and throw in 20€ for someone to do it.
If others would also like to get it fixed they could also pledge some money.
Now the more money is on the table – the more likely it would get for someone – or even groups of people to start working on getting it done.
So I’m already way behind documenting again … as always 😉
Since I’m fed up with not getting my name associated with my articles/projects @shackspace I will reduce my projects/commintment towards shackspace/writing for the shackspace’s blog and focus on more on getting my stuff done and just publish on my blog.
It seems I’m the first person on _the internetz_ to attach more than 16 screens to a single computer. *wohoo*
This project began when h0uz3 told me about having 2 pallets of broken Samsung 940B screens in his attic – 26 to be precise.
I was preparing for giving a workshop on repairing said monitors (ordering bags of elkos and fuses) on planned obsolescence on 26.05. but ended up planning and establishing Repaircafe @shackspace with Dirk instead. People brought enough electric stuff to fix so I just didn’t take care about the monitors and just helped were I could.
I’ll write a separate article on how to fix those 940B’s/lcd’s in general.
With the 26 dead monitors in mind – I thought I could fix at least 20. Getting those on a wall and finding a means of driving them posed challenge enough to just do it. The goal was to build a poor mans video wall – and I thought it could be done finding the cheapest 5x PCI-E X16 motherboard available + 5 aged dual-gpu, dual head nvidia graphics cards.
I didn’t even know before buying that the graphics cards had 2 separate gpu’s (though 2 minutes on google would have told me) – but I just ordered a pack.
Next up I found the Asrock X79 Extreme 7 that looked like it could do what I wanted to achieve.
^^ never was I so wrong. Freaking SucksASSrock. Never again will I buy an ASSrock board … anything.
The first time my brand new mainboard went up in smoke because of a bent CPU pin.
I got lucky and the CPU didn’t die along with it.
I waited for the replacement part for a few weeks and tried getting all the
graphics cards to work trying multiple OS‘.
I found out the hard way that there’s an obstacle getting more than 8 gpu’s to run in a system.
You wouldn’t expect that and you wouldn’t come across this problem unless you tried.
Also there seems to be a problem for a lot of bios‘ out running into a 32 bit addressing
problem having so many gpu’s.
That didn’t affect my ASRock > X79 Extreme7’s bios though.
So I tried Windows 7 first – because of my good experience regarding multi-screen setups
in Windows OS‘ over the years – but it will only make 8 gpu’s available. The rest
shows up with an exclamation mark in system manager.
You can disable a working gpu and will get a different working (thus assuring there are no
Next up I gave Windows 8 a quick spin – which imho is an abomination, but let’s not speak
of that here – and it showed no improvements over Win 7 regarding the 8 gpu limit whatsoever.
I tried the latest ubuntu version – as well as a 9.10 install – since the used graphics cards are already somewhat aged –
but again couldn’t get more than 8 GPU’s running – attaching the 5th (dual gpu) card would
always result in a crashed X server.
I sucessfully got 16 screens working with the nvidia proprietary driver and my last hope relied
on the nouveau driver (with not too high hopes of success either).
I deinstalled the nvidia proprietary drivers and after an attempted reboot my screens didn’t turn on anymore.
Trying to figure out the cause I came to the conclusion that either the mainboard or
the horribly expensive i7-3930 were to blame.
Since no one I know had either a socket 2011 board nor a CPU I got stuck again.
Last weekend I sat down enjoying momo and Jules half day at a time writing the xorg.conf
by hand (and let me assure you it’s a lot of work keeping track of the 10 different gpu identifiers as
well ass the dualhead ones whilest they keep changing with every added graphics card)