#STM32
Explore tagged Tumblr posts
Text
LET’S GOOOOOOOOOO
@rust-official be proud of me :3 it took me a day and i did it all by meself :D
12 notes · View notes
ocki-crafts · 4 months ago
Text
I couldn't find my little ring stitch counter thing so I threw this together
Tumblr media
Only after did I realize it would have been easier to just write something for my computer, but this is definitely cooler looking
4 notes · View notes
trainsinanime · 8 months ago
Text
I didn’t think I’d need to say this, but apparently I do:
Don’t use the Raspberry Pi 2040 to build a DCC decoder.
It’s not really wrong, of course, and it gives you ridiculous amounts of computing power, but to get that you need miles and miles of extra components. Like a dozen of decoupling capacitors, an external oscillator, and of course an external flash memory. You can maybe do that sort of thing in H0, but for real model trains, it’s just not ideal. Pick something like an ATTiny or STM32C0 (I’ve done both for different projects): Cheap, just one or two decoupling capacitors, no external oscillator required and no external flash memory needed either.
The versions of the RP2350 with built in memory may be a better idea, once they fix the GPIO issues anyway, but still, there’s the oscillator and just way too many capacitors.
(Some of these concerns may be different if you want to add sound support, which requires more memory anyway. But I’d argue that sound in model railroads is a mistake anyway. I’ve never seen an N scale locomotive that sounds good, it’s all just an annoying expensive gimmick.)
Also while we’re at it, don’t use a cheap standard bridge rectifier. The steep slopes of the DCC signal mandate a really fast rectifier, typically Schottky diodes. This is particularly important when you have RailCom on your layout. You may need four individual diodes instead of one rectifier, but since you won’t need all the capacitors of the RP2040, you still win out in the end (it’s also typically smaller than the rather large SMD standard rectifiers).
This is a call-out post for https://github.com/gab-k/RP2040-Decoder . It’s a useful project, but it’s also far from ideal.
4 notes · View notes
electronicsbuzz · 2 months ago
Text
0 notes
wordacrosstime · 3 months ago
Text
Programming Embedded Systems (with C and GNU Development Tools)
[Programming Embedded Systems (with C and GNU Development Tools). By Michael Barr & Anthony J Massa. 2nd Edition, 1 October 2006. Publisher: O'Reilly Media. Paperback: 301 pages, Dimensions: ‎ 17.78 x 1.98 x 23.34 cm. ISBN: 978-0-596-00983-0]
In the past 15 months or so I elected to expand my personal and professional skill set to include working with small computing systems, sometimes referred to as microcontrollers.  These devices have become virtually omnipresent, in everything from automobiles and bar-code scanners to toasters and doorbells.  If you operate a late-model vehicle, for instance, you may have as many as 70 (!) of these devices in the car controlling everything from the fuel mixture to emissions to anti-lock brakes and collision avoidance sensing.
I was interested in moving into this arena as part of my career, as there were many openings for people with a strong understanding of the imperatives attendant on both the software and hardware of embedded systems.  I knew a bit about the electronics side of things and I have done software development of one sort or another most of my 40+ years as a professional, but this arena poses unique challenges and opportunities.  I knew I needed to do some specialized self-teaching, and this book seemed like a great place to start.
To start with, what exactly is an embedded system?
As the name implies, it is a system - in this case a miniature computing device - that is a component of a larger framework.  This larger framework can take on myriad forms.  Some of the largest such frameworks are satellite networks.  The embedded system comprises hardware - a central processing unit, or CPU, along with some (minimal) on-board memory and one or more electrical interfaces (e.g. a USB or RJ45 jack) through which it can communicate with the outside world. 
Unlike the computers most of us are familiar with, such as Windows or MacOS-based laptops or Linux servers, these devices often do not have an operating system (WIndows, MacOS and Linux are all operating systems) that performs many of the low-level functions needed to keep the device running and useful. 
This keeps the device flexible in terms of how it can be used, but at the expense of more detailed and subtle development and maintenance requirements.  Thus, the "software" on an embedded system may be a very small bit of computer code that simply turns on the interfaces electrically and then waits for something to happen.
Programming software for these systems is intriguing but fraught with issues that an ordinary computer user never sees.
For example, given that the memory and interface resources on these devices tend to be rather modest, it's necessary for the programmer to take care of any bookkeeping that is necessary to keep the basic functions from colliding.  If one of the interfaces is used to provide a scanned barcode to a waiting receiver, it must pass that information through some on-board memory first.
The embedded software designer needs to be sure that this information can't be corrupted, or "clobbered", by a competing task that might be, for instance, putting the scanning laser into sleep mode to save power.  Moreover, there are cases where the same locations in memory need to be shared by tasks as a part of getting work done.
But what happens if one task is trying to write data to a specific memory location while another task is trying to read from it?  Is there always a specific order in which this happens?  What happens if either operation is incomplete for some reason?  Will the device recover and continue to operate, or will it lock up?  The aforementioned are but a tiny set of examples that the developer must bear in mind.
Messrs Barr and Massa have many decades of experience between the two of them in just these kinds of environments. I was delighted to see just how easy this book is to read and how thoroughly they cover all of the issues that accompany such a software development enterprise.  They are careful to create and explain examples that use commonly-available development kits (I use an STM32 ARM Cortex-M Development Board myself; there is a photo of one such system below) and free or nearly-free software tools to break down the barriers to entry in this field.
Tumblr media
This book is really as much about operating system design as it is about microcontroller software development; if one is interested in what nearly every operating system must do, this volume talks all about it. 
Above and beyond this, it is a wealth of anecdotes, sample code, and general wisdom that will really ease the novice into this exciting world of programming and small-device control.
I highly recommend it to anyone who wants to get down on the bare metal with computers.  It is necessary to be at least familiar with the C programming language (almost all of the examples are coded in C) and it would be very helpful to have worked with at least one Assembly language as well.  Beyond that, the only requirement for getting the most out of the book is a willingness to experiment and be delighted.
Tumblr media Tumblr media
Image Credits (from above down; with thanks to copyright owners): (1) STM32 ARM Cortex-M Development Board © Copyright Owner, date unknown (2) Book Cover © O'Reilly Media 11 October 2006 (3) Michael Barr © Barr Group 2012-2025. (Anthony J Massa, no photograph found)
Kevin Gillette
Words Across Time
4 February 2025
wordsacrosstime
0 notes
parasitic-inductance · 4 months ago
Text
STM32_Nucleo Board
~basics to embedded programming with the STM32 Nucleo Board~
There are three primary steps:
Creating a project
Configuring IO Pins (knowing how to edit the .ioc file)
Programming
Creating A Project
Tumblr media
Configuring IO Pins
This part entails editing the .ioc file to configure pins, clocks, and other project settings.
Tumblr media
Programming
After all configurations have been set-up in the pinout and the clock configurations, code can be generated by selecting the ‘Device Configuration’ button.
Following configuration, it important to read HAL Function APIs to determine how to use software to configure hardware.
Tumblr media Tumblr media Tumblr media
1 note · View note
icgoodfind · 5 months ago
Video
youtube
MCU STMicroelectronics #stm8s #STM8S105K4T6 #DP83848IVVX #TI #STM32 #STM32F405RGT6 #ST #chip #electronic components #ICGOODFIND
1 note · View note
81c1fcbuffer · 6 months ago
Text
youtube
fendoap <3
0 notes
icnweb · 1 year ago
Text
ST, "산업용 임베디드 기반 기능 안전 인증 위한 통합 솔루션 제공"
ST마이크로일렉트로닉스, MCU 경쟁력 강화 위한 4대 전략 발표 최경화 ST마이크로일렉트로닉스 코리아 이사는 산업 및 임베디드 솔루션 개발자를 위한 혁신적이고 다양한 솔루션 제공을 포함한 STM32 MCU 경쟁력 강화를 위한 4대 전략을 발표했다. (이미지. ST) ST마이크로일렉트로닉스(이하, ST)가 32비트 MCU를 통해 모터 제어 및 드라이브와 같은 산업용 제품을 개발하는 임베디드 개발자들의 당면 과제인 기능 안전(Functional Safety; FS) 인증을 지원하기 위한 통합 솔루션을 제공한다. 또한, 임베디드 MCU에 기반한 에지(Egde)단에서 인공지능(AI)을 저렴하게 구성할 ��� 있는 AI 솔루션도 제공한다. 지난 3월 19일 서울 강남구 노보텔 앰배서더호텔에서 가진 기자간담회에서…
Tumblr media
View On WordPress
0 notes
a2automation · 1 year ago
Text
Blog o tworzeniu systemów monitoringu i zarządzania produkcją (MES)
Po co w ogóle te systemy Przykłady problemów, które mogą rozwiązywać takie systemy
Jakiego sprzętu używam
================================================
Ponieważ to mój pierwszy post, zacznę od opowiedzenia trochę o tych systemach, dlaczego akurat one i jak doszedłem do tego. Takie systemy mają doskonałe zastosowanie w produkcji do optymalizacji, poprawy komunikacji z pracownikami, monitorowania linii produkcyjnych. Obecnie rozważam możliwość integracji systemów magazynowych, ale jak dotąd mam w tym zbyt mało doświadczenia. Dla tych, którzy pracują na dużych zakładach produkcyjnych lub nimi zarządzają - prawdopodobnie takie systemy nie będą niczym nowym, a istnieje prawdopodobieństwo, że już używają najnowocześniejszych spośród nich (proszę o napisanie o tym w komentarzach. Myślę, że będzie to interesujące nie tylko dla mnie).
Dlaczego wybrałem tę ścieżkę zawodową? Początkowo chciałem produkować maszyny produkcyjne, ale do tego potrzebna jest poważna baza materialna i dość duża ekipa. Rozważałem także poszukiwanie inwestycji, ale to nie moja droga. Ostatecznie zdecydowałem się pomagać ludziom w efektywniejszym prowadzeniu procesów produkcyjnych. Być może to jeszcze nieco zbliży technologiczną singularność.
Dlaczego ja nie chcę sprzedawać gotowych rozwiązań, pracując z dużymi firmami? To mnie nie jest interesujące. Lubię tworzyć technologie. Szukać nowych rozwiązań technologicznych. Chcę także uczynić te technologie dostępnymi.
================================================
Przeanalizujmy jeden konkretny, choć niewielki, przykład, który zrealizowałem: Klient skarży się na niską jakość opakowania/braki w kompletacji towaru/możliwe złe stan towaru lub inne podobne problemy. Logicznym rozwiązaniem jest sprawdzenie procesu pakowania i przechowywania towaru. Pierwsze rozwiązanie, które przychodzi do głowy, to zawieszenie kamery monitoringu, ale jest to nieefektywne czasowo (kto będzie przeglądać materiał? a jeśli jest 10-20 punktów pakowania?). Kierownik także nie będzie w stanie kontrolować wszystkiego i wszystkich, a kontrola jakości nie może otwierać opakowań. Bardziej rozsądnym rozwiązaniem tej sytuacji jest stworzenie systemu, który będzie robił zdjęcia z kamery monitoringu (dowolnej dostępnej przez sieć) po naciśnięciu przycisku lub zeskanowaniu kodu kreskowego/znacznika RFID. Wszystkie dane zostaną zapisane na serwerze i łatwo będzie można przeglądać potrzebne informacje, zdjęcia. Może nawet kilka zdjęć z różnych kamer, w zależności od zadań. Oczywiście wprowadzanie danych do systemu ERP, innej bazy danych lub serwera. Taki system można również zastosować na każdym etapie produkcji, ale z pewnymi modyfikacjami. Taki system napisałem w Pythonie i świetnie się sprawdził, chociaż musiałem go testować i przerabiać, ponieważ pierwsza wersja była zbyt niepraktyczna i miała nieczytelny kod. Pod względem sprzętu nie było to drogie - kamery IP, przełączniki PoE, kable, skanery kodów kreskowych (najlepiej sprawdziły się skanery Zebra. Tanie skanery okazały się niskiej jakości), niewielkie monitory dotykowe oraz komputery Thin-client (okazały się tańsze niż Raspbery-Pi). Trudno oszacować czasowo, ponieważ najwięcej czasu zajęło testowanie rozwiązania, które trwało dość długo, ale sama praca nad projektem zajęła mi kilka tygodni.
Myślę, że implementacja w C++ zajęłaby o wiele dłużej, 2-3 razy, ale ponieważ nie było to krytyczne, a komputery sobie poradziły, chociaż z pewną optymalizacją kodu - postanowiono użyć Pythona.
================================================
Jeśli chodzi ogólnie o moją pracę, to pod względem sprzętu skupiam się na zwykłych komputerach, mikrokontrolerach STM32, jednopłytkowych komputerach, różnorodnych urządzeniach peryferyjnych z różnymi protokołami. Obecnie rozważam również możliwość pracy z Androidem (interfejsy internetowe nie zawsze są wygodne i często występują trudności z autonomią i szybkością).
W każdym przypadku przy takim rozszerzaniu technologii konieczne będzie zatrudnienie dodatkowych specjalistów do zespołu.
Jeśli społeczność jest zainteresowana tym, co piszę - proszę zadawać pytania w komentarzach, pisać, które tematy są nadal interesujące, możesz dodać swoje pomysły i sugestie.
1 note · View note
ardujimmy · 1 year ago
Text
Test: Flight controller using Pro mini 328/5v 16Hz with 1000kv motors + ESC 30A
FC = ESP32 vs STM32 vs Arduino Board flightcontroller #test #ardujimmy #diydrone
youtube
1 note · View note
ourwitching · 1 year ago
Link
We all like to keep our network gear running during a power outage — trouble is, your standard...
0 notes
idekonstruksi · 1 year ago
Text
Teknologi Mikrokontroller STM32 dan Perkembngaannya
Table of Contents Pengantar Mengenal Teknologi Mikrokontroller STM32: Keunggulan dan Aplikasinya Inovasi Terbaru dalam Pengembangan Mikrokontroller STM32 Mengoptimalkan Kinerja Mikrokontroller STM32 dengan Teknik Terbaru Perkembangan Terkini Teknologi Mikrokontroller STM32 dan Dampaknya pada Industri Elektronik Kesimpulan Pengantar Teknologi mikrokontroller STM32 adalah salah satu teknologi…
Tumblr media
View On WordPress
0 notes
trainsinanime · 8 months ago
Text
Connect STM32C0 to computer
Notes to self because I'm sure I'll forget this in three months time.
STLink v2 (generic cheap clone) doesn't seem to work (or I'm being stupid)
STLink v3 MINIE is the weapon of choice
Does not have any useful plugs whatsoever but you can solder wires to the edge connector fingers at the bottom
That feels wrong but honestly when am I going to design a board that's gonna need those? My stuff is for model railroads I don't have space for an edge connector like that
TMS to SWDIO
CLK to SWCLK
RST to NRST (no special logic necessary, yes even though NRST is negated, it seems they didn't have space for that extra letter on the board). This is optional according to ST, and in my case the cable came off and everything still worked, so, you know
GND to GND
VCC to your target 3.3V output! The thing you have on your board to power your MCU. STLink v3 MINIE uses this only to find out what you're running the MCU at. Implied in this: You can't use this STLink to power your target board, you always have to provide external power.
Most important letter in STLink is the L.
It's really not that difficult once you've figured this all out, and thankfully I had ordered this STLink v3 on a whim earlier, but it's not directly apparent. I'm sure there's an application note or something that will tell you this even better.
1 note · View note
electronicsbuzz · 6 months ago
Text
0 notes
1-rain-1 · 2 years ago
Text
I suggest switching to C, Touchgfx examples won't even compile for me and you don't have to worry about scrolling through your code when it's someone else's that isn't working
im tired of scrolling through my code because java sucks
im going to use evil programming methods
edit: predictably, this broke my code
79 notes · View notes