Arduino Nano Every: Honest Review and actual info!
Вставка
- Опубліковано 25 сер 2024
- The new Arduino Nano Every is certainly cheaper than older Arduino boards, but is it better? Here are my initial impressions, backed with some actual tests and technical information. Enjoy!
[English CCs available]
Note: Rumors say the it IS possible to change the clock speed of the Every, by editing the boards.txt file. Unfortunately, I was unable to find the relevant entries on my system; and even if this hack worked, you'd still have to remember to do it with every new IDE version you install, or it'll really mess things up.
Man I didn't know you were the Master of the Arduino! Most of this is way over my head, but it's something I've always dreamed about getting into. I don't know why I never thought to check out your channel before, but I'm glad I did!
Arduino was my introduction to the embedded world about 8 years ago. Really nice for beginners, but it hides too much of the cool hardcore stuff for my taste, so today I use it almost exclusively for quick-and-dirty projects. Of course, if you have any questions, don't hesitate to ask!
I like the extra interrupts on the Every.
The chip itself (ATmega4809) is awesome and has plenty of useful features, not just the interrupts. Totally worth the time to sit down, study and experiment with it.
Thanks for this very informative video ! Very well made video! It would be desirable to show some applications with this board ...
Honestly I found there was a modernised version of the 328P called the "328PB". Probably the biggest additions would be the 2nd UART, the capacitive sensor driver and the 2 extra 16 bit timers (and more pwm channels). The downside is that I didn't find this chip available in PDIP package. I did not check if it was pin for pin compatible, but I assume it is.
Oh and also... It uses the classic ISP programming method. No UPDI here
I did a project for a client once with the 328PB. It's nice but not a 100% "drop in replacement" (something with Vcc/GND pins, don't remember exactly now, and doesn't support full swing oscillator). But it was a step in a direction that eventually dried up; the 0-Series/1-Series (e.g. ATmega4809) and the AVRxxDx are the current direction of AVR, and they are significantly better.
@@idogendel you really know a lot more about atmel products than I do. Nowadays I'm mostly into stm32's products
Very well made video! Thanks for clearing all this up and helping me make my choice 🙌
All my Uno, Nano, Mini-Pro are clone... Originals are costyly for me...
So, I was going to buy this Every, because of Low price, advanced... And end up here...
Thank you very much...!!
Well I just received my first nano every and immediately uploaded my code to control 500 Leds @ 50fps. The standard nano could just manage 470 leds @ 50fps as not quite enough memory. So when I saw 21ms for a frame of all 500 leds I instantly knew this nano every was exactly same speed as the old nano and most definitely is not 20Mhz. I confirm your 16mhz findings through alternate means. Oh well, at least i supported the arduino cause now :)
Ya iba a comprar tres ARDUINO NANO EVERY, pero se me hizo algo sospechoso... Gracias a éste video, mejor lo dejamos para otra ocasión...
Currently I mostly use pro micro boards for most projects. The only thing that is lacking on that board is a decent 3.3v output. For most projects I get by with either a PSU that also has 3.3, a dedicated regulator or even a voltage divider which work fine for simply applications.
I like dual inline boards and I need USB HID functionality and I2C. Other options are nice, but nut mission critical. I never really seriously ran out of digital or analog pins. There is always a workaround.
A sub 10 euro board with HID and 3.3 volt out and a basic supplement of analog and digital pins is just what I need actually.
Nice ink pen. I gotta get myself one of those
Actually it was a very cheap, very uncomfortable one. Like with components, quality costs money...
Honestly, an Arduino Uno Every would have made much more sense. If you could use some 2-row headers in some places instead of the single rows, at least no pins would have been wasted. And by keeping the same footprint, you'd ensure compatibility with Arduino Uno shields. I don't know if my suggestion makes sense. Without forgetting to put the ICSP header.
Personally that would make a fantastic upgrade from the traditional Arduino Uno and make it much more competitive compared to the Nano, which usually outclasses the Uno by 2 extra analog pins.
It would certainly be better than the Nano Every, but still miss some of the 4809's advantages. The advances in MCUs simply can't map to the original Arduino structure anymore.
@@idogendel what example do you have on mind? I'm well aware that you can't make something 100% backwards compatible, but this could be the start for an eventual shift.
There's also a same situation with most of the SAMD-based Arduino boards
@@caffeinatedinsanity2324 I was thinking about the I2C pins issue I mentioned in the video. No matter what you do you'll have to compromise somewhere. And more generally, as MCUs advance, you either constrain more and more of their abilities to maintain the backwards compatibility, or the other way around. There are tons of different boards that work with the Arduino IDE, but even more tons of educational material and hardware add-ons based on the classical Uno/Mega/Nano. Personally I believe the Arduino should not change at all - let it be the same old, just re-purpose it into a gateway to proper Embedded, a means instead of an end.
@@idogendel Yeah the I2C is definitely a major issue since no pins, as you said can serve both as analog and i2c master communication lines. This being said, assuming I was a PCB designer, I would probably not hesitate to replace A4 and A5 by the true I2C lines, considering people typically don't use them as analog lines. Of course it will never be 100% backwards compatible.
The funny thing is that on Mouser, the ATmega4809 is cheaper than the ATmega328p and I'm starting to think about making my own Uno-based development board out of it and maybe later on build the board manager for it. Without forgetting to share everything (schemes, code, etc...) with the arduino community.
As I said, I cannot ensure 100% backward compatibility with a new technology but I do no want to let it go to waste and I think I can still make it compatible with the vast majority of existing material. I read the datasheet and it offers some really neat features like an RTC, a timer with direction control (good for making a hardware encoder counter) and a bunch of other stuff.
Maybe I'm just too enthusiastic about it... Honeslty I regard the Nano Every as a great idea that was just poorly executed and thought.
One application where this would shine would be with GRBL shields and such.
Thanks. It's interesting to see negative review on youtube today. Anyways, I bought it case my nano has AtMega168p chip (it's 8 years old, I resurrected it) and Uno is weird format, I prefer using it in breadboard than connecting 10 wires. What I really don't like are pin description in the bottom. Also I'm not sure if insisting on the same form factor is good option, probably sometimes: for uno there are shields and for Micro I'm using headers with holes. But nano was always sitting in the breadboard for prototyping.
Yes, this form factor with the legend at the bottom side is a poor combination. On the other hand, with various evaluation boards, I find myself relying more and more on pinouts I print myself instead of squinting against tiny silkscreen text 🙂 Then I can also add pin function descriptions, personal notes and similar useful info.
Hi and thanks for a well made brief intro. I bought this device because in a project I needed some intricate math on a ToF sensor combined with a small OLED display. However the OLED crunched most of the SRAM so it was not possible to host both math/ToF and display in my much beloved Nano.
Anyhow there is still one thing that I cant find the information about regarding the Every; Since I use I2C, is it 3,3V or 5V pull-ups as communication levels?
For the Nano it was possible to communicate at 3.3V level by disabling the internal 5V pull up and use external 3.3V pull-up instead, do I have to use the same solution on an Every?
That's a very good question. I couldn't find anything about this in the datasheet, so I uploaded a demo Arduino program that uses I2C and measured. The internal pullups are, as expected, set up automatically and go to 5V. However, if - after initializing the I2C - you disable the internal pullups on the SDA/SCL pins (e.g. PORTA_PIN2CTRL &= ~8; PORTA_PIN3CTRL &= ~8;) the lines go back to LOW. I can't promise external pullups will work as you expect - no guarantee or warranty - but so far it seems possible. Test very carefully and let me know what happens :-)
@@idogendel Thanks, I will. Will get the Every's in a couple of days I hope and especially the ToF sensor uses LVTTL i.e. 3.3V. The OLEDs are not that fuzzy ;-)
On the Nano it works fine with external pull-ups via 10k resistors, so far used on a bread board.
Ok, got the Every's but cant get them to work with my code :(. This will take some time. As of now I have divided the display functionality (SSD1306) and the Tof functionality (VL53L1x) into separate sketches, none of them works on the Every. Using ATMega328P emulation does not help. This is now a different forum question
I need suggestion for my application - I need 1 I2C, 1 SPI, 16 I/0 and one Uart along with a 48KB Flash for the code. Also what bout the Interupts Hardware and PCINT, how many are possible and can we have Independent PCINT now in Arduio if so how.
Hmmm.... how do you know you'll need 48K Flash for the code if you haven't chosen your MCU yet?
@@idogendel so my old code with half the features took 25kB so now with Bluetooth communication and IR control will take more code so atmega328 might not suffice.
As well as I do not a pin count of mega2560. Also there is no information if we could burn Arduino in a lower pin count variant of atmega 2560
@@adityamody8942 If you limit yourself to the Arduino IDE, then there are not many options. This MCU could work, but remember that its Pin Change interrupts are port-based, not individual pins. This means more latency which also depends on the specific pin used. But it's still in the microsecond range so it all depends on your use case.
@@idogendel true, my needs are 2 encoders and i2c display and couple of relays. So that was the reason for me to ask for interrupts and since it’s not pin based and port based. Not sure to implement two encoders. Maybe poll them since data only changes if encoders are updated else there is no data sent on i2c or spi
@@adityamody8942 You'll have to take some measurements and do some tests to see what works for your specific hardware. This is not something that can be determined over UA-cam comments 🙂
This new board Nano Every as the 33 IOT should meet with success. If during a development of which we do not know exactly the needs in flash memory and RAM at the beginning, we can start with a simple Nano v3 then if necessary pass to a Nano Every or 33 IOT.
As I said, the old and the new Nanos are not 1:1 compatible, so the switch is not 100% obvious - but yes, in some cases the Every can be a good upgrade. The 33 IoT is on a whole different level in terms of capability - and I see it's not 5V tolerant, so be careful :-)
Yes you are right but with little adaptation, with the sensors we juggle between 3v3 and 5V. The great interest of the Nano board is that it is very compact. So far, when a single Nano was not enough for my project (lack of RAM in general especially when using an SD card), I installed 2 or more Nano board mounted in I2C master/slave which is very economical given the low price of this board.
I think you CAN use some of the program flash as user application data space, so you can carve out some more eeprom like memory if you need it.
I'm waiting for Arduino to make a nano using the new AVR128DA series chip. That has 16kb of sram, 512 bytes EEprom, and 128KB of program ram. Imagine, 128k in a 28 pin dip!
Storing changeable data in FLASH is always an option, there are even MCUs with no EEPROM at all where that's the only way; but the FLASH has less write cycles, can only erase in pages, and needs a bit more complex programming. I recently started playing with the DA family, it has some very cool features indeed but, as in the Nano Every, the Arduino framework will probably just limit them...
@@idogendel I've just ordered some samples of the AVR4809 and AVR128AD in DIP and QTFP packages, as well as the avr128DA explore-Nano from MC. I've installed their MPLAB X software and MC8 tools (I'm running Kubuntu here), and I already own a PicKit4. I plan to use AtmelStart to create a project framework for these chips and see just what they can do. Seems like for the price, these chips will give the SAMD21 series a run for its money, maybe slightly less performance but alot easier to program. If Microchip continues to expand the mega 0/1 and the DA/DB line, the XMegas are DEAD and BURIED! (They just need to add an integrated USB into the DA and mega 0/1 parts).
@@scharkalvin Frankly, I think the Xmegas never got the chance they deserved. Kind of fell through the cracks with the Atmel purchase by Microchip and everything. Personally I love to play around with low-level programming and not use frameworks, but that's just me - I'd love to hear your conclusions when you have some :-)
@@idogendel You can let AtmelStart or MC CodeConfigurator provide empty outlines so you are able to get all the required init stuff right, but you still have to know the low level stuff to flesh it all out.
Thank you, very informative !!!
Appears that the Every has an uncommitted UART, in addition to the one connected to the programmer. Could be worth getting just for that.
Yes, if you really need it but don't want to buy an Arduino Micro :-)
I've just bought a Nano Every, frankly I did it just because it was cheaper, and the project I'm working on is straightforward and doesn't need to be backward compatible. But I see in the comments that although you know your way around Arduino that you prefer not to use it as it is for beginners. So my question is, what would you recommend to intermediate microcontroller developement, and I mean as a step further from Arduino? Is Microchip with its Curiosity Nano and their IDE good? I see that the developement boards are about the same price as Nano Every. I am also using Visual Studio with the vMicro addon as Arduino's IDE is just terrible, no vim.
I think a good first step is to take an Arduino board, but program it at a lower level (using the registers and your own code instead of Arduino functions and libraries). After all, the microcontroller itself is perfectly good. This can be done even using the Arduino IDE . When you feel more comfortable with the "raw" hardware, you can switch pretty fast to other MCUs and other IDEs.
@@idogendel Thank you, I appreciate the reply!
How many noticed every Arduino product is more costly than it takes for production which increases demand of clones ...even a starter kit is 79$ which is very high and can buy double the items with that 💰 money..
If you sell a product at the price of production, you make no money. Of course genuine Arduinos are expensive (except the Nano Every, by the way) but they are of good quality, which is more than I can say for a lot of clones I saw, and you are paying to those who actually developed it, not copycats...
@@idogendel hey I buyed a genuine one and my friend buyed a clone both lasts same and works properly so there is not much difference even clones make profit for production of UNO board it just cost 100 (Indian rupees ) in bulk and sell for 500
There is only problem they we can't pay to who designed it ...and worked on it ... Finally This may be affordable to people in Europe and US whereas people in India Or poor countries can't afford it 22 $ is charged for UNO genuine which is 2000 Rupees while people get clones for 500 what I want is that Arduino can sell in these nation's at a lower cost which would increase the people who buy genuine arduino's instead of clones ....😊
@@AnilArya51 Unfortunately you and your friend are not a statistically valid sample :) I have used lots of clones (probably more than a hundred over the last few years, from different sources) and too many of them had issues - from missing bootloaders to poor soldering causing short circuits to bad crystals and buttons falling off... of course some of them work fine but it's still a gamble. For me personally it's not a problem because I have the knowledge and tools to fix them, but for the "natural" target audience which is complete beginners, this is a serious problem. You are right that in poor countries the price of an original is a big barrier - just remember that the originals are manufactured in Europe also where the cost of living is higher. I buy originals for client projects and wide-audience demos, and clones for personal stuff. if only the clone manufacturers invested another dollar per unit and did better QA!
@@idogendel yep you should try clones which we get in India ...🤯 of course we both are not statistically vaild samples as may be because I hate that part of Economics although Arduino company should have a purpose not just profit in mind ...I anyway love your channel ... And I would like to tell you that I could make my own Arduino UNO at home ...seeing a video on UA-cam ...and as pcb minimum order is 10 I could make 10 such and sold it to all friends at school and made some profit
@@AnilArya51 Actually, I don't think I ever saw a clone from India. Only from China and one from Thailand as far as I can remember. Should be interesting :)
Hi, nice video. May i ask a small question? I am really looking forward to hearing from you. I used Nano Every and UNO with max30102.When i use UNO, everything goes smoothly. But when i change the max30102 to Nano Every, i gain nothing. After that, i use two 4.7k to pull up SDA & SCL pins, but still doesn't work. Do you have some suggeations for me? Thank you soooo much
Well, it's really hard to debug stuff through UA-cam comments. What does "gain nothing" mean? No output at all? Incorrect output? Error messages? In general, there seem to be three possible sources of failure: (1) Some mistake or problem in the hardware connections (e.g., loose wire or a pin mix-up), (2) Assuming you're using a code library, it might be somehow incompatible with the Every's microcontroller, (3) Something unrelated to the sensor, such as forgetting that the Every has different Serial objects for the USB and for the hardware pins. More information is required...
The fritzing part doesn’t have the castellated pads in PCB view. Only through holes. So annoying
Hello
I got arduino uno clone and its not working can you help me
Or should i buy arduino nano
"not working" is such a general statement, it could mean anything. How could I possibly help? Try searching online for the specific kind of issue you have, I bet a thousand people already had it and published solutions online.
Download the ch340 driver to your computer.
I'm having a difficult time finding libraries that work with this board. It's quickly becoming useless.
Can you give a few examples? I don't have a solution, just out of interest...
can you provide the schamatic for the neo-pixel power apater?
Check out here: learn.adafruit.com/adafruit-neopixel-uberguide/basic-connections
I keep getting a error “An error has occurred while uploading the sketch” and ive done everything and nothing has fixed it :(
Well obviously you didn't do *everything* ;-) Assuming the USB cable is ok, and the COM port, board type etc. were correctly identified and chosen, and nothing touches the board which may screw up its microcontroller's operation, and no program on the PC hogs the COM PORTs (e.g. Ultilmaker Cura), well, perhaps you can try to click the Reset button right as the programming starts. It's not standard procedure but I've seen it happen.
@@idogendel me and my girlfriend figured out the issue, it was strange, i had some stuff attached to the ardunio, and we took them off and it started working and also used a beta version of ardunio IDE
Errors were gone after me and her did that
@@joshwayop5413 Well, there you have it. I think the hardware is more likely the source than the IDE. In these cases, it's usually something that drains too much power from the board, creates a short circuit, or introduces out-of-spec voltages. Whatever it is, be thankful that it didn't fry the Arduino altogether, and think very carefully before you connect it back :-)
@@idogendel yeah im very glad it didnt kill the board :)
I now know I want a Nano, not a Nano Every.
just use Arduino IDE2 then you can just set the clockfreqentie to 20 or 16MHz Whatever You want.
This video is a couple of years older than v2.0... but where in the IDE can you set that? I wasn't aware of such an option.