Hacker News new | past | comments | ask | show | jobs | submit login

First: don't conflate NRE and tooling with the cost of something. Plastic spoons are close to free, but making a plastic spoon factory would be expensive.

Second: you don't need most of that stuff. Dev boards that are a few bucks and debug probes for under $20 are credible and usable; fairly good compilers are free.

> But too bad that's not really the standard for old technology and resources laying around the planet, isn't it? You have to basically be uncanny like MacGyver or inhumanly intelligent like Tony Stark to reprogram the apparently free teeny computers laying around the world.

USB DFU is pretty dang common. It's not the absolutely lowest end stuff, but still pretty dang close to free.

Compare to doing all of this ages ago, where you'd have an 8051 with an expensive, crummy compiler and need a lot more tooling to do anything.




> Compare to doing all of this ages ago, where you'd have an 8051 with an expensive, crummy compiler and need a lot more tooling to do anything.

That depends... back in the day, I could buy an (UV) EPROM programmer for several hundred $$. Or I could study the datasheets, build my own EPROM programmer for a fraction of that, and write some software. Guess which route I took.

With uC's it wasn't much different, and still is. Vendor supplied programmers / debug probes etc, are just a quick & easy way to get started.

What is different these days, is that a lot of those 'vendor' tools are (more or less) generic tools, applicable to a whole class of devices (eg. JTAG), often come as cheap 3rd party clones, and with free software to use them.

So personally I don't understand parent's "1000s of dollars" complaint. That only applies when using niche products, outfitting a pro-level electronics lab, or plain doing it wrong / uninformed of the wealth of stuff out there.


> back in the day, I could buy an (UV) EPROM programmer for several hundred $$. Or I could study the datasheets, build my own EPROM programmer for a fraction of that, and write some software. Guess which route I took.

Even in 80's dollars, that's a big opportunity cost as a grownup. Now you can buy a $3 STLink and call it good. It's changed.

He said nearly a thousand dollars, which isn't that hard to get to-- but it means that you're doing a pretty wide variety of stuff.


Yeah. There's a small set of prepackaged micro- or teeny- computer programming interfaces. Or the plug-and-play if you will. In fact, that small set of convenience products only serves a market of kids that want to play with toys. They're literally toys. Ten or fifty dollar ARM microprocessors or microcontrollers coming in a box with integrated debugging features and integrated WiFi modules. And their complementary three dollar programming link handhelds. All from off the digital Amazon.com or AliExpress shelf. The "in-band" programming interface at accessible prices and stores.

And that's fine.

It's just that for me, on the other end of the spectrum, I prefer a little bit more adventure. Some less constraints. So, I need an "out-of-band" microchip programming solution for my aims.

Outside the kid world, you're required to be more knowledgeable about the way the world really works. You learn a whole lot more with out-of-band computer modifications than if you were to just plug and play some prepackaged handheld programming device into a little chip. You get more intimate with the microchip and its internals. You get concerned about its voltages and current needs, in order to achieve a proper relationship between your curiosity and the microchip's capabilities.

I want to dig into the raw power contained and hidden in unimposing millimeter (or centimeter) wide circuits. The re-programmability of microcontrollers or teeny-tiny computers, specifically.

There is no current documented solution for that. Beyond going your own way in a very long study and practice of electronics engineering and salvaging.


I'm going to translate your comment in how it sounds to me:

"I've spent a lot on embedded development. In large part, I've done this because I've sought to make things unnecessarily complicated and because I like playing with this stuff. I will deride the typical tools used today by most embedded developers as toys. I will use these views to try and support an assertion that computing isn't effectively 'free' in a monetary sense"

It's not like any of this is that complicated. I've spent plenty of time building my own programmers for things; I've bitbanged SWDIO, programmed EPROMs and micros with a parallel port and shift register or GPIOs on other micros; made pogo pin things, etc. If I were looking to get things done, odds are I can spend a few tens of dollars and just get going, and design in a part that costs a few tens of cents for a whole lot of computing in historical terms.

> I want to dig into the raw power contained and hidden in unimposing millimeter (or centimeter) wide circuits. The re-programmability of microcontrollers or teeny-tiny computers, specifically.

Very little of this is arcane on modern devices. Even a couple of decades ago the "hardest" thing in common use was the need for higher voltages for EEPROM erasure. IMO, where things get interesting is where you abuse peripherals to do things they weren't intended to do, but even that isn't usually equipment intensive-- a 4 channel oscilloscope and a debug probe will get you a long ways.


Yeah, you're right. Someone can spend at most five hundred or seven hundred dollars on a complete embedded systems development combination-set which maybe consists of something like one or five or twenty ARM microcontrollers and the convenient hardware application programming interfaces that are compatible with them, the small computers. Micro computers?

Anything else, anything outside this standard specification you've shared with me, is where some hardcore hacking goes on, in my opinion.


> Yeah, you're right. Someone can spend at most five hundred or seven hundred dollars on a complete embedded systems development combination-set which maybe consists of something like one or five or twenty ARM microcontrollers and the convenient hardware application programming interfaces that are compatible with them, the small computers.

You can literally become equipped to develop for microcontrollers and have a bunch of boards for less than $50 (excluding a laptop).

If you want to go a bit further, you can get a lab supply and a halfway decent DSO with logic analyzer capability for under $500.

> Anything else, anything outside this standard specification you've shared with me, is where some hardcore hacking goes on, in my opinion.

I've done plenty of hardcore hacking, and ... even then, not really. FPGAs? You can get ICE40 boards for <$20. A microscope is nice, but $40. Soldering iron? Pinecil is pretty great for $40.

