Help/ advice building an ARM based custom board

Thread Starter

travis92

Joined Nov 18, 2018
7
I am building a board for my soon-to-be startup and need some help from the community on how to approach this. My background is a software developer I work mostly with web based tech stacks but work with a lot of A.I tech stacks as well; I have a solid base in C/C++ but what I do not have a solid base in is hardware engineering, this is something I really want to learn as it's a new challenge and I find it very fascinating. I have tried to get a better grasp using Udemy courses on embedded programming which touched a bit on the real question(s) I am about to ask but, also learning KiCad and some general self-study.

What I am trying to build:
I am trying to create an IoT device. This device will utilise (1) Wifi (2) Camera (3) LCD touch screen (4) LED lights for various visual communication cues. High level; this device will take a picture of the user and will predict their bodyfat percentage with an embedded classifier ( if not possible will just send the image to the backend with harcoded endpoint).

Tech Stack:
I was leaning towards an ARM-A7 with 512mb of Ram with the Wifi, LCD touchscreen display, LED's, Camera module attached via ribbon.

What I Need Help With:
Because I am very new to this domain I am seeking some professional opinions & tips. One thing that really sticks out in my mind and is causing me a lot of growing pains is the actual hookup of these components. I am aware of the ARMs technical user manual but how do I allow these components to communicate? I understand the GPIO pins and other delegated functions of some of the processor pins but I am very unsure of how these function together as a unit and communicate like for instance how does one wire the camera, lcd and wifi in my case to the ARM CPU?
 

MrChips

Joined Oct 2, 2009
34,628
Welcome to AAC!

Most systems of this nature use serial communication between devices, eg. SPI, I2C.

Rather than trying to put the entire system altogether at once it would be better to start working with an ARM developmental board so that you can get up to speed with the software end of development.

My recommendation would be the STM32F746 Discovery Kit.

https://www.st.com/en/evaluation-tools/32f746gdiscovery.html

Check out this free workshop coming in December in your area:
https://www.st.com/content/st_com/en/about/events/events.html/stm32-with-touchgfx-seminars-2018.html
 

Thread Starter

travis92

Joined Nov 18, 2018
7
I forgot to mention as well that I would be putting Linux OS on this to save some development time for the time being, I would accomplish this by an SD card since I believe it would be easier to prototype different Linux flavour etc. for my needs while later moving to a RO burned memory.
 

Thread Starter

travis92

Joined Nov 18, 2018
7
Great, thanks for your recommendation I will check them out. In context of your first statement though where would you recommend someone to look if they're looking into wiring a component communication?
 

dl324

Joined Mar 30, 2015
18,220
I was leaning towards an ARM-A7 with 512mb of Ram with the Wifi, LCD touchscreen display, LED's, Camera module attached via ribbon.
What is your budget for the microcontroller/WiFi/etc hardware? If you can't build it for less than $50 (which I doubt you can), you should buy.

FYI, I bought a single core ARM (1GHz) "computer" with 512MB RAM, 8GB FLASH, WiFi, Bluetooth, USB OTG, and Linux pre-installed for $9. That computer is no longer available, but it was a lot of stuff for $9. Even Pi Zero couldn't touch it (because you had to add about $20 worth of hardware to be in the same ballpark as C.H.I.P.).

One of the reasons that NTC did CHIP was that they had a camera product that used something like Raspberry Pi and the cost for that dominated the price of their product. They determined that they needed a Pi-like board that cost more like $9; so CHIP was born.
 

Thread Starter

travis92

Joined Nov 18, 2018
7
The STM32F7 kit has built-in LCD touch screen and a camera interface.
If you want an LCD serial option, you may want to look at Nextion:
https://nextion.itead.cc/

For WiFi, look at ESP8266
https://www.sparkfun.com/products/13678
Thanks for your recommendations. Lastly I would like to ask from your experience some tips you would give someone coming from a software dev. background? common sticky points for people whom come from this background trying to enter the hardware side of things? What skills can I port and what ways of thinking do you encourage and discourage someone when starting out with this domain, thank you.
 

Thread Starter

travis92

Joined Nov 18, 2018
7
What is your budget for the microcontroller/WiFi/etc hardware? If you can't build it for less than $50 (which I doubt you can), you should buy.

FYI, I bought a single core ARM (1GHz) "computer" with 512MB RAM, 8GB FLASH, WiFi, Bluetooth, USB OTG, and Linux pre-installed for $9. That computer is no longer available, but it was a lot of stuff for $9. Even Pi Zero couldn't touch it (because you had to add about $20 worth of hardware to be in the same ballpark as C.H.I.P.).

