I really likes your "low level made simple" approach without overly complicated setups with IDE's but just an editor and a terminal. You really inspire one to experiment with more bare metal pgm. Will try this. Cheers.
The AT tiny series are great for small tasks. The one without RAM is extra fun to program, as the CPU registers are pretty much the only memory you have.
Your videos and bare metal programing skills are both off the charts. This is exactly what I was looking for. I have an Arduino Uno and I have been learning to program with it but I wanted to know if it was possible to program chips individually instead of just keeping to the board. What you just showed us was incredible and I have been reading and trying to grasp hardware for the last 2 years. This gives me a greater understanding than I ever had on programs, chips, systems and this was a 6 minute video.
I like that you speak in a quick and easy to understand manner. I should be able to follow your tuts. with ease and it helps I have basic understanding already of all of this. Thank you.
Nice! I really like how I've never found how I can specify a different CPU speed in Arduino IDE (it seems you need to change configuration files and what not) and here it's just a simple F_CPU definition passed to the compiler. I may end up forgetting about ArduinoIDE and switch to this way
For the purpose of this video I didnt want to dive too deep on bitmasking and thought the macro looked a bit cleaner. Also I think you mean ^= for the toggle ;) Thanks for watching and commenting bro!
@@LowLevelLearning sorry, too used to AtMega328. It has a few PIN registers, AtTiny just has PINB (as you know!) -- I should have typed PINB rather than PINx. My bad. Cheers, Norm.
@@LowLevelLearning Nope. I wrote what I meant (copy-n-pasted from an actual program). When you write a bit to "PINB", it's not the same as writing to the PORTB. In the datasheet, you will see that writing bits to PINB SFR tells it to "toggle" the bit(s). :)
I've been REALLY enjoying this channel. If you're talking about stuff I don't know you make it sound easy... If you're talking about stuff I do know, it's still interesting enough for me to listen along and chuck in a comment or two. ......... Great subject matter, really well presented! For a lot of my projects, I use the ATTiny24... it's got a bit more GPIO than the 45/85 (usually "just enough") but it's still not as "huge" ;) as an ATMega328. ATTiny2313 is a nice one too It's got a bit more GPIO than the 24 (but no ADC).
I love this little chip. Well actually it’s bigger brother ATTiny85 I personally program them in assembler because it’s functionality is so limited :) but useful chip.
@@LowLevelLearning yeah I started a month ago, with beating the world record on 100M Dash :) and since I have so many smallish projects and ideas and sometime, I’m between projects taking a little sabbatical, it gives me some time to make those videos. My HornyBox mark 1 (uses the ATTiny85) the video about the mark 2 is all C++ on a Pi zero. I don’t know how many videos I will make, when I’m back in the daily grind though :) My bigger project is actually this: instagram.com/p/CMunoMunpU3/? a programming game. The NodeJS VS C++ performance test is actually for this programming game.
@@LowLevelLearning Straight C is hard to beat. Have the compiler output ASM for you, and then see if you can optimize it? Unless you really really like assembly.. I've tried in the past, but always found C's code already pretty well optimized. But, on the other hand, I'm not an assembly expert... so I'm sure others can do better than I...
Thanks for this video, If I understand it correctly, this is what I'm looking for. I'm looking to make my own lighting kits for model making, setting up lights to go on and off to make an effect. So once I program a chip accordingly, I can make a small board, solder items in place and place it in a model. Is that correct? I know I will have to be doing the math to get the right power source for the lights to to be lit.
Great tutorial but when i try to program attiny45 i got avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x000000 (retrying) avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATtiny45 is 1E 92 06 avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "blink.hex" avrdude: input file blink.hex auto detected as Intel Hex avrdude: writing flash (1238 bytes):
At 3:37 you're all like "just blindly trust me" and then at 3:41 you're exiting "int main()" with no return value! You charlatan 😂😂😂 your ruse is up! 😉😂 Seriously though. Nice demo!
There was no external crystal connected, however the clock speed was set to 1MHz. Does that mean the Atiny has an internal clock set to that frequency?
Huh? Oh, you mean the bash terminal and vim or neovim, it's what the cool Linux and Mac kids use: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-U-omALWIBos.html