Author Topic: I feel.... Dirty...  (Read 4532 times)

0 Members and 1 Guest are viewing this topic.

Offline MarkSTopic starter

  • Supporter
  • ****
  • Posts: 855
  • Country: us
I feel.... Dirty...
« on: April 28, 2023, 06:05:37 am »
I finally broke down and bought myself an Arduino Mega. I hate the platform, and have always viewed it as child-level, but I need more GPIO than the more powerful microcontrollers I own have and I find myself interfacing to 5v parts more often than not, and more than a handful of level shifters in circuit SUCK!

I feel cheap and dirty. I'll need to hide it from my ESP32-based controllers.  :-DD
« Last Edit: April 28, 2023, 08:26:39 am by MarkS »
 
The following users thanked this post: Warhawk

Offline daqq

  • Super Contributor
  • ***
  • Posts: 2321
  • Country: sk
    • My site
Re: I feel.... Dirty...
« Reply #1 on: April 28, 2023, 12:22:12 pm »
If you are using an ESP32 and feel clean you should see someone about that ;)
Believe it or not, pointy haired people do exist!
+++Divide By Cucumber Error. Please Reinstall Universe And Reboot +++
 
The following users thanked this post: hans, tom66, Sal Ammoniac, MarkS, Smokey, Dave, wraper, Warhawk, Wolfram, Cyberdragon, Siwastaja, TopQuark, rteodor, 5U4GB

Offline Black Phoenix

  • Super Contributor
  • ***
  • Posts: 1137
  • Country: hk
Re: I feel.... Dirty...
« Reply #2 on: April 28, 2023, 12:31:39 pm »
Excuse me but can someone ELI5?
 

Offline mrburnzie

  • Regular Contributor
  • *
  • Posts: 139
  • Country: cs
Re: I feel.... Dirty...
« Reply #3 on: April 28, 2023, 01:12:42 pm »
Real G's will buy an Arduino and run raw Atmel compiled code on it.
There is a reason for the ISP connector on it ;)
"Talk is cheap, show me the code"

Anyone need of freelance software/hardware developer, hit me up!
 
The following users thanked this post: Psi

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: I feel.... Dirty...
« Reply #4 on: April 28, 2023, 01:37:53 pm »
I finally broke down and bought myself an Arduino Mega. I hate the platform, and have always viewed it as child-level
It’s C++ with a couple of standard libraries that you can use, but don’t have to.

I but I need more GPIO than the more powerful microcontrollers I own have and I find myself interfacing to 5v parts more often than not, and more than a handful of level shifters in circuit SUCK!
Can’t you just run the other parts at 3.3V?

I feel cheap and dirty. I'll need to hide it from my ESP32-based controllers.  :-DD
I do wish Espressif made some MCUs with a lot more GPIOs.

Hah, look at this! 😂 https://www.cnx-software.com/2023/04/28/meet-the-1000-esp32-board-with-512-gpios-12v-24v/
 

Offline globoy

  • Frequent Contributor
  • **
  • Posts: 260
  • Country: us
Re: I feel.... Dirty...
« Reply #5 on: April 28, 2023, 04:03:49 pm »
No need to feel dirty :)

I'm an embedded developer and although I've never designed/shipped a product using the Arduino IDE I've found it incredibly useful for a ton of quick&dirty applications such as personal projects, lab devices, proof-of-concept prototypes, and manufacturing test fixture/programming controllers.  Personally I think a lot of the anti-Arduino sentiment is simply yet another religious war or arm-chair quarterbacking.  Lots of opinion and ignorance.  I've seen Arduino libraries that are better written then vendor supplied "pro" libraries.  And always nice one gets to see all the source - and modify it - if one wishes.

Arduino may have started as a super simple way for non-technical people to access micro-controllers but it is evolving.  Today there are capable IDEs and real debugging in the environment if you need/want it.  And an amazing ecosystem of boards.
 
The following users thanked this post: MarkS, artag, tooki, Shay

Offline psychoacoustic

  • Newbie
  • Posts: 4
  • Country: de
