Hacker Newsnew | past | comments | ask | show | jobs | submit | peteforde's commentslogin

I've not read it. Could you either link to a section or generally describe the reference?

I have, and it’s not.

TIL I learned that I am also a rocket scientist!

I would suggest that a slightly more approachable way to view an RTOS for MCUs is a library that sits on your bare metal that takes primary responsibility for efficiently dividing up available resources across multiple task functions.

An RTOS will usually provide a well documented SDK with support for memory safe queues, semaphores and message brokering.

Think of it as a software enforced contract + best practices to ensure that you get stable, predictable timing loops without ugly polling and blocking.


Very cool! Thanks for sharing.

I would appreciate an honest comparison with FreeRTOS. Building something like this is an excellent learning exercise for the coder, but someone who has to balance the risks, learning curve and feature set has to justify the adventure in a different way.

One thing that would be interesting to hear more about would be your own recounting of the places where you made opinionated decisions about how things should work.


Honestly, I have very little interest in this module. I was a frequent S3 user who switched to the P4 last year when I realized that I could buy it in a WROOM-sized package:

https://en.wireless-tag.com/product-item-56.html

The P4 is an amazing part, and the WT0132P4-A1 is cheap, highly available and easy to use. It has so much horsepower, and it's not encumbered by the mandatory wifi/BT stacks. It also has a genuinely superior capacitive touch solution compared to the S3.

For those of you who need radios, the recommended solution is to add a C3 as a coprocessor. I think this makes way more sense than bundling them, because it means you are free to use newer radio chips as they come out; this also makes the P4 somehow cheaper than the S3-MINI modules.

As for the S31, I just hope that they finally fixed the issues with ADC2.


I have great news for you: after several years of growing frustration with Espressif's inability to launch this chip properly in NA, I found a company called Wireless Tag that presumably felt the same way and just did it themselves:

https://en.wireless-tag.com/product-item-56.html

I've now used this module in several projects. I love it. And I love (x3) the P4. It is amazingly powerful.

A lot of folks talk about the P4 not having radios as a problem; I personally think that it's an advantage. The assumption that every device is a wifi/BT device is baffling to me.

You'd have a very hard time convincing me to use anything but the WT0132P4-A1 at this point. They are cheaper than ESP32-S3-MINI-1U, too.


> A lot of folks talk about the P4 not having radios as a problem; I personally think that it's an advantage.

I believe, the problem is that there isn't a comparable chip with WiFi/BT (ignoring S3, because, you know, Xtensa), not that P4 itself doesn't have them.


I don't use these directly myself in any projects, so I'm citing hearsay... but from what I understand, Espressif officially recommends using an ESP32-C6 as a radio module with the P4. Wouldn't that cover it?

What I have seen directly is a lot of folks reacting negatively to the P4 because it doesn't have radios. They seem to be coming from a "what could it possibly be useful for if it can't [wifi/BT]". While it's easy to see this as a failure of imagination, it does seem true that a lot of folks equate the ESP32 line as what you use when you want to create an IoT device. While that's not wrong or necessarily bad, I've always felt like it's a weird way to pigeonhole an entire SoC family that might be self-limiting.


Not sure I understand your question, but the ESP32-S3[1] is the "CPU" here.

> Not sure I understand your question

I'm not sure why you are not sure - S3 was using Cadence's Xtensa 32-bit LX7 dual-core microprocessor, but the article on S31 only mentions "dual core" without too much detail.


That's the SoC. The CPU is a small part of it. For example they could be using an open source design like the CVA6, or a commercial design from someone like Andes.

Espressif has a designed-in-house RISC-V CPU, so far as I know.

ESP32-S31 (very different from the S3)

That's literally and exactly what I said.

To be fair to GP, I too was confused by your use of brackets here.

I wasn't trying to be obtuse.

Formal grammar / technical documentation style guides consistently define:

[ ... ] = optional

{ ... } = repetition

| = alternatives


Hacker news isn't a formal grammar specification though. People use [1] for references here too (which you could easily have forgotten).

