[Solved] Difference between Hardware and Software PWM.
-
What is the difference between hardware pwm and software pwm
-
@Richu-Bini thanks for posting the question . just for a brief about pwm, pulse width modulation technique is a method to change the duty cycle of a wave. Which means you can determine how much time a signal must be on or off.
So, coming to the question, software pwm and hardware pwm is just two different ways of producing same result. In software(referring Arduino here) you'll just write a value between 0 to 255 inorder to determine duty cycle percentage. For example 0 is 0% duty cycle which means the cycle is on for 0% of whole time, similarly 127 means 50% of time cycle will be on and 255 means signal will be on for ever. This is regarding software.
Coming to hardware, you can generate a pwm signal using very simple passive component, called as potentiometer and 555 timer IC by using 555 timer as bistable multivibrator(The generated output will have two stable states 0 and Vmax, hence the name bistable) and changing the resistance using a potentiometer generates different duty cycles. This is the difference between hardware and software pwm. Please let me know if I haven't explained what you have expected.
-
thank youu
Recent Posts
-
@abijith Thanks for sharing
.
-
It is the simple basic project created using Arduino. LED (Light Emitting Diode) is an electronic device, which emits light when the current passes through its terminals. LED's are used in various applications. It is also used as an ON/OFF indicator in different electronic devices.
In this project, we will connect the LED to the digital pin on the Arduino board. The LED will work as a simple light that can be turned ON and OFF for a specified duration.
Video Link :
What is Arduino and how to use Arduino | Write your first program Now! | Malayalam
-
After reinstalling the portenta board file and restarting the computer, solved the problem.
-
Trying to run blink on portenta but getting the error?
error message:
Arduino: 1.8.13 (Windows 10), Board: "Arduino Portenta H7 (M7 core)" C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Faris\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Faris\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Faris\Documents\Arduino\libraries -fqbn=arduino:mbed:envie_m7 -vid-pid=2341_025B -ide-version=10813 -build-path C:\Users\Faris\AppData\Local\Temp\arduino_build_650727 -warnings=none -build-cache C:\Users\Faris\AppData\Local\Temp\arduino_cache_409352 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.arm-none-eabi-gcc-7-2017q4.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.bossac.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.bossac-1.9.1-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.openocd.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.openocd-0.10.0-arduino13.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.dfu-util.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -prefs=runtime.tools.dfu-util-0.9.0-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -verbose C:\Users\Faris\AppData\Local\Temp\arduino_modified_sketch_49117\Blink.ino C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Faris\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Faris\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Faris\Documents\Arduino\libraries -fqbn=arduino:mbed:envie_m7 -vid-pid=2341_025B -ide-version=10813 -build-path C:\Users\Faris\AppData\Local\Temp\arduino_build_650727 -warnings=none -build-cache C:\Users\Faris\AppData\Local\Temp\arduino_cache_409352 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.arm-none-eabi-gcc-7-2017q4.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.bossac.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.bossac-1.9.1-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.openocd.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.openocd-0.10.0-arduino13.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.dfu-util.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -prefs=runtime.tools.dfu-util-0.9.0-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -verbose C:\Users\Faris\AppData\Local\Temp\arduino_modified_sketch_49117\Blink.ino Using board 'envie_m7' from platform in folder: C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.3.1 Using core 'arduino' from platform in folder: C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.3.1 Detecting libraries used... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -w -g -Os -nostdlib "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/cxxflags.txt" -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10813 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino/api/deprecated" "-iprefixC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/includes.txt" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE Generating function prototypes... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -w -g -Os -nostdlib "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/cxxflags.txt" -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10813 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino/api/deprecated" "-iprefixC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/includes.txt" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp" -o "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\preproc\\ctags_target_for_gcc_minus_e.cpp" -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\preproc\\ctags_target_for_gcc_minus_e.cpp" Compiling sketch... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -w -g -Os -nostdlib "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/cxxflags.txt" -MMD -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -DARDUINO=10813 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino/api/deprecated" "-iprefixC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/includes.txt" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp" -o "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp.o" Compiling libraries... Compiling core... Using previously compiled file: C:\Users\Faris\AppData\Local\Temp\arduino_build_650727\core\variant.cpp.o Using precompiled core: C:\Users\Faris\AppData\Local\Temp\arduino_cache_409352\core\core_arduino_mbed_envie_m7_e26c816eecbb9bfaaa432fd6b53eb31d.a Linking everything together... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" "-LC:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727" -Wl,--gc-sections -w -Wl,--as-needed "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/ldflags.txt" "-TC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/linker_script.ld" "-Wl,-Map,C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.map" --specs=nosys.specs -o "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp.o" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\core\\variant.cpp.o" -Wl,--whole-archive "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/..\\arduino_cache_409352\\core\\core_arduino_mbed_envie_m7_e26c816eecbb9bfaaa432fd6b53eb31d.a" "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/libs/libmbed.a" -Wl,--no-whole-archive -Wl,--start-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -Wl,--end-group "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-objcopy" -O binary "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.bin" "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-objcopy" -O ihex -R .eeprom "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.hex" "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-size" -A "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" Sketch uses 130248 bytes (16%) of program storage space. Maximum is 786432 bytes. Global variables use 57280 bytes (10%) of dynamic memory, leaving 466344 bytes for local variables. Maximum is 523624 bytes. Forcing reset using 1200bps open/close on port COM12 PORTS {COM12, } / {} => {} PORTS {} / {} => {} PORTS {} / {COM13, } => {COM13, } Found upload port: COM13 C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2/dfu-util --device 0x2341:0x035b -D C:\Users\Faris\AppData\Local\Temp\arduino_build_650727/Blink.ino.bin -a0 --dfuse-address=0x08040000:leave dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2020 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Cannot open DFU device 2341:035b Cannot open DFU device 2341:035b No DFU capable USB device available An error occurred while uploading the sketch -
Did anyone use Arduino Portenta H7 with Arduino IOT Cloud? It is listed on IOT Cloud Page but it's not supporting!
When I was trying to connect the board with the, it says The device found is not compatible
But it's listed in the supporting board page.
also mentioned in the portenta page .
https://www.arduino.cc/en/IoT/HomePage https://store.arduino.cc/usa/portenta-h7