Re: I feel.... Dirty...
« Reply #6 on: April 28, 2023, 07:47:47 pm »
...or you could just use PlatformIO, use the Arduino framework but pretend you're not...
 
The following users thanked this post: NiHaoMike

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15800
  • Country: fr
Re: I feel.... Dirty...
« Reply #7 on: April 28, 2023, 07:58:11 pm »
If you are using an ESP32 and feel clean you should see someone about that ;)

 ;D
 

Offline MarkSTopic starter

  • Supporter
  • ****
  • Posts: 855
  • Country: us
Re: I feel.... Dirty...
« Reply #8 on: April 29, 2023, 12:26:19 am »
If you are using an ESP32 and feel clean you should see someone about that ;)

 :-DD Fair enough! They are more powerful than the average Atmel chip found on an Arduino, but they do leave a lot to be desired. Now if ST would just START PRODUCING CHIPS!!! |O

Can’t you just run the other parts at 3.3V?

Unfortunately, in my current situation, no. I'm struggling with with getting the SST 39SF040 flash chip to work. I'm fairly certain the issue I'm having is one of timing and it only runs at 5v. Between the level shifters, IO expanders and slow as crap I2C bus, I'm getting nothing but problems. I'm going to remove the crap and connect directly to the chip.

Hah, look at this! 😂 https://www.cnx-software.com/2023/04/28/meet-the-1000-esp32-board-with-512-gpios-12v-24v/

No. That's just insane.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22436
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: I feel.... Dirty...
« Reply #9 on: April 29, 2023, 04:54:33 am »
B...but I use AVR too. 🥺

Nothing wrong with that, long as you're aware of what the platform and toolchain do.  Arduino is just thinly wrapped g++ AFAIK, with extensive (but also frequently problematic) libraries.  Use 'em or don't, it's up to you.  If nothing else, can just treat it as any other dev board and run mfg tools (GCC based, with the build environment set up for you and maybe some peripheral configurator stuff) or fully open toolchain (I use Code::Blocks myself).

If you're just doing busywork and housekeeping, much of what you do on ARM can be ported simply to AVR; I suppose the main shock is not having a HAL, as the peripherals are simple enough to use directly, for the most part.  It's a refreshingly capable platform, thanks to the modest clock speed and complete C support.  And if you need to do ASM on it, well, probably better to reach for the more capable part, but, if you have to, it's certainly a simple enough ISA to get into!

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: Picuino

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: I feel.... Dirty...
« Reply #10 on: April 29, 2023, 05:35:14 am »
You don't have to use the Arduino IDE, the Arduino hardware is little more than a breakout board, you can program them bare metal with gcc if you want.

I've always used the Auduino platform to program ESP8266 and ESP32 parts, it works great, it's just so easy to throw something together.
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3573
  • Country: it
Re: I feel.... Dirty...
« Reply #11 on: April 29, 2023, 05:36:17 am »
What's the stuff against ESP32? can't you just use their IDE and write C/C++ and not that platformIO monstruosity?
Not that i would see a reason to use an AVR while i have my trusty and rusty PIC18 at my side, but if you need 5V IO there are also options from ATMEL (ATSAM C20/21) and some kinetis from NXP (don't remember the family number, but look for "white goods" in the description)
 

Online Ed.Kloonk

  • Super Contributor
  • ***
  • Posts: 4000
  • Country: au
  • Cat video aficionado
Re: I feel.... Dirty...
« Reply #12 on: April 29, 2023, 06:24:00 am »
Incoming wall of text. Sorry.

A few years ago when I could foresee myself having some time on my hands  ;) , I did weigh up Ardruino vs. going somewhat deeper into rolling custom boards with more exotic, specific micros.

I had a bucket list(!) of home projects and after considering each one, realized that the Ardrino family satisfied the needs mostly, the big lure was the fact that if I run a standard board across all projects, I could cannibalize, at a pinch, if things failed.

And the mature programming interface. I knew that what ever Linux I happened to be on, I could plug in the board and have it connect. As a novice lacking only in experience, quick research indicated that the big micro suppliers would fall short for rapid application development, due to the complexity and inconsistency.

