arisuchan    [ tech / cult / art ]   [ λ / Δ ]   [ psy ]   [ ru ]   [ random ]   [ meta ]   [ all ]    info / stickers     temporarily disabledtemporarily disabled

/Δ/ - diy/projects

make it. create it. do-it-yourself. hardware, software, and community projects.

formatting options

Password (For file deletion.)

Help me fix this shit.

Kalyx ######

File: 1506725998534.jpg (155.55 KB, 800x578, breadboard.jpg)


MIRAG - Microcontrollers, IoT, Robotics, and Automation General

This is a thread for all things related to the development of embedded projects. This includes, but isn't limited to:

>The Internet of Things

>Home Automation

We discuss what we're working on, project ideas, project guides, and programming.
Try to keep discussion limited to anything pertaining to microcontroller units/boards.

>What is a microcontroller?

>Where can I find project ideas?

>What MCU should I get?

Whichever you want. Arduino has a huge community and tons of documentation, but STM32 boards are much faster on average. Do your research.

>Where should I buy boards?

From the supplier will always be your best bet, but if a controller doesn't have a specific manufacturer or store (See - NodeMCU) AliExpress or eBay may have what you're looking for. Parts from China are often a fraction of the price except for more less known boards (Adafruit Feather - Espruino) I personally recommend AliExpress if you can wait a few weeks for shipping.

>How do I learn C/C++?


File: 1506726473352.jpg (185.77 KB, 600x600, 62779e34f1553179532b56e213….jpg)

Guess I'll start.

Have an Arduino Uno and Nano both laying around, nothing much to do as Atmega328p isn't very powerful and doesn't handle multitasking very well. Instead, I have a bunch of Digisparks coming in from China (pic rel) and although they aren't very fast, they do have the capability to emulate hardware keyboards. With keystroke injection, I could turn them into a BadUSB which automatically downloads/executes a payload on a target machine, a few seconds after plugging in.

Also working with some STM32 development boards, two nucleo boards (one F1, one F3) and a Discovery board (F3.) I'm personally really liking the Discovery board because it has built-in buttons and a built-in compass which I can talk to directly with the official HAL API. STM32 has much less documentation so it's much more difficult to work with but with some C knowledge it isn't too hard to figure out, I'm just finding myself referencing the 300 page API manual over and over again.

I'm planning on using the STM boards for two things: a blacklight setup for my room at home, I've always thought it would be cool as long as I didn't stare at the lights, but also an alarm system for my dorm. My university is nice but my roommate often comes back really late at night and I'm a relatively heavy sleeper, so if someone comes in with him or he leaves the door unlocked and comes later, I don't want my soykaf stolen, so I need something to wake me up when he comes back.


>The Internet of Things
What does that mean? Connecting vital appliances to Internet is dumbest thing ever. Intranet is fine, but keep it airgapped.
Building anything beyond glorified Mindstorms RC car requires deep academical knowledge or at least university resources and support.
>Home Automation
Again, I'm not connecting my toaster to the Internet, there is no practical need to do that. Stop listening to marketers that try to sell you their dev boards.
Any worthwhile security needs rent-a-cops on the other end watching your alarm 24/7, they usually install their own proprietary security systems.
Writing embedded software in C is bloat
>Please ensure that JavaScript is enabled in your browser to view this page.
>Arduino has a huge community and tons of documentation
And most libraries or example projects are proprietary
>AliExpress or eBay may have what you're looking for.
I was expecting a Taobao international store guide. Both Ebay and Aliexpress are way overpriced when it comes to small components in big quantities. I'm not paying $6 for a capacitor or USB port.
BadUSB is not what you think it is. Keyboard emulators existed long before BadUSB, but somehow Rubber Ducky creators memed everyone to believe so. BadUSB is when a legit flash drive starts acting as a keyboard or gets privilege escalation through driver exploits.


What do you use the payload from the BadUSB for?

I want to create a usb with open source hardware but dont have any experience. I found this amazing project that even includes added encryption but I have no idea how to build it and they didn't include a BOM (bill of materials)


C is lingua franca for embeds. What do you suggest instead? ADA? Espruino?


I'd say C or Rust. The other anon probably was going to shill ASM, as though wasting hours coding up something trivial is any more fun that firing it up inside 15 minutes.


Is Rust really good for embedded programming? I don't know if Rust has very good tools for avoiding malloc, which can be important for real time systems that need to be deterministic


With the advances in performance, even in embedded devices the performance difference is minimal between C and ASM. Now personally I would recommend keeping ASM in mind but it ie hardly a requirement now. Don't be a lazy cunt though. If you are going to use C make sure it is used well.

Arduino is fine because there is nothing stopping you from programming it with C. Not the biggest fan of AVR though.

Too tired to talk about your other points but I am pretty sure you are a sad sack brainlet. Ingenuity is something you seem to lack. Are you one of those people that sees someone do a project and ask why when there are projects out there just like it? Shameful. You are a bummer mate. Cheer up.


Memory management can be done to the same level of detail as with C, if need be.

As for how good a match it is for embedded… well, the most important question is whether the compiler actually has a target for the chip you want yet.


Yes, if you put unsafe{} blocks everywhere, you can do everything in Rust as you can in C. But if you're doing that, then you're sacrificing many of the niceities of Rust. I'd like to see Rust applied to real-time embedded programming, it could be interesting if you're able to actually leverage the language features.


Yeah, sadly I'm more on the small-time hobbyist side of things at the moment as far as embedded stuff goes, so I don't know enough about real-time programming to really make a worthwhile attempt.

I presume one [u]could[\u] do it with unsafe but it'd be nice if there was a proper way. For all I know there is and I'm just unaware.


Hi Alice, I'm interested in experimenting with embedded audio; I can't seem to find a 3.5mm audio jack that fits into a breadboard though. Any suggestions?


Time to pick up that soldering iron and make some leads to run to the breadboard.


just bought my USB cable for it, so hyped! It'll take a while to arrive though.

[Return] [Go to top] [ Catalog ] [Post a Reply]
Delete Post [ ]