HN Academy

The best online courses of Hacker News.

Hacker News Comments on
Embedded Systems - Shape The World: Microcontroller Input/Output

edX · The University of Texas at Austin · 3 HN points · 8 HN comments

HN Academy has aggregated all Hacker News stories and comments that mention edX's "Embedded Systems - Shape The World: Microcontroller Input/Output" from The University of Texas at Austin.
Course Description

Introduction to the world of embedded systems with a focus on microcontroller input/output in this hands-on, lab-based course.

HN Academy Rankings
Provider Info
This course is offered by The University of Texas at Austin on the edX platform.
HN Academy may receive a referral commission when you make purchases on sites after clicking through links on this page. Most courses are available for free with the option to purchase a completion certificate.

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this url.
In regards to finding a project to start practicing, coupled with buying a dev board, I can recommend this course https://www.edx.org/course/embedded-systems-shape-the-world-...

I did it some time ago, the board they use is pretty cheap and it could be a good starting point. Disclaimer: - I did this course (or similar, but same professors and same university) online some years ago, so I assume it has been updated. - I do not get any benefits, monetary or otherwise, for promoting this course or for new enrollments. I just recommend it based on my personal experience.

markus_zhang
Hi pracer this looks good. Just curious are oscilloscopes and logic analyzers some software or we need to purchase both? (wouldn't be a bad idea to put down the $$ TBH if one wants to take hardware as a serious hobby)

> Debug using oscilloscopes, logic analyzers, and software instrumentation

the__alchemist
Oscilloscopes are hardware that can be used to analyze digital and analog signals. They may be able to interface with a PC (USB) using software as well. logic analyzers are small, usually cheap pieces of hardware that can analyze digital signals only, and rely on software on a connected PC. IMO even the $10 analyzers are great for digital (troubleshooting I2C, SPI etc), and can analyze many channels at once. You only need a scope for analog.
markus_zhang
Thanks, yeah I know what they are but not sure whether we need to purchase real ones or the course has some simulations.

We have logic analyzers for just 10 bucks? Wow that's much more affordable than I thought. I thought both need like hundreds of bucks.

matt_the_bass
If I could only afford one, I would recommend the o-scope. Most firmware runs on bespoke hardware and the programmer can’t assume the hardware is abstracted away from the software. MANY bugs I’ve tracked down required electronics probing.
If you are looking for a full course this one isn't bad: Embedded Systems Shape the World[0] it does hew pretty close to platform specifics (Windows/Keil/TI Launchpad) which can be good for specifics and not good for holistic understanding.

I have had a lot of fun following Ben Eater's[1] projects, which aren't always embedded-specific (sometimes they're TTL, sometimes Arduino) but are excellent for understanding concepts deeply.

I tend to learn best with a specific project that can grow or morph as my interest or experience dictates. You might find something to build with an Arduino, using the toolchain/IDE/libraries, get it working and then start stripping out libraries for your own implementations, or getting a toolchain of your own to cross-compile and flash.

[0]: http://www.edx.org/course/embedded-systems-shape-the-world-m...

[1]: https://eater.net/

maxioatic
Thanks for the recommendations! That's how I like to learn as well, and kind of why I started learning C in the first place. Tinkering with electronics is super fun (I think).

I actually have built the clock module from Ben Eater with the intent of building the 6502 computer project at some point in the future. I really like his stuff.

wuschel
From a C-veteran perspective, what do you think about type safe (e.g. dependent types such in ATS, or F*/KreMLin, or other DSLs) languages that compile to C, or a subset of C?

How could one get the safety promises that are observed in Rust in C?

Thanks!

ajxs
I'm not the OP you're asking, I'll provide my own answer to the latter question though.

C is a language that doesn't come with many guarantees. I personally like to think of C as a 'higher-level assembler', targeting a virtual machine. I've been led to believe that this figurative description of the language was more common in the past than it is today. I find it a helpful description since it offers an explanation for many of C's design choices. Such as it's weak types and use of pointers. If I'm correct it's also an accurate description of the language's original aims in system development.

Also, Rust isn't the only systems programming language with a focus on safety. Ada has been around for some time now and is a much more mature language and arguably more suited for the job. It has a demonstrable track record of successful use in safety-critical software. Rust is definitely more 'C-like' than Ada, which might make it preferable to many.

wuschel
I see. Thank you very much for your explanation.

I always thought that after so many years, there must be a testing framework, development tools and methodology to give a C developer the safety that his problem requires. What do people use when they are programming critical systems e.g. defense,health,flight control, etc. Problems like Heartbleed et al are not something that can be ignored in the industry.

That is why I wondered about advanced tools I heard about e.g. ATS, Compcert, and so on. As I understand, the model that is used in Rust comes with limitations in regard to program design.

When I wanted to learn hardware programming for a similar small project, I took on online course [1]. It took a few months, but it gave a pretty solid framework to start from.

[1] https://www.edx.org/course/embedded-systems-shape-the-world-...

You can start with learning embedded system from Edx: https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embe...

Then, learn Hardware Software Interface from Coursera: https://www.coursera.org/course/hwswinterface

The Tiva C Launchpad is about ten bucks and there's a course starting on EdX next week that uses it.

It's not an MSP430 (it's an ARM Cortex), but still it's great that TI pumps out these low cost boards for newbie electrical engineers.

https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embe...

Jan 10, 2014 · 1 points, 0 comments · submitted by taoquay
If you want a more structured introduction to hardware hacking, UTAustin is offering a MOOC called "Embedded Systems - Shape The World" that starts on January 23, 2014 and puts a heavy emphasis on hands-on labs. The platform used in the course is based on the Cortex M4 ARM chip and the board is made by Texas Instruments.

Course website: http://users.ece.utexas.edu/~valvano/edX/index.html

edX website: https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embe...

Dec 17, 2013 · 2 points, 0 comments · submitted by janineyoong
HN Academy is an independent project and is not operated by Y Combinator, Coursera, edX, or any of the universities and other institutions providing courses.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.