Coming out the other side, the only thing I'm dirty about is that we didn't have this fancy stuff when I was a little bloke. However, where I feel the need to speak up in these discussions is I still haven't found a reason, except for hardware limitation, why any of the Pro eco-systems are worth bothering with.

Any of the big chip makers could have owned the Arduino market. Yet, silly marketing wank and competitiveness has prevented them still from lowering themselves to create a simple, compelling turn-key solution to attract an audience who might like to get into mircos which might actually be greater than the existing number of rusted-on users, I'd wager.

What do you think?
iratus parum formica
 
The following users thanked this post: tooki

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: I feel.... Dirty...
« Reply #13 on: April 29, 2023, 01:43:22 pm »
If you are using an ESP32 and feel clean you should see someone about that ;)

 :-DD Fair enough! They are more powerful than the average Atmel chip found on an Arduino, but they do leave a lot to be desired.
Other than more GPIOs, what are they lacking? (For typical applications.)

Does anyone else make an MCU with built-in Wi-Fi and Bluetooth? If so, at what price? That's the ESP32's big selling point IMHO. The only other thing that comes to mind is the Raspberry Pi Pico W board (which uses a separate Wi-Fi chip).

Now if ST would just START PRODUCING CHIPS!!! |O
Yeah. That's another reason I've embraced the ESP32: they've maintained availability!

Can’t you just run the other parts at 3.3V?

Unfortunately, in my current situation, no. I'm struggling with with getting the SST 39SF040 flash chip to work. I'm fairly certain the issue I'm having is one of timing and it only runs at 5v. Between the level shifters, IO expanders and slow as crap I2C bus, I'm getting nothing but problems. I'm going to remove the crap and connect directly to the chip.
Gotcha, makes sense.

But would it not be better, for the long term, to choose a 3.3V capable memory chip instead? There are 3.3V-compatible versions of your chip, the SST39LF040 and SST39VF040.

If you're using I2C now as a workaround, could you use an SPI Flash chip or I2C EEPROM? Then you wouldn't need to worry about large amounts of GPIOs. ESP32's have several SPI buses, so you could likely dedicate one to Flash if need be. (Or get an ESP32 model with more Flash memory to begin with?)
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: I feel.... Dirty...
« Reply #14 on: April 29, 2023, 01:50:04 pm »
What's the stuff against ESP32?
Yeah, I don't understand why some people are against ESP32. It's not suitable for all applications, but overall it seems pretty good.

can't you just use their IDE and write C/C++...
Yup. Though it's a primarily command-line thing, so it's usually used from within a full-featured graphical IDE like Eclipse or VS Code.

When using ESP32 with Arduino, the entire ESP-IDF libraries are used in the background (ArduinoCore basically runs atop FreeRTOS), so you can also use ESP-IDF commands if you want.

...and not that platformIO monstruosity?
What's wrong with PlatformIO? It seems to work really well for a huge number of people.
 

Offline VK3DRB

  • Super Contributor
  • ***
  • Posts: 2272
  • Country: au
Re: I feel.... Dirty...
« Reply #15 on: April 29, 2023, 02:08:38 pm »
Just remember how Microchip (Atmel) abandoned you during Chipageddon - no parts and no communications.
ESP32's were still available from several vendors right thought. Despite any technical performance and IDE differences, what the point if you cannot get the parts?
 

Offline MarkSTopic starter

  • Supporter
  • ****
  • Posts: 855
  • Country: us
Re: I feel.... Dirty...
« Reply #16 on: April 29, 2023, 02:32:51 pm »

If you are using an ESP32 and feel clean you should see someone about that ;)

 :-DD Fair enough! They are more powerful than the average Atmel chip found on an Arduino, but they do leave a lot to be desired.
Other than more GPIOs, what are they lacking? (For typical applications.)


