I would like to know if I can use a Arduino Uno R3 for my Project.
Project Details: An AI assitant in an embedded system.
The AI is already written in Python
I tried to get a Raspberry Pi 0 but it is quite scarce in my location.I will like to know if there is a way for me to embed my python code on my Arduino UNO R3,SD card module and speaker
No, there's no way that will all fit into an Arduino Uno (or any AVR-based Arduino). They all have not enough RAM. And there's (as far as I know) no python interpreter for the uno as well, for the same reason. You could try an ESP32 instead. Much more RAM, much more powerful CPU, micropython support (and typically even cheaper).
I want to know if it is possible to use arduino libraries (e.g motor shield library) with the STM32 series? Has anybody tried it before?
Thank you.
Generally yes, but.
Arduino the software defines just an API. As long as your board has an implementation of that API, a library basing on it should work.
That being said, libraries that weren't tested specifically on STM32 might break for various reasons. If you use PlatformIO, you can look for libraries that use Arduino framework and support STM32 MCUs.
If you're using an Arduino IDE, it's also possible to program the STM controllers directly from it. You just need an appropriate core/board definition installed, and make sure that you pick an appropriate programming option (I personally use ST-link whenever I can instead of bootloaders+serial).
I need to make bootloader with my code.
I discovered a github with bootloaders, but i don't know what to do with it.
My experience in use of arduino is limited by burning the default bootloader for ATmega328p
So, is there any simple way just to replace default arduino bootloader code (blinking diod) to anything else?
Certainly there is. Embedded engineers replace and/or overwrite the bootloaders all the time. Here's an article on the subject but I'll outline the basics.
Select a progamming device. There are numerous devices on the market, from very inexpensive to quite expensive, depending on what else they can do besides program a chip. You can even use another Arduino as a programmer, probably least expensive of all and readily available.
Connect the programmer to the proper programming pins. For your purposes you'll want the ISP/ICSP headers (2x3 header(s)) on the board, or 2x3 connector to an non-Arduino programmer.
Upload your code using the Arduino IDE, a utility such as AVRdude, or even Atmel Studio if you're very ambitious and want complete control.
It's not that hard if you use another Arduino as your programmer and 6 female-female jumper wires as outlined in the article.
Basically I just want to use my Arduino Board's Atmega as a normal Atmega. I want to burn the same code that we burn on Atmega32 controller. As we know that we can program Ardunio board with IDE and there is proper syntax style for coding. I want to make just the use of Atmega32 without the Arduino style coding.
I'm not really sure of your question here, but here are some thoughts:
Arduino is programmed over USB using some code that is programmed into the bootloader. If you want to program without Arduino, you will probably overwrite the bootloader which means that you will need an In System Programmer (ISP) for the board. These are separate USB devices that usually use the SPI connections on the chip to upload the program.
Atmel (now Microchip) has their own line of programmers that work with Atmel Studio but you can find some on ebay that pretend to be Atmel programmers for a fraction of the cost.
Another option is a cheap ISP but using AVRDude to upload your code, rather than Atmel Studio. I have never been a fan of Atmel Studio.
Since you are looking to reuse ATmega32 code ( I think that's what you are saying), don't forget to change the target hardware in Atmel Studio so that the port and address defines are changed to the chip you are using (ATMega328P)
Rod
You don't need to overwrite the bootloader unless size is an issue. There is an arduino plugin for atmel studio also Arduino is AVR so just don't use the Arduino.h styling. Create a project using the arduino setup in minimal and simply write straight AVR C into AVR Studio it will compile either on Arduino's end or on Atmels end. You can even keep the arduino's library code and mix the two styles by pulling in Arduino.h into your studio session. If your asking how to dump a .hex file into arduino you need a ISP programmer and that will kill the bootloader when it's flashed.
I want to be able to build my own small electronic device that just has a few buttons, and stores each keypress inside a memory.
I am a pretty experienced programmer but I have no idea where to start regarding hardware, or what to search for on google.
Please give me any info that can help me out.
Arduino boards are inexpensive and the platform is wildly popular. I buy stuff like that from sparkfun.com in the developer area down the left side of the page. At sparkfun you will also find many other similar eval boards from various vendors. I like the lillypad over the arduino pro mini only because it has the programming pins already soldered. You will want the ftdi usb serial board thing for power and programming. I am a fan of the armmite pro, which is arm based. the mbed2 is real easy when you plug it in it shows up like a thumb drive, you copy your .bin file to it and press the button and it loads the program and runs it. The blue leds give me migraines but that was solved by replacing with green leds. I have a number of the header style olimex boards, good stuff, have never used the ones with displays and buttons though. Going to other sites the ez430 msp430 is a good starting platform but no buttons which you are interested in using, the stellaris cortex-m3 based family is good I would skip the 811 board and go for maybe the 1978 or something in that range, the 811 is too easy to brick.
Most of the ones mentioned above (not the olimex boards) have sandboxes for you to play in safely (turn key development environments), but at the same time you are not locked into those environments, you can do your own thing if you like, use different toolchains, flash programmers, etc. I personally would avoid the lpcxpresso for that reason, painfully tied to both windows and their sandbox.
the sam7-h256 for example, an olimex board, is powered by the usb, and a program called sam-ba is used to load your programs into the chip. That particular board does not have buttons but boards in that family are also programmed the same way. basically one usb cable for power and programming. And like the AVR (arduino and avr butterfly are based on the avr micro) the at91sam7s is an atmel part. Atmel seems to have that edge over competitors for better documentation and support. At least my belief is that contributes to the popularity of the avr (the avrfreaks website existed before the avr butterfly and the arduino), and it certainly makes me like their arm based products.
short answer, start with http://www.sparkfun.com along the left side click on Development Tools, and there are many solutions. You want to find something like the arduino, armmite pro, mbed, that either standalone or with a ftdi based usb thing you both power the board, and have an interface for programming. There should be links on the page to websites with development tools, compilers, etc, and tools for actually doing the loading of the program on the board. I recommend trying the arm, avr, and msp430 micros, as well as different vendors (many different arm based solutions with their own pros and cons for example).
The arduino platform is a cheap and easy option.
search for arduino and netduino
What language do you program in?
Arduino uses a C like language.
Netduino uses C#.
You can get a NXT kit (yes, LEGO) and use RobotC.
I can only advice how I started:
Get a bread board and some ATMel microcontrollers (ATMega16 is perfect for beginners).
You can either buy an STK500 or you use the In-System-Programming feature, and ask someone that can build you a programmer (I recommend USBasp). When you use Linux, use AVRdude and the gccavr toolchain. Under windows, you can use the WinAVR studio.
And buy some components, like resistors, capacitors, probably a quartz crystal to make simple circuits.
That's how I started anyway.
Arduino is based on Atmel AVR, so the same Arduino or STK500 board can be programmed with AVR Studio + WinAVR combination, which is nice if you already have experience in GCC. For all additional info and tutorials take a look at http://www.avrfreaks.net