Embedded Systems

Okay, I feel comfy with C now. How do I get into embedded systems now? What kinds of microcontrollers should I begin with? I'm not looking to do anything crazy right away, just looking to control a motor or read data from a sensor pr something. If any embedded systems bros could help out a newbie hobbyist It would be much appreciated.

Attached: images.jpg (300x168, 5K)

Other urls found in this thread:

st.com/content/st_com/en/search.html#q=cmsis-t=tools-page=1
twitter.com/NSFWRedditVideo

this

Attached: ESP8266-OLED-preflashed-development-board-Screen-0-96-inch-OLED-version-ESP8266-18650-0-96-inch.jpg (1000x1000, 121K)

friendly bump because this is a good post

Attached: thumbs up.gif (374x490, 3.91M)

STM ARM

Make a toaster run gentoo.

This. ST Nucleo board and some arduino shield to get more that just one uart, led and button.

Do you use mbed or the low layer libraries for development?

Arduino

You don't need anything that big, but esp8266 is definitely a good first board. Just get yourself an adafruit huzzah or some cheap Chinese esp32 boards off AliExpress. And an ftdi friend

Arduino, RaspPi, etc are development boards though. Arent development boards for kids and fags?

anyone who says arduino is a retard but not really wrong
although you should go with some stm32 or avr chip with a jtag debugger and read the fucking datasheet
a rudimentary real-time operative system is probably the best thing you can do as far as le portfolio building goes (tasking, task scheduling, semaphores, timing, priority inheritance, etc.)

Attached: 1543007505060.jpg (500x485, 62K)

>Raspi
>dev board
u wot nigger

The eclipse-based IDE because it works on Linux, and the CMSIS library (which is just bunch of definitions and structs mapped to proper point in memory). Sometimes reading through HAL to see how they do something, but barely ever compiling with it.

>yurifag
Opinion discarded

>anyone who says arduino is a retard but not really wrong
For a beginner, an Arduino Uno is the perfect choice.
First they will get used to working with the I/O pins, voltage levels, etc.
Then they can read the datasheet and do some more in-depth stuff.
Then they can advance to Arduino Minis with USB adapters.
And once they are beyond that, they can start fucking with bare microcontrollers on custom PCBs.

It's best to start off without boilerplate. In this case, the boilerplate is all of the shit that you'd have to get done first if you weren't using an Arduino Uno.
Understanding boilerplate comes once that shit is actually relevant for your projects and not just a mandatory aspect.

hetfag leave

Attached: 1518350074313.webm (900x506, 2.93M)

the problem with arduino is that it promotes the use of shitty libraries
of course it all depends on what level of embedded you want to delve into
low level/HAL/OS are the fun parts by my standard and that requires you to implement those things yourself (io, pwm, i2c, etc.)
of course if you would like to do stuff closer to application level, then an arduino is fine, but i'd still argue for some stm32 or avr32 chip that supports jtag debugging and dabble with freertos or some other OS to get yourself going

Attached: 1521602409807.jpg (8888x10000, 2.81M)

>the problem with arduino is that it promotes the use of shitty libraries
Oh man, fuck the nrfl24 library. I want to murder the autist who wrote and "documented" it with a dragon dildo.

Make me

Attached: ha ha Im using the internet.jpg (600x431, 49K)

Any specific board that is recommended?

Attached: lain_scanlines_hollow.jpg (1726x1080, 1.67M)

Interesting, thanks user. Have to use a STM-F401RE for a group project at uni and the prof recommended to stick to mbed since it's normie friendly but I'm curious in doing it "properly".

I don't know all the options. mbed looks like it has more user-friendly debugger. company I work in uses Atollic tools in production so I guess it's ok. ST recently bought Atollic so I guess it's not going away.
when it comes to libs - LL is poorly documented, HAL produces slower and bigger binaries (and in majority of cases useless indirection only to write something to register that would otherwise be 2-liner, making it harder to reason and debug) and isn't even more portable than looking at data sheet and writing to registers manually.

>microcontrollers
ok OP i hear you. There are two projects

Project 1: hobby computer. If you can get a slightly more powerful one you can do C instead of intel 8088, 8086 assembly. You need at least 16-bit I think to be comfy. Otherwise 6502 is your friend, but you wont be able to do much C.

Project 2: Homebrew console. You can get dev-kits for these online.

I have been wanting to get into 6502 development. Do you have any tips? I assume I'll need video and RAM chips of the era to interface with it or am I wrong?

damn....it's been a long time since I heard you kids talking about 8086 and 6502 processors.

>when it comes to libs - LL is poorly documented, HAL produces slower and bigger binaries
I don't know how anyone puts up with doing embedded dev for a living, one module at uni was bad enough. Everything out there seems to have fucked up toolchains and/or shit documentation

Same really, I quite enjoyed doing the babbies first PIC assembly module last year and thought that STM nucleo & C++ would be as well but it's just fucking painful

Attached: goat.png (618x640, 1M)

buy the 6502C which fixes all the bugs and is still in production even today for gods know why. You will need ram and rom and some sort of io controller and video processors too, and a motherboard or on-system chip layout

ST datasheets are pretty good and CMSIS is almost directly datasheet-to-C. I don't know what should be so painful.

>CMSIS is almost directly datasheet-to-C
literally the first time I've heard of CMSIS, prof never raised it as an option

>yeah user, just use mbed because it just werks!

will look in to it more though

Attached: pqafkb6d9ba01.jpg (645x729, 57K)

>CMSIS
it's auto-included in Atollic IDE when you make a new (embedded) project. although they ship older versions. new ones can be found here

st.com/content/st_com/en/search.html#q=cmsis-t=tools-page=1
(some throw-away emails work, not every)

Homophobes gtfo, yuri is the only form of true love

Thanks user.

Well it isn't that much more difficult to do barebones AVR-s. They cost 1/10th the price and you can use C + your own stack instead of the hideous Arduino "IDE" and language.
However I agree it's more beginner friendly. Fucking around with your own programmer and having to hook everything up each time is a *slight* pain.

Splendid taste user! That is how I got into programming.

>buy the 6502C which fixes all the bugs
Probably 65C02.

More info at forum.6502.org where a good fraction of the posters are in their late 60's.

you should probably get Arduino or ESP8266 and for quick and ditry project then go from there.

>where a good fraction of the posters are in their late 60'
Woz himself might post there.

write your own mini os:
>Bootloader
>Scheduler
>Interrupts/Polling
>io (keyboard driver, rfid tag reader)
>heap and stack memory management
>A-D Converter

did this on a custom lab board with an ATmega644 in Uni, shit was fun and you can put all the theoretical stuff to test like scheduling strategies, heap and stack memory management, etc.