One of the reasons that NTC did CHIP was that they had a camera product that used something like Raspberry Pi and the cost for that dominated the price of their product. They determined that they needed a Pi-like board that cost more like $9; so CHIP was born.
The product itself would be sold as ideally around $150. I agree that sounds pretty good for $9.00. Would be interesting to study the schematics for this board that you mentioned.
 

MrChips

Joined Oct 2, 2009
34,628
Hmm. That is a difficult question to answer.

I come from both software and hardware background (though more on hardware). I would have to say that you need to have a strong background in both. I am not a big fan of RTOS but from a financial/management perspective, that seems to be the right path to take. I am more likely to write my own OS from scratch because I like to have total control on what the software is doing and not have to rely on third-party software.

More importantly, if you are going commercial, you need to pay attention to cost, supply, redundancy, obsolescence, production, maintenance, etc. as @dl324 has commented on above.

You may design and produce a great product. But what keeps the company sustainable is the next three products after the first one.
 

dl324

Joined Mar 30, 2015
18,220
I forgot to mention that CHIP came with an LCD interface. NTC made a product called PocketChip that had a crude keyboard/LCD touchscreen. That product cost $90 and there was someone selling them on eBay. They bought stock from the manufacturer when NTC went out of business.

There was also a VGA and HDMI adapter board (called Dips for Chip). They were about $10 each. About half of the cost of the HDMI adapter was royalties.

When you study the Chip schematics, you'll see that they used a power management IC that accepted power from 3 sources (USB, external DCIN, and battery). Additionally, the PMIC charged the battery.

For some reason, they added a chip to give 8 very slow GPIO's, but Chip already had around 40 if you didn't use the LCD interface (which the video adapters used). I think the CSI interface was for a camera. I use it for controlling circuits (around 12 I/O's for that interface).

EDIT: add pocketchip photo
upload_2018-11-18_9-36-19.png
eBay listing; for $100.
 
Last edited:

Thread Starter

travis92

Joined Nov 18, 2018
7
Hmm. That is a difficult question to answer.

I come from both software and hardware background (though more on hardware). I would have to say that you need to have a strong background in both. I am not a big fan of RTOS but from a financial/management perspective, that seems to be the right path to take. I am more likely to write my own OS from scratch because I like to have total control on what the software is doing and not have to rely on third-party software.

More importantly, if you are going commercial, you need to pay attention to cost, supply, redundancy, obsolescence, production, maintenance, etc. as @dl324 has commented on above.

You may design and produce a great product. But what keeps the company sustainable is the next three products after the first one.
Thats actually a really good point to bring up. It's easy to get excited about a new business but cost is something I really need to pay attention to in greater context. I will have to re-examine some financial metrics and take that into consideration with my team and perhaps be a little more real
Of course, one would assume that you have considered a rPi since this has everything that you have specified.
I have considered the Pi yes, I own the A+ along with the Electron particle & OpenBCI Ganglion for tinkering, From my understanding I am free to use the Pi commercially, but need to include something along the lines of powered by rp as well as if there was profit to be made I would feel very compelled to give to their foundation as well as if this idea ever took off it could be a lot more profitable to have my own design and get deals as you touched on for X quantity instead of paying 30-50 CAD per pop it could perhaps be more in the 20 range.. potentially of course. To mitigate all that I would really like to throw myself in the deep end so to speak and design my own ( or borrow some designs and print) this allows me to gain valuable experience for myself and team where this knowledge and newfound confidence could perhaps be leveraged in future endeavours
 

MrChips

Joined Oct 2, 2009
34,628
Don't be fooled by low prices. They can sell rPi for $25 because they are manufacturing them in hundreds of thousands. What would be the cost price?

There is no way I can put together the equivalent of a rPi for under $50 or even $100. Economies of scale is the driving factor here.
 

Thread Starter

travis92

Joined Nov 18, 2018
7
Don't be fooled by low prices. They can sell rPi for $25 because they are manufacturing them in hundreds of thousands. What would be the cost price?

There is no way I can put together the equivalent of a rPi for under $50 or even $100. Economies of scale is the driving factor here.
You're convincing me to just go with the Pi for now and potentially worry about this later, Realistically it's probably better to prototype first with the Pi and observe how the market responds to the device after which potentially do something of my own later on. I will check them out a bit more I admit I have not played with my neglected pi for a while now.
 
Top