Author Topic: Best way to start moving away from Arduino?  (Read 11424 times)

0 Members and 1 Guest are viewing this topic.

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Best way to start moving away from Arduino?
« Reply #50 on: October 27, 2017, 11:14:30 pm »
Don't know about the Zero, but with a standard Pi it looks like this  :D
Now off the breadboard, just have to start looking for a salvaged LiPo.

It is logging temp and humidity to the serial console, but I have to finish off the Web Server S/W to make it look pretty.

Using the ESP32's RMT was much easier than expected  :)
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline apelly

  • Supporter
  • ****
  • Posts: 1061
  • Country: nz
  • Probe
Re: Best way to start moving away from Arduino?
« Reply #51 on: October 30, 2017, 06:30:55 pm »
Do you mean GitHub or actual Git?
Actual git. From there you can make Github sing like an angel.
 

Offline Random Model Maker

  • Regular Contributor
  • *
  • Posts: 62
  • Country: lu
  • This profile has been abandoned. I'm now "RedLion"
Re: Best way to start moving away from Arduino?
« Reply #52 on: October 31, 2017, 11:27:44 pm »
How about Atmel ASF?
It is basically a piece of software that comes with Atmel Studio, which takes over the register handling and bit manipulation that you have to to when programming microcontrollers.
Now it is still a tiny bit cheating, I'll give you that, but you will have to do more work than in the Arduino IDE, as you need to use "real" C/C++.
I found this to be an easy way to improve my basic programming knowledge without having to deal with the big datasheets, which I gradually introduced to myself once I was comfortable with the programming.
I'd think of something clever to say, but I got nothing, so I just won't.
 

Offline brainwash

  • Frequent Contributor
  • **
  • Posts: 463
  • Country: de
    • Hack Correlation
Re: Best way to start moving away from Arduino?
« Reply #53 on: November 03, 2017, 01:09:12 pm »
Here's my experience when I was in a similar predicament: I enrolled into a free online course: https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-10x . It used the TI Stellaris board which is ARM-based. As an IDE they recommended Keil. If you know a bit about uC you can get through the course in about 20 hours, you will still learn a lot of new things.

Another option is to watch the excellent ECE4760 courses by Bruce Land on YouTube. I would recommend getting started with the AVR 328 ones first and do all the homework/lab assignments, since you already have the board. Once you get comfortable with that, you can maybe follow the new series, in which he uses a PIC32MX.
 

Offline MAntunes

  • Regular Contributor
  • *
  • Posts: 99
  • Country: pt
Re: Best way to start moving away from Arduino?
« Reply #54 on: November 03, 2017, 05:35:52 pm »
Another option is to watch the excellent ECE4760 courses by Bruce Land on YouTube. I would recommend getting started with the AVR 328 ones first and do all the homework/lab assignments, since you already have the board. Once you get comfortable with that, you can maybe follow the new series, in which he uses a PIC32MX.

Could you provide me the link to these PIC32MX videos?
 

Offline brainwash

  • Frequent Contributor
  • **
  • Posts: 463
  • Country: de
    • Hack Correlation
Re: Best way to start moving away from Arduino?
« Reply #55 on: November 03, 2017, 07:08:05 pm »
It's one of the playlists over here: https://www.youtube.com/user/ece4760/playlists
He also does a course on bio-medical electronics and FPGA, all of them are really great, but the FPGA one was too complicated for me to follow.
 

Offline mperativ

  • Newbie
  • Posts: 4
  • Country: us
Re: Best way to start moving away from Arduino?
« Reply #56 on: November 09, 2017, 06:32:29 am »
I got into the embedded world a few years before Arduino and others like it.  I'm sure there were easier approaches, but the way I learned was by putting a PIC16 into a breadboard and going from there.  I have always since followed this approach:

1)  Determine what parts of your project will need microcontroller support, such as displays, audio codecs, memory, etc.

2)  Determine exactly how many GPIOs you will need, as well as specific microcontroller peripherals.

3)  Go to DigiKey or any distributor whose website has a parametric search option and start browsing for controllers that support those requirements.  If, as an example you needed to support all three devices mentioned in #1, you might want a chip containing an LCD controller, I2S, and memory interface that fits your memory type.

4)  You'll be left with (hopefully) a choice of a few chips from a few different vendors to choose from.

5)  It now comes down to package size and cost.  If it doesn't impact the space and cost too much, I like to choose a chip that will leave me with a handful of unused pins.  Your project, when all is said and done, will not work EXACTLY the way you expected when you first designed it, and you will thank yourself for the extra GPIOs down the road.

6)  Now that you have chosen a controller, it's time to create a schematic of your entire project.  This will ferret out problems like discovering that your controller has two needed peripherals multiplexed to the same pin(s), discovering that you don't have enough GPIOs, etc.  Make sure you thoroughly read the datasheet sections relevant to the uC peripherals you will be using, as well as the datasheets for any external devices.  If you have done that, your now finished schematic should be accurate enough to move on to prototyping.

7)  If you will be prototyping by hand, try and find a package you can work with.  DIPs are becoming more and more rare these days so learning to do SMT soldering could help a lot in this regard.  There are many ways to approach building a new project, which I will not go into here.

8)  If you've never used the controller you chose, start by getting an LED to blink.  If you reach this point then you can continue on to designing in the other modules into your project.  If you're breadboarding, don't connect everything together at once, integrate each item one by one.

9)  On the code side of things, it is just as important to constantly refer back to the datasheets in order to get your peripherals working properly.

NOTE)  If you're learning something new, try to avoid libraries that do all the hardware work for you.  After all, isn't that why you wanted to move away from Arduino in the first place?   ;)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf