Fill up furnaces all at once by hopper
I'm trying to make an automatic furnace system, and whilst I've found videos on Youtube showing how to make one, they don't explain how it works, so I'm trying to learn the mechanics behind it.
The first problem I've come across is filling furnaces at once. I have a hopper system that runs on top of 10 furnaces, like so
H H H H H H H H H H H H Chest
F F F F F F F F F
However, the first furnace has to fully fill up first before it starts to fill the next one. Is it possible to make the hoppers fill up the furnaces all at the same time when I put items in the chest?
I don't believe it is possible to achieve this using only hoppers, at least not without a crap-ton of complicated redstone. However, if you're willing to add in a simple rail system and a chest minecart, you can do it quite easily. Here's the setup:
Place rails on top of your hoppers, and on one end (left in the image) place a powered rail and a redstone torch to power it continuously. On the other side (right in the image) place a detector rail connected to a redstone comparator, which feeds a signal to a redstone repeater and then another powered rail (under the minecart in the image). Place a chest minecart on the powered rail and a button on the block underneath.
Then, when you have a whole lot of a certain block/ore to smelt, place it in the chest minecart and just hit the button. The minecart will bounce back and forth on the track, distributing its load evenly amongst the furnaces and eventually coming to rest back at the start when it is empty. This works because the detector rail and comparator will create a redstone signal whenever a non-empty cart passes over the rail, activating the right-side powered rail and sending the minecart back out.
BONUS: You can further improve this system by placing a hopper chain below your furnaces that automatically pulls out all the smelted results and places them in a chest. It's also possible to add a second track system to feed combustibles into the backs of your furnaces in an evenly distributed manner as well. This screen shot shows one such system I added to the above example:
Note that I had to add an extra row of hoppers to the back side of the furnaces in order to create a separation between the tracks (or else they tended to try and connect to one another).
Actually this is not too difficult. I've developed a system that works perfectly, even with a very large amount of input. The only problem is it takes a decent amount of iron for the hoppers. I've included two screenshots to show you how to build it. I used 10 furnaces like you asked, but I'd personally use 8 just so that if you put in a stack, each furnace smelts 8, using exactly one coal each (unless you're using different fuel). Disregard the yellow and red wool structure, that's something else.
The input chest is at the top left. Notice the orientation of the hoppers. The top row all point to the left, the next row all point down, as does the row under the chests. To achieve this chest placement in pre-1.13 Minecraft, you need to alternate between Chests and Trapped Chests. It is important that each hopper have it's own chest. I've also added the output hoppers as gnovice mentioned. These also all point to the left, to move the items into the output chest on the bottom left.
Here's the only redstone necessary for this. The comparator outputs a signal when the last hopper has an item in it, thus turning off the redstone line. Otherwise, the second row of hoppers is suppressed while items are traveling down the top row. This way the second row of hoppers only accepts items when there is exactly one item in each of the upper hoppers. The chests act as buffers, otherwise if you put more than a chest or so of items in, the system would back up and break down. Be sure you put the redstone just like it shows in the picture. It is raised next to the comparator to prevent creating a clock, and it lowers again to power the second row of hoppers.
Good luck! Hope this helps!
P.S. You can also automatically fill the furnaces with fuel by inputting hoppers into the backs of the furnaces, but this would add a lot more hoppers. It's the same principle as the top two rows of hoppers though - just point the second row into the back of the furnace rather than down.
Edit: I believe I got the original idea from Dataless822, but I modified it so that it doesn't get backed up.