smart scale - arduino or arm? help me decide

Hi all,
I want to design a smart scale which transmits the data to an android app via wifi.

I am about to build the prototype, using arduino. If I manage to succeed with my prototype, I am planning it to redesign it to make it a consumer end device, with other features.

Since I find a lot of consumer electronics having ARM as their core, I was wondering if I should move from Arduino to ARM in my final design, or start with ARM from prototyping itself or just stick with arduino(AVR) microcontroller for both prototyping as well as final design?

I know, ARM are by major, microprocessors, and a smart scale doesnt need much processing power.
Yet, I would like to hear from some experts, get suggestions as to how i can approach this.

Thanks in advance. :slight_smile:

Well,generally, you need to know the frequency requirement for your products before you select your MCU.

The choice for final product related with many things, it is not just MCU. It is most likely related with manufacture cost.

I can forsee that you can combine the wifi chip and Mcu chip into one for final production to save many costs since wifi chip always have one MCU to run the 802.11 stack. Also the most power will coming from this, as far as i know, it would cost over 300mA at peak transmission for average.

For prototyping, you need to prove it is working at the lowest time cost.

I just suggest you to seperate those things because you will never know what kind of feature you will add according to the customers feedback.

If you worried about coding in different, you can take a glance at the below link an interesting stuff which is compatiable with arduino and no coding skill required. -- http://wikit.co

Well u should try the ESP8266 it has wifi built in and has a mcu at 80+ Mhz and only cost $5.

12458:
Well u should try the ESP8266 it has wifi built in and has a mcu at 80+ Mhz and only cost $5.

My initial plan was to use arduino uno and an Esp8266 module! But is it possible to use the on board MCU itself as an arduino, with similar capabilities as that of the uno?

I can forsee that you can combine the wifi chip and Mcu chip into one for final production to save many costs since wifi chip always have one MCU to run the 802.11 stack. Also the most power will coming from this, as far as i know, it would cost over 300mA at peak transmission for average.

Yes, obtaining a final design with the mcu and WiFi on a single chip would be my ultimate goal.

Also, the thing is, I am familiar with c++ and can code in arduino. So, if moving to ARM later, I don't want to face much trouble in converting my arduino code to the ARM.

So if I am prototyping this project with an arduino, and I want to make the firmware proprietary along with the circuit, for the production design, will there be any need to move to an ARM platform, or I can stick to the avr family itself?

cyberteen:
Yes, obtaining a final design with the mcu and WiFi on a single chip would be my ultimate goal.

Also, the thing is, I am familiar with c++ and can code in arduino. So, if moving to ARM later, I don't want to face much trouble in converting my arduino code to the ARM.

So if I am prototyping this project with an arduino, and I want to make the firmware proprietary along with the circuit, for the production design, will there be any need to move to an ARM platform, or I can stick to the avr family itself?

I can devide the questions into two parts

1.Whether you need to change your platform?
I cannot answer this question for sure since there is no limited information. I can share you with some of my experience

a. You are a wireless product which mean you need to pass FCC later for production. The less electronics the lower possiblity for interference.
b. You need to make sure whether AVR family MCU performance can fit your design.

2.How to implement coding transplanting?
Well, my suggestion is that you need to organize your coding style for firmware for such coding transplant.

You'd better to seperate your coding with logic algorithm layer driver layer and one hardware abstraction layer as the interface for your algorithm.
Considering coding transplanting, you will ONLY change the driver layer with minimum effort.

Also, arduino code is well encapsulated with C++ while many ARM platform is using C code. The majority of the work is to drive the same hardware resource (I2C/SPI/UART) in different language.

Actually, I am on a project to do such code transplanting automatically by seperate all the hardware access to atomic level and keep logic the same. (http://wikit.co) My thoughts is to import arduino code and transform it into visual flowcharts. By adding the mapping library between atomic hardware access in flowchart and target MCU, we will directly had design ready code for target platform since algorithm part is always the same in different platform.

However it is just a prototyping and can not be used for commercial now.
You can also follow my project status on hackaday.io :slight_smile:

http://wikit.co

cyberteen:
My initial plan was to use arduino uno and an Esp8266 module! But is it possible to use the on board MCU itself as an arduino, with similar capabilities as that of the uno?

Yes it is possible. It is “arduino compatible”. Try searching Google. I recommend the ESP-12 as it has passed FCC test and has all the IO broken out

12458:
Yes it is possible. It is "arduino compatible". Try searching Google. I recommend the ESP-12 as it has passed FCC test and has all the IO broken out

Hi

Just curious about one thing. This is different MCU thus what does the "arduino compatiable" mean? :slight_smile:
Do these two chips have cross-compiler with the same code?

ringwill_fusionwire:
Actually, I am on a project to do such code transplanting automatically by seperate all the hardware access to atomic level and keep logic the same. (http://wikit.co) My thoughts is to import arduino code and transform it into visual flowcharts. By adding the mapping library between atomic hardware access in flowchart and target MCU, we will directly had design ready code for target platform since algorithm part is always the same in different platform.

However it is just a prototyping and can not be used for commercial now.
You can also follow my project status on hackaday.io :slight_smile:

You are doing a great job man! The idea of just transforming flow charts to code is really great! I will surely keep a tab on its updates.

As far as this project is concerned, I think an AVR mcu will suffice. So I will stick with arduino for now.

And yeah, as you suggested I need to organize my coding style for firmware dev. So will look it up.

12458:
Yes it is possible. It is "arduino compatible". Try searching Google. I recommend the ESP-12 as it has passed FCC test and has all the IO broken out

I did a good search on the net, and found that its possible to code the ESP8266 with Arduino IDE. But I dont think the same code will work for both Atmega328p and the on the ESP8266. Can you kindly elaborate on what exactly you mean by "arduino compatible" ? That would be great!

It is good to know AVR will be suffice :slight_smile:
If it is possible to code ESP8266 with Arduino IDE, I am prettry sure there is a compiler which cross the platform.

All you need to take care is the different IO and hardware resource mapping then

ringwill_fusionwire:
Hi

Just curious about one thing. This is different MCU thus what does the "arduino compatiable" mean? :slight_smile:
Do these two chips have cross-compiler with the same code?

Arduino compatiable means that is work with the Arduino IDE. Look at this addon for the arduino ide.GitHub - esp8266/Arduino: ESP8266 core for Arduino