├── .github ├── FUNDING.yml ├── stale.yml └── workflows │ ├── examples.yml │ └── tests.yml ├── .gitignore ├── LICENSE ├── README.md ├── boards ├── 4d_systems_esp32s3_gen4_r8n16.json ├── adafruit_camera_esp32s3.json ├── adafruit_feather_esp32_v2.json ├── adafruit_feather_esp32s2.json ├── adafruit_feather_esp32s2_reversetft.json ├── adafruit_feather_esp32s2_tft.json ├── adafruit_feather_esp32s3.json ├── adafruit_feather_esp32s3_nopsram.json ├── adafruit_feather_esp32s3_reversetft.json ├── adafruit_feather_esp32s3_tft.json ├── adafruit_funhouse_esp32s2.json ├── adafruit_itsybitsy_esp32.json ├── adafruit_magtag29_esp32s2.json ├── adafruit_matrixportal_esp32s3.json ├── adafruit_metro_esp32s2.json ├── adafruit_metro_esp32s3.json ├── adafruit_qtpy_esp32.json ├── adafruit_qtpy_esp32c3.json ├── adafruit_qtpy_esp32s2.json ├── adafruit_qtpy_esp32s3_n4r2.json ├── adafruit_qtpy_esp32s3_nopsram.json ├── adafruit_qualia_s3_rgb666.json ├── airm2m_core_esp32c3.json ├── alksesp32.json ├── arduino_nano_esp32.json ├── atd147_s3.json ├── atmegazero_esp32s2.json ├── aventen_s3_sync.json ├── az-delivery-devkit-v4.json ├── bee_data_logger.json ├── bee_motion.json ├── bee_motion_mini.json ├── bee_motion_s3.json ├── bee_s3.json ├── bpi-bit.json ├── bpi_leaf_s3.json ├── cnrs_aw2eth.json ├── connaxio_espoir.json ├── cytron_maker_feather_aiot_s3.json ├── d-duino-32.json ├── deneyapkart.json ├── deneyapkart1A.json ├── deneyapkart1Av2.json ├── deneyapkartg.json ├── deneyapmini.json ├── deneyapminiv2.json ├── denky32.json ├── denky_d4.json ├── dfrobot_beetle_esp32c3.json ├── dfrobot_firebeetle2_esp32e.json ├── dfrobot_firebeetle2_esp32s3.json ├── dfrobot_romeo_esp32s3.json ├── dpu_esp32.json ├── edgebox-esp-100.json ├── esp-wrover-kit.json ├── esp32-c3-devkitc-02.json ├── esp32-c3-devkitm-1.json ├── esp32-c3-m1i-kit.json ├── esp32-c6-devkitc-1.json ├── esp32-c6-devkitm-1.json ├── esp32-devkitlipo.json ├── esp32-evb.json ├── esp32-gateway.json ├── esp32-pico-devkitm-2.json ├── esp32-poe-iso.json ├── esp32-poe.json ├── esp32-pro.json ├── esp32-s2-franzininho.json ├── esp32-s2-kaluga-1.json ├── esp32-s2-saola-1.json ├── esp32-s3-devkitc-1.json ├── esp32-s3-devkitm-1.json ├── esp320.json ├── esp32cam.json ├── esp32dev.json ├── esp32doit-devkit-v1.json ├── esp32doit-espduino.json ├── esp32s3_powerfeather.json ├── esp32s3box.json ├── esp32s3camlcd.json ├── esp32s3usbotg.json ├── esp32thing.json ├── esp32thing_plus.json ├── esp32vn-iot-uno.json ├── espea32.json ├── espectro32.json ├── espino32.json ├── etboard.json ├── featheresp32-s2.json ├── featheresp32.json ├── firebeetle32.json ├── fm-devkit.json ├── franzininho_wifi_esp32s2.json ├── franzininho_wifi_msc_esp32s2.json ├── freenove_esp32_s3_wroom.json ├── freenove_esp32_wrover.json ├── frogboard.json ├── healthypi4.json ├── heltec_wifi_kit_32.json ├── heltec_wifi_kit_32_V3.json ├── heltec_wifi_kit_32_v2.json ├── heltec_wifi_lora_32.json ├── heltec_wifi_lora_32_V2.json ├── heltec_wifi_lora_32_V3.json ├── heltec_wireless_stick.json ├── heltec_wireless_stick_lite.json ├── honeylemon.json ├── hornbill32dev.json ├── hornbill32minima.json ├── imbrios-logsens-v1p1.json ├── inex_openkb.json ├── intorobot.json ├── iotaap_magnolia.json ├── iotbusio.json ├── iotbusproteus.json ├── ioxesp32.json ├── ioxesp32ps.json ├── kb32-ft.json ├── kits-edu.json ├── labplus_mpython.json ├── lilka_v2.json ├── lilygo-t-display-s3.json ├── lilygo-t-display.json ├── lilygo-t3-s3.json ├── lionbit.json ├── lionbits3.json ├── lolin32.json ├── lolin32_lite.json ├── lolin_c3_mini.json ├── lolin_d32.json ├── lolin_d32_pro.json ├── lolin_s2_mini.json ├── lolin_s2_pico.json ├── lolin_s3.json ├── lolin_s3_mini.json ├── lolin_s3_pro.json ├── lopy.json ├── lopy4.json ├── m5stack-atom.json ├── m5stack-atoms3.json ├── m5stack-core-esp32-16M.json ├── m5stack-core-esp32.json ├── m5stack-core2.json ├── m5stack-coreink.json ├── m5stack-cores3.json ├── m5stack-fire.json ├── m5stack-grey.json ├── m5stack-stamps3.json ├── m5stack-station.json ├── m5stack-timer-cam.json ├── m5stamp-pico.json ├── m5stick-c.json ├── magicbit.json ├── mgbot-iotik32a.json ├── mgbot-iotik32b.json ├── mhetesp32devkit.json ├── mhetesp32minikit.json ├── microduino-core-esp32.json ├── micros2.json ├── minimain_esp32s2.json ├── motorgo_mini_1.json ├── namino_arancio.json ├── namino_rosso.json ├── nano32.json ├── nebulas3.json ├── nina_w10.json ├── node32s.json ├── nodemcu-32s.json ├── nodemcu-32s2.json ├── nscreen-32.json ├── odroid_esp32.json ├── onehorse32dev.json ├── oroca_edubot.json ├── pico32.json ├── piranha_esp32.json ├── pocket_32.json ├── pycom_gpy.json ├── qchip.json ├── quantum.json ├── redpill_esp32s3.json ├── roboheart_hercules.json ├── rymcu-esp32-c3-devkitm-1.json ├── rymcu-esp32-devkitc.json ├── rymcu-esp32-s3-devkitc-1.json ├── s_odi_ultra.json ├── seeed_xiao_esp32c3.json ├── seeed_xiao_esp32c6.json ├── seeed_xiao_esp32s3.json ├── sensebox_mcu_esp32s2.json ├── sensesiot_weizen.json ├── sg-o_airMon.json ├── sparkfun_esp32_iot_redboard.json ├── sparkfun_esp32micromod.json ├── sparkfun_esp32s2_thing_plus.json ├── sparkfun_esp32s2_thing_plus_c.json ├── sparkfun_lora_gateway_1-channel.json ├── tamc_termod_s3.json ├── tinypico.json ├── trueverit-iot-driver-mk2.json ├── trueverit-iot-driver-mk3.json ├── trueverit-iot-driver.json ├── ttgo-lora32-v1.json ├── ttgo-lora32-v2.json ├── ttgo-lora32-v21.json ├── ttgo-t-beam.json ├── ttgo-t-oi-plus.json ├── ttgo-t-watch.json ├── ttgo-t1.json ├── ttgo-t7-v13-mini32.json ├── ttgo-t7-v14-mini32.json ├── turta_iot_node.json ├── um_feathers2.json ├── um_feathers2_neo.json ├── um_feathers3.json ├── um_nanos3.json ├── um_pros3.json ├── um_rmp.json ├── um_tinys2.json ├── um_tinys3.json ├── unphone7.json ├── unphone8.json ├── unphone9.json ├── upesy_wroom.json ├── upesy_wrover.json ├── valtrack_v4_mfw_esp32_c3.json ├── valtrack_v4_vts_esp32_c3.json ├── vintlabs-devkit-v1.json ├── watchy.json ├── weactstudio_esp32c3coreboard.json ├── wemos_d1_mini32.json ├── wemos_d1_uno32.json ├── wemosbat.json ├── wesp32.json ├── widora-air.json ├── wifiduino32.json ├── wifiduino32c3.json ├── wifiduino32s3.json ├── wipy3.json ├── wt32-eth01.json └── xinabox_cw02.json ├── builder ├── frameworks │ ├── _bare.py │ ├── _embed_files.py │ ├── arduino.py │ ├── espidf.py │ └── ulp.py ├── main.py └── sizedata.py ├── examples ├── arduino-ble5-advertising │ ├── .gitignore │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── src │ │ └── BLE5_periodic_advertising.ino │ └── test │ │ └── README ├── arduino-blink │ ├── .gitignore │ ├── .travis.yml │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── src │ │ └── Blink.cpp │ └── test │ │ └── README ├── arduino-usb-keyboard │ ├── .gitignore │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── src │ │ └── KeyboardSerial.ino │ └── test │ │ └── README ├── arduino-wifiscan │ ├── .gitignore │ ├── .travis.yml │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── src │ │ └── WiFiScan.ino │ └── test │ │ └── README ├── espidf-arduino-blink │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── Blink.cpp │ │ └── CMakeLists.txt │ └── test │ │ └── README ├── espidf-arduino-wifiscan │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ └── main.cpp │ └── test │ │ └── README ├── espidf-ble-eddystone │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ ├── esp_eddystone_api.c │ │ ├── esp_eddystone_api.h │ │ ├── esp_eddystone_demo.c │ │ └── esp_eddystone_protocol.h │ └── test │ │ └── README ├── espidf-coap-server │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── components │ │ ├── CMakeLists.txt │ │ ├── Kconfig │ │ ├── LICENSE │ │ ├── README.md │ │ ├── idf_component.yml │ │ ├── libcoap │ │ │ ├── .github │ │ │ │ ├── ISSUE_TEMPLATE │ │ │ │ │ ├── bug_report.md │ │ │ │ │ ├── config.yml │ │ │ │ │ └── feature_request.md │ │ │ │ └── workflows │ │ │ │ │ └── main.yml │ │ │ ├── .gitignore │ │ │ ├── .gitmodules │ │ │ ├── .travis.yml │ │ │ ├── AUTHORS │ │ │ ├── BUILDING │ │ │ ├── CMakeLists.txt │ │ │ ├── CONTRIBUTE │ │ │ ├── COPYING │ │ │ ├── ChangeLog │ │ │ ├── Dockerfile │ │ │ ├── HOWTO.dual.gnutls │ │ │ ├── HOWTO.dual.openssl │ │ │ ├── HOWTO.dual.softhsm2 │ │ │ ├── HOWTO.pkcs11 │ │ │ ├── LICENSE │ │ │ ├── Makefile.am │ │ │ ├── Makefile.libcoap │ │ │ ├── NEWS │ │ │ ├── README │ │ │ ├── README.md │ │ │ ├── TODO │ │ │ ├── autogen.sh │ │ │ ├── build-env │ │ │ │ ├── .dockerignore │ │ │ │ ├── Dockerfile.build-env │ │ │ │ ├── Dockerfile.develop │ │ │ │ ├── build.sh │ │ │ │ └── imagename │ │ │ ├── cmake-format.yaml │ │ │ ├── cmake │ │ │ │ ├── FindMbedTLS.cmake │ │ │ │ └── FindTinyDTLS.cmake │ │ │ ├── cmake_coap_config.h.in │ │ │ ├── coap_config.h.contiki │ │ │ ├── coap_config.h.lwip │ │ │ ├── coap_config.h.lwip.in │ │ │ ├── coap_config.h.riot │ │ │ ├── coap_config.h.riot.in │ │ │ ├── coap_config.h.windows │ │ │ ├── coap_config.h.windows.in │ │ │ ├── configure.ac │ │ │ ├── doc │ │ │ │ ├── Doxyfile.in │ │ │ │ ├── Makefile.am │ │ │ │ ├── docbook.local.css │ │ │ │ ├── main.md │ │ │ │ ├── module_api_wrap.h │ │ │ │ ├── upgrade_4.2.1_4.3.0.txt │ │ │ │ └── upgrade_4.3.0_4.3.1.txt │ │ │ ├── examples │ │ │ │ ├── Makefile.am │ │ │ │ ├── README.etsi_iot │ │ │ │ ├── coap-client.c │ │ │ │ ├── coap-rd.c │ │ │ │ ├── coap-server.c │ │ │ │ ├── coap_list.c │ │ │ │ ├── coap_list.h │ │ │ │ ├── contiki │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── Makefile.contiki │ │ │ │ │ ├── README │ │ │ │ │ ├── coap-observer.c │ │ │ │ │ ├── radvd.conf.sample │ │ │ │ │ └── server.c │ │ │ │ ├── etsi_coaptest.sh │ │ │ │ ├── etsi_iot_01.c │ │ │ │ ├── etsi_iot_01_largedata.txt │ │ │ │ ├── etsi_testcases.sh │ │ │ │ ├── getopt.c │ │ │ │ ├── lwip │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README │ │ │ │ │ ├── lwipopts.h │ │ │ │ │ ├── server-coap.c │ │ │ │ │ ├── server-coap.h │ │ │ │ │ └── server.c │ │ │ │ ├── share.libcoap.examples.Makefile │ │ │ │ ├── share.libcoap.examples.README │ │ │ │ └── tiny.c │ │ │ ├── ext │ │ │ │ └── tinydtls │ │ │ │ │ ├── ABOUT.md │ │ │ │ │ ├── AutoConf.cmake │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile.riot │ │ │ │ │ ├── Makefile.tinydtls │ │ │ │ │ ├── README.md │ │ │ │ │ ├── aes │ │ │ │ │ ├── Makefile.riot │ │ │ │ │ ├── rijndael.c │ │ │ │ │ ├── rijndael.h │ │ │ │ │ └── rijndael_wrap.c │ │ │ │ │ ├── alert.h │ │ │ │ │ ├── autogen.sh │ │ │ │ │ ├── ccm.c │ │ │ │ │ ├── ccm.h │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── crypto.c │ │ │ │ │ ├── crypto.h │ │ │ │ │ ├── doc │ │ │ │ │ ├── Doxyfile.in │ │ │ │ │ └── DoxygenLayout.xml │ │ │ │ │ ├── dtls.c │ │ │ │ │ ├── dtls.h │ │ │ │ │ ├── dtls_config.h.cmake.in │ │ │ │ │ ├── dtls_debug.c │ │ │ │ │ ├── dtls_debug.h │ │ │ │ │ ├── dtls_mutex.h │ │ │ │ │ ├── dtls_prng.c │ │ │ │ │ ├── dtls_prng.h │ │ │ │ │ ├── dtls_time.c │ │ │ │ │ ├── dtls_time.h │ │ │ │ │ ├── ecc │ │ │ │ │ ├── Makefile.contiki │ │ │ │ │ ├── Makefile.ecc │ │ │ │ │ ├── Makefile.riot │ │ │ │ │ ├── ecc.c │ │ │ │ │ ├── ecc.h │ │ │ │ │ ├── test_helper.c │ │ │ │ │ ├── test_helper.h │ │ │ │ │ ├── testecc.c │ │ │ │ │ └── testfield.c │ │ │ │ │ ├── global.h │ │ │ │ │ ├── hmac.c │ │ │ │ │ ├── hmac.h │ │ │ │ │ ├── netq.c │ │ │ │ │ ├── netq.h │ │ │ │ │ ├── numeric.h │ │ │ │ │ ├── peer.c │ │ │ │ │ ├── peer.h │ │ │ │ │ ├── platform-specific │ │ │ │ │ ├── dtls_prng_contiki.c │ │ │ │ │ ├── dtls_prng_espidf.c │ │ │ │ │ ├── dtls_prng_posix.c │ │ │ │ │ ├── dtls_prng_riot.c │ │ │ │ │ ├── dtls_prng_zephyr.c │ │ │ │ │ ├── platform.h │ │ │ │ │ └── riot_boards.h │ │ │ │ │ ├── session.c │ │ │ │ │ ├── session.h │ │ │ │ │ ├── sha2 │ │ │ │ │ ├── README │ │ │ │ │ ├── sha2.c │ │ │ │ │ ├── sha2.h │ │ │ │ │ ├── sha2prog.c │ │ │ │ │ ├── sha2speed.c │ │ │ │ │ ├── sha2test.pl │ │ │ │ │ └── testvectors │ │ │ │ │ │ ├── vector001.dat │ │ │ │ │ │ ├── vector001.info │ │ │ │ │ │ ├── vector002.dat │ │ │ │ │ │ ├── vector002.info │ │ │ │ │ │ ├── vector003.dat │ │ │ │ │ │ ├── vector003.info │ │ │ │ │ │ ├── vector004.dat │ │ │ │ │ │ ├── vector004.info │ │ │ │ │ │ ├── vector005.dat │ │ │ │ │ │ ├── vector005.info │ │ │ │ │ │ ├── vector006.dat │ │ │ │ │ │ ├── vector006.info │ │ │ │ │ │ ├── vector007.dat │ │ │ │ │ │ ├── vector007.info │ │ │ │ │ │ ├── vector008.dat │ │ │ │ │ │ ├── vector008.info │ │ │ │ │ │ ├── vector009.dat │ │ │ │ │ │ ├── vector009.info │ │ │ │ │ │ ├── vector010.dat │ │ │ │ │ │ ├── vector010.info │ │ │ │ │ │ ├── vector011.dat │ │ │ │ │ │ ├── vector011.info │ │ │ │ │ │ ├── vector012.dat │ │ │ │ │ │ ├── vector012.info │ │ │ │ │ │ ├── vector013.dat │ │ │ │ │ │ ├── vector013.info │ │ │ │ │ │ ├── vector014.dat │ │ │ │ │ │ ├── vector014.info │ │ │ │ │ │ ├── vector015.dat │ │ │ │ │ │ ├── vector015.info │ │ │ │ │ │ ├── vector016.dat │ │ │ │ │ │ ├── vector016.info │ │ │ │ │ │ ├── vector017.dat │ │ │ │ │ │ ├── vector017.info │ │ │ │ │ │ ├── vector018.dat │ │ │ │ │ │ └── vector018.info │ │ │ │ │ ├── state.h │ │ │ │ │ ├── tests │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cbc_aes128-test.c │ │ │ │ │ ├── cbc_aes128-testdata.c │ │ │ │ │ ├── ccm-test.c │ │ │ │ │ ├── ccm-testdata.c │ │ │ │ │ ├── dsrv-test.c │ │ │ │ │ ├── dtls-client.c │ │ │ │ │ ├── dtls-server.c │ │ │ │ │ ├── netq-test.c │ │ │ │ │ ├── pcap.c │ │ │ │ │ └── unit-tests │ │ │ │ │ │ ├── test_ccm.c │ │ │ │ │ │ ├── test_ccm.h │ │ │ │ │ │ ├── test_ecc.c │ │ │ │ │ │ ├── test_ecc.h │ │ │ │ │ │ ├── test_prf.c │ │ │ │ │ │ ├── test_prf.h │ │ │ │ │ │ └── testdriver.c │ │ │ │ │ ├── tinydtls.h │ │ │ │ │ ├── tinydtls.pc.in │ │ │ │ │ ├── uthash.h │ │ │ │ │ ├── utlist.h │ │ │ │ │ └── zephyr │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── Kconfig │ │ │ ├── include │ │ │ │ └── coap3 │ │ │ │ │ ├── block.h │ │ │ │ │ ├── coap.h.in │ │ │ │ │ ├── coap.h.windows │ │ │ │ │ ├── coap.h.windows.in │ │ │ │ │ ├── coap_address.h │ │ │ │ │ ├── coap_asn1_internal.h │ │ │ │ │ ├── coap_async.h │ │ │ │ │ ├── coap_async_internal.h │ │ │ │ │ ├── coap_block_internal.h │ │ │ │ │ ├── coap_cache.h │ │ │ │ │ ├── coap_cache_internal.h │ │ │ │ │ ├── coap_debug.h │ │ │ │ │ ├── coap_dtls.h │ │ │ │ │ ├── coap_dtls_internal.h │ │ │ │ │ ├── coap_event.h │ │ │ │ │ ├── coap_forward_decls.h │ │ │ │ │ ├── coap_hashkey.h │ │ │ │ │ ├── coap_internal.h │ │ │ │ │ ├── coap_io.h │ │ │ │ │ ├── coap_io_internal.h │ │ │ │ │ ├── coap_mutex.h │ │ │ │ │ ├── coap_net_internal.h │ │ │ │ │ ├── coap_option.h │ │ │ │ │ ├── coap_pdu_internal.h │ │ │ │ │ ├── coap_prng.h │ │ │ │ │ ├── coap_resource_internal.h │ │ │ │ │ ├── coap_riot.h │ │ │ │ │ ├── coap_session.h │ │ │ │ │ ├── coap_session_internal.h │ │ │ │ │ ├── coap_subscribe.h │ │ │ │ │ ├── coap_subscribe_internal.h │ │ │ │ │ ├── coap_tcp_internal.h │ │ │ │ │ ├── coap_time.h │ │ │ │ │ ├── encode.h │ │ │ │ │ ├── libcoap.h │ │ │ │ │ ├── lwippools.h │ │ │ │ │ ├── mem.h │ │ │ │ │ ├── net.h │ │ │ │ │ ├── pdu.h │ │ │ │ │ ├── resource.h │ │ │ │ │ ├── str.h │ │ │ │ │ ├── uri.h │ │ │ │ │ ├── uthash.h │ │ │ │ │ └── utlist.h │ │ │ ├── libcoap-3.map │ │ │ ├── libcoap-3.pc.in │ │ │ ├── libcoap-3.sym │ │ │ ├── m4 │ │ │ │ ├── ac_check_cryptolibs.m4 │ │ │ │ ├── ax_check_a2x_to_man.m4 │ │ │ │ ├── ax_check_compile_flag.m4 │ │ │ │ └── ax_check_link_flag.m4 │ │ │ ├── man │ │ │ │ ├── Makefile.am │ │ │ │ ├── coap-client.txt.in │ │ │ │ ├── coap-rd.txt.in │ │ │ │ ├── coap-server.txt.in │ │ │ │ ├── coap.txt.in │ │ │ │ ├── coap_async.txt.in │ │ │ │ ├── coap_attribute.txt.in │ │ │ │ ├── coap_block.txt.in │ │ │ │ ├── coap_cache.txt.in │ │ │ │ ├── coap_context.txt.in │ │ │ │ ├── coap_encryption.txt.in │ │ │ │ ├── coap_endpoint_client.txt.in │ │ │ │ ├── coap_endpoint_server.txt.in │ │ │ │ ├── coap_handler.txt.in │ │ │ │ ├── coap_io.txt.in │ │ │ │ ├── coap_keepalive.txt.in │ │ │ │ ├── coap_logging.txt.in │ │ │ │ ├── coap_observe.txt.in │ │ │ │ ├── coap_pdu_access.txt.in │ │ │ │ ├── coap_pdu_setup.txt.in │ │ │ │ ├── coap_recovery.txt.in │ │ │ │ ├── coap_resource.txt.in │ │ │ │ ├── coap_session.txt.in │ │ │ │ ├── coap_string.txt.in │ │ │ │ ├── coap_tls_library.txt.in │ │ │ │ └── examples-code-check.c │ │ │ ├── scripts │ │ │ │ ├── api-version-bump.sh │ │ │ │ ├── build.sh │ │ │ │ ├── dist.sh │ │ │ │ ├── fix-cunit.sh │ │ │ │ ├── format_cmake.sh │ │ │ │ ├── github_dist.sh │ │ │ │ └── msbuild.sln.cmd │ │ │ ├── src │ │ │ │ ├── block.c │ │ │ │ ├── coap_address.c │ │ │ │ ├── coap_asn1.c │ │ │ │ ├── coap_async.c │ │ │ │ ├── coap_cache.c │ │ │ │ ├── coap_debug.c │ │ │ │ ├── coap_event.c │ │ │ │ ├── coap_gnutls.c │ │ │ │ ├── coap_hashkey.c │ │ │ │ ├── coap_io.c │ │ │ │ ├── coap_io_lwip.c │ │ │ │ ├── coap_io_riot.c │ │ │ │ ├── coap_mbedtls.c │ │ │ │ ├── coap_notls.c │ │ │ │ ├── coap_openssl.c │ │ │ │ ├── coap_option.c │ │ │ │ ├── coap_prng.c │ │ │ │ ├── coap_session.c │ │ │ │ ├── coap_subscribe.c │ │ │ │ ├── coap_tcp.c │ │ │ │ ├── coap_time.c │ │ │ │ ├── coap_tinydtls.c │ │ │ │ ├── encode.c │ │ │ │ ├── mem.c │ │ │ │ ├── net.c │ │ │ │ ├── pdu.c │ │ │ │ ├── resource.c │ │ │ │ ├── str.c │ │ │ │ └── uri.c │ │ │ ├── tests │ │ │ │ ├── Makefile.am │ │ │ │ ├── oss-fuzz │ │ │ │ │ ├── Makefile.ci.in │ │ │ │ │ ├── Makefile.oss-fuzz │ │ │ │ │ ├── pdu_parse_target.c │ │ │ │ │ └── split_uri_target.c │ │ │ │ ├── test_common.h.in │ │ │ │ ├── test_encode.c │ │ │ │ ├── test_encode.h │ │ │ │ ├── test_error_response.c │ │ │ │ ├── test_error_response.h │ │ │ │ ├── test_options.c │ │ │ │ ├── test_options.h │ │ │ │ ├── test_pdu.c │ │ │ │ ├── test_pdu.h │ │ │ │ ├── test_sendqueue.c │ │ │ │ ├── test_sendqueue.h │ │ │ │ ├── test_session.c │ │ │ │ ├── test_session.h │ │ │ │ ├── test_tls.c │ │ │ │ ├── test_tls.h │ │ │ │ ├── test_uri.c │ │ │ │ ├── test_uri.h │ │ │ │ ├── test_wellknown.c │ │ │ │ ├── test_wellknown.h │ │ │ │ ├── testdriver.c │ │ │ │ └── valgrind_suppression │ │ │ └── win32 │ │ │ │ ├── coap-client │ │ │ │ ├── coap-client.vcxproj │ │ │ │ └── coap-client.vcxproj.filters │ │ │ │ ├── coap-rd │ │ │ │ ├── coap-rd.vcxproj │ │ │ │ └── coap-rd.vcxproj.filters │ │ │ │ ├── coap-server │ │ │ │ ├── coap-server.vcxproj │ │ │ │ └── coap-server.vcxproj.filters │ │ │ │ ├── libcoap.props │ │ │ │ ├── libcoap.sln │ │ │ │ ├── libcoap.vcxproj │ │ │ │ ├── libcoap.vcxproj.filters │ │ │ │ └── testdriver │ │ │ │ ├── testdriver.vcxproj │ │ │ │ └── testdriver.vcxproj.filters │ │ └── port │ │ │ └── include │ │ │ ├── coap3 │ │ │ └── coap.h │ │ │ ├── coap_config.h │ │ │ └── coap_config_posix.h │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ ├── Kconfig.projbuild │ │ ├── certs │ │ │ ├── coap_ca.pem │ │ │ ├── coap_server.crt │ │ │ └── coap_server.key │ │ └── coap_server_example_main.c │ └── test │ │ └── README ├── espidf-exceptions │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ └── exception_example_main.cpp │ └── test │ │ └── README ├── espidf-hello-world │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults.esp32c6 │ ├── src │ │ ├── CMakeLists.txt │ │ └── hello_world_main.c │ └── test │ │ ├── README │ │ └── test_dummy │ │ └── test_dummy.c ├── espidf-http-request │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ └── http_request_example_main.c │ └── test │ │ └── README ├── espidf-peripherals-uart │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── src │ │ ├── CMakeLists.txt │ │ ├── Kconfig.projbuild │ │ └── uart_echo_example_main.c │ └── test │ │ └── README ├── espidf-peripherals-usb │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── components │ │ └── esp_tinyusb │ │ │ ├── CHANGELOG.md │ │ │ ├── CMakeLists.txt │ │ │ ├── Kconfig │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cdc.c │ │ │ ├── descriptors_control.c │ │ │ ├── idf_component.yml │ │ │ ├── include │ │ │ ├── tinyusb.h │ │ │ ├── tinyusb_net.h │ │ │ ├── tinyusb_types.h │ │ │ ├── tusb_cdc_acm.h │ │ │ ├── tusb_config.h │ │ │ ├── tusb_console.h │ │ │ ├── tusb_msc_storage.h │ │ │ ├── tusb_tasks.h │ │ │ └── vfs_tinyusb.h │ │ │ ├── include_private │ │ │ ├── cdc.h │ │ │ ├── descriptors_control.h │ │ │ └── usb_descriptors.h │ │ │ ├── sbom.yml │ │ │ ├── test │ │ │ └── local │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── libusb_test.c │ │ │ ├── test_app │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── main │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── idf_component.yml │ │ │ │ ├── test_app_main.c │ │ │ │ ├── test_bvalid_sig.c │ │ │ │ ├── test_bvalid_sig.h │ │ │ │ ├── test_descriptors_config.c │ │ │ │ ├── test_descriptors_config.h │ │ │ │ ├── test_esp_tinyusb.c │ │ │ │ └── test_tud_cb.c │ │ │ ├── pytest_usb_device_cdc.py │ │ │ ├── pytest_usb_device_esp_tinyusb.py │ │ │ └── sdkconfig.defaults │ │ │ ├── tinyusb.c │ │ │ ├── tinyusb_net.c │ │ │ ├── tusb_cdc_acm.c │ │ │ ├── tusb_console.c │ │ │ ├── tusb_msc_storage.c │ │ │ ├── tusb_tasks.c │ │ │ ├── usb_descriptors.c │ │ │ └── vfs_tinyusb.c │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ └── tusb_serial_device_main.c │ └── test │ │ └── README ├── espidf-storage-sdcard │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── platformio.ini │ ├── src │ │ ├── CMakeLists.txt │ │ ├── Kconfig.projbuild │ │ └── sd_card_example_main.c │ └── test │ │ └── README ├── espidf-storage-spiffs │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── data │ │ └── hello.txt │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── partitions_example.csv │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ │ ├── CMakeLists.txt │ │ ├── Kconfig.projbuild │ │ └── spiffs_example_main.c │ └── test │ │ └── README ├── espidf-ulp-adc │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── README │ ├── lib │ │ └── README │ ├── main │ │ ├── CMakeLists.txt │ │ └── ulp_adc_example_main.c │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── test │ │ └── README │ └── ulp │ │ ├── adc.S │ │ └── example_config.h └── espidf-ulp-pulse │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ └── README │ ├── lib │ └── README │ ├── platformio.ini │ ├── sdkconfig.defaults │ ├── src │ ├── CMakeLists.txt │ └── ulp_example_main.c │ ├── test │ └── README │ └── ulp │ ├── pulse_cnt.S │ └── wake_up.S ├── monitor └── filter_exception_decoder.py ├── platform.json └── platform.py /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: https://platformio.org/donate 2 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an issue becomes stale 2 | daysUntilStale: 30 3 | # Number of days of inactivity before a stale issue is closed 4 | daysUntilClose: 7 5 | # Issues with these labels will never be considered stale 6 | exemptLabels: 7 | - bug 8 | - known issue 9 | - feature 10 | - enhancement 11 | - board request 12 | - package update 13 | # Label to use when marking an issue as stale 14 | staleLabel: stale 15 | # Comment to post when marking an issue as stale. Set to `false` to disable 16 | markComment: > 17 | This issue has been automatically marked as stale because it has not had 18 | recent activity. Please provide more details or it will be closed if no 19 | further activity occurs. Thank you for your contributions. 20 | # Comment to post when closing a stale issue. Set to `false` to disable 21 | closeComment: false 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /boards/airm2m_core_esp32c3.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32c3_out.ld" 5 | }, 6 | "core": "esp32", 7 | "f_cpu": "160000000L", 8 | "f_flash": "80000000L", 9 | "flash_mode": "dio", 10 | "extra_flags": [ 11 | "-DARDUINO_AirM2M_CORE_ESP32C3", 12 | "-DARDUINO_USB_MODE=1" 13 | ], 14 | "mcu": "esp32c3", 15 | "variant": "AirM2M_CORE_ESP32C3" 16 | }, 17 | "connectivity": [ 18 | "wifi" 19 | ], 20 | "debug": { 21 | "openocd_target": "esp32c3.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "AirM2M CORE ESP32C3", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://wiki.luatos.com/chips/esp32c3/board.html", 36 | "vendor": "AirM2M" 37 | } 38 | -------------------------------------------------------------------------------- /boards/alksesp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ALKS", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "alksesp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino" 25 | ], 26 | "name": "ALKS ESP32", 27 | "upload": { 28 | "flash_size": "4MB", 29 | "maximum_ram_size": 327680, 30 | "maximum_size": 4194304, 31 | "require_upload_port": true, 32 | "speed": 460800 33 | }, 34 | "url": "https://github.com/RoboticsBrno/ArduinoLearningKitStarter.git", 35 | "vendor": "RoboticsBrno" 36 | } 37 | -------------------------------------------------------------------------------- /boards/az-delivery-devkit-v4.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "AZ-Delivery ESP-32 Dev Kit C V4", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 532480, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.az-delivery.com/products/esp-32-dev-kit-c-v4", 36 | "vendor": "AZ-Delivery" 37 | } 38 | -------------------------------------------------------------------------------- /boards/bpi-bit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_BPI_BIT", 8 | "f_cpu": "160000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "bpi-bit" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "BPI-Bit", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://en.wikipedia.org/wiki/ESP32", 33 | "vendor": "BPI Tech" 34 | } 35 | -------------------------------------------------------------------------------- /boards/cnrs_aw2eth.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": [ 8 | "-DARDUINO_ESP32_PICO" 9 | ], 10 | "f_cpu": "240000000L", 11 | "f_flash": "40000000L", 12 | "flash_mode": "dio", 13 | "mcu": "esp32", 14 | "variant": "cnrs_aw2eth" 15 | }, 16 | "connectivity": [ 17 | "wifi", 18 | "bluetooth", 19 | "ethernet", 20 | "can" 21 | ], 22 | "frameworks": [ 23 | "arduino", 24 | "espidf" 25 | ], 26 | "name": "CNRS AW2ETH", 27 | "upload": { 28 | "flash_size": "4MB", 29 | "maximum_ram_size": 327680, 30 | "maximum_size": 4194304, 31 | "require_upload_port": true, 32 | "speed": 460800 33 | }, 34 | "url": "https://en.wikipedia.org/wiki/ESP32", 35 | "vendor": "CNRS" 36 | } 37 | -------------------------------------------------------------------------------- /boards/d-duino-32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_D_DUINO_32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "d-duino-32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "D-duino-32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.tindie.com/products/lspoplove/dstike-d-duino-32-v3/", 36 | "vendor": "DSTIKE" 37 | } 38 | -------------------------------------------------------------------------------- /boards/denky_d4.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": [ 8 | "-DARDUINO_DENKY_PICOV3", 9 | "-DBOARD_HAS_PSRAM" 10 | ], 11 | "f_cpu": "240000000L", 12 | "f_flash": "80000000L", 13 | "flash_mode": "qio", 14 | "mcu": "esp32", 15 | "variant": "ch_denky" 16 | }, 17 | "connectivity": [ 18 | "wifi", 19 | "bluetooth", 20 | "ethernet", 21 | "can" 22 | ], 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Denky D4 (PICO-V3-02)", 28 | "upload": { 29 | "flash_size": "8MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 8388608, 32 | "require_upload_port": true, 33 | "speed": 2000000 34 | }, 35 | "url": "https://en.wikipedia.org/wiki/ESP32", 36 | "vendor": "Denky" 37 | } 38 | -------------------------------------------------------------------------------- /boards/esp32-c3-m1i-kit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32c3_out.ld" 5 | }, 6 | "core": "esp32", 7 | "f_cpu": "160000000L", 8 | "f_flash": "80000000L", 9 | "flash_mode": "qio", 10 | "extra_flags": [ 11 | "-DARDUINO_ESP32C3_M1_I_KIT", 12 | "-DARDUINO_USB_MODE=1" 13 | ], 14 | "mcu": "esp32c3", 15 | "variant": "esp_c3_m1_i_kit" 16 | }, 17 | "connectivity": [ 18 | "wifi" 19 | ], 20 | "debug": { 21 | "openocd_target": "esp32c3.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Ai-Thinker ESP-C3-M1-I-Kit", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://docs.ai-thinker.com/en/esp32c3", 36 | "vendor": "Ai-Thinker" 37 | } 38 | -------------------------------------------------------------------------------- /boards/esp32-c6-devkitc-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "core": "esp32", 4 | "f_cpu": "160000000L", 5 | "f_flash": "80000000L", 6 | "flash_mode": "qio", 7 | "mcu": "esp32c6" 8 | }, 9 | "connectivity": [ 10 | "wifi" 11 | ], 12 | "frameworks": [ 13 | "espidf" 14 | ], 15 | "name": "Espressif ESP32-C6-DevKitC-1", 16 | "upload": { 17 | "flash_size": "8MB", 18 | "maximum_ram_size": 327680, 19 | "maximum_size": 8388608, 20 | "require_upload_port": true, 21 | "speed": 460800 22 | }, 23 | "url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html", 24 | "vendor": "Espressif" 25 | } 26 | -------------------------------------------------------------------------------- /boards/esp32-c6-devkitm-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "core": "esp32", 4 | "f_cpu": "160000000L", 5 | "f_flash": "80000000L", 6 | "flash_mode": "qio", 7 | "mcu": "esp32c6", 8 | "variant": "esp32c6" 9 | }, 10 | "connectivity": [ 11 | "wifi" 12 | ], 13 | "debug": { 14 | "openocd_target": "esp32c6.cfg" 15 | }, 16 | "frameworks": [ 17 | "espidf" 18 | ], 19 | "name": "Espressif ESP32-C6-DevKitM-1", 20 | "upload": { 21 | "flash_size": "4MB", 22 | "maximum_ram_size": 327680, 23 | "maximum_size": 4194304, 24 | "require_upload_port": true, 25 | "speed": 460800 26 | }, 27 | "url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitm-1/index.html", 28 | "vendor": "Espressif" 29 | } 30 | -------------------------------------------------------------------------------- /boards/esp32-poe-iso.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_POE_ISO", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "hwids": [["0x1A86", "0x7523"]], 12 | "mcu": "esp32", 13 | "variant": "esp32-poe-iso" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "OLIMEX ESP32-PoE-ISO", 26 | "upload": { 27 | "flash_size": "4MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 4194304, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://www.olimex.com/Products/IoT/ESP32/ESP32-POE-ISO/open-source-hardware", 34 | "vendor": "OLIMEX" 35 | } 36 | -------------------------------------------------------------------------------- /boards/esp32-poe.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_POE", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "hwids": [["0x1A86", "0x7523"]], 12 | "mcu": "esp32", 13 | "variant": "esp32-poe" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "OLIMEX ESP32-PoE", 26 | "upload": { 27 | "flash_size": "4MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 4194304, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware", 34 | "vendor": "OLIMEX" 35 | } 36 | -------------------------------------------------------------------------------- /boards/esp32-pro.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_PRO", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32-evb" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "OLIMEX ESP32-PRO", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.olimex.com/Products/IoT/ESP32/ESP32-PRO/open-source-hardware", 33 | "vendor": "OLIMEX" 34 | } 35 | -------------------------------------------------------------------------------- /boards/esp32-s2-franzininho.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ld": "esp32s2_out.ld" 5 | }, 6 | "core": "esp32", 7 | "f_cpu": "240000000L", 8 | "f_flash": "80000000L", 9 | "flash_mode": "dio", 10 | "mcu": "esp32s2", 11 | "variant": "esp32s2" 12 | }, 13 | "connectivity": [ 14 | "wifi" 15 | ], 16 | "debug": { 17 | "openocd_target": "esp32s2.cfg" 18 | }, 19 | "frameworks": [ 20 | "espidf" 21 | ], 22 | "name": "Franzininho WiFi Board", 23 | "upload": { 24 | "flash_size": "4MB", 25 | "maximum_ram_size": 327680, 26 | "maximum_size": 4194304, 27 | "require_upload_port": true, 28 | "speed": 460800 29 | }, 30 | "url": "https://github.com/Franzininho/Franzininho-WIFI", 31 | "vendor": "Franzininho" 32 | } 33 | -------------------------------------------------------------------------------- /boards/esp32-s2-saola-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32s2_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32S2_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32s2", 12 | "variant": "esp32s2" 13 | }, 14 | "connectivity": [ 15 | "wifi" 16 | ], 17 | "debug": { 18 | "openocd_target": "esp32s2.cfg" 19 | }, 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Espressif ESP32-S2-Saola-1", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html", 33 | "vendor": "Espressif" 34 | } 35 | -------------------------------------------------------------------------------- /boards/esp320.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP320", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "esp320" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Electronic SweetPeas ESP320", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.sweetpeas.se/controller-modules/10-esp210.html", 33 | "vendor": "Electronic SweetPeas" 34 | } 35 | -------------------------------------------------------------------------------- /boards/esp32dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Espressif ESP32 Dev Module", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://en.wikipedia.org/wiki/ESP32", 36 | "vendor": "Espressif" 37 | } 38 | -------------------------------------------------------------------------------- /boards/esp32doit-devkit-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "doitESP32devkitV1" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "DOIT ESP32 DEVKIT V1", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://www.doit.am/", 36 | "vendor": "DOIT" 37 | } 38 | -------------------------------------------------------------------------------- /boards/esp32doit-espduino.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "doitESPduino32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "DOIT ESPduino32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://www.doit.am/", 36 | "vendor": "DOIT" 37 | } 38 | -------------------------------------------------------------------------------- /boards/esp32thing.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_THING", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32thing" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "SparkFun ESP32 Thing", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.sparkfun.com/products/13907", 36 | "vendor": "SparkFun Electronics" 37 | } 38 | -------------------------------------------------------------------------------- /boards/esp32vn-iot-uno.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_esp32vn_iot_uno", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32vn-iot-uno" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "ESP32vn IoT Uno", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://esp32.vn/", 36 | "vendor": "ESP32vn" 37 | } 38 | -------------------------------------------------------------------------------- /boards/espea32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESPea32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "espea32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "April Brother ESPea32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://blog.aprbrother.com/product/espea", 33 | "vendor": "April Brother" 34 | } 35 | -------------------------------------------------------------------------------- /boards/espectro32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESPECTRO32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "espectro32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "ESPectro32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://shop.makestro.com/product/espectro32", 36 | "vendor": "DycodeX" 37 | } 38 | -------------------------------------------------------------------------------- /boards/espino32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESPino32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "espino32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "ESPino32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://thaieasyelec.com/products/development-boards/espino-wifi-development-board-detail.html", 36 | "vendor": "ThaiEasyElec" 37 | } 38 | -------------------------------------------------------------------------------- /boards/etboard.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ETBoard", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "ET-Board" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "ETBoard", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://et.ketri.re.kr", 33 | "vendor": "ETBoard" 34 | } 35 | -------------------------------------------------------------------------------- /boards/featheresp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_FEATHER_ESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "feather_esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Adafruit ESP32 Feather", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.adafruit.com/product/3405", 36 | "vendor": "Adafruit" 37 | } 38 | -------------------------------------------------------------------------------- /boards/firebeetle32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "firebeetle32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth" 17 | ], 18 | "debug": { 19 | "openocd_board": "esp-wroom-32.cfg" 20 | }, 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "FireBeetle-ESP32", 26 | "upload": { 27 | "flash_size": "16MB", 28 | "maximum_ram_size": 532480, 29 | "maximum_size": 16777216, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://wiki.dfrobot.com/FireBeetle_ESP32_IOT_Microcontroller(V3.0)__Supports_Wi-Fi_&_Bluetooth__SKU__DFR0478", 34 | "vendor": "DFRobot" 35 | } 36 | -------------------------------------------------------------------------------- /boards/fm-devkit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_fm_devkit", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "fm-devkit" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "ESP32 FM DevKit", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://github.com/dragon-engineer/esp32_fmdevkit", 36 | "vendor": "Unknown" 37 | } 38 | -------------------------------------------------------------------------------- /boards/frogboard.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_FROG_ESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "frog32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Frog Board ESP32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.tindie.com/products/fred_IOT/esp32s-esp-wroom32-frogopins-development-board/", 36 | "vendor": "Fred" 37 | } 38 | -------------------------------------------------------------------------------- /boards/healthypi4.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HEALTHYPI_4", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "healthypi4" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "ProtoCentral HealthyPi 4", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://healthypi.protocentral.com", 33 | "vendor": "ProtoCentral" 34 | } 35 | -------------------------------------------------------------------------------- /boards/heltec_wifi_kit_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HELTEC_WIFI_KIT_32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "heltec_wifi_kit_32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Heltec WiFi Kit 32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.heltec.cn/project/wifi-kit-32/?lang=en", 33 | "vendor": "Heltec Automation" 34 | } 35 | -------------------------------------------------------------------------------- /boards/heltec_wifi_kit_32_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "default_8MB.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": "-DARDUINO_HELTEC_WIFI_KIT_32", 9 | "f_cpu": "240000000L", 10 | "f_flash": "40000000L", 11 | "flash_mode": "dio", 12 | "mcu": "esp32", 13 | "variant": "heltec_wifi_kit_32" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "Heltec WiFi Kit 32 (V2)", 26 | "upload": { 27 | "flash_size": "8MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 8388608, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "http://www.heltec.cn/project/wifi-kit-32/?lang=en", 34 | "vendor": "Heltec Automation" 35 | } 36 | -------------------------------------------------------------------------------- /boards/heltec_wifi_lora_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HELTEC_WIFI_LORA_32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "heltec_wifi_lora_32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Heltec WiFi LoRa 32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://www.heltec.cn", 36 | "vendor": "Heltec Automation" 37 | } 38 | -------------------------------------------------------------------------------- /boards/heltec_wireless_stick_lite.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HELTEC_WIRELESS_STICK_LITE", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "heltec_wireless_stick_lite" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Heltec Wireless Stick Lite", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://heltec.org/project/wireless-stick-lite/", 33 | "vendor": "Heltec Automation" 34 | } 35 | -------------------------------------------------------------------------------- /boards/honeylemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HONEYLEMON", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "honeylemon" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "HONEYLemon", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://en.wikipedia.org/wiki/ESP32", 36 | "vendor": "HONEYLemon" 37 | } 38 | -------------------------------------------------------------------------------- /boards/hornbill32dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HORNBILL_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "hornbill32dev" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Hornbill ESP32 Dev", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://hackaday.io/project/18997-hornbill", 36 | "vendor": "Hornbill" 37 | } 38 | -------------------------------------------------------------------------------- /boards/hornbill32minima.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HORNBILL_ESP32_MINIMA", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "hornbill32minima" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Hornbill ESP32 Minima", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://hackaday.io/project/18997-hornbill", 36 | "vendor": "Hornbill" 37 | } 38 | -------------------------------------------------------------------------------- /boards/imbrios-logsens-v1p1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_IMBRIOS_LOGSENS_V1P1", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "imbrios-logsens-v1p1" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Imbrios LogSens V1P1", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.imbrios.com/products/logsens", 33 | "vendor": "Imbrios" 34 | } 35 | -------------------------------------------------------------------------------- /boards/inex_openkb.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_openkb", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "openkb" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "INEX OpenKB", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://inex.co.th/home/product/openkb/", 33 | "vendor": "INEX" 34 | } 35 | -------------------------------------------------------------------------------- /boards/intorobot.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_INTOROBOT_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "intorobot-fig" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "IntoRobot Fig", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://docs.intorobot.com/zh/hardware/fig/hardware/", 33 | "vendor": "IntoRobot" 34 | } 35 | -------------------------------------------------------------------------------- /boards/iotaap_magnolia.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino" 25 | ], 26 | "name": "IoTaaP Magnolia", 27 | "upload": { 28 | "flash_size": "4MB", 29 | "maximum_ram_size": 327680, 30 | "maximum_size": 4194304, 31 | "require_upload_port": true, 32 | "speed": 921600 33 | }, 34 | "url": "https://www.iotaap.io", 35 | "vendor": "IoTaaP" 36 | } 37 | -------------------------------------------------------------------------------- /boards/ioxesp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_IOXESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "ioxesp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "ArtronShop IOXESP32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://docs.ioxesp32.com/", 36 | "vendor": "ArtronShop" 37 | } 38 | -------------------------------------------------------------------------------- /boards/kits-edu.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_PICO", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "pico32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "KITS ESP32 EDU", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.koreaits.com/new/product/summary.htm?goods_no=468&mid_no=103&no=17", 33 | "vendor": "KITS" 34 | } 35 | -------------------------------------------------------------------------------- /boards/labplus_mpython.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": "-DARDUINO_ESP32_DEV", 9 | "f_cpu": "240000000L", 10 | "f_flash": "80000000L", 11 | "flash_mode": "qio", 12 | "mcu": "esp32", 13 | "variant": "mpython" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "Labplus mPython", 26 | "upload": { 27 | "flash_size": "8MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 4194304, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://github.com/labplus-cn/mpython", 34 | "vendor": "Labplus" 35 | } 36 | -------------------------------------------------------------------------------- /boards/lolin32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_LOLIN32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "lolin32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "WEMOS LOLIN32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://wiki.wemos.cc/products:lolin32:lolin32", 36 | "vendor": "WEMOS" 37 | } 38 | -------------------------------------------------------------------------------- /boards/lolin32_lite.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_LOLIN32_LITE", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "lolin32-lite" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "WEMOS LOLIN32 Lite", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://diyprojects.io/wemos-lolin32-lite-compact-revision-lolin32-4-90/", 36 | "vendor": "WEMOS" 37 | } 38 | -------------------------------------------------------------------------------- /boards/lolin_d32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_LOLIN_D32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "d32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "WEMOS LOLIN D32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://wiki.wemos.cc/products:d32:d32", 36 | "vendor": "WEMOS" 37 | } 38 | -------------------------------------------------------------------------------- /boards/lopy.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_LoPy", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "lopy" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "can", 18 | "ethernet" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Pycom LoPy", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://pycom.io/", 36 | "vendor": "Pycom Ltd." 37 | } 38 | -------------------------------------------------------------------------------- /boards/lopy4.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_LoPy4", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "lopy4" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "can", 18 | "ethernet" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Pycom LoPy4", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 1310720, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://pycom.io/", 36 | "vendor": "Pycom Ltd." 37 | } 38 | -------------------------------------------------------------------------------- /boards/m5stack-atom.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stack_ATOM", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_atom" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stack-ATOM", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 1500000 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stack-core-esp32-16M.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stack_Core_ESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_core_esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stack Core ESP32 16M", 25 | "upload": { 26 | "flash_size": "16MB", 27 | "maximum_ram_size": 532480, 28 | "maximum_size": 16777216, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stack-core-esp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stack_Core_ESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_core_esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stack Core ESP32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stack-core2.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "default_16MB.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": "-DARDUINO_M5STACK_Core2 -DBOARD_HAS_PSRAM", 9 | "f_cpu": "240000000L", 10 | "f_flash": "40000000L", 11 | "flash_mode": "dio", 12 | "mcu": "esp32", 13 | "variant": "m5stack_core2" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "M5Stack Core2", 26 | "upload": { 27 | "flash_size": "16MB", 28 | "maximum_ram_size": 4521984, 29 | "maximum_size": 16777216, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "http://www.m5stack.com", 34 | "vendor": "M5Stack" 35 | } 36 | -------------------------------------------------------------------------------- /boards/m5stack-coreink.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stack_CoreInk", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_coreink" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stack-Core Ink", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stack-grey.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stack_Core_ESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_core_esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stack GREY ESP32", 25 | "upload": { 26 | "flash_size": "16MB", 27 | "maximum_ram_size": 532480, 28 | "maximum_size": 16777216, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stack-station.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stack_Station", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_station" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stack Station", 25 | "upload": { 26 | "flash_size": "16MB", 27 | "maximum_ram_size": 4521984, 28 | "maximum_size": 16777216, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stamp-pico.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stamp_Pico", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "m5stack_stamp_pico" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stamp-Pico", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 1500000 31 | }, 32 | "url": "https://shop.m5stack.com/products/m5stamp-pico-mate-with-pin-headers", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/m5stick-c.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_M5Stick_C", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "m5stick_c" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "M5Stick-C", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 1500000 31 | }, 32 | "url": "http://www.m5stack.com", 33 | "vendor": "M5Stack" 34 | } 35 | -------------------------------------------------------------------------------- /boards/magicbit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "magicbit" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "MagicBit", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://magicblocks.io/", 33 | "vendor": "Magicblocks.io" 34 | } 35 | -------------------------------------------------------------------------------- /boards/mgbot-iotik32a.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_MGBOT_IOTIK32A", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "mgbot-iotik32a" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "MGBOT IOTIK 32A", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://iotik.ru/en/iotik32a/", 33 | "vendor": "MGBOT" 34 | } 35 | -------------------------------------------------------------------------------- /boards/mgbot-iotik32b.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_MGBOT_IOTIK32B", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "mgbot-iotik32b" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "MGBOT IOTIK 32B", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://iotik.ru/en/iotik32b/", 33 | "vendor": "MGBOT" 34 | } 35 | -------------------------------------------------------------------------------- /boards/mhetesp32devkit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_MH_ET_LIVE_ESP32DEVKIT", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "mhetesp32devkit" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "MH ET LIVE ESP32DevKIT", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://forum.mhetlive.com", 36 | "vendor": "MH-ET Live" 37 | } 38 | -------------------------------------------------------------------------------- /boards/mhetesp32minikit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_MH_ET_LIVE_ESP32MINIKIT", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "mhetesp32minikit" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "MH ET LIVE ESP32MiniKit", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://forum.mhetlive.com", 36 | "vendor": "MH-ET Live" 37 | } 38 | -------------------------------------------------------------------------------- /boards/microduino-core-esp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_CoreESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "Microduino-esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Microduino Core ESP32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://microduinoinc.com", 33 | "vendor": "Microduino" 34 | } 35 | -------------------------------------------------------------------------------- /boards/nano32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_NANO32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "nano32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "MakerAsia Nano32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://iot-bits.com/nano32-esp32-development-board", 33 | "vendor": "MakerAsia" 34 | } 35 | -------------------------------------------------------------------------------- /boards/nina_w10.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "minimal.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": "-DARDUINO_UBLOX_NINA_W10", 9 | "f_cpu": "240000000L", 10 | "f_flash": "40000000L", 11 | "flash_mode": "dio", 12 | "mcu": "esp32", 13 | "variant": "nina_w10" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "u-blox NINA-W10 series", 26 | "upload": { 27 | "flash_size": "2MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 2097152, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://www.u-blox.com/en/product/nina-w10-series", 34 | "vendor": "u-blox" 35 | } 36 | -------------------------------------------------------------------------------- /boards/node32s.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_Node32s", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Node32s", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://www.ayarafun.com", 36 | "vendor": "Aiyarafun" 37 | } 38 | -------------------------------------------------------------------------------- /boards/nodemcu-32s.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_NodeMCU_32S", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "nodemcu-32s" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "NodeMCU-32S", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://www.nodemcu.com/", 36 | "vendor": "NodeMCU" 37 | } 38 | -------------------------------------------------------------------------------- /boards/nodemcu-32s2.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s2_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32S2_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32s2", 12 | "variant": "esp32s2" 13 | }, 14 | "connectivity": [ 15 | "wifi" 16 | ], 17 | "debug": { 18 | "openocd_target": "esp32s2.cfg" 19 | }, 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Ai-Thinker NodeMCU-32S2 (ESP-12K)", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://docs.ai-thinker.com/en/esp32s2", 33 | "vendor": "Ai-Thinker" 34 | } 35 | -------------------------------------------------------------------------------- /boards/odroid_esp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ODROID_ESP32 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "odroid_esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "ODROID-GO", 25 | "upload": { 26 | "flash_size": "16MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 16777216, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.hardkernel.com/main/products/prdt_info.php?g_code=G152875062626", 33 | "vendor": "Hardkernel" 34 | } 35 | -------------------------------------------------------------------------------- /boards/onehorse32dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ONEHORSE_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dout", 11 | "mcu": "esp32", 12 | "variant": "onehorse32dev" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Onehorse ESP32 Dev Module", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.tindie.com/products/onehorse/esp32-development-board/", 33 | "vendor": "Onehorse" 34 | } 35 | -------------------------------------------------------------------------------- /boards/oroca_edubot.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": "-DARDUINO_OROCA_EDUBOT", 9 | "f_cpu": "240000000L", 10 | "f_flash": "40000000L", 11 | "flash_mode": "dio", 12 | "mcu": "esp32", 13 | "variant": "oroca_edubot" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "OROCA EduBot", 26 | "upload": { 27 | "flash_size": "4MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 4194304, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://github.com/oroca/OROCA-EduBot", 34 | "vendor": "OROCA" 35 | } 36 | -------------------------------------------------------------------------------- /boards/pico32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_PICO", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "pico32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "ESP32 Pico Kit", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://esp-idf.readthedocs.io/en/latest/get-started/get-started-pico-kit.html", 36 | "vendor": "Espressif" 37 | } 38 | -------------------------------------------------------------------------------- /boards/piranha_esp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_Piranha", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "piranha_esp-32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Fishino Piranha ESP-32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://fishino.it/boards.html", 33 | "vendor": "Fishino" 34 | } 35 | -------------------------------------------------------------------------------- /boards/pocket_32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_Pocket32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "pocket_32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Dongsen Tech Pocket 32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "http://dong-sen.com", 36 | "vendor": "Dongsen Technology" 37 | } 38 | -------------------------------------------------------------------------------- /boards/pycom_gpy.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_PYCOM_GPY", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "gpy" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Pycom GPy", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://pycom.io/product/gpy/", 33 | "vendor": "Pycom Ltd." 34 | } 35 | -------------------------------------------------------------------------------- /boards/qchip.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_HELTEC_WIFI_KIT_32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "heltec_wifi_kit_32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Qchip", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://qmobot.com/", 33 | "vendor": "Qmobot LLP" 34 | } -------------------------------------------------------------------------------- /boards/quantum.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_QUANTUM", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "quantum" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Noduino Quantum", 25 | "upload": { 26 | "flash_size": "16MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 16777216, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://wiki.jackslab.org/Noduino", 33 | "vendor": "Noduino" 34 | } 35 | -------------------------------------------------------------------------------- /boards/rymcu-esp32-c3-devkitm-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32c3_out.ld" 5 | }, 6 | "core": "esp32", 7 | "f_cpu": "160000000L", 8 | "f_flash": "80000000L", 9 | "flash_mode": "qio", 10 | "extra_flags": "-DARDUINO_ESP32C3_DEV", 11 | "mcu": "esp32c3", 12 | "variant": "esp32c3" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth" 17 | ], 18 | "debug": { 19 | "openocd_target": "esp32c3.cfg" 20 | }, 21 | "frameworks": [ 22 | "arduino", 23 | "espidf" 24 | ], 25 | "name": "RYMCU ESP32-C3-DevKitM-1", 26 | "upload": { 27 | "flash_size": "4MB", 28 | "maximum_ram_size": 327680, 29 | "maximum_size": 4194304, 30 | "require_upload_port": true, 31 | "speed": 460800 32 | }, 33 | "url": "https://rymcu.com/products", 34 | "vendor": "RYMCU" 35 | } 36 | -------------------------------------------------------------------------------- /boards/rymcu-esp32-devkitc.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "RYMCU ESP32-DevKitC", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://rymcu.com/products", 36 | "vendor": "RYMCU" 37 | } 38 | -------------------------------------------------------------------------------- /boards/s_odi_ultra.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "S_ODI_Ultra_v1" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "S.ODI Ultra v1", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.espressif.com/en/products/socs/esp32", 33 | "vendor": "S.ODI" 34 | } 35 | -------------------------------------------------------------------------------- /boards/seeed_xiao_esp32c6.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "core": "esp32", 4 | "f_cpu": "160000000L", 5 | "f_flash": "80000000L", 6 | "flash_mode": "qio", 7 | "hwids": [ 8 | [ 9 | "0x2886", 10 | "0x0048" 11 | ], 12 | [ 13 | "0x2886", 14 | "0x8048" 15 | ] 16 | ], 17 | "mcu": "esp32c6" 18 | }, 19 | "connectivity": [ 20 | "wifi", 21 | "bluetooth", 22 | "zigbee", 23 | "thread" 24 | ], 25 | "debug": { 26 | "openocd_target": "esp32c6.cfg" 27 | }, 28 | "frameworks": [ 29 | "espidf" 30 | ], 31 | "name": "Seeed Studio XIAO ESP32C6", 32 | "upload": { 33 | "flash_size": "4MB", 34 | "maximum_ram_size": 327680, 35 | "maximum_size": 4194304, 36 | "require_upload_port": true, 37 | "speed": 460800 38 | }, 39 | "url": "https://wiki.seeedstudio.com/XIAO_ESP32C6_Getting_Started/", 40 | "vendor": "Seeed Studio" 41 | } 42 | -------------------------------------------------------------------------------- /boards/sensesiot_weizen.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_sensesiot_weizen", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp32-wrover.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "LOGISENSES Senses Weizen", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.logisenses.com/index.php/product/senses-weizen/", 36 | "vendor": "LOGISENSES" 37 | } 38 | -------------------------------------------------------------------------------- /boards/sg-o_airMon.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_SG_O_AIRMON_ESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "esp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "platforms": [ 28 | "espressif32" 29 | ], 30 | "name": "SG-O AirMon", 31 | "upload": { 32 | "flash_size": "4MB", 33 | "maximum_ram_size": 327680, 34 | "maximum_size": 4194304, 35 | "require_upload_port": true, 36 | "speed": 460800 37 | }, 38 | "url": "https://github.com/SG-O/airMon", 39 | "vendor": "SG-O" 40 | } 41 | -------------------------------------------------------------------------------- /boards/sparkfun_esp32micromod.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_MICROMOD", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "esp32micromod" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "SparkFun ESP32 MicroMod", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.sparkfun.com/products/16781", 33 | "vendor": "SparkFun" 34 | } 35 | -------------------------------------------------------------------------------- /boards/ttgo-lora32-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_TTGO_LoRa32_V1", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "ttgo-lora32-v1" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "TTGO LoRa32-OLED V1", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://github.com/Xinyuan-LilyGO/TTGO-LoRa-Series", 36 | "vendor": "TTGO" 37 | } 38 | -------------------------------------------------------------------------------- /boards/ttgo-lora32-v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_TTGO_LoRa32_V2", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "ttgo-lora32-v2" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "TTGO LoRa32-OLED V2", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://github.com/LilyGO/TTGO-LORA32-V2.0", 36 | "vendor": "TTGO" 37 | } 38 | -------------------------------------------------------------------------------- /boards/ttgo-lora32-v21.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_TTGO_LoRa32_v21new", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "ttgo-lora32-v21new" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "TTGO LoRa32-OLED v2.1.6", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://github.com/LilyGO/TTGO-LoRa32-V2.1", 36 | "vendor": "TTGO" 37 | } 38 | -------------------------------------------------------------------------------- /boards/ttgo-t-beam.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_T_Beam -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "tbeam" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "can", 18 | "ethernet" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "TTGO T-Beam", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 1310720, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://github.com/LilyGO/TTGO-T-Beam", 36 | "vendor": "TTGO" 37 | } 38 | -------------------------------------------------------------------------------- /boards/ttgo-t-oi-plus.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32c3_out.ld" 5 | }, 6 | "core": "esp32", 7 | "f_cpu": "160000000L", 8 | "f_flash": "80000000L", 9 | "flash_mode": "qio", 10 | "extra_flags": "-DARDUINO_TTGO_T_OI_PLUS_DEV", 11 | "mcu": "esp32c3", 12 | "variant": "ttgo-t-oi-plus" 13 | }, 14 | "connectivity": [ 15 | "wifi" 16 | ], 17 | "debug": { 18 | "openocd_target": "esp32c3.cfg" 19 | }, 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "TTGO T-OI PLUS RISC-V ESP32-C3", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://www.lilygo.cn/prod_view.aspx?TypeId=50044&Id=1361&FId=t3:50044:3", 33 | "vendor": "TTGO" 34 | } 35 | -------------------------------------------------------------------------------- /boards/ttgo-t1.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_TTGO_T1", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "ttgo-t1" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "TTGO T1", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://github.com/LilyGO/ESP32-TTGO-T1", 36 | "vendor": "TTGO" 37 | } 38 | -------------------------------------------------------------------------------- /boards/ttgo-t7-v13-mini32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_TTGO_T7_V13_Mini32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "ttgo-t7-v13-mini32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "can", 18 | "ethernet" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "TTGO T7 V1.3 Mini32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 1310720, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://github.com/LilyGO/ESP32-MINI-32-V1.3", 33 | "vendor": "TTGO" 34 | } 35 | -------------------------------------------------------------------------------- /boards/turta_iot_node.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_PICO", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "pico32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Turta IoT Node", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://www.turta.io/en/iotnode", 33 | "vendor": "Turta" 34 | } 35 | -------------------------------------------------------------------------------- /boards/upesy_wroom.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_uPesy_WROOM", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "uPesy_esp32_wroom_devkit" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "uPesy ESP32 Wroom DevKit", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.upesy.fr/products/upesy-esp32-wroom-devkit-board", 36 | "vendor": "uPesy" 37 | } 38 | -------------------------------------------------------------------------------- /boards/watchy.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": "-DARDUINO_WATCHY", 9 | "f_cpu": "240000000L", 10 | "f_flash": "40000000L", 11 | "flash_mode": "dio", 12 | "mcu": "esp32", 13 | "variant": "watchy" 14 | }, 15 | "connectivity": [ 16 | "wifi", 17 | "bluetooth", 18 | "ethernet", 19 | "can" 20 | ], 21 | "debug": { 22 | "openocd_board": "esp-wroom-32.cfg" 23 | }, 24 | "frameworks": [ 25 | "arduino", 26 | "espidf" 27 | ], 28 | "name": "SQFMI Watchy v2.0", 29 | "upload": { 30 | "flash_size": "4MB", 31 | "maximum_ram_size": 327680, 32 | "maximum_size": 4194304, 33 | "require_upload_port": true, 34 | "speed": 460800 35 | }, 36 | "url": "https://watchy.sqfmi.com/", 37 | "vendor": "SQFMI" 38 | } 39 | -------------------------------------------------------------------------------- /boards/wemos_d1_mini32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_D1_MINI32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "d1_mini32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "WEMOS D1 MINI ESP32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.wemos.cc", 36 | "vendor": "WEMOS" 37 | } 38 | -------------------------------------------------------------------------------- /boards/wemos_d1_uno32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_D1_UNO32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "d1_uno32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "WEMOS D1 R32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.wemos.cc", 36 | "vendor": "WEMOS" 37 | } 38 | -------------------------------------------------------------------------------- /boards/wemosbat.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_Pocket32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "pocket_32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "WeMos WiFi and Bluetooth Battery", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://www.wemos.cc", 36 | "vendor": "WEMOS" 37 | } 38 | -------------------------------------------------------------------------------- /boards/wesp32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_WESP32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "wesp32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Silicognition wESP32", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://wesp32.com/", 36 | "vendor": "Silicognition" 37 | } 38 | -------------------------------------------------------------------------------- /boards/widora-air.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_WIDORA_AIR", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "widora-air" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Widora AIR", 25 | "upload": { 26 | "flash_size": "16MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 16777216, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "http://widora.io", 33 | "vendor": "Widora" 34 | } 35 | -------------------------------------------------------------------------------- /boards/wifiduino32.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_Wifiduino32", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "wifiduino32" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "frameworks": [ 21 | "arduino", 22 | "espidf" 23 | ], 24 | "name": "Blinker WiFiduino32", 25 | "upload": { 26 | "flash_size": "4MB", 27 | "maximum_ram_size": 327680, 28 | "maximum_size": 4194304, 29 | "require_upload_port": true, 30 | "speed": 460800 31 | }, 32 | "url": "https://diandeng.tech", 33 | "vendor": "Blinker" 34 | } 35 | -------------------------------------------------------------------------------- /boards/wifiduino32c3.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32c3_out.ld" 5 | }, 6 | "core": "esp32", 7 | "f_cpu": "160000000L", 8 | "f_flash": "80000000L", 9 | "flash_mode": "qio", 10 | "extra_flags": [ 11 | "-DARDUINO_WiFiduinoV2", 12 | "-DARDUINO_USB_MODE=1" 13 | ], 14 | "mcu": "esp32c3", 15 | "variant": "wifiduinov2" 16 | }, 17 | "connectivity": [ 18 | "wifi" 19 | ], 20 | "debug": { 21 | "openocd_target": "esp32c3.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Blinker WiFiduinoV2 (ESP32-C3)", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://diandeng.tech", 36 | "vendor": "Blinker" 37 | } 38 | -------------------------------------------------------------------------------- /boards/wipy3.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_WIPY3", 8 | "f_cpu": "240000000L", 9 | "f_flash": "40000000L", 10 | "flash_mode": "dio", 11 | "mcu": "esp32", 12 | "variant": "wipy3" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "can", 18 | "ethernet" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "Pycom WiPy3", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 1310720, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://pycom.io/", 36 | "vendor": "Pycom Ltd." 37 | } 38 | -------------------------------------------------------------------------------- /boards/xinabox_cw02.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": "-DARDUINO_ESP32_DEV", 8 | "f_cpu": "240000000L", 9 | "f_flash": "80000000L", 10 | "flash_mode": "qio", 11 | "mcu": "esp32", 12 | "variant": "xinabox" 13 | }, 14 | "connectivity": [ 15 | "wifi", 16 | "bluetooth", 17 | "ethernet", 18 | "can" 19 | ], 20 | "debug": { 21 | "openocd_board": "esp-wroom-32.cfg" 22 | }, 23 | "frameworks": [ 24 | "arduino", 25 | "espidf" 26 | ], 27 | "name": "XinaBox CW02", 28 | "upload": { 29 | "flash_size": "4MB", 30 | "maximum_ram_size": 327680, 31 | "maximum_size": 4194304, 32 | "require_upload_port": true, 33 | "speed": 460800 34 | }, 35 | "url": "https://xinabox.cc/products/cw02", 36 | "vendor": "XinaBox" 37 | } 38 | -------------------------------------------------------------------------------- /builder/sizedata.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | Import("env") 4 | 5 | 6 | def pioSizeIsRamSectionCustom(env, section): 7 | if section and re.search( 8 | r"\.dram0\.data|\.dram0\.bss|\.noinit", section.get("name", "") 9 | ): 10 | return True 11 | 12 | return False 13 | 14 | 15 | def pioSizeIsFlashectionCustom(env, section): 16 | if section and re.search( 17 | r"\.iram0\.text|\.iram0\.vectors|\.dram0\.data|\.flash\.text|\.flash\.rodata|\.flash\.appdesc", 18 | section.get("name", ""), 19 | ): 20 | return True 21 | 22 | return False 23 | 24 | 25 | env.AddMethod(pioSizeIsRamSectionCustom, "pioSizeIsRamSection") 26 | env.AddMethod(pioSizeIsFlashectionCustom, "pioSizeIsFlashSection") 27 | -------------------------------------------------------------------------------- /examples/arduino-ble5-advertising/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/arduino-ble5-advertising/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/arduino-ble5-advertising 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32-c3-devkitm-1 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32-c3-devkitm-1 --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/arduino-ble5-advertising/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env:esp32-c3-devkitm-1] 11 | platform = espressif32 12 | board = esp32-c3-devkitm-1 13 | framework = arduino 14 | monitor_speed = 115200 15 | -------------------------------------------------------------------------------- /examples/arduino-ble5-advertising/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/arduino-blink/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/arduino-blink/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/arduino-blink 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/arduino-blink/src/Blink.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Blink 3 | * Turns on an LED on for one second, 4 | * then off for one second, repeatedly. 5 | */ 6 | 7 | #include 8 | 9 | // Set LED_BUILTIN if it is not defined by Arduino framework 10 | #ifndef LED_BUILTIN 11 | #define LED_BUILTIN 2 12 | #endif 13 | 14 | void setup() 15 | { 16 | // initialize LED digital pin as an output. 17 | pinMode(LED_BUILTIN, OUTPUT); 18 | } 19 | 20 | void loop() 21 | { 22 | // turn the LED on (HIGH is the voltage level) 23 | digitalWrite(LED_BUILTIN, HIGH); 24 | // wait for a second 25 | delay(1000); 26 | // turn the LED off by making the voltage LOW 27 | digitalWrite(LED_BUILTIN, LOW); 28 | // wait for a second 29 | delay(1000); 30 | } 31 | -------------------------------------------------------------------------------- /examples/arduino-blink/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/arduino-usb-keyboard/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/arduino-usb-keyboard/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/arduino-usb-keyboard 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32-s2-saola-1 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32-s2-saola-1 --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/arduino-usb-keyboard/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = arduino 13 | monitor_speed = 115200 14 | 15 | [env:esp32-s2-saola-1] 16 | board = esp32-s2-saola-1 17 | 18 | [env:esp32-s2-kaluga-1] 19 | board = esp32-s2-kaluga-1 -------------------------------------------------------------------------------- /examples/arduino-usb-keyboard/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/arduino-wifiscan/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/arduino-wifiscan/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/arduino-wifiscan 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e quantum 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e quantum --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/arduino-wifiscan/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env:esp32dev] 11 | platform = espressif32 12 | framework = arduino 13 | board = esp32dev 14 | monitor_speed = 115200 15 | 16 | [env:esp-wrover-kit] 17 | platform = espressif32 18 | framework = arduino 19 | board = esp-wrover-kit 20 | monitor_speed = 115200 21 | 22 | [env:espea32] 23 | platform = espressif32 24 | framework = arduino 25 | board = espea32 26 | monitor_speed = 115200 27 | 28 | [env:esp320] 29 | platform = espressif32 30 | framework = arduino 31 | board = esp320 32 | monitor_speed = 115200 33 | -------------------------------------------------------------------------------- /examples/arduino-wifiscan/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16.0) 2 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 3 | project(espidf-arduino-wifiscan) 4 | -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-arduino-blink 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = arduino, espidf 13 | build_flags = 14 | -D CONFIG_BLINK_GPIO=2 15 | monitor_speed = 115200 16 | 17 | [env:esp32dev] 18 | board = esp32dev 19 | 20 | [env:espea32] 21 | board = espea32 22 | 23 | [env:esp320] 24 | board = esp320 25 | -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_AUTOSTART_ARDUINO=y 2 | # CONFIG_WS2812_LED_ENABLE is not set 3 | CONFIG_FREERTOS_HZ=1000 4 | CONFIG_MBEDTLS_PSK_MODES=y 5 | CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y 6 | -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "Blink.cpp") -------------------------------------------------------------------------------- /examples/espidf-arduino-blink/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16.0) 2 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 3 | project(espidf-arduino-wifiscan) 4 | -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-arduino-wifiscan 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = arduino, espidf 13 | monitor_speed = 115200 14 | 15 | [env:esp32dev] 16 | board = esp32dev 17 | 18 | [env:esp-wrover-kit] 19 | board = esp-wrover-kit 20 | -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_AUTOSTART_ARDUINO=y 2 | # CONFIG_WS2812_LED_ENABLE is not set 3 | CONFIG_FREERTOS_HZ=1000 4 | CONFIG_MBEDTLS_PSK_MODES=y 5 | CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y 6 | # Example config 7 | CONFIG_EXAMPLE_WIFI_SSID="MYSSID" 8 | CONFIG_EXAMPLE_WIFI_PASSWORD="MYPASS" 9 | -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "main.cpp") -------------------------------------------------------------------------------- /examples/espidf-arduino-wifiscan/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(ble_eddystone_demo) 7 | -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-ble-eddystone 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env:esp32dev] 11 | platform = espressif32 12 | framework = espidf 13 | board = esp32dev 14 | monitor_speed = 115200 15 | -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Override some defaults so BT stack is enabled 2 | # and WiFi disabled by default in this example 3 | CONFIG_BT_ENABLED=y 4 | CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y 5 | CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n 6 | CONFIG_BTDM_CTRL_MODE_BTDM=n 7 | -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "esp_eddystone_api.c" 2 | "esp_eddystone_demo.c" 3 | INCLUDE_DIRS "") 4 | target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format") 5 | -------------------------------------------------------------------------------- /examples/espidf-ble-eddystone/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | # (Not part of the boilerplate) 6 | # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. 7 | list(APPEND EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) 8 | 9 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 10 | project(coap_server) 11 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-coap-server 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/idf_component.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | idf: '>=4.4' 3 | description: Constrained Application Protocol (CoAP) C Library 4 | url: https://github.com/espressif/idf-extra-components/tree/master/coap 5 | version: 4.3.1~1 6 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: General libcoap Information 4 | url: https://libcoap.net/ 5 | about: General information about libcoap 6 | - name: General libcoap Documentation 7 | url: https://libcoap.net/documentation.html 8 | about: Documentation information for libcoap 9 | - name: Latest libcoap API Documentation 10 | url: https://libcoap.net/doc/reference/develop/modules.html 11 | about: Latest API information for libcoap 12 | - name: Latest libcoap Manual Pages 13 | url: https://libcoap.net/doc/reference/develop/manpage.html 14 | about: Latest Manual Pages and Examples for libcoap 15 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for libcoap 4 | title: '' 5 | labels: 'Type: Feature Request' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | 12 | A clear and concise description of what the problem is. E.g. I'm always frustrated when [...] 13 | 14 | **Describe the solution you'd like** 15 | 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | 20 | A clear and concise description of any alternative solutions or features you've considered. 21 | 22 | Please give as many details as you can. Include suggestions for useful APIs or interfaces if relevant. 23 | 24 | **Additional context** 25 | 26 | Add any other context or screenshots about the feature request here. 27 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ext/tinydtls"] 2 | path = ext/tinydtls 3 | url = https://github.com/eclipse/tinydtls.git 4 | ignore = dirty 5 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/AUTHORS -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/COPYING: -------------------------------------------------------------------------------- 1 | libcoap is published as open-source software without any warranty of any kind. 2 | 3 | Use is permitted under the terms of the simplified BSD 2-Clause license. 4 | It includes public domain software. libcoap binaries may also 5 | include open-source software with their respective licensing terms. 6 | Please refer to LICENSE for further details. 7 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM obgm/libcoap:build-env 2 | 3 | ENV libcoap_dir=/libcoap 4 | ADD . $libcoap_dir 5 | WORKDIR $libcoap_dir 6 | 7 | RUN ./autogen.sh --clean && ./autogen.sh 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/Makefile.libcoap: -------------------------------------------------------------------------------- 1 | libcoap_src = pdu.c net.c coap_cache.c coap_debug.c encode.c uri.c coap_subscribe.c resource.c str.c coap_option.c coap_async.c block.c mem.c coap_io.c coap_session.c coap_notls.c coap_hashkey.c coap_address.c coap_tcp.c 2 | 3 | libcoap_dir := $(filter %libcoap,$(APPDS)) 4 | vpath %c $(libcoap_dir)/src 5 | 6 | # set include path for coap sources 7 | CFLAGS += -I$(libcoap_dir)/include 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/NEWS -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/build-env/.dockerignore: -------------------------------------------------------------------------------- 1 | imagename 2 | build.sh 3 | *~ 4 | .*.swp 5 | \#*# 6 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/build-env/Dockerfile.build-env: -------------------------------------------------------------------------------- 1 | FROM debian:testing-slim 2 | 3 | RUN apt-get update && apt-get install -y autoconf automake gcc clang \ 4 | libtool libtool-bin make pkg-config libcunit1-dev libssl-dev \ 5 | libgnutls28-dev libmbedtls-dev exuberant-ctags git valgrind \ 6 | graphviz doxygen libxml2-utils xsltproc docbook-xml docbook-xsl asciidoc 7 | RUN apt-get clean 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/build-env/build.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | pushd $(dirname $0) 4 | . ./imagename 5 | 6 | # see https://stackoverflow.com/a/2924755 for switching boldface on/off 7 | bold=$(tput bold) 8 | normal=$(tput sgr0) 9 | 10 | echo "${bold}**** Creating build-env image ****${normal}" 11 | docker build -f Dockerfile.build-env -t $USER/$IMAGE:build-env . 12 | 13 | echo "${bold}**** Creating develop image ****${normal}" 14 | docker build -f Dockerfile.develop -t $USER/$IMAGE:develop .. 15 | 16 | popd 17 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/build-env/imagename: -------------------------------------------------------------------------------- 1 | USER=obgm 2 | IMAGE=libcoap 3 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/cmake-format.yaml: -------------------------------------------------------------------------------- 1 | # to format cmake files we use cmake-format: 2 | # pip install cmake-format --upgrade 3 | # information about the configuration here: 4 | # https://github.com/cheshirekow/cmake_format 5 | 6 | # How wide to allow formatted cmake files 7 | line_width: 80 8 | 9 | # How many spaces to tab for indent 10 | tab_size: 2 11 | 12 | # Format command names consistently as 'lower' or 'upper' case 13 | command_case: "lower" 14 | 15 | first_comment_is_literal: False 16 | 17 | # enable comment markup parsing and reflow 18 | enable_markup: False 19 | 20 | # If arglists are longer than this, break them always 21 | max_subargs_per_line: 1 22 | 23 | max_subgroups_hwrap: 2 24 | 25 | max_pargs_hwrap: 2 26 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/doc/docbook.local.css: -------------------------------------------------------------------------------- 1 | body pre { 2 | margin: 0.5em 10% 0.5em 1em; 3 | line-height: 1.0; 4 | color: navy; 5 | } 6 | dl { 7 | margin: .2em 0; 8 | line-height: 1.2; 9 | } 10 | 11 | dt { 12 | margin-top: 0.1em; 13 | } 14 | 15 | span.man-highlight { background: yellow; } 16 | 17 | a.st-desc { 18 | font-weight: bold; 19 | color: black; 20 | text-decoration: none; 21 | } 22 | 23 | a.st-desc:visited { 24 | font-weight: bold; 25 | color: black; 26 | text-decoration: none; 27 | } 28 | 29 | a.st-desc:hover { 30 | text-decoration: underline; 31 | } 32 | 33 | a.st-synopsis { 34 | font-weight: bold; 35 | color: black; 36 | text-decoration: none; 37 | } 38 | 39 | a.st-synopsis:visited { 40 | font-weight: bold; 41 | color: black; 42 | text-decoration: none; 43 | } 44 | 45 | a.st-synopsis:hover { 46 | text-decoration: underline; 47 | } 48 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/doc/module_api_wrap.h: -------------------------------------------------------------------------------- 1 | /* doc/module_api_wrap.h 2 | * 3 | * Copyright (C) 2021-2022 Jon Shallow 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP C library libcoap. Please see README and 8 | * COPYING for terms of use. 9 | */ 10 | 11 | /** 12 | * @file module_api_wrap.h 13 | * @brief Doxygen specific wrapper for Modules layout 14 | */ 15 | 16 | /** 17 | * @defgroup application_api Application API 18 | * Application API Structures, Macros, Typedefs, Enums and Functions 19 | * @defgroup internal_api Libcoap Internal API 20 | * libcoap Internal API Structures, Macros, Typedefs, Enums and Functions 21 | */ 22 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/doc/upgrade_4.3.0_4.3.1.txt: -------------------------------------------------------------------------------- 1 | = Upgrade from 4.3.0 to 4.3.1 2 | 3 | == Summary 4 | 5 | The source and binary APIs are the same for 4.3.0 and 4.3.1 with just extra 6 | functionality making it forward, but not necessarily backward compatible. 7 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/examples/contiki/.gitignore: -------------------------------------------------------------------------------- 1 | contiki-minimal-net.a 2 | contiki-minimal-net.map 3 | contiki/ 4 | obj_minimal-net/ 5 | server.minimal-net 6 | symbols.c 7 | symbols.h 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/examples/contiki/radvd.conf.sample: -------------------------------------------------------------------------------- 1 | interface tap0 2 | { 3 | AdvSendAdvert on; 4 | MinRtrAdvInterval 3; 5 | MaxRtrAdvInterval 20; 6 | 7 | prefix aaaa::/64 8 | { 9 | AdvOnLink on; 10 | AdvAutonomous on; 11 | AdvRouterAddr on; 12 | 13 | }; 14 | }; 15 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/examples/lwip/.gitignore: -------------------------------------------------------------------------------- 1 | # not going for submodules here to keep things easy 2 | lwip 3 | lwip-contrib 4 | 5 | # never objects, and not the resulting binary 6 | *.o 7 | server 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/examples/lwip/server-coap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * server-coap.h -- LwIP example 3 | * 4 | * Copyright (C) 2013-2016 Christian Amsüss 5 | * 6 | * SPDX-License-Identifier: BSD-2-Clause 7 | * 8 | * This file is part of the CoAP library libcoap. Please see README for terms 9 | * of use. 10 | */ 11 | 12 | #include "coap_config.h" 13 | #include 14 | 15 | void server_coap_init(void); 16 | /* call this when you think that resources could be dirty */ 17 | void server_coap_poll(void); 18 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/examples/share.libcoap.examples.README: -------------------------------------------------------------------------------- 1 | This directory contains some example libcoap code for a client or server which 2 | can easily be modified as per your requirements. 3 | 4 | The provided code is the same as used to build the installed binaries 5 | coap-client and coap-server. 6 | 7 | Simply 'cd' into this directory and then run 'make' to build the executables. 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/LICENSE: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016 Olaf Bergmann (TZI) and others. 3 | * All rights reserved. This program and the accompanying materials 4 | * are made available under the terms of the Eclipse Public License v1.0 5 | * and Eclipse Distribution License v. 1.0 which accompanies this distribution. 6 | * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html 7 | * and the Eclipse Distribution License is available at 8 | * http://www.eclipse.org/org/documents/edl-v10.php. 9 | * Contributors: 10 | * Olaf Bergmann - initial API and implementation 11 | * Hauke Mehrtens - memory optimization, ECC integration 12 | *******************************************************************************/ 13 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/Makefile.riot: -------------------------------------------------------------------------------- 1 | MODULE = tinydtls 2 | 3 | CFLAGS += -DDTLSv12 -DWITH_SHA256 4 | 5 | SRC := ccm.c crypto.c dtls.c dtls_debug.c dtls_time.c hmac.c netq.c peer.c session.c dtls_prng.c 6 | 7 | include $(RIOTBASE)/Makefile.base 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/Makefile.tinydtls: -------------------------------------------------------------------------------- 1 | # This is a -*- Makefile -*- 2 | 3 | CFLAGS += -DDTLSv12 -DWITH_SHA256 4 | tinydtls_src = dtls.c crypto.c hmac.c rijndael.c rijndael_wrap.c sha2.c ccm.c netq.c ecc.c dtls_time.c peer.c session.c dtls_prng.c 5 | 6 | # This activates debugging support 7 | # CFLAGS += -DNDEBUG 8 | tinydtls_src += dtls_debug.c 9 | 10 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/aes/Makefile.riot: -------------------------------------------------------------------------------- 1 | MODULE := tinydtls_aes 2 | 3 | SRC := rijndael.c rijndael_wrap.c 4 | 5 | include $(RIOTBASE)/Makefile.base 6 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/autogen.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh -e 2 | 3 | srcdir=`dirname "$0"` 4 | 5 | GENERATED_FILES="aclocal.m4 ar-lib compile depcomp src/.dirstamp 6 | Makefile aes/Makefile doc/Makefile ecc/Makefile 7 | platform-specific/Makefile sha2/Makefile 8 | tests/Makefile tests/unit-tests/Makefile 9 | config.status configure config.log tinydtls.pc" 10 | 11 | GENERATED_DIRS="autom4te.cache src/.deps" 12 | 13 | if test "x$1" = "x--clean"; then 14 | rm -f $GENERATED_FILES 15 | rm -rf $GENERATED_DIRS 16 | exit 0 17 | fi 18 | 19 | # create fake ar-lib if not present 20 | test -e ar-lib || touch ar-lib 21 | autoreconf --force --install --verbose "$srcdir" 22 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/ecc/Makefile.contiki: -------------------------------------------------------------------------------- 1 | CONTIKI=../../.. 2 | 3 | APPS += ecc 4 | 5 | CFLAGS += -DTEST_INCLUDE 6 | 7 | include $(CONTIKI)/Makefile.include 8 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/ecc/Makefile.ecc: -------------------------------------------------------------------------------- 1 | # This is a -*- Makefile -*- 2 | 3 | ecc_src = ecc.c test_helper.c 4 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/ecc/Makefile.riot: -------------------------------------------------------------------------------- 1 | MODULE := tinydtls_ecc 2 | 3 | SRC := ecc.c 4 | 5 | include $(RIOTBASE)/Makefile.base 6 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector001.dat: -------------------------------------------------------------------------------- 1 | abc -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector001.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | This test vector is taken from the PDF document that describes 3 | the SHA-256/384/512 algorithms. That document contains sample 4 | output for all three versions (SHA-256, SHA-384, and SHA-512). 5 | 6 | (Total length of test vector data: 3) 7 | 8 | FILE: 9 | vector001.dat 10 | 11 | SHA256: 12 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad 13 | 14 | SHA384: 15 | cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed 16 | 8086072ba1e7cc2358baeca134c825a7 17 | 18 | SHA512: 19 | ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a 20 | 2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f 21 | 22 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector002.dat: -------------------------------------------------------------------------------- 1 | abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector002.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The PDF document only provided sample output for SHA-256 using 3 | this test data. I have provided SHA-384 and SHA-512 sample 4 | output from my own implementation which may not be correct. 5 | 6 | (Total length of test vector data: 56) 7 | 8 | FILE: 9 | vector002.dat 10 | 11 | SHA256: 12 | 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1 13 | 14 | SHA384: 15 | 3391fdddfc8dc7393707a65b1b4709397cf8b1d162af05abfe8f450de5f36bc6 16 | b0455a8520bc4e6f5fe95b1fe3c8452b 17 | 18 | SHA512: 19 | 204a8fc6dda82f0a0ced7beb8e08a41657c16ef468b228a8279be331a703c335 20 | 96fd15c13b1b07f9aa1d3bea57789ca031ad85c7a71dd70354ec631238ca3445 21 | 22 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector003.dat: -------------------------------------------------------------------------------- 1 | abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector003.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | For this test data (from the PDF document), no example output 3 | was provided for SHA-256 (SHA-384 and SHA-512 samples were 4 | provided), so the sample for SHA-256 comes from the output of 5 | my own implementation and so may not be correct. 6 | 7 | (Total length of test vector data: 112) 8 | 9 | FILE: 10 | vector003.dat 11 | 12 | SHA256: 13 | cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1 14 | 15 | SHA384: 16 | 09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712 17 | fcc7c71a557e2db966c3e9fa91746039 18 | 19 | SHA512: 20 | 8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018 21 | 501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector004.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for this test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample comes from...well 5 | most anyone in the U.S. will know and many outside the U.S. too. 6 | 7 | (Total length of test vector data: 1515) 8 | 9 | FILE: 10 | vector004.dat 11 | 12 | SHA256: 13 | 4d25fccf8752ce470a58cd21d90939b7eb25f3fa418dd2da4c38288ea561e600 14 | 15 | SHA384: 16 | 69cc75b95280bdd9e154e743903e37b1205aa382e92e051b1f48a6db9d0203f8 17 | a17c1762d46887037275606932d3381e 18 | 19 | SHA512: 20 | 23450737795d2f6a13aa61adcca0df5eef6df8d8db2b42cd2ca8f783734217a7 21 | 3e9cabc3c9b8a8602f8aeaeb34562b6b1286846060f9809b90286b3555751f09 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector005.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector005.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector006.dat: -------------------------------------------------------------------------------- 1 | This is exactly 64 bytes long, not counting the terminating byte -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector006.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample exactly the same 5 | length as the SHA-256 block length. 6 | 7 | (Total length of test vector data: 64) 8 | 9 | FILE: 10 | vector006.dat 11 | 12 | SHA256: 13 | ab64eff7e88e2e46165e29f2bce41826bd4c7b3552f6b382a9e7d3af47c245f8 14 | 15 | SHA384: 16 | e28e35e25a1874908bf0958bb088b69f3d742a753c86993e9f4b1c4c21988f95 17 | 8bd1fe0315b195aca7b061213ac2a9bd 18 | 19 | SHA512: 20 | 70aefeaa0e7ac4f8fe17532d7185a289bee3b428d950c14fa8b713ca09814a38 21 | 7d245870e007a80ad97c369d193e41701aa07f3221d15f0e65a1ff970cedf030 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector007.dat: -------------------------------------------------------------------------------- 1 | For this sample, this 63-byte string will be used as input data -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector007.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample one byte shorter 5 | than the SHA-256 block length. 6 | 7 | (Total length of test vector data: 63) 8 | 9 | FILE: 10 | vector007.dat 11 | 12 | SHA256: 13 | f08a78cbbaee082b052ae0708f32fa1e50c5c421aa772ba5dbb406a2ea6be342 14 | 15 | SHA384: 16 | 37b49ef3d08de53e9bd018b0630067bd43d09c427d06b05812f48531bce7d2a6 17 | 98ee2d1ed1ffed46fd4c3b9f38a8a557 18 | 19 | SHA512: 20 | b3de4afbc516d2478fe9b518d063bda6c8dd65fc38402dd81d1eb7364e72fb6e 21 | 6663cf6d2771c8f5a6da09601712fb3d2a36c6ffea3e28b0818b05b0a8660766 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector008.dat: -------------------------------------------------------------------------------- 1 | And this textual data, astonishing as it may appear, is exactly 128 bytes in length, as are both SHA-384 and SHA-512 block sizes -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector008.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample exactly the same 5 | length as the SHA-384 and SHA-512 block lengths. 6 | 7 | (Total length of test vector data: 128) 8 | 9 | FILE: 10 | vector008.dat 11 | 12 | SHA256: 13 | 0ab803344830f92089494fb635ad00d76164ad6e57012b237722df0d7ad26896 14 | 15 | SHA384: 16 | e3e3602f4d90c935321d788f722071a8809f4f09366f2825cd85da97ccd2955e 17 | b6b8245974402aa64789ed45293e94ba 18 | 19 | SHA512: 20 | 97fb4ec472f3cb698b9c3c12a12768483e5b62bcdad934280750b4fa4701e5e0 21 | 550a80bb0828342c19631ba55a55e1cee5de2fda91fc5d40e7bee1d4e6d415b3 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector009.dat: -------------------------------------------------------------------------------- 1 | By hashing data that is one byte less than a multiple of a hash block length (like this 127-byte string), bugs may be revealed. -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector009.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample is one byte shorter 5 | in length than the SHA-384 and SHA-512 block lengths. 6 | 7 | (Total length of test vector data: 127) 8 | 9 | FILE: 10 | vector009.dat 11 | 12 | SHA256: 13 | e4326d0459653d7d3514674d713e74dc3df11ed4d30b4013fd327fdb9e394c26 14 | 15 | SHA384: 16 | 1ca650f38480fa9dfb5729636bec4a935ebc1cd4c0055ee50cad2aa627e06687 17 | 1044fd8e6fdb80edf10b85df15ba7aab 18 | 19 | SHA512: 20 | d399507bbf5f2d0da51db1ff1fc51c1c9ff1de0937e00d01693b240e84fcc340 21 | 0601429f45c297acc6e8fcf1e4e4abe9ff21a54a0d3d88888f298971bd206cd5 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector010.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector010.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector010.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample is exactly 5 times 5 | size of the SHA-256 block length. 6 | 7 | (Total length of test vector data: 320) 8 | 9 | FILE: 10 | vector010.dat 11 | 12 | SHA256: 13 | a7f001d996dd25af402d03b5f61aef950565949c1a6ad5004efa730328d2dbf3 14 | 15 | SHA384: 16 | b8261ddcd7df7b3969a516b72550de6fbf0e394a4a7bb2bbc60ec603c2ceff64 17 | 3c5bf62bc6dcbfa5beb54b62d750b969 18 | 19 | SHA512: 20 | caf970d3638e21053173a638c4b94d6d1ff87bc47b58f8ee928fbe9e245c23ab 21 | f81019e45bf017ecc8610e5e0b95e3b025ccd611a772ca4fb3dfba26f0859725 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector011.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector011.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector011.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample is one byte less 5 | than 7 times the size of the SHA-256 block length. 6 | 7 | (Total length of test vector data: 447) 8 | 9 | FILE: 10 | vector011.dat 11 | 12 | SHA256: 13 | 6dcd63a07b0922cc3a9b3315b158478681cc32543b0a4180abe58a73c5e14cc2 14 | 15 | SHA384: 16 | 548e4e9a1ff57f469ed47b023bf5279dfb4d4ca08c65051e3a5c41fab84479a2 17 | 05496276906008b4b3c5b0970b2f5446 18 | 19 | SHA512: 20 | ee5d07460183b130687c977e9f8d43110989b0864b18fe6ee00a53dec5eda111 21 | f3aaa3bac7ab8dae26ed545a4de33ed45190f18fa0c327c44642ab9424265330 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector012.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector012.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector012.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample is exactly 5 times 5 | size of the SHA-384 and SHA-512 block lengths. 6 | 7 | (Total length of test vector data: 640) 8 | 9 | FILE: 10 | vector012.dat 11 | 12 | SHA256: 13 | af6ebfde7d93d5badb6cde6287ecc2061c1cafc5b1c1217cd984fbcdb9c61aaa 14 | 15 | SHA384: 16 | c6fec3a3278dd6b5afc8c0971d32d38faf5802f1a21527c32563b32a1ac34065 17 | 6b433b44fe2648aa2232206f4301193a 18 | 19 | SHA512: 20 | 73ffeb67716c3495fbc33f2d62fe08e2616706a5599881c7e67e9ef2b68f4988 21 | ea8b3b604ba87e50b07962692705c420fa31a00be41d6aaa9f3b11eafe9cf49b 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector013.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector013.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector013.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample is one byte short 5 | of 17 times size of the SHA-384 and SHA-512 block lengths. 6 | 7 | (Total length of test vector data: 2175) 8 | 9 | FILE: 10 | vector013.dat 11 | 12 | SHA256: 13 | 8ff59c6d33c5a991088bc44dd38f037eb5ad5630c91071a221ad6943e872ac29 14 | 15 | SHA384: 16 | 92dca5655229b3c34796a227ff1809e273499adc2830149481224e0f54ff4483 17 | bd49834d4865e508ef53d4cd22b703ce 18 | 19 | SHA512: 20 | 0e928db6207282bfb498ee871202f2337f4074f3a1f5055a24f08e912ac118f8 21 | 101832cdb9c2f702976e629183db9bacfdd7b086c800687c3599f15de7f7b9dd 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector014.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector014.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector014.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | The output samples for thi test vector come exclusively from my 3 | own implementation and so may be completely incorrect. Use with 4 | a very large grain of salt. The input sample 4 KB of misc. 5 | data. 6 | 7 | (Total length of test vector data: 16384) 8 | 9 | FILE: 10 | vector014.dat 11 | 12 | SHA256: 13 | 1818e87564e0c50974ecaabbb2eb4ca2f6cc820234b51861e2590be625f1f703 14 | 15 | SHA384: 16 | 310fbb2027bdb7042f0e09e7b092e9ada506649510a7aa029825c8e8019e9c30 17 | 749d723f2de1bd8c043d8d89d3748c2f 18 | 19 | SHA512: 20 | a001636f3ff1ce34f432f8e8f7785b78be84318beb8485a406650a8b243c419f 21 | 7db6435cf6bf3000c6524adb5b52bad01afb76b3ceff701331e18b85b0e4cbd3 22 | 23 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector015.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | This is yet another of my own test vectors for a larger 3 | input data set. The input data is the string "qwerty 4 | repeated 65536 times. 5 | 6 | (Total length of test vector data: 393216) 7 | 8 | FILE: 9 | vector015.dat 10 | 11 | SHA256: 12 | 5e3dfe0cc98fd1c2de2a9d2fd893446da43d290f2512200c515416313cdf3192 13 | 14 | SHA384: 15 | 0d5e45317bc7997cb9c8a23bad9bac9170d5bc81789b51af6bcd74ace379fd64 16 | 9a2b48cb56c4cb4ec1477e6933329e0e 17 | 18 | SHA512: 19 | 735bd6bebfe6f8070d70069105bc761f35ed1ac3742f2e372fdc14d2a51898e6 20 | 153ccaff9073324130abdc451c730dc5dab5a0452487b1171c4dd97f92e267b7 21 | 22 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector016.info: -------------------------------------------------------------------------------- 1 | DESCRIPTION: 2 | This test vector came from Brian LaMacchia in his e-mail 3 | message containing several samples of output from his SHA-256 4 | and SHA-512 implementations. My own implementations match 5 | his output exactly. The input data data set is the string 6 | "Rijndael is AES" repeated 1024 times. 7 | 8 | (Total length of test vector data: 15360) 9 | 10 | FILE: 11 | vector016.dat 12 | 13 | SHA256: 14 | 80fced5a97176a5009207cd119551b42c5b51ceb445230d02ecc2663bbfb483a 15 | 16 | SHA384: 17 | aa1e77c094e5ce6db81a1add4c095201d020b7f8885a4333218da3b799b9fc42 18 | f00d60cd438a1724ae03bd7b515b739b 19 | 20 | SHA512: 21 | fae25ec70bcb3bbdef9698b9d579da49db68318dbdf18c021d1f76aaceff9628 22 | 38873235597e7cce0c68aabc610e0deb79b13a01c302abc108e459ddfbe9bee8 23 | 24 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector017.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector017.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector018.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/platformio/platform-espressif32/d2e6e179810ca7cf3bf847dc698bfe1fe61d7b7e/examples/espidf-coap-server/components/libcoap/ext/tinydtls/sha2/testvectors/vector018.dat -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/tests/unit-tests/test_ccm.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * Copyright (c) 2020 Olaf Bergmann (TZI) and others. 4 | * All rights reserved. This program and the accompanying materials 5 | * are made available under the terms of the Eclipse Public License v1.0 6 | * and Eclipse Distribution License v. 1.0 which accompanies this distribution. 7 | * 8 | * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html 9 | * and the Eclipse Distribution License is available at 10 | * http://www.eclipse.org/org/documents/edl-v10.php. 11 | */ 12 | 13 | #include 14 | 15 | CU_pSuite t_init_ccm_tests(void); 16 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/tests/unit-tests/test_ecc.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * Copyright (c) 2020 Olaf Bergmann (TZI) and others. 4 | * All rights reserved. This program and the accompanying materials 5 | * are made available under the terms of the Eclipse Public License v1.0 6 | * and Eclipse Distribution License v. 1.0 which accompanies this distribution. 7 | * 8 | * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html 9 | * and the Eclipse Distribution License is available at 10 | * http://www.eclipse.org/org/documents/edl-v10.php. 11 | */ 12 | 13 | #include 14 | 15 | CU_pSuite t_init_ecc_tests(void); 16 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/tests/unit-tests/test_prf.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * 3 | * Copyright (c) 2022 Olaf Bergmann (TZI) and others. 4 | * All rights reserved. This program and the accompanying materials 5 | * are made available under the terms of the Eclipse Public License v1.0 6 | * and Eclipse Distribution License v. 1.0 which accompanies this distribution. 7 | * 8 | * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html 9 | * and the Eclipse Distribution License is available at 10 | * http://www.eclipse.org/org/documents/edl-v10.php. 11 | */ 12 | 13 | #include 14 | 15 | CU_pSuite t_init_prf_tests(void); 16 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/ext/tinydtls/tests/unit-tests/testdriver.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | 6 | #include "test_ccm.h" 7 | #include "test_ecc.h" 8 | #include "test_prf.h" 9 | #include "tinydtls.h" 10 | 11 | int main(void) { 12 | CU_ErrorCode result; 13 | CU_BasicRunMode run_mode = CU_BRM_VERBOSE; 14 | 15 | if (CU_initialize_registry() != CUE_SUCCESS) { 16 | fprintf(stderr, "E: test framework initialization failed\n"); 17 | return -2; 18 | } 19 | 20 | t_init_ccm_tests(); 21 | t_init_ecc_tests(); 22 | t_init_prf_tests(); 23 | 24 | CU_basic_set_mode(run_mode); 25 | result = CU_basic_run_tests(); 26 | 27 | CU_cleanup_registry(); 28 | 29 | return result; 30 | } 31 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/libcoap-3.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: @PACKAGE_NAME@ 7 | Description: C-Implementation of CoAP. 8 | Version: @PACKAGE_VERSION@ 9 | URL: @PACKAGE_URL@ 10 | Libs: -L${libdir} -lcoap-@LIBCOAP_NAME_SUFFIX@ 11 | Libs.private: @DTLS_LIBS@ 12 | Cflags: -I${includedir} 13 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/scripts/fix-cunit.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # only continue if `pkgconfig cunit` fails 4 | pkg-config cunit 2>/dev/null && exit 0 5 | 6 | # Check if the system has a cunit.pc. 7 | # If not, exit with success (the configure script will raise 8 | # a more descriptive error). 9 | CUNIT_PC=`dpkg -L libcunit1-dev 2>/dev/null|grep cunit.pc` 10 | if test "x$CUNIT_PC" != "x"; then 11 | grep -q Version: $CUNIT_PC || (dpkg -l|sed -ne 's/^ii\s\+libcunit1-dev\s\+\([0-9]\+.[0-9]\+-[0-9]\+\).*$/Version: \1/p; T; q'|cat - $CUNIT_PC |sed -e 's/={exec_prefix/=${exec_prefix/' >`pwd`/cunit.pc) 12 | fi 13 | 14 | # output location of generated cunit.pc 15 | echo PKG_CONFIG_PATH=`pwd` 16 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/scripts/format_cmake.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cmakeFormat="cmake-format" 4 | 5 | path_to_cmake_format="$(which $cmakeFormat)" 6 | echo "$path_to_cmake_format" 7 | 8 | if [ -z "$cmakeFormat" ] 9 | then 10 | echo "$cmakeFormat is not installed. Cannot format cmake files..." 11 | echo "run: pip install cmake-format" 12 | exit 1 13 | fi 14 | 15 | echo "$cmakeFormat was found, going to format your cmake scripts..." >&2 16 | 17 | find $(dirname "$0")/ \ 18 | -not \( -path "*/build/*" -prune \) \ 19 | \( -name *.cmake -o -name CMakeLists.txt \) \ 20 | | xargs $cmakeFormat -c cmake-format.yaml -i 21 | 22 | 23 | echo "done formatting with cmake-format" 24 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/scripts/github_dist.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # This script creates a libcoap archive, unpacks it and does an 4 | # out-of-tree build and installation afterwards. 5 | # 6 | # Copyright (C) 2021-2022 Olaf Bergmann 7 | # 8 | # This file is part of the CoAP C library libcoap. Please see README 9 | # and COPYING for terms of use. 10 | # 11 | 12 | PREFIX=--prefix=`pwd`/libcoap-install 13 | ARCHIVE=`ls -1t libcoap-*.tar.bz2 |head -1` 14 | err=$? 15 | echo $ARCHIVE 16 | if test $err = 0 -a "x$ARCHIVE" != "x"; then 17 | DIR=`pwd`/`tar taf $ARCHIVE |cut -d/ -f1|head -1` 18 | tar xaf $ARCHIVE && cd $DIR && \ 19 | $DIR/configure $PREFIX --enable-tests --enable-silent-rules --enable-documentation --enable-examples --disable-dtls && \ 20 | make EXTRA_CFLAGS=-Werror && make install EXTRA_CFLAGS=-Werror 21 | err=$? 22 | fi 23 | 24 | exit $err 25 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/scripts/msbuild.sln.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | pushd "%~dp0" 3 | 4 | if exist Debug rd /s /q Debug 5 | if exist Release rd /s /q Release 6 | if exist x64 rd /s /q x64 7 | if exist NoTLS rd /s /q NoTLS 8 | 9 | cd .. 10 | 11 | rem MSBuild.exe ./win32/libcoap.sln /p:Configuration=NoTLS /p:Platform=x64 /warnaserror 12 | MSBuild.exe ./win32/libcoap.sln /p:Platform=x64 /warnaserror 13 | 14 | :exit 15 | popd 16 | @echo on 17 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/src/coap_hashkey.c: -------------------------------------------------------------------------------- 1 | /* coap_hashkey.c -- definition of hash key type and helper functions 2 | * 3 | * Copyright (C) 2010,2011 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | /** 12 | * @file coap_hashkey.c 13 | * @brief Hashkey functions 14 | */ 15 | 16 | #include "coap3/coap_internal.h" 17 | 18 | void 19 | coap_hash_impl(const unsigned char *s, size_t len, coap_key_t h) { 20 | size_t j; 21 | 22 | while (len--) { 23 | j = sizeof(coap_key_t)-1; 24 | 25 | while (j) { 26 | h[j] = ((h[j] << 7) | (h[j-1] >> 1)) + h[j]; 27 | --j; 28 | } 29 | 30 | h[0] = (h[0] << 7) + h[0] + *s++; 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/src/coap_subscribe.c: -------------------------------------------------------------------------------- 1 | /* coap_subscribe.c -- subscription handling for CoAP 2 | * see RFC7641 3 | * 4 | * Copyright (C) 2010-2019,2022 Olaf Bergmann 5 | * 6 | * SPDX-License-Identifier: BSD-2-Clause 7 | * 8 | * This file is part of the CoAP library libcoap. Please see 9 | * README for terms of use. 10 | */ 11 | 12 | /** 13 | * @file coap_subscribe.c 14 | * @brief Subscription handling functions 15 | */ 16 | 17 | #include "coap3/coap_internal.h" 18 | 19 | #if COAP_SERVER_SUPPORT 20 | void 21 | coap_subscription_init(coap_subscription_t *s) { 22 | assert(s); 23 | memset(s, 0, sizeof(coap_subscription_t)); 24 | } 25 | #endif /* COAP_SERVER_SUPPORT */ 26 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/oss-fuzz/Makefile.oss-fuzz: -------------------------------------------------------------------------------- 1 | # -*- Mode: Makefile for OSS-Fuzz checks -*- 2 | 3 | top_builddir=../.. 4 | top_srcdir=../.. 5 | 6 | LDLIBS+=-lFuzzingEngine 7 | export LDLIBS 8 | 9 | .PHONY: oss-fuzz clean 10 | 11 | oss-fuzz: 12 | $(MAKE) -f Makefile.ci 13 | 14 | clean: 15 | $(MAKE) -f Makefile.ci clean 16 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/oss-fuzz/pdu_parse_target.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /* Declare prototype for internal function coap_pdu_encode_header() */ 4 | size_t coap_pdu_encode_header(coap_pdu_t *, coap_proto_t); 5 | 6 | int 7 | LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 8 | coap_pdu_t *pdu = coap_pdu_init(0, 0, 0, size); 9 | if (pdu) { 10 | coap_set_log_level(LOG_DEBUG); 11 | if (coap_pdu_parse(COAP_PROTO_UDP, data, size, pdu)) { 12 | coap_string_t *query = coap_get_query(pdu); 13 | coap_string_t *uri_path = coap_get_uri_path(pdu); 14 | coap_show_pdu(LOG_DEBUG, pdu); 15 | coap_pdu_encode_header(pdu, COAP_PROTO_UDP); 16 | 17 | coap_delete_string(query); 18 | coap_delete_string(uri_path); 19 | } 20 | coap_delete_pdu(pdu); 21 | } 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/oss-fuzz/split_uri_target.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int 4 | LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 5 | coap_uri_t uri; 6 | coap_split_uri(data, size, &uri); 7 | return 0; 8 | } 9 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_common.h.in: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests common include 2 | * 3 | * Copyright (C) 2021 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include "coap@LIBCOAP_API_VERSION@/coap_internal.h" 12 | 13 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_encode.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2019 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_encode_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_error_response.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2013 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_error_response_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_options.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2012 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | /** Asserts that const pointers actual == expected. 14 | * Reports failure with no other action. 15 | */ 16 | #define CU_ASSERT_PTR_EQUAL_C(actual, expected) \ 17 | { CU_assertImplementation(((const void*)(actual) == (const void*)(expected)), __LINE__, ("CU_ASSERT_PTR_EQUAL(" #actual "," #expected ")"), __FILE__, "", CU_FALSE); } 18 | 19 | CU_pSuite t_init_option_tests(void); 20 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_pdu.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2012 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_pdu_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_sendqueue.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2013 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_sendqueue_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_session.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2018 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_session_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_tls.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2018 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_tls_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_uri.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2012 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_uri_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/test_wellknown.h: -------------------------------------------------------------------------------- 1 | /* libcoap unit tests 2 | * 3 | * Copyright (C) 2013 Olaf Bergmann 4 | * 5 | * SPDX-License-Identifier: BSD-2-Clause 6 | * 7 | * This file is part of the CoAP library libcoap. Please see 8 | * README for terms of use. 9 | */ 10 | 11 | #include 12 | 13 | CU_pSuite t_init_wellknown_tests(void); 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/components/libcoap/tests/valgrind_suppression: -------------------------------------------------------------------------------- 1 | { 2 | rand_drbg_get_nonce_fix__openssl_111c_1 3 | Memcheck:Cond 4 | ... 5 | fun:SSL_CTX_new 6 | } 7 | { 8 | rand_drbg_get_nonce_fix__openssl_111c_2 9 | Memcheck:Cond 10 | ... 11 | fun:RAND_DRBG_bytes 12 | } 13 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | board_build.embed_txtfiles = 15 | src/certs/coap_ca.pem 16 | src/certs/coap_server.crt 17 | src/certs/coap_server.key 18 | 19 | [env:nano32] 20 | board = nano32 21 | 22 | [env:esp-wrover-kit] 23 | board = esp-wrover-kit 24 | 25 | [env:esp32dev] 26 | board = esp32dev 27 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_MBEDTLS_SSL_PROTO_DTLS=y 2 | CONFIG_MBEDTLS_PSK_MODES=y 3 | CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y 4 | CONFIG_LWIP_NETBUF_RECVINFO=y 5 | CONFIG_COAP_SERVER_SUPPORT=y 6 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "coap_server_example_main.c" 2 | INCLUDE_DIRS "." 3 | EMBED_TXTFILES certs/coap_ca.pem certs/coap_server.crt certs/coap_server.key) 4 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/src/certs/coap_server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICAzCCAaagAwIBAgIJANqCHDjOKHh+MAwGCCqGSM49BAMCBQAwWjEOMAwGA1UE 3 | AxMFY2YtY2ExFDASBgNVBAsTC0NhbGlmb3JuaXVtMRQwEgYDVQQKEwtFY2xpcHNl 4 | IElvVDEPMA0GA1UEBxMGT3R0YXdhMQswCQYDVQQGEwJDQTAeFw0yMDExMTExMDMw 5 | MzRaFw0yMTExMTExMDMwMzRaMF4xEjAQBgNVBAMTCWNmLXNlcnZlcjEUMBIGA1UE 6 | CxMLQ2FsaWZvcm5pdW0xFDASBgNVBAoTC0VjbGlwc2UgSW9UMQ8wDQYDVQQHEwZP 7 | dHRhd2ExCzAJBgNVBAYTAkNBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+obM 8 | gHmMB7zS4KArciXPD7CrvgEYqlnAf7NOTdb54RbTr4qEpPL+OJ6Pg8VhrF4hGEne 9 | T6Aa4qqpmTkxmfT0vqNPME0wHQYDVR0OBBYEFE4XpfFad+F3+RcwI+s1cmJbTZWG 10 | MAsGA1UdDwQEAwIHgDAfBgNVHSMEGDAWgBRL3+e1HCYWGJMdeLcJHorXevdX1TAM 11 | BggqhkjOPQQDAgUAA0kAMEYCIQCEo+O5zqYKdwi/ElB4wfNVIf76P1OhIXAT5CHc 12 | 3ebBPQIhAN6UhCgQ0av6kf7INCazV3KmN7HmPXARaY4YKWsRwsg+ 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/src/certs/coap_server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCCLBQT66xp2w4+1K+Ai 3 | /TXEC8tQZBxl9brFyK4F7AQNGw== 4 | -----END PRIVATE KEY----- 5 | -------------------------------------------------------------------------------- /examples/espidf-coap-server/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-exceptions/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-exceptions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(cpp_exceptions_example) 7 | -------------------------------------------------------------------------------- /examples/espidf-exceptions/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-exceptions 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-exceptions/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | 15 | [env:esp32dev] 16 | board = esp32dev 17 | 18 | [env:esp-wrover-kit] 19 | board = esp-wrover-kit 20 | 21 | [env:lolin32] 22 | board = lolin32 23 | -------------------------------------------------------------------------------- /examples/espidf-exceptions/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Enable C++ exceptions and set emergency pool size for exception objects 2 | CONFIG_COMPILER_CXX_EXCEPTIONS=y 3 | CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=1024 4 | -------------------------------------------------------------------------------- /examples/espidf-exceptions/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "exception_example_main.cpp" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/espidf-exceptions/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-hello-world/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-hello-world/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(hello-world) -------------------------------------------------------------------------------- /examples/espidf-hello-world/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-hello-world 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-hello-world/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | 15 | [env:esp32dev] 16 | board = esp32dev 17 | 18 | [env:esp32-s2-kaluga-1] 19 | board = esp32-s2-kaluga-1 20 | 21 | [env:esp32-c3-devkitm-1] 22 | board = esp32-c3-devkitm-1 23 | 24 | [env:esp32-c6-devkitc-1] 25 | board = esp32-c6-devkitc-1 26 | board_build.cmake_extra_args = 27 | -DSDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32c6" 28 | -------------------------------------------------------------------------------- /examples/espidf-hello-world/sdkconfig.defaults.esp32c6: -------------------------------------------------------------------------------- 1 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y 2 | CONFIG_ESPTOOLPY_FLASHSIZE="8MB" 3 | -------------------------------------------------------------------------------- /examples/espidf-hello-world/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "hello_world_main.c" 2 | INCLUDE_DIRS "") 3 | 4 | target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format") 5 | -------------------------------------------------------------------------------- /examples/espidf-hello-world/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-hello-world/test/test_dummy/test_dummy.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void test_dummy(void) 4 | { 5 | TEST_ASSERT_EQUAL(1, 1); 6 | } 7 | 8 | void app_main() 9 | { 10 | UNITY_BEGIN(); 11 | 12 | RUN_TEST(test_dummy); 13 | 14 | UNITY_END(); 15 | } -------------------------------------------------------------------------------- /examples/espidf-http-request/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-http-request/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | # (Not part of the boilerplate) 6 | # This example uses an extra component for common functions such as Wi-Fi and Ethernet connection. 7 | list(APPEND EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common) 8 | 9 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 10 | project(http-request) 11 | -------------------------------------------------------------------------------- /examples/espidf-http-request/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-http-request 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e quantum 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e quantum --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-http-request/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | 15 | [env:esp32dev] 16 | board = esp32dev 17 | 18 | [env:nano32] 19 | board = nano32 20 | 21 | [env:espea32] 22 | board = espea32 23 | 24 | [env:esp32-s2-saola-1] 25 | board = esp32-s2-saola-1 26 | -------------------------------------------------------------------------------- /examples/espidf-http-request/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_EXAMPLE_WIFI_SSID="MYSSID" 2 | CONFIG_EXAMPLE_WIFI_PASSWORD="MYPASS" 3 | -------------------------------------------------------------------------------- /examples/espidf-http-request/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "http_request_example_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/espidf-http-request/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-uart/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-uart/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(uart_echo) 7 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-uart/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-peripherals-uart 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` -------------------------------------------------------------------------------- /examples/espidf-peripherals-uart/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | 15 | [env:pocket_32] 16 | board = pocket_32 17 | 18 | [env:odroid_esp32] 19 | board = odroid_esp32 20 | 21 | [env:featheresp32] 22 | board = featheresp32 23 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-uart/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "uart_echo_example_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-uart/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following five lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(tusb_sample_descriptor) 7 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-peripherals-usb 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Clean build files 20 | $ pio run --target clean 21 | ``` 22 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/idf_component.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | idf: 3 | version: '>=5.0' 4 | tinyusb: 5 | public: true 6 | version: '>=0.14.2' 7 | description: Espressif's additions to TinyUSB 8 | documentation: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/peripherals/usb_device.html 9 | repository: git://github.com/espressif/esp-usb.git 10 | repository_info: 11 | commit_sha: 4b6a798d0bed444fff48147c8dcdbbd038e92892 12 | path: device/esp_tinyusb 13 | url: https://github.com/espressif/esp-usb/tree/master/device/esp_tinyusb 14 | version: 1.4.4 15 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/include/tinyusb_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #pragma once 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | #define USB_ESPRESSIF_VID 0x303A 14 | 15 | typedef enum { 16 | TINYUSB_USBDEV_0, 17 | } tinyusb_usbdev_t; 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/include/tusb_console.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #pragma once 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | #include "esp_err.h" 14 | 15 | /** 16 | * @brief Redirect output to the USB serial 17 | * @param cdc_intf - interface number of TinyUSB's CDC 18 | * 19 | * @return esp_err_t - ESP_OK, ESP_FAIL or an error code 20 | */ 21 | esp_err_t esp_tusb_init_console(int cdc_intf); 22 | 23 | /** 24 | * @brief Switch log to the default output 25 | * @param cdc_intf - interface number of TinyUSB's CDC 26 | * 27 | * @return esp_err_t 28 | */ 29 | esp_err_t esp_tusb_deinit_console(int cdc_intf); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/sbom.yml: -------------------------------------------------------------------------------- 1 | supplier: 'Organization: Espressif Systems (Shanghai) CO LTD' 2 | originator: 'Organization: Espressif Systems (Shanghai) CO LTD' 3 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test/local/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.22) 2 | project(libusb_test 3 | LANGUAGES C 4 | ) 5 | 6 | add_executable(libusb_test libusb_test.c) 7 | target_link_libraries(libusb_test -lusb-1.0) 8 | 9 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.16) 4 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 5 | 6 | # Set the components to include the tests for. 7 | set(EXTRA_COMPONENT_DIRS 8 | ../ 9 | ) 10 | 11 | project(test_app_usb_device_esp_tinyusb) 12 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/README.md: -------------------------------------------------------------------------------- 1 | | Supported Targets | ESP32-S2 | ESP32-S3 | 2 | | ----------------- | -------- | -------- | 3 | 4 | # USB: esp_tinyusb test application -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include($ENV{IDF_PATH}/tools/cmake/version.cmake) 2 | 3 | idf_component_register(SRC_DIRS . 4 | INCLUDE_DIRS . 5 | REQUIRES unity esp_tinyusb 6 | WHOLE_ARCHIVE) 7 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/main/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | dependencies: 3 | espressif/esp_tinyusb: 4 | version: "*" 5 | override_path: "../../" 6 | rules: 7 | - if: "idf_version >= 5.0" -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/main/test_bvalid_sig.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #pragma once 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | void test_bvalid_sig_mount_cb(void); 14 | void test_bvalid_sig_umount_cb(void); 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif //__cplusplus 19 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/main/test_descriptors_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #pragma once 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | void test_descriptors_config_mount_cb(void); 14 | void test_descriptors_config_umount_cb(void); 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif //__cplusplus 19 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/main/test_tud_cb.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | #include 8 | #include 9 | #include "tinyusb.h" 10 | #include "tusb_tasks.h" 11 | #include "test_bvalid_sig.h" 12 | #include "test_descriptors_config.h" 13 | 14 | // Invoked when device is mounted 15 | void tud_mount_cb(void) 16 | { 17 | printf("%s\n", __FUNCTION__); 18 | test_bvalid_sig_mount_cb(); 19 | test_descriptors_config_mount_cb(); 20 | } 21 | 22 | // Invoked when device is unmounted 23 | void tud_umount_cb(void) 24 | { 25 | printf("%s\n", __FUNCTION__); 26 | test_bvalid_sig_umount_cb(); 27 | test_descriptors_config_umount_cb(); 28 | } 29 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/pytest_usb_device_esp_tinyusb.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD 2 | # SPDX-License-Identifier: Apache-2.0 3 | 4 | import pytest 5 | from pytest_embedded_idf.dut import IdfDut 6 | 7 | 8 | @pytest.mark.esp32s2 9 | @pytest.mark.esp32s3 10 | @pytest.mark.usb_device 11 | def test_usb_device_esp_tinyusb(dut: IdfDut) -> None: 12 | dut.run_all_single_board_cases(group='usb_device') 13 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/components/esp_tinyusb/test_app/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Configure TinyUSB, it will be used to mock USB devices 2 | CONFIG_TINYUSB=y 3 | CONFIG_TINYUSB_MSC_ENABLED=n 4 | CONFIG_TINYUSB_CDC_ENABLED=y 5 | CONFIG_TINYUSB_CDC_COUNT=2 6 | CONFIG_TINYUSB_HID_COUNT=0 7 | 8 | # Disable watchdogs, they'd get triggered during unity interactive menu 9 | CONFIG_ESP_INT_WDT=n 10 | CONFIG_ESP_TASK_WDT=n 11 | 12 | # Run-time checks of Heap and Stack 13 | CONFIG_HEAP_POISONING_COMPREHENSIVE=y 14 | CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y 15 | CONFIG_COMPILER_STACK_CHECK=y 16 | 17 | CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL=y 18 | 19 | CONFIG_COMPILER_CXX_EXCEPTIONS=y 20 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | 15 | [env:esp32-s2-saola-1] 16 | board = esp32-s2-saola-1 17 | 18 | [env:esp32-s2-kaluga-1] 19 | board = esp32-s2-kaluga-1 20 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_TINYUSB_CDC_ENABLED=y 2 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "tusb_serial_device_main.c" 2 | INCLUDE_DIRS .) 3 | -------------------------------------------------------------------------------- /examples/espidf-peripherals-usb/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-storage-sdcard/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-storage-sdcard/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(sd_card) 7 | -------------------------------------------------------------------------------- /examples/espidf-storage-sdcard/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-storage-sdcard 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` 28 | -------------------------------------------------------------------------------- /examples/espidf-storage-sdcard/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env] 11 | platform = espressif32 12 | framework = espidf 13 | monitor_speed = 115200 14 | 15 | [env:esp32thing] 16 | board = esp32thing 17 | 18 | [env:esp32-gateway] 19 | board = esp32-gateway 20 | 21 | [env:heltec_wifi_kit_32] 22 | board = heltec_wifi_kit_32 23 | -------------------------------------------------------------------------------- /examples/espidf-storage-sdcard/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "sd_card_example_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/espidf-storage-sdcard/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(spiffs) 7 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-storage-spiffs 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Upload SPIFFS image 20 | $ pio run --target uploadfs 21 | 22 | # Clean build files 23 | $ pio run --target clean 24 | ``` 25 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/data/hello.txt: -------------------------------------------------------------------------------- 1 | Hello World from SPIFFS. 2 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/partitions_example.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, 0xf000, 0x1000, 5 | factory, app, factory, 0x10000, 1M, 6 | spiffs, data, spiffs, , 0xF0000, 7 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env:esp32dev] 11 | platform = espressif32 12 | framework = espidf 13 | board = esp32dev 14 | monitor_speed = 115200 15 | board_build.partitions = partitions_example.csv 16 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_PARTITION_TABLE_CUSTOM=y 2 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv" 3 | CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv" 4 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "spiffs_example_main.c" 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/src/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "SPIFFS Example menu" 2 | 3 | config EXAMPLE_SPIFFS_CHECK_ON_START 4 | bool "Run SPIFFS_check on every start-up" 5 | default y 6 | help 7 | If this config item is set, esp_spiffs_check() will be run on every start-up. 8 | Slow on large flash sizes. 9 | endmenu 10 | -------------------------------------------------------------------------------- /examples/espidf-storage-spiffs/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.5) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(ulp-adc-example) -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-ulp-adc 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` 28 | -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [platformio] 11 | src_dir = main 12 | 13 | [env:esp32dev] 14 | platform = espressif32 15 | framework = espidf 16 | board = esp32dev 17 | -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Enable ULP 2 | CONFIG_ULP_COPROC_ENABLED=y 3 | CONFIG_ULP_COPROC_TYPE_FSM=y 4 | CONFIG_ULP_COPROC_RESERVE_MEM=1024 5 | # Set log level to Warning to produce clean output 6 | CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y 7 | CONFIG_BOOTLOADER_LOG_LEVEL=2 8 | CONFIG_LOG_DEFAULT_LEVEL_WARN=y 9 | CONFIG_LOG_DEFAULT_LEVEL=2 10 | CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y 11 | -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-ulp-adc/ulp/example_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD 3 | * 4 | * SPDX-License-Identifier: Unlicense OR CC0-1.0 5 | */ 6 | #pragma once 7 | 8 | /* Ints are used here to be able to include the file in assembly as well */ 9 | #define EXAMPLE_ADC_CHANNEL 6 // ADC_CHANNEL_6, GPIO34 on ESP32, GPIO7 on ESP32-S3 10 | #define EXAMPLE_ADC_UNIT 0 // ADC_UNIT_1 11 | #define EXAMPLE_ADC_ATTEN 3 // ADC_ATTEN_DB_11 12 | #define EXAMPLE_ADC_WIDTH 0 // ADC_BITWIDTH_DEFAULT 13 | 14 | /* Set low and high thresholds, approx. 1.35V - 1.75V*/ 15 | #define EXAMPLE_ADC_LOW_TRESHOLD 1500 16 | #define EXAMPLE_ADC_HIGH_TRESHOLD 2000 17 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16.0) 2 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 3 | project(espidf-ulp-pulse-new) 4 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/README.md: -------------------------------------------------------------------------------- 1 | How to build PlatformIO based project 2 | ===================================== 3 | 4 | 1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html) 5 | 2. Download [development platform with examples](https://github.com/platformio/platform-espressif32/archive/develop.zip) 6 | 3. Extract ZIP archive 7 | 4. Run these commands: 8 | 9 | ```shell 10 | # Change directory to example 11 | $ cd platform-espressif32/examples/espidf-ulp-pulse 12 | 13 | # Build project 14 | $ pio run 15 | 16 | # Upload firmware 17 | $ pio run --target upload 18 | 19 | # Build specific environment 20 | $ pio run -e esp32dev 21 | 22 | # Upload firmware for the specific environment 23 | $ pio run -e esp32dev --target upload 24 | 25 | # Clean build files 26 | $ pio run --target clean 27 | ``` 28 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter, extra scripting 4 | ; Upload options: custom port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; 7 | ; Please visit documentation for the other options and examples 8 | ; https://docs.platformio.org/page/projectconf.html 9 | 10 | [env:esp32dev] 11 | platform = espressif32 12 | framework = espidf 13 | board = esp32dev 14 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Enable ULP 2 | CONFIG_ULP_COPROC_ENABLED=y 3 | CONFIG_ULP_COPROC_TYPE_FSM=y 4 | CONFIG_ULP_COPROC_RESERVE_MEM=1024 5 | # Set log level to Warning to produce clean output 6 | CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y 7 | CONFIG_BOOTLOADER_LOG_LEVEL=2 8 | CONFIG_LOG_DEFAULT_LEVEL_WARN=y 9 | CONFIG_LOG_DEFAULT_LEVEL=2 10 | CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y 11 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /examples/espidf-ulp-pulse/ulp/wake_up.S: -------------------------------------------------------------------------------- 1 | /* ULP assembly files are passed through C preprocessor first, so include directives 2 | and C macros may be used in these files 3 | */ 4 | #include "soc/rtc_cntl_reg.h" 5 | #include "soc/soc_ulp.h" 6 | 7 | .global wake_up 8 | wake_up: 9 | /* Check if the system can be woken up */ 10 | READ_RTC_FIELD(RTC_CNTL_LOW_POWER_ST_REG, RTC_CNTL_RDY_FOR_WAKEUP) 11 | and r0, r0, 1 12 | jump wake_up, eq 13 | 14 | /* Wake up the SoC, end program */ 15 | wake 16 | halt 17 | --------------------------------------------------------------------------------