element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experts, Learning and Guidance
  • Technologies
  • More
Experts, Learning and Guidance
Ask an Expert Forum Choosing a dev. board ESP 32 S3 ProS3 or Arduinos - IOT, Air quality sensors,Temperature,GPS,Touch Screen, Battery Hi everyone. Need some advice.
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experts, Learning and Guidance to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 10 replies
  • Answers 1 answer
  • Subscribers 302 subscribers
  • Views 1521 views
  • Users 0 members are here
Related
See a helpful answer?

Be sure to click 'more' and select 'suggest as answer'!

If you're the thread creator, be sure to click 'more' then 'Verify as Answer'!

Choosing a dev. board ESP 32 S3 ProS3 or Arduinos - IOT, Air quality sensors,Temperature,GPS,Touch Screen, Battery Hi everyone. Need some advice.

nazcuriosite
nazcuriosite over 1 year ago
I have no formal education in electronics. In fact, I just started self learning recently. I do have formal education in programming though. I am building ( as fast as I can ) a prototype of an IOT  air quality measuring device using ( currently )
  1. Arduino R4 Wifi Rev 2
  2. www.adafruit.com/.../3686 PLantower PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003
  3. DHT 22 temperature/humidity sensor
  4. ILI9341 TFT display
  5. GPS Module NEO 6M
Those are the main items. However once the above is working perfectly, i’d like to add other air quality sensors to the prototype such as the ones listed here

shopee.com.my/SGP30-GY-SGP30-Air-Quality-Sensor-Module-For-TVOC-And-eCO2-ElectricA--i.96013540.14461806521
shopee.com.my/Gas-Sensor-Module-MQ2-MQ3-MQ4-MQ5-MQ5-MQ6-MQ7-MQ8-MQ9-MQ135-MQ-2-3-4-5-6-7-8-9-135-Arduino-Raspberry-i.126211897.7671802063 as well as try running it on a Lithium Ion Battery.

Problems ( bare in mind the dev board is Arduino R4 Wifi )  -

1. TFT

i can't make the TFT ( touch screen display ) to work : Compilation error: "wiring_private.h: No such file or directory"
But it works on Arduino Uno R3

2. Serial ports ?

And then i can't seem to use more than one softwareSerial. when running PM2.5 sensor and GPS sensor
at the same time ;
If i declare pmsSerial.begin(9600) FIRST, the GPS part will not output anything if i declare gpsSerial.begin(9600) FIRST , the PMS(pm2.5) part will not output anything So i applied this docs.arduino.cc/.../
on arduino Uno R3 and it worked but when i apply it to R4 Wifi , it says
"class SoftwareSerial' has no member named 'listen'. " I have received some feedbacks from several forums mostly regarding the R4 has 2 serial ports. My point is, i need to build a prototype real fast so i can’t have for example, the TFT working but not those main sensors or vice versa.

SO i am thinking of getting a different dev  board that can make all these sensors AND the TFT to work seamlessly.
One guy suggested Arduino Giga R1 Wifi but it is so much more expensive than ESP32  Pro s3 by unexpectedmaker .
If i am not mistaken the Giga R1 has 4 serial ports while the Pro S3 has 3.
I doubt that it’s worth the price for that one difference .  cost if of course an issue. I want to get a development board that does not require me to buy , for example, another TFT other than the one that I have right now Thanks
  • Sign in to reply
  • Cancel

