Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

µCPU development environment/hardware requirements.

Status
Not open for further replies.

Buk

Active Member
This is a very generic enquiry, asked without having performed any research, in the hope of short-circuiting the required research.

If I buy a cheap µcpu -- raspberry pi pico, arduino something, ATmegaxxx -- what additional hardware/software will I need to program it?

Background: I'd heard of the RaspberryPI Nano and went looking. The board itself costs £3.60. but then I saw a "headered pico" for twice that. And then a "beginner's kit"for £40. And the options and variations go on and on.

So, what is the minimum hardware required to program a µCPU for a specific purpose -- PWM control of a brushed DC motor -- so that it can be built in to a device and then left alone?
 
I would say go Arduino, Nano or Uno board.





More advanced parts, with lots of analog on them as well as digital -




Regards, Dana.
 
I'd second going with Arduino, a Nano will cost less than US$5 (I got some with USB-C) and the software is completely free. It's also extremely well supported - any problems will have shown up before and be well documented.

Mike.
 
I'd say it depends what you end target is.

[tldr pre-emption:
If you just want a module, no more than about ten I/O connections plus power, go with the Xiao (see below). You need the Arduino IDE and a USB cable to use it.
eg.
https://www.ebay.co.uk/itm/353410113752 ]


In general, if you want to build something with reasonably powerful custom hardware and based around a bare IC, use eg. a DSPIC33 series IC - up to 512K flash and 48K RAM in the versions we use, and 60MHz instruction cycle clock.

Or for something physically tiny, a 8 pin PIC, eg. 16F18313, 32MHz, 3.5K Flash


Some Arduinos / arduino compatible devices are very good performance-wise, but remember it's a brand name not a specific thing. Many are just a low end MCU on a PCB - but some are such as a 48MHz 32 bit ARM CPU..


Personally, I don't generally like arduinos for the exact reason so may people do like them - they are PCB modules, often large, which are great for experimentation but horrible for incorporating in to neat designs. I much prefer a bare IC for that.

Plus I am not yet sure about or confident with program or device security if using them in products, as there are so many different MCUs in use; PICs are totally proof against software extraction if the security bits are properly set. [At least, short of talking the silicon apart & using an SEM, etc..]


If you want an Arduino type MCU to play with, have a look at a Seeeduino Xiao - about £8, postage stamp size, direct USB programming and readily available on ebay etc., just use the Arduino IDE and add the Seeed library link from the device wiki page. That's one of the fast ARM based devices with plenty of RAM and flash memory.


Or for PICs, get a PIKCIT 4 and MPLab X. The MCU needs a 6 (or 5) pin header or RJ12 socket adding to your board for connecting the PICKIT cable, with a resistor and decoupling cap generally being the minimum other components for the MCU to function.


There is a also the Raspberry Pi Pico; that's the same Arm M0 core as the Xiao, I believe, with a lot more I/O connections - but needs a different and weird IDE from the bit of info I've seen so far - building a gadget someone else designed using one.
It has nothing in common with other Raspberry Pi devices, other than the name - other Pi's are self-contained tiny PCs, in effect, with convenient I/O connections and able to run Linux.
 
I would say go Arduino, Nano or Uno board.

Okay. Here's an example of my confusion.

I follow that link to the arduino platform site; and then the "parts list" link to the arduino uno at Aliepress; then click on the first link there and I see this:
H9de6cef2c4a248edb6c2a2322fff8a3bT.jpg

There are 3 separate boards there.
  • Do I get all 3 for "£1.42 - 5.49"?
  • Do I need all 3?
  • Or do I need to pick one of them?
 
All those are variations of the same board.... The UNO is quite versatile .. I find the "cheaper" imitations do work, but have connectivity problems....

Don't know what its is but they feel cheap.... I have original and knock off's and I use the original mostly....

One Arduino board and one USB lead( normally comes with ) is all you need
 
And there are piggyback boards available to plug into top of UNO to handle the
motor currents -



Regards, Dana.
 
Okay. Here's an example of my confusion.


There are 3 separate boards there.
  • Do I get all 3 for "£1.42 - 5.49"?
  • Do I need all 3?
  • Or do I need to pick one of them?

Essentially just the same boards, the first ones used through hole processors (even in a socket) - so the top left picture, next they switched to a SM processor, the bottom left picture. The third version uses SM processor and a USB-C connector. There are also various minor versions with-in each type, but basically they are the same - and either use the same IDE settings, or simply select the exact one in the list if it's listed.

The same applies to numerous compatible boards, but ones with other processors need you to install the relevant compiler - this is well documented, as is everything about the Arduino. Many of the compatible boards are MUCH higher specifications, but essentially run the same programmes with very minor changes.

So just pick one, whichever you like the look of.
 
And there are piggyback boards available to plug into top of UNO to handle the
motor currents -
Thanks, though I won't be able to use one of those. They are 2A boards and the motor I'm looking to drive is closer to 30A.
 
If you get a UNO or Nano you can use it to program ATTINY family (gets you down to 8 pin dip) -


Here is example using to build complex timing sequences (using gui block programming) -




Regards, Dana.
 
This is the Arduino Nano I bought with USB-C connector.
Nano.jpg

If you prefer to just use a chip then your project can be developed on the Nano and when you design a board just incorporate the (everywhere) Nano schematic.
If commercial, I too would have concerns about security and would probably go the pic route.

Mike.
Edit, the Uno and Nano boards are practically identical except for footprint size.
 
This is a Seeed Xiao for comparison; they also have GND & Vin pads on the underside so the USB port is not essential, once programmed.

There is a 32 bit ARM CPU with plenty of memory in that:

Seeed_Xiao_sm.jpg
 
here is a 32 bit ARM CPU with plenty of memory in that:
That's more like it!

I did the whole 8-bit, squeeze a quart into a pint pot, write your own math routines thing back in the late 80's. Whilst there was a certain satisfaction in saving 4 bytes here and 3 bytes there so you could squeeze one more bit of functionality in; its not something that I have any interest in revisiting.

This or the RPI pico looks to be more my kind of thing.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top