Over-The-Air FPGA Programming Using Arduino

Total Page:16

File Type:pdf, Size:1020Kb

Over-The-Air FPGA Programming Using Arduino Bachelor’s Thesis Bachelor’s Degree in Industrial Technology Engineering Over-the-air FPGA programming using Arduino Author: Alexandre Araiza i Tamarit Director: Juan Manuel Moreno Eguilaz Call: September 2020 Escola Tècnica Superior d’Enginyeria Industrial de Barcelona Acknowledgements First and foremost, I would like to thank my thesis director Juan Manuel Moreno Eguilaz for introducing me to the world of FPGAs and for helping me out along the way. I would also like to thank my parents for providing feedback about their areas of expertise and for their support during this project. Last but not least, I would like to thank the people at MoCo Makers for brin- ging FPGAs to a wider audience. If it weren’t for the Fipsy FPGA, this project wouldn’t have been possible. Abstract Field-programmable gate arrays are slowly becoming popular for many different applications, securing their place in the future of electronics. This project aims to expand on the current state of field-programmable gate array development by providing a tool that enables remote development of a commercially available field-programmable gate array using Wi-Fi, the most popular wireless networking technology. A web-based tool is developed as a result, enabling multiple users to manipulate the field-programmable gate array without the need for additional software. Table of contents Abstract ................................................................................................. 5 Glossary ................................................................................................. 9 1. Introduction ........................................................................................11 2. Theoretical foundations ..................................................................13 2.1. Data transmission .....................................................................................13 2.1.1. Serial Peripheral Interface ........................................................................13 2.1.2. Wi-Fi ........................................................................................................15 2.2. Hardware ..................................................................................................15 2.2.1. Field-programmable gate array .................................................................15 2.2.2. WeMos D1 R1 ...........................................................................................20 2.3. Software ....................................................................................................21 2.3.1. Arduino IDE .............................................................................................21 2.3.2. Lattice Diamond .......................................................................................23 3. FPGA programming ........................................................................25 3.1. FPGA Commands ....................................................................................26 3.2. User commands ......................................................................................28 3.3. JEDEC file ................................................................................................30 4. Wi-Fi implementation .....................................................................33 4.1. Hypertext Transfer Protocol .....................................................................35 4.1.1. HTTP request ...........................................................................................36 4.1.2. HTTP response .........................................................................................38 4.2. Basic request handlers ..............................................................................39 4.3. File system ................................................................................................40 4.4. File system request handlers .....................................................................41 4.5. Tool usability ............................................................................................42 5. User interface .....................................................................................43 5.1. User commands .........................................................................................44 5.2. Status messages ........................................................................................45 5.3. Managing the file list ................................................................................45 5.4. Checking JEDEC files ...............................................................................46 5.5. Web page responsiveness ..........................................................................46 6. Future updates ..................................................................................49 7. Resource use .......................................................................................51 7.1. Hardware ..................................................................................................51 7.2. Software ....................................................................................................51 7.3. Time and human resources .......................................................................52 7.4. Financial resources....................................................................................53 7.5. Environmental resources ...........................................................................54 Conclusions .........................................................................................55 Bibliography .......................................................................................57 Appendices ..........................................................................................59 Appendix 1 ...............................................................................................61 Appendix 2 ...............................................................................................87 Appendix 3 ...............................................................................................91 Appendix 4 ...............................................................................................97 Appendix 5 ............................................................................................. 105 9 Glossary AJAX Asynchronous JavaScript and XML. Set of technologies to update web pages asynchronously. IDE Integrated development environment. Software applica- tion providing tools for software development. IEEE Institute of Electrical and Electronics Engineers. Profes- sional association for electrical and electronic enginee- ring. IP address Internet Protocol address. Numerical address assigned to each device using the Internet Protocol in a computer network. IP core Intellectual property core. Reusable block of logic that is the intellectual property of an entity. LAN Local Area Network. Computer network spanning a limi- ted area, such as a residence, school or office building. LUT Lookup table. Array used to look up values usually diffi- cult to compute. Request handler Program used to process incoming requests. Robustness Ability of computer systems to deal with errors. Runtime Time span of program execution on a computer. Single-board microcontroller Microcontroller built onto a printed circuit board. 11 1. Introduction From the growing Internet of things to the rise of artificial intelligence, field-pro- grammable gate arrays are slowly making their way into the future of electronics. Their versatility allows them to be used in various industries for many different applications, and their ever-decreasing price attracts more and more people to enter the world of field-programmable gate array development. Devices are getting smaller and more connected, some of them being so small that they can be difficult to handle, making development impractical. As lots of devices use a field-programmable gate array during development, it could be helpful to use some form of connectivity to manipulate it remotely. This is the main objective of this project; developing a tool to allow a commercially available field-programmable gate array to be programmed remotely. To achieve this goal, a wireless networking technology is necessary. Wi-Fi will be used, as it is the most common technology for wireless local area networks. A single-board microcontroller will also be used to communicate with the field-pro- grammable gate array and provide Wi-Fi functionality. Software optimization will be taken into account to reduce runtime and improve robustness, but ease of use will be the top priority, as that in itself can reduce the amount of time it takes the user to learn how to use the tool as well as do different actions with it, making the user experience smoother. The final product will be the result of modifying existing source code to make use of Wi-Fi functionality on an Arduino compatible single-board microcontroller. 13 2. Theoretical foundations 2.1. Data transmission Data transmission is a fundamental part of electronics, enabling devices to com- municate with each other and thus allowing data to be manipulated from different places. For devices to understand each other, data has to be sent in the same way it is received; the device sending data and the device receiving it need to use the same communication protocol. Two different communication protocols will be used in this project. The sin- gle-board microcontroller will transfer data to the FPGA via SPI and the PC will
Recommended publications
  • ESP8266EX Datasheet
    ESP8266EX Datasheet Version 6.6 Espressif Systems Copyright © 2020 www.espressif.com About This Guide This document introduces the specifications of ESP8266EX. Release Notes Date Version Release Notes 2015.12 V4.6 Updated Chapter 3. 2016.02 V4.7 Updated Section 3.6 and Section 4.1. 2016.04 V4.8 Updated Chapter 1. 2016.08 V4.9 Updated Chapter 1. 2016.11 V5.0 Added Appendix Ⅱ “Learning Resources”. Changed the power consumption during Deep-sleep from 10 μA to 20 μA 2016.11 V5.1 in Table 5-2. Changed the crystal frequency range from “26 MHz to 52 MHz” to “24 2016.11 V5.2 MHz to 52 MHz” in Section 3.3. 2016.12 V5.3 Changed the minimum working voltage from 3.0 V to 2.5 V. 2017.04 V5.4 Changed chip input and output impedance from 50 Ω to 39 + j6 Ω. Updated Chapter 3 regarding the range of clock amplitude to 0.8 V ~ 1.5 2017.10 V5.5 V. 2017.11 V5.6 Updated VDDPST from 1.8 V ~ 3.3 V to 1.8 V ~ 3.6 V. • Corrected a typo in the description of SDIO_DATA_0 in Table 2-1; 2017.11 V5.7 • Added the testing conditions for the data in Table 5-2. • Updated Wi-Fi protocols in Section 1.1; 2018.02 V5.8 • Updated description of the integrated Tensilica processor in 3.1. Date Version Release Notes • Update document cover; • Added a note for Table 1-1; • Updated Wi-Fi key features in Section 1.1; • Updated description of the Wi-Fi function in 3.5; • Updated pin layout diagram; • Fixed a typo in Table 2-1; 2018.09 V5.9 • Removed Section AHB and AHB module; • Restructured Section Power Management; • Fixed a typo in Section UART; • Removed description of transmission angle in Section IR Remote Control; • Other optimization (wording).
    [Show full text]
  • How to Choose a Microcontroller Created by Mike Stone
    How to Choose a Microcontroller Created by mike stone Last updated on 2021-03-16 09:01:47 PM EDT Guide Contents Guide Contents 2 Overview 4 Which Microcontroller is the Best? 4 How to Make a Bad Choice 5 How to Make a Good Choice 6 Sketching out the features you might want 6 A list of design considerations 6 Kinds of Microcontrollers 8 8-bit Microcontrollers 8 32-bit Microcontrollers 9 More About Peripherals with 32-Bit Chips 9 System On Chip Devices (SOC) 9 The microcontrollers in Adafruit products 11 8-bit Microcontrollers: 11 The ATtiny85 11 The ATmega328P 11 The ATmega32u4 12 32-bit Microcontrollers: 13 The SAMD21G 13 The SAMD21E 14 The SAMD51 15 System-On-a-Chip (SOCs) 16 The STM32F205 16 The nRF52832 16 The ESP8266 17 The ESP32 18 Simple Boards 20 Simple is Good 20 Where do I Start? 21 I want to learn microcontrollers, but don't want to buy a lot of extra stuff 21 Resources 22 Arduino 328 Compatibles 24 I want a microcontroller that is Arduino-Compatible 24 I want to build an Arduino-compatible microcontroller into a project 25 I want to build a battery-powered device 26 Next Step - 32u4 Boards 29 The Feather 32u4 Basic: 29 The Feather 32u4 Adalogger: 30 The ItsyBitsy 32u4: 30 Intermediate Boards 33 Branching Out 33 32-bit Boards 34 The Feather M0 Basic: 34 The Feather M0 Adalogger: 34 The ItsyBitsy M0: 35 The Metro M0: 36 CircuitPython Boards 37 The Circuit Playground Express: 37 The Metro M0 Express: 38 The Feather M0 Express: 39 © Adafruit Industries https://learn.adafruit.com/how-to-choose-a-microcontroller Page 2 of 54 The Trinket
    [Show full text]
  • ESP8266 Arduino Core Documentation Release 3.0.2-16-G9d024d17
    ESP8266 Arduino Core Documentation Release 3.0.2-16-g9d024d17 Ivan Grokhotkov Sep 29, 2021 CONTENTS: 1 Installing 1 1.1 Boards Manager.............................................1 1.2 Using git version.............................................1 1.3 Using PlatformIO............................................5 2 esp8266 configuration 7 2.1 Overview.................................................7 2.2 Note about PlatformIO..........................................7 2.3 Arduino IDE Tools Menu........................................7 3 Reference 13 3.1 Interrupts................................................. 13 3.2 Digital IO................................................. 13 3.3 Analog input............................................... 14 3.4 Analog output.............................................. 15 3.5 Timing and delays............................................ 15 3.6 Serial................................................... 15 3.7 Progmem................................................. 17 3.8 C++.................................................... 17 3.9 Streams.................................................. 18 4 Libraries 23 4.1 WiFi (ESP8266WiFi library)....................................... 23 4.2 Ticker................................................... 23 4.3 EEPROM................................................. 23 4.4 I2C (Wire library)............................................ 24 4.5 SPI.................................................... 24 4.6 SoftwareSerial.............................................
    [Show full text]
  • Adafruit HUZZAH ESP8266 Breakout Created by Lady Ada
    Adafruit HUZZAH ESP8266 breakout Created by lady ada Last updated on 2015-06-16 12:40:13 PM EDT Guide Contents Guide Contents 2 Overview 3 Pinouts 9 Power Pins 10 Serial pins 11 GPIO pins 12 Analog Pins 13 Other control pins 13 Assembly 14 Prepare the header strip: 14 Add the breakout board: 14 And Solder! 15 Using NodeMCU Lua 21 Connect USB-Serial cable 21 Open up serial console 22 Hello world! 24 Scanning & Connecting to WiFi 26 WebClient example 28 Using Arduino IDE 31 Connect USB-Serial cable 31 Install the Arduino IDE 1.6.4 or greater 33 Install the Adafruit Board Manager extras 33 Setup ESP8266 Support 34 Blink Test 36 Connecting via WiFi 37 Other Options 42 Downloads 43 More info about the ESP8266 43 Schematic 43 Fabrication print 43 © Adafruit Industries https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout Page 2 of 45 Overview Add Internet to your next project with an adorable, bite-sized WiFi microcontroller, at a price you like! The ESP8266 processor from Espressif is an 80 MHz microcontroller with a full WiFi front-end (both as client and access point) and TCP/IP stack with DNS support as well. While this chip has been very popular, its also been very difficult to use. Most of the low cost modules are not breadboard friendly, don't have an onboard 500mA 3.3V regulator or level shifting, and aren't CE or FCC emitter certified....UNTIL NOW! © Adafruit Industries https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout Page 3 of 45 The HUZZAH ESP8266 breakout is what we designed to make working with this chip super easy and a lot of fun.
    [Show full text]
  • Conference Paper
    Conference Paper Assessing the ESP8266 WiFi module for the Internet of Things João Mesquita Diana Guimarães Carlos Pereira Frederico Santos Luís Almeida CISTER-TR-181106 Conference Paper CISTER-TR-181106 Assessing the ESP8266 WiFi module for the Internet of Things Assessing the ESP8266 WiFi module for the Internet of Things João Mesquita, Diana Guimarães, Carlos Pereira, Frederico Santos, Luís Almeida *CISTER Research Centre Polytechnic Institute of Porto (ISEP-IPP) Rua Dr. António Bernardino de Almeida, 431 4200-072 Porto Portugal Tel.: +351.22.8340509, Fax: +351.22.8321159 E-mail: http://www.cister.isep.ipp.pt Abstract The Internet of Things (IoT) is experiencing rapid growth and being adopted across multiple domains. For example, in industry it supports the connectivity needed to integrate smart machines, components and products in the ongoing Industry 4.0 trend. However, there is a myriad of communication technologies that complicate the needed integration, requiring gateways to connect to the Internet. Conversely, using IEEE 802.11 (WiFi) devices can connect to existing WiFi infrastructures directly and access the Internet with shorter communication delays and lower system cost. However, WiFi is energy consuming, impacting autonomy of the end devices. In this work we characterize a recent WiFi-enabled device, namely the ESP8266 module, that is low cost and branded as ultra- low-power, but whose performance for IoT applications is still undocumented. We explore the built-in sleep modes and we measure the impact of infrastructure parameters beacon interval and DTIM period on energy consumption, as well as packet delivery ratio and received signal strength as a function of distance and module antenna orientation to assert area coverage.
    [Show full text]
  • Iot with Arduino Esp8266 & Nodemcu
    IOT WITH ARDUINO ESP8266 & NODEMCU INTERNET OF THINGS(IOT) Introduction to IoT lWhat is IoT? lIOT basics concepts lArchitecture of IOT lIOT in home automation lApplications and industry verticals Introduction to Embedded System lIntroduction to Embedded System lApplications & Scope of Embedded System in various industries Introduction to Arduino lIntroduction to Arduino lArduino Board Description lWhat is a Microcontroller lDifference between Microcontroller and Microprocessor lMicrocontroller architecture and Interfacing lBasics of Electronics. lSensors and Actuators. lThe Arduino Uno Introduction to Arduino IDE lWhat is ARDUINO IDE and Language? lFundamentals of C programming lWhat is Open Source Microcontroller Platform? l"Hello World" Example Decision Making and using Logic lFundamentals of C programming l"If" Statements l"While" Loops lFor Loops l"Switch" Cases lUsing Maths lCreating Functions Using inputs and outputs lOverview lProgram Structure lUsing Variables lBuilding Your First Circuit Using a Breadboard lDigital Input & Digital Output lAnalog Input & Analog Output lSerial Input & Serial Output lDisplaying Information Using the Serial Port Sensors Interfacing lWhat is Sensor & Actuator? lSensor Feature. lTypes of sensors lInterfacing Sensors with GPIO of Arduino. lReading from Sensors Interfacing of I/O devices lInterfacing of LED with Arduino lInterfacing of switch with Arduino lInterfacing of Buzzer with Arduino lInterfacing of LCD display with Arduino Libraries, Serial Data and Hardware lOverview lUsing and Including Libraries lUsing ADC lUSART / UART Protocol lUsing SPI lUsing I2C lInterrupts lArduino Shields Introduction to ESP8266 and NodeMCU lIntroduction about NodeMCU lPinouts lNODE MCU firmware lConnecting to Local Wi-Fi lGetting Static IP lIntroduction to Attention Commands for internet access Sensors Interfacing lWhat is Sensor & Actuator? lSensor Feature.
    [Show full text]
  • Nodemcu ESP8266 ESP-12E Catalogue
    INTRODUCTION TO NodeMCU ESP8266 DEVKIT v1.0 JULY 2017 www.einstronic.com Internet of Things NodeMCU ESP8266 ESP-12E WiFi Development Board NodeMCU is an open source IoT platform. It includes firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module. The term “NodeMCU” by default refers to the firmware rather than the DevKit. The firmware uses the Lua scripting language. It is based on the eLua project, and built on the Espressif Non-OS SDK for ESP8266. It uses many open source projects, such as lua-cjson, and spiffs. Features Version : DevKit v1.0 Breadboard Friendly Light Weight and small size. 3.3V operated, can be USB powered. Uses wireless protocol 802.11b/g/n. Built-in wireless connectivity capabilities. Built-in PCB antenna on the ESP-12E chip. Wireless Connectivity Breadboard Friendly USB Compatible Lightweight Capable of PWM, I2C, SPI, UART, 1-wire, 1 analog pin. TM Uses CP2102 USB Serial Communication interface module. Arduino IDE Compatible Low Power Consumption Arduino IDE compatible (extension board manager required). Supports Lua (alike node.js) and Arduino C programming language. PINOUT DIAGRAM NodeMCU ESP8266 v1.0 Safety Precaution All GPIO runs at 3.3V !! Source https://iotbytes.wordpress.com/nodemcu-pinout/ 1 NodeMCU ESP8266 Front View Front View Specifications of ESP-12E WiFi Module Wireless Standard IEEE 802.11 b/g/n Frequency Range 2.412 - 2.484 GHz Power Transmission 802.11b : +16 ± 2 dBm (at 11 Mbps) 802.11g : +14 ± 2 dBm (at 54 Mbps) 802.11n : +13 ± 2 dBM
    [Show full text]
  • ESP8266 RTOS SDK User Manual Release
    ESP8266 RTOS SDK User Manual Release Aug 06, 2020 Contents 1 Get Started 3 1.1 Introduction...............................................3 1.2 What You Need..............................................3 1.3 Guides..................................................5 1.4 Setup Toolchain.............................................8 1.5 Get ESP8266_RTOS_SDK........................................ 11 1.6 Setup Path to ESP8266_RTOS_SDK.................................. 12 1.7 Install the Required Python Packages.................................. 12 1.8 Start a Project.............................................. 12 1.9 Connect.................................................. 13 1.10 Configure................................................. 13 1.11 Build and Flash.............................................. 14 1.12 Monitor.................................................. 15 1.13 Environment Variables.......................................... 15 1.14 Related Documents............................................ 16 2 API Reference 21 2.1 Peripherals API.............................................. 21 2.2 Wi-Fi API................................................ 62 2.3 TCP-IP API............................................... 93 2.4 System API................................................ 103 3 API Guides 121 3.1 Build System............................................... 121 3.2 Partition Tables.............................................. 133 3.3 System Tasks............................................... 136 3.4 PWM & Sniffer Co-exists.......................................
    [Show full text]
  • Model Predictive Control for Electric Vehicle Charging Using Low Power Microcontrollers Kevin Böhmer University of Twente P.O
    Model predictive control for electric vehicle charging using low power microcontrollers Kevin Böhmer University of Twente P.O. Box 217, 7500AE Enschede The Netherlands [email protected] ABSTRACT All the above-mentioned factors lead to severe peaks in This research investigates the implementation and per- the consumption and production in the electricity network. formance of model predictive control algorithms for elec- Demand and supply should be in balance because cheap tric vehicle charging on low power microcontrollers with storage does not yet exist in an electricity network. De- limited resources. The ESP32, ESP32-S2, and ESP8266 mand Side Management (DSM) approaches can flatten out boards are chosen as the test platforms, because the boards these peaks [16]. Many of these DSM algorithms use en- are cheap and have integrated onboard Wi-Fi. The cho- ergy prices as steering signals. Gerards et al. [5] presented sen microcontrollers can be considered as an edge comput- the profile steering algorithm. This algorithm uses desired ing node that can provide resilience to the future (smart) power profiles as steering signals instead of energy prices. power grid. This research investigates which adjustments Van der Klauw [16] provided a scheduling algorithm that are needed to run a model predictive scheduling algorithm can optimize device operations according to these desired on a microcontroller with sufficient performance. The per- power profiles. This paper also shows that steering signals formance will be compared with a similar algorithm that based on energy prices may result in power quality prob- runs on a reference system. Such a smart electric vehi- lems and high losses in performance and that steering us- cle control node can interact with other devices using De- ing profiles yields better results.
    [Show full text]
  • ESP8266 Wifi Module Quick Start Guide
    ESP8266 WiFi Module Quick Start Guide NOTE: Links and Code (Software) Supplied or Referenced in this Document is supplied as a service to our customers and accuracy is not guaranteed nor is it an Endorsement of any particular part, supplier or manufacturer. Use of information and suitability for any application is at users own discretion and user assumes all risk. All rights are retained by the Author Introduction Your ESP8266 is an impressive, low cost WiFi module suitable for adding WiFi functionality to an existing microcontroller project via a UART serial connection. The module can even be reprogrammed to act as a standalone WiFi connected device–just add power! The feature list is impressive and includes: 802.11 b/g/n protocol Wi-Fi Direct (P2P), soft-AP Integrated TCP/IP protocol stack This guide is designed to help you get started with your new WiFi module so let’s start! Hardware Connections The hardware connections required to connect to the ESP8266 module are fairly straight-forward but there are a couple of important items to note related to power: The ESP8266 requires 3.3V power–do not power it with 5 volts! The ESP8266 needs to communicate via serial at 3.3V and does not have 5V tolerant inputs, so you need level conversion to communicate with a 5V microcontroller like most Arduinos use. However, if you’re adventurous and have no fear you can possibly get away with ignoring the second requirement. But nobody takes any responsibility for what happens if you do. :) Here are the connections available on the ESP8266 WiFi module: When power is applied to the module you should see the red power light turn on and the blue serial indicator light flicker briefly.
    [Show full text]
  • Internet of Things and Nodemcu
    © 2019 JETIR June 2019, Volume 6, Issue 6 www.jetir.org (ISSN-2349-5162) Internet of Things and Nodemcu A review of use of Nodemcu ESP8266 in IoT products 1 Yogendra Singh Parihar 1 Scientist D and District Informatics Officer 1 National Informatics Centre, Mahoba(U.P.), India. Abstract : The prototype is the first, step in building an Internet of Things(IoT) product. An IoT prototype consists of user interface, hardware devices including sensors, actuators and processors, backend software and connectivity. IoT microcontroller unit (MCU) or development board is used for prototyping. IoT microcontroller unit (MCU) or development board contain low- power processors which support various programming environments and may collect data from the sensor by using the firmware and transfer raw or processed data to an local or cloud-based server. NodeMCU is an open source and LUA programming language based firmware developed for ESP8266 wifi chip. Espruino , Mongoose OS, software development kit (SDK) provided by Espressif, ESP8266 add-on for Arduino are a few of development platforms that may program the ESP8266. ESP8266 may be used to either host the application or to offload all Wi-Fi networking functions from another application processor through its self contained Wi-Fi networking solution. ESP8266 has powerful on-board processing capabilities and sufficient storage that allow it to be integrated with minimal development up-front and minimal loading during runtime through its GPIOs(General Purpose input/output) with the sensors specific devices. ESP8266 has very low cost and high features which makes it an ideal module for Internet Of Things (IoT).
    [Show full text]
  • INTRODUCTION to NODEMCU INTRODUCTION Nodemcu Is an Open Source LUA Based Firmware Developed for ESP8266 Wifi Chip
    INTRODUCTION TO NODEMCU INTRODUCTION NodeMCU is an open source LUA based firmware developed for ESP8266 wifi chip. By exploring functionality with ESP8266 chip, NodeMCU firmware comes with ESP8266 Development board/kit i.e. NodeMCU Development board. NodeMCU Development Board/kit v0.9 (Version1) Since NodeMCU is open source platform, their hardware design is open for edit/modify/build. NodeMCU Dev Kit/board consist of ESP8266 wifi enabled chip. The ESP8266 is a low-cost Wi- Fi chip developed by Espressif Systems with TCP/IP protocol. For more information about ESP8266, you can refer ESP8266 WiFi Module.There is Version2 (V2) available for NodeMCU Dev Kit i.e. NodeMCU Development Board v1.0 (Version2), which usually comes in black colored PCB. NodeMCU Development Board/kit v1.0 (Version2) SNSCT NODE MCU GAUTAMI.A,AP/ECE NodeMCU Dev Kit has Arduino like Analog (i.e. A0) and Digital (D0-D8) pins on its board. It supports serial communication protocols i.e. UART, SPI, I2C etc. Using such serial protocols we can connect it with serial devices like I2C enabled LCD display, Magnetometer HMC5883, MPU-6050 Gyro meter + Accelerometer, RTC chips, GPS modules, touch screen displays, SD cards etc. How to start with NodeMCU? NodeMCU Development board is featured with wifi capability, analog pin, digital pins and serial communication protocols.To get start with using NodeMCU for IoT applications first we need to know about how to write/download NodeMCU firmware in NodeMCU Development Boards. And before that where this NodeMCU firmware will get as per our requirement. There is online NodeMCU custom builds available using which we can easily get our custom NodeMCU firmware as per our requirement.
    [Show full text]