I spent so much money on equipping myself to do EE stuff 25 years ago. Now you can do much more than I did back then for peanuts. Heck: I just built 20 little embedded ARM computers for students with LCD, cherry switches, and a debug monitor for $300, and the biggest expense was the blank keycaps. It was trivial to get going. That includes manufacturing. We are spoiled. https://github.com/mlyle/armtrainer

Where things get expensive is doing anything fancy analog, RF, very high speed (which is really also analog ;). Computing itself is cheep cheep cheep.


Impressive looking development board. It's beautiful even.

But a feature rich integrated development environment would be better. Especially if it, both a hardware accommodating and software accommodating development environment, operates on more than just something like the toy ARM Thumb instruction set and its ARM based microcontrollers.

After all, you don't need an architecture like ARM or even x86 to do some simple things that should be as accessible as alternating current mains electricity or sunlight from the Sun.

Computing is cheap, but only because it's easy to clear the low bar for having a Turing machine. Turing machines even occur naturally. Conway's Game of Life is Turing complete and subsequently you can build a computing machine with it. No ARM or x86 emulation or JTAG-ing necessary. Here, it's unnecessary to even summon a UART to USB adapter.

So, although computing is cheap, it's being locked behind some proprietary bars right now. I'm just looking for the keys to free some computers. Particularly I wanna free very teeny sized computers like microcontrollers.


> operates on more than just something like the toy ARM Thumb instruction set

This is about the most common instruction set in common embedded use in the world. IMO not too toyish.

> Especially if it, both a hardware accommodating and software accommodating development environment,

I'm a bit confused as to your point-- you seem to be simultaneously arguing for "more capabilities" but "smaller computer".

If you're saying "more integrated development" -- and mean specifically self-hosting-- the $1.75 microcontroller running in there is capable of being an 80's era DOS computer with all of those tools, etc, self-hosted. Playing with this is on my todo list for the luls. If you just want open-source development, GNU-arm-embedded is built on eclipse and gcc.

If you're saying smaller computers: STM8, 8051, etc, are easy, too. But there's really not a whole lot of reason to design below the $5 point unless you're mass producing something. The developer's time is worth something, too. Having a big pile of RAM to not even think about putting things on stack, etc, is nice.

If you're saying "free as in freedom" (you were responding to someone making a cost argument with the word "free") -- you can go ICE40 and put any number of open source hardware computing designs on it, and control every bit. Indeed, I had a high school class just build microprocessors from scratch on this approach.


Yeah. A 1980s era Microsoft DOS computer capability running on a $1.75 microcontroller is exactly what I want, on one hand. I'm not greedy or needy, after all. A microcontroller with WiFi connectivity built in (or easily attached, imported, or included) for building a networked system of these smart little computers and hardware part controllers too. Like, a washing machine that sends a "done washing" message to a headless server sitting in the home.

But I do kinda need them to be expendable. So designs that are priced at less than $5 is kinda a requirement for me. Because I sincerely believe I'm stepping into new and unexplored territory. A lot of experiments will be done with this information technology system. Which means there needs to be a massively productive facility for having a swarm of microcontrollers. Hence, the need for turning any microcontroller encountered in the wild into a controlled and compliant robot brain for my heterogeneity of devices and home appliances.

I don't mind thinking about how to not bust open a stack that can only fit three variables on it or something. In comparison to the simple architecture which includes parsimonious memory modules or only two registers total, for example, what's complex will be the total assembly and combinations of Turing machine based codes made possible by teeny microcontrollers/computers doing simple things. Like receiving temperature levels and then relaying or sending packets of temperature or heat data to a server. Acquiring x86 instruction sets is definitely unnecessary here. Or, rather, I only need x86 code execution for not re-inventing things like WiFi. ARM or x86, for example, then, should be seen as just an imported (think Python) or included (think C) module.


> Yeah. A 1980s era Microsoft DOS computer capability running on a $1.75 microcontroller is exactly what I want, on one hand. I'm not greedy or needy, after all. A microcontroller with WiFi connectivity built in (or easily attached, imported, or included) for building a networked system of these smart little computers and hardware part controllers too. Like, a washing machine that sends a "done washing" message to a headless server sitting in the home.

OK, that's an ESP8266, then. Here's a module for $2.11.

https://www.aliexpress.us/item/3256805440432225.html

They're far more capable than you're describing-- capable of emulating an PC-XT at close to 80% speed. For throwaway stuff you could use micropython.

They're cheaper than thinking about how to use random micros you find.


So basically we're shopping for fingernail sized motherboards?


That's the starting point. If you want to design boards, you can put down ESP8266 castellated modules (easy) or the ESP8266 chip itself (somewhat harder).

Because of issues with electronics supply chains, often complete boards are cheaper than you can buy the modules and chips at low quantities (things are really optimized to sell a thousand units or more). Even buying blank keycaps at low quantities was very expensive compared to finished products of printed sets of keys.


> A microcontroller with WiFi connectivity built in

ESP32 modules are $2 on LCSC and come with a built-in wifi antenna

> So designs that are priced at less than $5 is kinda a requirement for me. Because I sincerely believe I'm stepping into new and unexplored territory

No, your requirements are the same ones that every cheap IoT device has. Open up a $5 smart switch and see how they manufactured it for $1

> simple architecture which includes parsimonious memory modules or only two registers total, for example

What are you on about? Using an unusual instruction set will increase NRC, cost per MCU, and power consumption. Low power ISAs are a scam. Race to sleep if you wanna save resources




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: