What come first Hardware or Software in project  - Page 1
Forum section: electronics / projects

author: BlogRahul
author_rank: Regular Contributor
timestamp: November 12, 2021, 09:39:55 am
content: What first thing that comes to mind hardware or software when we think designing project. I think hardware always come first and then software.suppose i need to design device that do following1) connect to internet2) connect to wi-fi3) connect to blue-tooth4) Listen to music, Watch videos, Look at pictures,5) connect HDMI device, USB device6) Use to control appliances and lights in house..7) Store personal data and share it with other devices.obviously such system require an operating system. Where should start to design such a system? I am not making really such a system I'm just asking for curiosity

author: moffy
author_rank: Super Contributor
timestamp: November 12, 2021, 10:27:35 am
content: Buy a mobile phone.

author: Jeroen3
author_rank: Super Contributor
timestamp: November 12, 2021, 11:43:36 am
content: With a system like this you're going to have to start with a boring document listing all use cases and requirements.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: November 12, 2021, 02:19:41 pm
content: It's the wrong question.First set up a set of specifications.Then make a guess about bandwidth and computing power.Then decide where you want to set the boundaries between hardware and software.This is not always clear from the start. For example MP3 decoding can be done either in hardware or software.Work out a few different block diagrams of different implementations of how to get to your goal.To do this properly you need to have quite a bit of experience.You can gain experience by just working on projects and pushing your limits a bit further for each project.In these days you have additional complications because of part availability.

author: mrburnzie
author_rank: Regular Contributor
timestamp: November 12, 2021, 03:37:14 pm
content: Requirements -> components that will achieve the requirements with the lowest price -> validate with software if your requirements can be done -> modify your components to fit both hardware and software -> develop the board with a dev board -> validate basic software -> design board #1 -> software -> go back to #1 until perfect

author: rstofer
author_rank: Super Contributor
timestamp: November 12, 2021, 05:53:14 pm
content: With that connectivity and application list, I would start thinking about a Raspberry Pi or equivalent system with a full blown Linux (or Windows) operating system.It would be a career project just creating the protocol stacks if they didn't already exist. With something like the Pi, all of the protocols are handled and I can select from a wide range of application software.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 12, 2021, 06:18:13 pm
content: It all depends on the project and its requirements, of course. Both are interdependent.So yeah, what should come first are the requirements, not the solutions.Now, a related question can be: what takes the most design time in a given project, hardware or software? This would again depend on the project of course, but unless you are dealing with particularly tricky hardware, and/or required to work reliably in harsh environments, etc, then most often *software* is going to be the time eater, while many people find themselves convinced of the opposite when starting a project. Software is so easy with few constraints, right? Yeah.

author: tggzzz
author_rank: Super Contributor
timestamp: November 12, 2021, 06:42:14 pm
content: Quote from: BlogRahul on November 12, 2021, 09:39:55 amThe best answer to that is "mu", as inhttps://wiki.c2.com/?MuAnswerThere is very little difference between hardware and software  and usually it is necessary to determine which functions will be done in hardware and which in software. don't believe me? Try to come up with a distinction that includes FPGAs, microprogramming, FSMs, etc.

author: Terry Bites
author_rank: Super Contributor
timestamp: November 13, 2021, 07:14:49 pm
content: Jumping straight into the hardware or software first is going to drive you in cricles.Sketch out your idea and sleep on it. Curb your enthusiasm (great show)Give yourself time to work up the detailed spec.Set a development time frame.Check what devices are already on the market. Do they meet your spec or come near?Adapt and upgrade existing designs where possible.Do deep research on this. Don't throw your cash/ life away on reinventing the wheel.Set a target cost that is fair to yourself and your customers.Manage the project fom day one.Document your project from day one.Will the parts be available at the price you want or available at all?Dont set off without specifying the box it will be fitted in to.

author: wizard69
author_rank: Super Contributor
timestamp: November 13, 2021, 07:27:07 pm
content: Such a project requires concurrent development. That also assumes that you have an easily ported operating system to develop all that user code on.

author: rstofer
author_rank: Super Contributor
timestamp: November 13, 2021, 07:42:31 pm
content: Think first about cost even if it is a hobby project.A Raspberry Pi 4B costs about $55 depending on where you buy it. You can't buy 30 minutes of an engineer's time for that kind of money. The burdened labor rate (including taxes and benefits) will easily exceed $100/hr. By the time they finish their morning coffee, you are over the cost of the Pi. And guess what happens when you add team members and management oversight?Once you frame the project in terms of costs (labor, PCBs, parts, etc), a mostly canned solution is usually best. Or you need enormous volume...https://www.adafruit.com/product/4296