Yeah, I thought about my comment after posting. To be fair, my gripe is with CircuitPyton and not the chip. I need to get back into C/C++ programming and stop with these cutesy, "Let's make everything easier for the developer!!!!111oneone" languages/libraries. My laziness has made my life a living hell. Doing it right (C/C++) would have taken slightly longer to code, but I'd have a better grasp on why it either did or didn't work.

Gotcha, makes sense.

But would it not be better, for the long term, to choose a 3.3V capable memory chip instead? There are 3.3V-compatible versions of your chip, the SST39LF040 and SST39VF040.

If you're using I2C now as a workaround, could you use an SPI Flash chip or I2C EEPROM? Then you wouldn't need to worry about large amounts of GPIOs. ESP32's have several SPI buses, so you could likely dedicate one to Flash if need be. (Or get an ESP32 model with more Flash memory to begin with?)

I'll be using this chip as a ROM in a retro MC68000-based project. Right now all I'm doing is trying to verify the legitimacy of the chips I bought through secondary sources. I need 30 GPIO, so I'm using two MCP23017 IO expanders to interface with the chip. Between the I2c bus, level shifters and expanders, I cannot get the timing correct. I do have several MCP23S017s, and should have used them instead of the I2c version in the first place :palm: |O, but at this point I'm burned out with this "simple" project and am just going to cut out the middleman and directly connect to the chip.
« Last Edit: April 29, 2023, 02:42:38 pm by MarkS »
 

Offline daqq

  • Super Contributor
  • ***
  • Posts: 2321
  • Country: sk
    • My site
Re: I feel.... Dirty...
« Reply #17 on: April 29, 2023, 03:04:34 pm »
If you are using an ESP32 and feel clean you should see someone about that ;)

 :-DD Fair enough! They are more powerful than the average Atmel chip found on an Arduino, but they do leave a lot to be desired.
Other than more GPIOs, what are they lacking? (For typical applications.)
I know that there are areas where they are a great fit, consumer IoT in particular, but overall they leave a sour taste in my mouth. We actually use them in a bunch of stuff. The stuff I don't like:
- ADC parameters, linearity and overall ADC WTF
- requires a lot of support components, external memory in particular is annoying
- documentation is not exactly awesome
- some pinout choices that I don't like

This is not to say that I won't use one where it's appropriate, but unless something really requires BLE/wifi then no way.
Believe it or not, pointy haired people do exist!
+++Divide By Cucumber Error. Please Reinstall Universe And Reboot +++
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: I feel.... Dirty...
« Reply #18 on: April 29, 2023, 04:11:57 pm »
Yeah, I thought about my comment after posting. To be fair, my gripe is with CircuitPyton and not the chip. I need to get back into C/C++ programming and stop with these cutesy, "Let's make everything easier for the developer!!!!111oneone" languages/libraries. My laziness has made my life a living hell. Doing it right (C/C++) would have taken slightly longer to code, but I'd have a better grasp on why it either did or didn't work.
Ah! I've never tried CircuitPython, I've only ever done C/C++.

I'll be using this chip as a ROM in a retro MC68000-based project. Right now all I'm doing is trying to verify the legitimacy of the chips I bought through secondary sources. I need 30 GPIO, so I'm using two MCP23017 IO expanders to interface with the chip. Between the I2c bus, level shifters and expanders, I cannot get the timing correct. I do have several MCP23S017s, and should have used them instead of the I2c version in the first place :palm: |O, but at this point I'm burned out with this "simple" project and am just going to cut out the middleman and directly connect to the chip.
Oh I gotcha, so you're really just using the MCU as a programmer?
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: I feel.... Dirty...
« Reply #19 on: April 29, 2023, 04:33:21 pm »
I know that there are areas where they are a great fit, consumer IoT in particular, but overall they leave a sour taste in my mouth. We actually use them in a bunch of stuff. The stuff I don't like:
- ADC parameters, linearity and overall ADC WTF
- requires a lot of support components, external memory in particular is annoying
- documentation is not exactly awesome
- some pinout choices that I don't like
Yeah, the ADC is kinda lame!

But as for external support components -- well, isn't that precisely why they sell finished modules you can just solder in? That saves all the trouble of external components, antenna design, etc. that you have to do when using the bare SoCs.