Several weeks ago, I spent about a week fully reverse engineering a Stereomaker pedal. It accepts a mono signal and produces a stereo field using a 5-stage all-pass filter to mess with the phase without the use of delay (which sounds cheesy and creates a result that doesn't mix well back to mono).

I've not really worked with audio circuits previously, and I'd been intimidated to approach the domain. My journey was radically expedited by iterating through the entire process with a ChatGPT instance. I would share zoomed photos, grill it about how audio transformers work, got it to patiently explain JFET soft-switching using an inverter until the pattern was forced into my goopy brain.

Through the process of exploring every node of this circuit, I learned about configurable ground lifts, using a diode bridge to extract the desired voltage rail polarity, how to safely handle both TS and TRS cables with a transformer, that transformer outputs are 180 degrees out of phase, how to add a switch that will attenuate 10dB off a signal to switch line/instrument levels.

Eventually I transitioned from sharing PCB photos to implementing my own take on the cascade design in KiCAD, at which point I was copying and pasting chunks of netlist and reasoning about capacitor values with it.

In short, I gave myself a self-directed college-level intensive in about a week and since that's not generally a thing IRL, it's reasonable to conclude that I wouldn't have ever moved this from a "some day" to something I now understand deeply in the past tense without the ability to shamelessly interrogate an LLM at all hours of the day/night, on my schedule.

If you're lazy, perhaps you're just... lazy?

Anyhow, I highly recommend the Surfy Industries Stereomaker. It's amazing at what it does. https://www.surfyindustries.com/stereomaker


This is a phenomenal example of exactly what I am advocating.

Notice you didn't ask the AI to 'just design a stereo pedal for me.' You interrogated it, reasoned about netlists, and forced the concepts into your brain through intense friction. That is pure deep work.


Throughout the reverse engineering process, the LLM and I both were expecting each op-amp stage to use the next ladder value capacitor. We'd talked ourselves into how and why that would make sense.

At the end I was curious enough that I desoldered those five caps and realized that they were all 2.2nF except for the last stage which was 1nF.

I brought that news back to the LLM and we realigned our understanding of how the effect was achieved, ultimately coming to realize that our approach would have created notches at different frequencies instead of just shifting the phase by about 900 degrees.

It was an incredible learning experience. I try hard not to personify LLMs but this really did feel like working side by side with a friend on a problem until it was solved.

IRL, I suspect that most people who would be able to tackle that challenge with me lack both the time and patience to actually do it.


Its not as simple as just being lazy, our brains are hardwired to take the path of least resistance. I believe someone industrious like you is the exception and not the rule which is why industrious people do well in life and a priased.

I don't believe that you'll find much if any evidence or compelling research to suggest that our species is "hardwired to take the path of least resistance".

I think that you are confusing passive complacency and conflict avoidance with a default state of how we are as a species and society, so far as such a thing exists.

Honestly, I don't think we'd even be here if people defaulted to lazy. The choice to be lazy is a remarkably recent symptom of the late capitalism era. Nobody could be lazy even 100 years ago. It just wasn't a thing.

Your perspective frustrates me because it implicitly abdicates taking responsibility for making good choices, explaining it away as "everyone does it". That is a mythology that you simply do not have to buy into.


No, you touch on the aspects where you're able to use AI as an extension of your skills.

This is completely different than my colleague who isn't a software engineer, and now all of the sudden is creating PRs which I need to review and correct.

I'm a sceptic. I use it to explore the unknowns and go from there.


With as much kindness as I can manage, it doesn't sound like you're exploring very hard.

All of this stuff is remarkably easy to self-verify if you aren't, well, lazy.


Okay, it's been several weeks.

How much of what you did have you retained? Could you do all of, some of, a small fraction of, or none of the work again today if you had to?


My reaction to this question is that it might technically be in good faith, but you're pushing it.

Let's say that LLMs didn't exist, and I learned these same skills in an oddly specific hands-on workshop, or from an oddly specific textbook, or fuck it, let's say that I hired some greybeard pedal designer to just sit beside me and answer all of my stupid questions without judgement for a few weeks at their hourly rate.

Would you feel compelled to challenge whether I had retained what I learned or inexplicably woke up this morning, tabula rasa, and realized that I'd forgotten everything I spent a week teaching myself? I honestly don't think that you would.

For the record, I could reimplement any part of the circuit on demand if I needed to. I might be tempted to look at my notes for the JFET switching because it was genuinely hard to keep in my head, but that's more of a confidence thing than a "shit, I forgot how op-amps work" thing.

I've since implemented a variation into a matrix mixer concept that I'm working on, when it detects that a TS cable has been inserted into a TRS jack.


> Would you feel compelled to challenge whether I had retained what I learned

Yes, the exact same way I would dubious when someone says they learned much from following a youtube tutorial or participating in a two week workshop or something


That's funny... I taught myself Fusion in about a week following this excellent tutorial:

https://www.youtube.com/watch?v=mK60ROb2RKI

It's a 90 minute video that will take you a week to watch if you're doing it properly.

Seriously though... you don't learn from watching a video tutorial (which you can slow down and re-watch as many times as you need) and you apparently don't believe you can learn from an LLM which will patiently answer literally infinite questions, no matter how basic or repetitive... would you mind clarifying how you do learn?

Everyone has different learning styles so I tend to take a different strokes for different folks attitude. For example, I don't absorb highly technical stuff from books and the idea of [paying to be in a] classroom where you're forced to endure 95% what you're not interested in to get the 5% you care about (at the speed of the dumbest student in the room) gives me hives.

Yet, it kind of sounds like you might just be arguing for argument's sake. Also, you can learn A LOT in two weeks if you're motivated.


> would you mind clarifying how you do learn?

Practice

> Everyone has different learning styles so I tend to take a different strokes for different folks attitude

Okay but at the end of the day the only way to actually learn (and demonstrate that you've learned anything) is by actually doing it

And I don't really consider "I got the AI to do it" as actually doing it, which is why I'm questioning what you've actually retained.

To be clear if you feel like you've actually learned this stuff then good for you. I'm genuinely happy if that's the outcome you feel you have obtained

I'm just personally very skeptical of anyone learning fuck all from using AI to build stuff because like I said... I learn from practice. Using AI is not practice any more than copying from open source repos is.

And frankly I'm bitter because I absolutely cannot learn fuck all from using AI. It is the sort of shortcut that prevents my brain from committing anything to memory.


I guess I don't understand what about any aspect of what I explained gave you the impression that I might not have put what I learned into practice.

This is going to sound like I'm fucking with you, but I'm deadly serious: if someone taught you how to do something and you later learned that that person was actually an LLM masquerading as a human, would you forget what you had learned?

It's actually not impossible that you've hypnotized yourself, or could be experiencing a trauma response.


Of course it's traumatic. It is undermining the value of my knowledge and skills in a time when the economy is extremely rocky and I'm afraid for my future

I sincerely do have a ton of compassion for you in how this is affecting your life, and I can empathize with existential anxiety to a degree that most folks won't understand. It sucks to be stressed out when it seems like everything should be possible.

Here's what I can say from the other side: you can only control what you can control, but you will be surprised to realize that you can control a lot if you put in the hours and just doggedly refuse to let problems stop your progress.

I don't think that the answer is a one-man fight against the zeitgeist, though. I promise you that blaming LLMs will quickly go from reasonable position to crutch to weakness. Like bankruptcy, it tends to happen very slowly and then very quickly.

If you treat good LLMs as a tireless mentor that needs to be reigned in and verified, you too can learn stackable skills quickly.


> I don't think that the answer is a one-man fight against the zeitgeist, though. I promise you that blaming LLMs will quickly go from reasonable position to crutch to weakness

That's ok. When it happens I will simply go live in a cabin in the woods somewhere, raging against the dying of the light


LLMs absolutely let you explore ideas and areas you wouldn't have otherwise...but does your new design actually _work_?

I'm curious whether the "knowledge" you gained was real or hallucinatory. I've been using LLMs this way myself, but I worry I'm contaminating my memory with false information.


I think that you're confusing what you're doing with what I'm doing.

What I'm doing is learning the circuit constructs that I need and then putting them to work in real circuits. There's usually a few breadboard steps in the middle, which you could call reinforcement learning.

To me, the telling thing about your question is the implication that I would spend a week learning how to do something and then not test it out. I know that this reply reads as salty, but I'm really struggling to contain my own "wtf" on this end.

Seriously, people that are so determined to prove that LLMs don't work despite how easy it is to test for yourself and see that they clearly do work are the ones that are hallucinating.


This will always happen as long as people are led by their egos. Also they probably aren't autodidacts and don't understand learning for fun.

At some point this existential doubt about your own work and others seems pretty weird.

Go ahead and figure out ways to interrogate on your work with technical means, that's a critical part of the process with an LLM or not.


Thank you.

Genuinely curious: are you actually vibe coding (as in not writing or looking at the code) or are you pair programming with a current model (eg. Sonnet or Opus) using plan -> agent -> debug loops in something like Cursor?


I haven’t written or looked at a single line of code. I do use plan though, and have a technical background but haven’t meaningfully coded in 15 years


I think it's great that you've gotten back into coding, even if you're hands-off for the time being.

However, I strongly urge you to leave not touching the code behind as a silly self-inflicted constraint. It is pretty much guaranteed to only get you to about 40% of the way there for anything more than a quick prototype.

Hardcore cyclists can confidently ride without touching their handlebars, but nobody is talking about getting their handlebars removed. It's just a goofy thing that you might try for a few seconds now and then on a lark.

That's vibe coding.


I share this particular cynicism.

I have a list of ideas a mile long that gets longer every day, and LLMs help me burn through that list significantly faster.

However, the older I get, the more distraught I get that most people I meet "IRL" are simply not sitting on a list of problems they simply lack time to solve. I have... a lot of emotions around this, but it seems to be the norm.

If someone doesn't see or experience problems and intuitively start working out how they would fix them if they only had time, the notion that they could pair program effectively ideas that they didn't previously have with an LLM is absurd.


> most people I meet "IRL" are simply not sitting on a list of problems they simply lack time to solve. I have... a lot of emotions around this, but it seems to be the norm

This sounds unnecessarily judgmental. Doing this is your hobby. Other people have different ways they want to spend their time. That doesn't make you superior, just different.


Honestly... no, that's not it.

You're describing arrogant superiority, which is a real thing. It is definitely me sometimes! I can own that.

What I'm describing is an observation that despite my closely held progressive ideals, most people simply do not appear to see the world through the lens of "lots of things could be better and I see several ways to start fixing them".

I could say a lot of [probably shitty and judgmental] things about perhaps why this divide exists and the myth of the wisdom of crowds vs the genius inventor.

We can concede that all great ideas are inevitably built on the shoulders of previous great ideas by people who often go uncredited - bless the lab techs - but this thread is about the fact that most people aren't even trying to be near where the innovations happen.


Also one of those with a mile-long ideas list that I can finally now burn through. I gotta say, it feels good!


Yeah and frankly the innovation would occur irrespective of llm’s.

Would it be harder? Sure. And perhaps the difficulty adds an additional cost of passion being a necessary condition to embark on the innovation. Passion leads to really good stuff.

My personal fear is we get landfill sites of junk software produced. To some extent it should be costly to convert an idea to a concept - the cost being thinking carefully so what you put out there is somewhat legible.


Yes, it'd be better if people kept their inner Oppenheimer in check.

However, I suspect it's much more like the three types of people talking about 3D printers:

- 3D printing jigs and prototypes has completely changed my workflow

- I can't find any more things to print from the vendor provided gallery

- why on earth would I want a 3D printer, you guys are geeks

LLMs are not creating a risk that nihilist socialites will disrupt how device drivers get written.


As I’ve said in my other post, I’m very confident that imagination is the true bottle neck.

Writing lines of code? Nope. If one can imagine… trust me, writing lines of code is trivial.

Most people have no imagination. So sure they can produce more stuff with llm’s but it’ll just be mostly garbage.

Perhaps they can produce some peculiar workflow that works ‘for them’. Sure. But I think about the money invested into the LLM-based projects and I highly doubt we are going to see any returns that justify the spend. What we are going to see is a felling on the profession of software engineers, since the pipe dream of AGI isn’t coming and imagination is scarce.


Not sure that I'd look at python package stats to build this particular argument on.

First, I find that I'm using a lot fewer libraries in general because I am less constrained by the mental models imposed by library authors upon what I'm actually trying to do. Libraries are often heavy and by nature abstract low-level calls from API. These days, I'm far more likely to have 2-3 functions that make those low-level calls directly without any conceptual baggage.

Second, I am generalizing but a reasonable assertion can be made that publishing a package is implicitly launching an open source project, however small in scope or audience. Running OSS projects is a) extremely demanding b) a lot of pain for questionable reward. When you put something into the universe you're taking a non-zero amount of responsibility for it, even just reputationally. Maintainers burn out all of the time, and not everyone is signed up for that. I don't think there's going to be anything remotely like a 1:1 Venn for LLM use and package publishing.

I would counter-argue that in most cases, there might already be too many libraries for everything under the sun. Consolidation around the libraries that are genuinely amazing is not a terrible thing.

Third, one of the most recurring sentiments in these sorts of threads is that people are finally able to work through the long lists of ideas they had but would have never otherwise gotten around to. Some of those ideas might have legs as a product or OSS project, but a lot of them are going to be thought experiments or solve problems for the person writing them, and IMO that's a W not an L.

Fourth, once most devs are past the "vibe" party trick phase of LLM adoption, they are less likely to squat out entire projects and far, far more likely to return to doing all of the things that they were doing before; just doing them faster and with less typing up-front.

In other words, don't think project-level. Successful LLM use cases are commit-level.


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

Search: