This code (MATLAB) readily calculates and plots the bandstructure of Silicon (bulk) using the empirical pseudopotential method.
Detailed instructions are in the compressed archive.
I hope it would be a useful/interesting educational tool
Note: If you are running this code in a non-Windows OS (e.g. Linux) then please change the location to which the the caculcated eigenenergies are saved (in 'epm.m', line nr.68) to your desired location. This has no effect on the calculation.
2.) Kevin D. Welsher Empirical Pseudopotential Method FORTRAN code:
3.) "Band Structures and Pseudopotential Form Factors for Fourteen Semiconductors of the Diamond and Zinc-blende Structures", Marvin L. Cohen and T.K. Bergstresser, Phys. Rev. 141, 2, p. 556, 1966.