learning hardware