Top Replies

  • bidrohini
    bidrohini over 1 year ago +2
    If you stick with Arduino R4, address TFT and serial conflicts by reducing reliance on SoftwareSerial. You can also switch to I2C versions of peripherals.
  • shabaz
    shabaz over 1 year ago +2 suggested
    For the TFT, you'll simply have to search out where the wiring_private.h file is, and ensure that the compiler can see it. There's no shortcut here; if google has not helped, then you'll need to do the…
  • kmikemoo
    kmikemoo over 1 year ago in reply to shabaz +2
    shabaz I'm back to that point with the Arduino Opta. In all fairness, I'm not working on it like I was doing a Roadtest - but I certainly don't remember as much as I thought I would. I'm back to one function…
  • bidrohini
    0 bidrohini over 1 year ago

    If you stick with Arduino R4, address TFT and serial conflicts by reducing reliance on SoftwareSerial. You can also  switch to I2C versions of peripherals.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago

    For the TFT, you'll simply have to search out where the wiring_private.h file is, and ensure that the compiler can see it. There's no shortcut here; if google has not helped, then you'll need to do the work of locating that file, or looking to see what that file is used for, and see if you can modify the TFT driver code to not require it. The Arduino Uno R4 is quite different from the other Arduino boards, so you could also consider just buying a different Arduino.

    Regarding serial ports, you'll eventually learn some techniques to address this, but if you're in a rush, maybe it's good to stick with what's working, and simply remove the GPS module. It's likely not needed for the device (you can always obtain the time via WiFi). The display might not serve much of a purpose either, if people can access the data using other methods. But it seems like removing the GPS module would solve the problem with little impact.

    Some random techniques you could investigate (but be prepared for it to take some time if you're new to this) could be to implement your own PM2.5 or GPS driver code, i.e. not rely on the ready-made one which seems to require a member function that doesn't exist with the R4 uno. Another technique is to simply only use one device at a time, i.e. create and delete the object after use. This may or may not work. You could multiplex the interfaces with a bit of hardware for that. If you move to different hardware, the lowest-impact method will be to use another Arduino board, and just accept the price difference for your prototype. Or use I2C peripherals as bidrohini mentions. 

    In summary, there's lots of approaches you could try, a few listed above. But the simplest is to remove the peripheral that you don't need.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • dougw
    0 dougw over 1 year ago

    Perhaps a Raspberry Pi Pico has enough serial capability.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • wolfgangfriedrich
    0 wolfgangfriedrich over 1 year ago in reply to dougw

    A RPi Pico only has 2 hardware UARTs (and 2 HW I2Cs).
    Just had an idea to map the interfaces to different IO pins at different times. If that works the limit would be the # of IO pins available.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kmikemoo
    0 kmikemoo over 1 year ago in reply to shabaz

     nazcuriosite My guess is that you'll experience the same challenge with the ESP32 as you do with the Uno R4.  If the IDE can't find it for one, it won't find it for the other.

    You may want to consider keeping the Uno R3 as it isn't as power hungry as the R4.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dougw
    0 dougw over 1 year ago in reply to wolfgangfriedrich

    The Earle Philhower port of the Pico to the Arduino IDE seems to allow multiple PIO UARTS, and there are Pico software serial libraries that can be used as well.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to kmikemoo

    Agree, since the OP is a beginner, it's going to be difficult to do much else, apart from using what is already known to work, i.e. Uno R3.

    If the only reason they moved to Uno R4 was to use the WiFi for IoT purposes, then they don't have much choice other than remove the peripherals that are not working for them, or use known working items with that combination.

    Moving to a different board much different from Uno R3 will simply result in the same issue or other issues.

    A TFT and GPS may not be entirely necessary if all they want is WiFi, so are candidates for removal. It might not be ideal, but that's the price to pay when you're a beginner; it takes time, one can't just launch into a project with many elements and expect it all to work. There was a time for many of us I'm sure, when first projects were literally just lighting a bulb with a wire and a battery. But it had to be done.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • wolfgangfriedrich
    0 wolfgangfriedrich over 1 year ago in reply to dougw

    Yes, you are correct. I always forget the PIOs, they count as hardware too. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • kmikemoo
    0 kmikemoo over 1 year ago in reply to shabaz

    shabaz Joy  I'm back to that point with the Arduino Opta.  In all fairness, I'm not working on it like I was doing a Roadtest - but I certainly don't remember as much as I thought I would.  I'm back to one function at a time.  Solve that.  REM that block out.  Work on the next block.
    Lather. Rinse. Repeat. Laughing

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to kmikemoo

    I find I'm the same. A lot of things these days feel complex enough that if I'm not working on it daily, then it's going to be a major uphill struggle next time I want to use it.

    I'm sure from experience we all take notes (for me it's usually in the form of a Word docment per "thing" I'm working on, and often those notes become a blog if it's in a useful state) to speed up things the next time, but sometimes even that doesn't entirely help, and it's back to basics to start building the knowledge again! Sometimes, I just don't have that persistence, though, especially if a manufacturer has made things unnecessarily difficult, for instance.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube