I bought a Lilypad Arduino, for which an FTDI socket is required to connect to my PC. The first socket I tried on didn't power up the Arduino, because of some hardware damage. Thus, I got another socket, but with 4 female pins (Vcc, Gnd, TX, RX), unlike the previous one that had 6 male pins. Let's call the second socket as X. With X, the Lilypad is getting powered up through USB cable. Then, when I tried to upload my source code the first time, it started working.
But when I uploaded it some time later, an error called 'programmer is not responding' occurs always, which I'm unable to resolve.
What should I do?
To program an Arduino (and Arduino-compatibles), you need an FTDI adapter that has an RTS pin, as well as the Vcc, Gnd, TX, and RX pins.
The RTS pin connected to the reset circuit on the Arduino, putting the bootloader into programming mode for a few seconds.
You may be able to get it to work by resetting the Lilypad with it's reset button, then upload your sketch within a few seconds after the reset. Alternatively, or for the least hassle, get an FTDI adapter with all the needed signals. I recommend Adafruit's FTDI Friend.
Related
I built 2 baremetal development boards, both using the STM32F030K6T6. The MCU on one board can be programmed as indicated in the datasheet using the boot pin selection and via USART pins PA14 and PA15. The second does not respond to flashing command and instead keeps sending the same message ST20033000022056000063227OV on the USART TX pin every 5 seconds with a 9600 baud rate.
I was not able to find any references related to this in the datasheet or elsewhere. I could just ditch the board but I'd like to understand what is it that's happening. It seems like the MCU is in some sort of a failure mode. What does the message mean?
I tried flashing using the stm32flash script available in the STM32 library for Arduino. The signal's baud rate was determined using a scope. The messages were then captured with:
cu -l /dev/ttyUSB0 -s 9600
Both MCUs came from the same batch and the development boards have the same aditional components (2 decoupling capacitors, a boot selector jumper and a reset button).
My STLINKV2 is not working anymore, not detected by Linux, it failed after the first successful flash. I ordered a new one but it will take 60+ days to arrive. Meanwhile I have heard on Youtube you can program Bluepills directly by connecting cut open USB cable to certain pins and then using a jumper. But I cannot get any precie information on this, is this really possible and how?
You should use the embedded bootloader. You can flash it through several interfaces. Look at AN2606, maybe you can find an already written flasher. Good luck STM32CubeProgrammer handle it.
If you intend to program it through usb, look also at AN3156 all protocols document are referred in chapter 2 of AN2606
THOSE AREN'T CUT OPEN USB CABLES they are USB to serial adapters for arduino's bootloader
They connect them like this:
The problem is that this requires the Arduino STM32 bootloader to be flashed in it.
Another option will be to use STM32CubeProg this program allows you to program your stm over
Serial
SPI
I2C
USB
You'll need to set the BOOT0 and BOOT1 pins to the correct value (HIGH slash LOW) to allow it to go in flash mode during boot.
Here is semi outdated tutorial which tells most of the steps to program a STM using serial. (the Flash Loader Demonstrator is outdated and you should use STM32CubeProg)
we are doing a project for receiving data from a device using a RS232 to ethernet converter (gridconnect net 232+) onto to a Atmel board. When we connect the converter to the PC, we are getting the output but not when connected to the microcontroller board. We need to know if there has to be some network confirguration to be done on the converter in order to receive it on the microcontroller.
Thanks !
I haven't worked with that board or device, but with any RS-232 communication channel you should check that all RS-232 parameters are set up correctly on both sides. Databits, stopbits, parity settings, etc. Even one setting being off will completely stop RS-232 communications.
Once that is done, I'd hook up a terminal emulator of your choice to simulate the microcontroller side and make sure that you're getting the right traffic from the Ethernet side. You might get lucky at that point and everything might start working. ;)
I hope you can help me. I am trying to build a robot but I am kind of stuck. The Arduino Mega is controlling the stepper motors drivers of the robot. The odroid-x is a single board computer that has installed linaro ubuntu and eclipse c++. All the programming is done in C++ and OpenCV is an image processing library.
The odroid-x has only as input a color camera. Therefore, the information from the camera is received and is processed in eclipse. Then, according to the information that is received, the odroid-x should send different integers to the arduino. The arduino should have a program already uploaded in itself, so it will be waiting for an integer and that integer is going to determine what the arduino is going to send to the drivers.
My questions are the following:
How can I do a serial communication between the arduino and the odroid-x?
How can I send information from eclipse to the arduino with a serial connection?
Thanks so much for any guide you can give me
First, be very, very, very careful. The ODROID boards use 1.8V signalling, so hooking up your 3.3V or 5V Arduino to the pins that expect no more than 1.8V will give you a burnt ODROID-X. It is possible to hook these two boards together if you put a level converter between them, and Sparkfun and Adafruit have some of those converters available. There is even a 1.8V reference voltage pin available... one of the pins that go to the LCD panel RGB-to-LVDS converter board puts out a constant 1.8V.
You could use either the four pins of the little white connector, or UART1, as a serial port, or you can use some of the pins in the 50-pin GPIO block as UART4. There are board schematics available on Hardkernel's website. These two UARTs show up as /dev/ttySAC0 (UART1) and /dev/ttySAC3 (UART4).
I don't know how to talk to those UARTs from a program, personally, but I know there are serial communications libraries available for python from watching threads pop up on the ODROID forums.
Is there a sample i2c master code that supports rtc s35390a hardware clock? I am currently working on an SOC that needs to support s35390a from Seiko. But currently, i am getting an error rtc-s35390a 0-0030: hctosys: unable to read the hardware clock. I cannot read/write data properly. I am implementing combined form of transmission.
Use oscilloscope to check if I2C SCL/SDA show some thing
If you can get the first address correct waveform, You will easy to get the register value
This might not be a rtc chip problem.