Use Arduino board as regular AVR microcontroller - arduino

I want to use ATmega2560 MC, but it manufactured only as surface mount IC which means i must make PCB to use it. I searched for a per-made kit and found Arduino Mega R3 board contains the desired MC. (It contains less I/O pins but that's OK for now). Can i implement my code (without any arduino code) in this board? or should i modify it to work with Arduino, also if it runs in the board will it be the same as normal IC or there will be differences in speed.

The MCU in the Arduino Mega2560 is a stock ATmega2560. There is no need to use the Arduino libraries to program it and no need to use the Arduino tools to communicate with it; avr-gcc and avrdude will work with it as normal. Note that you will need to select the appropriate programmer/protocol in avrdude for the bootloader programmed on the chip if you want to program it via serial rather than ISP.

Related

Is it possible to factory reset an arduino from hardware to remove bad user code?

I was troubleshooting why Serial1 was always throwing undefined errors in sketches I was trying to run when I found a solution posted online for a slightly different board that suggested this line:
HardwareSerial Serial1(2);
I uploaded it and now the Arduino doesn't show up in the IDE, did I remap it's serial communications? Why is this possible!
Is there any hardware factory reset option available on these boards? Did I just brick my device?
edit: It seems the STM32Cube programmer app can be used to communicate with the device but I'm not sure where to get the original firmware to flash. https://imgur.com/a/LbiHenf
Assuming from the tag in your question, I guess you have an STM32 – (BluePill) Development Board (STM32F103C8).
If you think that your board is not handling serial communication properly then you might consider burning bootloader to your board. This will reset the complete configuration of your board.
There are many ways in which you can burn bootloader to your board.
Using another Arduino board like Uno / Nano / Mega
Using an FTDI USB to TTL Serial Adapter.
You might want to go through tutorials list below:
Getting Started with STM32 using Arduino IDE: Blinking LED
Programming STM32F103C8 Board using USB Port

Configuring ATtiny85 to use external 8MHz oscillator?

I am using an ATtiny85 8 pin AVR to send AT commands to an RN42 Bluetooth module. I am programming the AVR using an Arduino as an ISP therefore writing the code in the Arduino IDE, using the SoftwareSerial library as the AVR has no UART port.
To ensure accurate clocking out of the data I have added an 8MHz oscillator (LFSPXO018045) on pin 2 but I'm not sure how to make sure the AVR is using this and not just defaulting to the internal osc. I've seen mention of "Fuses" that need setting? Is there any in-code things I need to do like set a register flag or any pre-scalers?
Here is the Eagle circuit and option I found so far but don't know if there's anything else that needs doing too?: PCB & IDE
By the way this is my first question so please be lenient if I've missed something!
Clock settings of AVR MCUs can be changed via using the dedicated Fuse bits. These Fuse bits unfortunately cannot be modified from software. The only way to program the Fuse bits is either using a JTAG programmer or an ISP programmer (like: USBasp, AVRISP mkII or you can use an Arduino as an ISP programmer with the right sketch on it).
This AVR Fuse calculator tool can be used to determine what settings and Fuse values you need to program.

Is it possible to use Arduino 2560's serial/USB communication without Arduino bootloader?

I have an Arduino 2560 and would like to send serial data to my PC. However, I am currently not using the Arduino Bootloader because I wanted to use a program that I wrote for an Atmega644 before (as far as I understood, one has to use the Arduino language when using the Bootloader?).
Does anyone know if what I am trying to do is possible with reasonable effort?
Connection to PC via 2560's serial0 does not depend on bootloader (if you plan connection when main program is running). You need 16u2 running to bridge 5V serial UART to USB or you can of course use any other option (e.g. MAX232 or so) to convert 5V UART to USB or RS232. But in case of RS232 double check baud rate error because of 16MHz crystal for particular baudrate.
2560 bootloader just implements firmware flash.

Touch screen communication

I have with me 3 Beckhoff control touchscreen panels. Some multi-touch some single-touch,
There is no manual anywhere, I'm only capable of running them as windows monitors, but i want to make programs that capture the coordinates of my touch and do something with them,
(that done on different platforms like arduino, python, ...)
How do I use the USB or Serial interfaces to communicate with the touchscreen? How do I know its output when I press somewhere?
If you want to do this on arduino, you have the possibility of serial communication with the example here. The second thing is, that arduino native programming language is C and the last thing is, that the controller of the touchscreen has some pins. Some are tx pins some are power pins. To find out which is which is your task. Google around to find out the pinouts. Maybe have a look at the chip on the controller and find a datasheet to it and then trace the vias to the pins and read them with the serial communication pin rx on your arduino.

Arduino bootloader sequence

I have put together a Bareduino which is an ATmega328 on a breadboard. I have a transceiver chip (MAX233) connected to it and to my serial port adapter on my laptop. I haven't been able to upload any sketches yet. What is the bootloader sequence? Does the Arduiono send out a character first or does the IDE? What is it looking for?
I have a manual reset button. The ATmega328 comes with a bootloader and a program already in it to blink an LED on D13 (chip pin 19). The LED is blinking on and off at one second intervals so it appears to be running. I have ordered an FTDI board, but I scrounged up a MAX233 and thought I would give it a try. Sorry, not a coding question, but I am interested in learning about the bootloader sequence.
On bootlup, the Arduino waits for a signal from the IDE, if it doesn't get one, it runs the local program. Are you getting timeouts? Are you selecting the right com port and board type? depending on the boot loader installed on your chip, try duemilanove or uno. do you have the capacitor for auto reset installed?
see http://www.instructables.com/id/The-Embedded-Arduino-building-an-Arduino-into-a-p/

Resources