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.
Name
Email
Subject
Comment

formatting options

File
Password (For file deletion.)

Help me fix this shit. https://legacy.arisuchan.jp/q/res/2703.html#2703

Kalyx ######


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

 No.600

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

>Robots
>Home Automation
>Security
>Microcontrollers/Microprocessors
>Arduino

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?

https://en.wikipedia.org/wiki/Microcontroller

>Where can I find project ideas?

https://hackaday.io/lists
https://www.hackster.io/arduino/projects
http://www.instructables.com/id/Arduino-Projects/

>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++?

http://lmgtfy.com/?q=learn+c

 No.601

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.

 No.602

>>600
>The Internet of Things
What does that mean? Connecting vital appliances to Internet is dumbest thing ever. Intranet is fine, but keep it airgapped.
>Robots
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.
>Security
Any worthwhile security needs rent-a-cops on the other end watching your alarm 24/7, they usually install their own proprietary security systems.
>Arduino
Writing embedded software in C is bloat
>https://en.wikipedia.org
Stop
>https://www.hackster.io/arduino/projects
>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.
>>601
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.

 No.603

>>601
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)

https://hackaday.io/project/9121-usb-crypto-jawn

 No.604

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

 No.606

>>604
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.

 No.607

>>606
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

 No.608

>>602
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.

 No.609

>>607
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.

 No.610

>>609
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.

 No.611

>>610
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.

 No.613

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?

 No.633

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

 No.738

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 [ ]