Also, they do have some SoC models with integrated memory, like the ESP32-PICO-V3-02, and the ESP-S2F, -S3F, and -C3F series. Several of those, as well as the upcoming ESP32-S3-PICO-1 series, have both PSRAM and Flash integrated into the SoC.
 

Offline artag

  • Super Contributor
  • ***
  • Posts: 1284
  • Country: gb
Re: I feel.... Dirty...
« Reply #20 on: April 29, 2023, 06:14:45 pm »
What's wrong with PlatformIO? It seems to work really well for a huge number of people.

Only that it's monstrous. It tries to do everything and, as a result, it both does it badly and gives the user little choice.
It may have improved recently, but I had experience of it in the early days and was so put off I've never tried again.

Examples if wanted, but for now let's just leave it that some people, for their own reasons, don't think much of it and are likely to stay that way.

 
The following users thanked this post: JPortici

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3573
  • Country: it
Re: I feel.... Dirty...
« Reply #21 on: April 29, 2023, 09:32:45 pm »
If you are using an ESP32 and feel clean you should see someone about that ;)

 :-DD Fair enough! They are more powerful than the average Atmel chip found on an Arduino, but they do leave a lot to be desired.
Other than more GPIOs, what are they lacking? (For typical applications.)
I know that there are areas where they are a great fit, consumer IoT in particular, but overall they leave a sour taste in my mouth. We actually use them in a bunch of stuff. The stuff I don't like:
- ADC parameters, linearity and overall ADC WTF
- requires a lot of support components, external memory in particular is annoying
- documentation is not exactly awesome
- some pinout choices that I don't like

This is not to say that I won't use one where it's appropriate, but unless something really requires BLE/wifi then no way.
I have a design for 2024 that is going to be
- BLE
- Screen
- Battery, possibly Qi charging (without Qi logo of course)
- USB?
and it's an accessory so it's going to add at most 30€ to the product's price, what else should we use?
 

Online Psi

  • Super Contributor
  • ***
  • Posts: 10385
  • Country: nz
Re: I feel.... Dirty...
« Reply #22 on: April 29, 2023, 09:43:27 pm »
Feel dirty about programming using the arduino library and especially the IDE.
But using the arduino hardware for your own atmel code is fine.
You are saving the hardware from a lifetime of sad arduino abuse that it would have had otherwise.
So it's like a public service   :-DD

Poor little AVR never asked to be put into an arduino.
« Last Edit: April 29, 2023, 09:45:25 pm by Psi »
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline MarkSTopic starter

  • Supporter
  • ****
  • Posts: 855
  • Country: us
Re: I feel.... Dirty...
« Reply #23 on: April 29, 2023, 09:59:04 pm »
Oh I gotcha, so you're really just using the MCU as a programmer?

Ye... No? Maybe? I have two authentic PLCC chips bought from Digikey along with PLCC to DIP adaptors. I also have two suspect DIP packages bought off of Amazon of all places. The original intent was to make a chip tester. I'll use the PLCC chips in a future project, but the main project I'm working on now will use the DIP chips, assuming they are legitimate.

However, why the heck not use it as a programmer?
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 13157
  • Country: ch
Re: I feel.... Dirty...
« Reply #24 on: April 29, 2023, 10:31:20 pm »
What's wrong with PlatformIO? It seems to work really well for a huge number of people.

Only that it's monstrous. It tries to do everything and, as a result, it both does it badly and gives the user little choice.
It may have improved recently, but I had experience of it in the early days and was so put off I've never tried again.

Examples if wanted, but for now let's just leave it that some people, for their own reasons, don't think much of it and are likely to stay that way.
I guess that argument just makes NO sense to me whatsoever. Every IDE attempts to "do everything" because that's literally the point of an integrated development environment. First-party IDEs (MPLAB X, Cube MX, Keil, etc.) do all the same things, sometimes more...

Are you sure you're not actually annoyed at Visual Studio Code, which merely happens to be the most common host for PlatformIO? But you can use it in other IDEs, or use just the CLI version.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf