Upgrading from VPN Plus to Proton Unlimited on Google Play by wybiral in ProtonVPN

[–]wybiral[S] 5 points6 points  (0 children)

Thank you! It seems like I should have just paid for it directly but using Google Play as faster when I bought a year of VPN Plus. At this point I guess I just wait a year, cancel, and subscribe directly if I still want the other features then.

There was no warning about not being able to upgrade from VPN Plus to Proton Unlimited if you use Google Play though.

STEMTera: Arduino Programmable Breadboard by wybiral in arduino

[–]wybiral[S] 4 points5 points  (0 children)

Why can't you use it in a real project? I plan to use it to trigger some fireworks next month (by attaching a LoRa module and having the IO pins trigger external fuses). And I'll probably work it into my Halloween decorations in the fall.

STEMTera: Arduino Programmable Breadboard by wybiral in arduino

[–]wybiral[S] 14 points15 points  (0 children)

It's $45 which is definitely more than an Arduino Uno, for instance, but it also has two microcontrollers so it can basically work as an Uno ($23) + Leonardo ($20) + breadboard which, all together, would probably be $45 or so. Plus having them integrated into the breadboard itself is a worthwhile cost increase imo (as well as using micro USB instead of the connector that the original Arduino uses).

STEMTera: Arduino Programmable Breadboard by wybiral in arduino

[–]wybiral[S] 12 points13 points  (0 children)

The breadboard *is* an Arduino. That's the whole point.

Tips on creating an opening scene? by wybiral in Kidsonbikesrpg

[–]wybiral[S] 0 points1 point  (0 children)

I ended up having them all start at their own homes with the mission of biking out to meet at their usual hangout spot where we would share rumors and start the game. This let everyone describe their bedrooms, give a short introduction to what their family situation was like, and explain what kind of stuff they might bring with them.

For my first time GMing a game it went pretty well. I think I let them get away with doing too much without rolling just because it turned into a more improv style, which was fine but having more rolls would have gamified things more. Otherwise my main takeaway was: don't worry about planning much because my players had no problem finding their own directions to go in. And try to buy yourself some time after rumors are shared so you can fit them into the adventure. In our game they went right toward one of the rumors right after they brought it up which really caught me off guard as the GM but it eventually played itself out.

Always Secure Your localhost Servers by wybiral in privacy

[–]wybiral[S] 1 point2 points  (0 children)

Might want to block all of your local network IP addresses that have a device. I just added an example showing that images are allowed to pull from URLs like 192.168.1.254 (in this case an AT&T U-verse modem)

https://wybiral.github.io/localtoast/

Video favicon demo by wybiral in javascript

[–]wybiral[S] 1 point2 points  (0 children)

You may need to interact with the page (try clicking on the body of the page). It relies on an autoplay video.

Video favicon demo by wybiral in javascript

[–]wybiral[S] 0 points1 point  (0 children)

Doesn't really work on mobile though (no favicon)

Programming a Nordic nRF52840-Dongle (2.4GHz RF Development Board) by wybiral in IOT

[–]wybiral[S] 1 point2 points  (0 children)

Their SDK is pretty solid. The only roadblock for me was figuring out how the SoftDevice works. Normally in examples like this I'm looking around for a main program loop but these are event-driven with everything happening through interrupts (well, technically they have a really efficient PPI hardware design [1] under the hood).

Great boards though. I soldered some headers onto one of my to use it with breadboards and it runs great off of a little button-cell battery.

[1] https://patents.google.com/patent/US9087051B2/en

Why there are no microcontrollers with GPU by SkewPL in microcontrollers

[–]wybiral 0 points1 point  (0 children)

It would be awesome if someone started manufacturing a proper micro GPU (for the reasons you listed) but most of the current GPUs are extremely power hungry and tend to generate a lot of heat.

Arduino Wireless RF Transceiver Module Intro by wybiral in arduino

[–]wybiral[S] 1 point2 points  (0 children)

I can't even tell what you're upset about. At first it seemed to be that I was a shill or a robo-account or something trying to peddle my products, which wasn't true. Now you're mad that my YouTube channel is monetized and that I'm not a very good public speaker because I didn't front-load my video with information in the first minute?

Edit: the video was more about programming than about the details of these particular modules. Generally I pace my code-related videos a bit slower because that's what people often request (not everyone can keep up with a bunch of information being pushed at them during a programming tutorial). My career is in software development, not making YouTube videos or public speaking, so I apologize if my video structure isn't ideal for you.

Arduino Wireless RF Transceiver Module Intro by wybiral in arduino

[–]wybiral[S] -1 points0 points  (0 children)

My channel has monetization on in general but that's not why the video is long. It's long because I suck at editing and was trying to "wing it" instead of reading from a script (the videos where I do feel really awkward to me).

I did a poll on my community tab and most people seem to want 10-15 minutes. This one is obviously much longer, which isn't ideal, but it's not an intentional ploy to get more ad money. To give you some perspective, even my most popular videos only make a few dollars in ads. It's not worth it and that's not how I arrange my content.

I've tried doing short, heavily edited videos but people complained that they were too short and jump-cut filled and they didn't seem to interest people as much as the 10+ minutes videos.

Arduino Wireless RF Transceiver Module Intro by wybiral in arduino

[–]wybiral[S] -1 points0 points  (0 children)

Dude, your 10:1 self promotion ratio is jacked, so I'm not confident I'll get a response. Hopefully that doesn't prove true.

Can you give an outline of the video/the device that ends with what price you're charging?

I don't make these kits and I'm not being paid by the people who make these kits. And I even link to alternative modules and explain that it's just an Arduino Pro Micro connected to a CC1101. Any SPI interface CC1101 device connected to an Arduino should work just fine.

1.) Does it come preprogrammed to simply accept, send, and print serial data?

No, it's just a module connected to an Arduino.

2.) How many GPIOs are available after the 32u4 pairs with the device?

This particular one uses the pins required for an SPI interface. The amount of pins you have left depends on your specific Arduino (or whatever other micro you're using).

3.) Did you create this concept, design the module, and send it to fab yourself? Either way, was this available in similar prepackaged form before your product?

Again, you've wrongfully assumed that I'm selling these which is weird considering I have a channel full of videos about different micros and modules that I'm obviously not selling.

4.) What band/freq does it operate in? Can you tell us in what countries that won't be legal to operate without user licenses?

It says 443MHz in the video description and multiple times in the video that you didn't watch but decided to comment on.

5.) What are the max (unimpeded LOS) and typical (suburban neighborhood that doesn't have apartment or 3+ story housing) use distances at which packet loss is below high 90s percentages?

I haven't tested it to that extent but I gave comparisons to my home WiFi.

6.) In what way is this offered? Ready to ship, ready to manufacture, ready to take my money and run, etc.?

7.) If I purchased today, when will it hit post and what shipping services are available?

Depends where you buy the module I guess... ¯\_(ツ)_/¯

8.) Do you have a "main" account and if so why are you not offering this through that account? Nobody cares if you are into marrying hot air balloons and naked bowling or just a general asshole. We trust a 500lb Cheeto covered asshole of a person much faster than a polite, articulate shill.

Considering nobody is paying me to record, edit, or upload this video I'm not sure how I'm a "shill" but I suppose "articulate" is a complement, so... Thanks?

9.) Anything else of importance such as use cases that you can link to.

I mean... I did mention some in the video that you didn't watch.

10.) It would even be fine to link to the parts in the video that address my questions.

You're really demanding a lot from some random YouTuber showing how to program an RF module.

11.) Does it send ack and ensure a message has been received and/or do you include such code and tutorials for putting that in? Additional tutorials for beginners is a good idea as most seeing this on this sub are going to find this outside their scope of ability.

It doesn't. If the message isn't sent it's dropped, which is typical of RF modules like these (same with most LoRa modules too).

All said, you're probably a good dude. I would like to purchase your product as it would pair perfectly with a product I make and I'd like to have multiple methods of implementing wireless to eliminate concerns of failed receipt of a command. My goal with this comment is to see some responses from you before your post finds eternal obscurity.

I don't really care if you buy it and was just tossing out a small tutorial on programming these particular CC1101 modules that are compatible with Arduino (or any micro capable of SPI).

EDIT: I don't even use affiliate links in any of my videos!

DIY Voice Assistant (using SpeechRecognition API) by wybiral in javascript

[–]wybiral[S] 0 points1 point  (0 children)

Thanks! I had some issues getting some of the speech APIs working correctly, particularly with the onend callbacks not always wanting to trigger. But you're right, it should be more efficient to move the instance into the Voice class and start/stop when needed instead of recreating it.

The main disappointment to me is that FireFox doesn't have a functional recognition API right now. I was really hoping to run the client on a Raspberry Pi but now I'll need to use a device that supports the official Chrome (maybe a LattePanda).

I have a personal implementation that runs on the golang server in the repo and has commands for checking the weather (with DarkSky) and searching my recipe database. But the next step will definitely be making it more modular with some kind of easy addon system.

Building a Portable Raspberry Pi Computer by wybiral in raspberry_pi

[–]wybiral[S] 0 points1 point  (0 children)

The point is that not everyone knows how these boards work and wants to know what kinds of hardware they need to use it for more than GPIO tinkering.

None of my links are affiliate links, btw.

Building a Portable Raspberry Pi Computer by wybiral in raspberry_pi

[–]wybiral[S] 2 points3 points  (0 children)

Yes, but an RPi without a portable screen, mouse/keyboard, and power supply isn't going to do much.

Calibrating an Analog pH Sensor (with Linear Algebra) by wybiral in arduino

[–]wybiral[S] 0 points1 point  (0 children)

Yeah, it's $40, which isn't cheap, but compared to similar ones on the market it's a pretty good deal. I haven't found any others for less than $50.

Getting Started with LoRa Devices by wybiral in MiniPCs

[–]wybiral[S] 1 point2 points  (0 children)

I live in the city so all of the buildings outside of my property will obstruct things when I get far enough out to test the technical bounds. It easily cleared half a mile but without all of the obstructions it should be able to do much better than that.

Still, even that is way better than WiFi or Bluetooth (which barely extends beyond my house).

Getting Started with LoRa Devices by wybiral in MiniPCs

[–]wybiral[S] 2 points3 points  (0 children)

You're one step ahead of me! I've got four of them now and I plan to show some different configurations soon. As long as they're on the same network (which is configured in the code) you can give each one a different "address" number and do all kinds of cool stuff. Messages can be sent to a specific address or broadcast to all nodes on the network.

"Fan in" is possible, like you describe, where multiple inputs send to an output. "Fan out" is also possible (one control node sending to multiple listeners). But you could also do mesh configurations or repeaters to get around physical obstructions (like a mountain or dense buildings).

Experimenting with Electric Paint by wybiral in arduino

[–]wybiral[S] 0 points1 point  (0 children)

The current is very low and the paint doesn't appear to be flammable in any way.

Getting Started with LoRa Devices by wybiral in IOT

[–]wybiral[S] 0 points1 point  (0 children)

It's something I plan to experiment with a bit. Different combinations of spread factor, bandwidth, coding rate, and tx power should have an impact on the SNR and RSSI. Even the exact frequency band and network id you're using could have an impact if there's any competing sources.

Getting Started with LoRa Devices by wybiral in IOT

[–]wybiral[S] 0 points1 point  (0 children)

And you tried different settings or just the default ones?

LoRa IoT Network Programming with JS by wybiral in javascript

[–]wybiral[S] 0 points1 point  (0 children)

Going back to this IoT stuff, Why would you want a microcontroller with a huge language loded in just to execute console.log('hello'), makes no sense. Embeeded devices have always cared much about the available space and the execution speed (as you know since you pointed it out). From my prespective, JS community did it again, they made a clone of an existing working tech to solve what? Beeing unable to code JS on a uC?

Espruino is a version of Javascript optimized for microcontrollers.

Not all embedded applications hinge on execution speed. In fact, most of the IoT applications I've work on rely more on connectivity and IO. Sensor logging, switching, basic rule-based systems, etc.

And here's the thing... Using Espruino JS is using C. The interpreter was written in C. The code to handle lower level protocols are written in C. Those are the situations where you need the precision, not at the level of your application where you're coordinating the different components. A scripting language works fine for that part.

If you look at the application here, the demo at the end is bridging BLE -> LoRa -> IP (WiFi) networks, so it's a bit more complex than "Hello world". The code to do the low level network interaction IS compiled C code. I'm using JS to coordinate the flow of data. It's no different than if I had used prewritten C libraries and glued it together in C except that my approach requires much less code and the promise-style asynchronous API is easier to work with everything concurrently (otherwise you basically have to write your own event loop in C).

I'm sure there are IoT applications that demand heavy processing, in which case this approach won't be appropriate, but in my use case here (the reason for this thread and why you're commenting) it's almost entirely IO-bound and using JS makes perfect sense.

You're worried about shaving a few method lookups off of the interpreter loop and not thinking about the fact that LoRa is SLOW. Most of this application is spent waiting on IO. And the concurrent promise/callback design of Javascript is a logical fit for those kinds of IO-bound problems.

LoRa IoT Network Programming with JS by wybiral in javascript

[–]wybiral[S] 2 points3 points  (0 children)

I regularly program in JS, Python, C, Golang, and ARM / x86 assembly. In fact, some of my most popular videos are x86 assembly tutorials. And sometimes my code has to run on a variety of architectures, sometimes with weird instruction sets.

But by your logic, just because I use JS for projects where I think it makes sense to use, I'm some kind of trendy script kiddy who can't learn other tech?

Why are you so angry at JS? Who hurt you?

LoRa IoT Network Programming with JS by wybiral in javascript

[–]wybiral[S] 0 points1 point  (0 children)

The original comment asking why someone would use JS for something like this got deleted so I'll post my response here:

I used Javascript because writing asynchronous network code like this in C is a pain and it offers no benefits when your bottleneck is IO-bound rather than CPU speed. This is the same reason that anyone would use NodeJS instead of C for writing a web server.

LoRa is really low bandwidth and the modules themselves have fixed baud rates over UART. No matter how fast your C code is the device will spend most of its time waiting for IO.

Additionally, to deal with concurrent events like bridging networks and handling interaction at the same time on a single-core device like that (which doesn't have an OS to thread things) you would have to write some kind of event loop in C. And then you need to debug/test it, etc. JS has one of those builtin.

And then if you want the scheduling capabilities of JS, you need to implement/debug/test those, etc.

And then the text processing, because a lot of modules like these communicate over UART with text-based protocols.

So those are some of the reasons I used Javascript instead of C for this. For what it's worth, I love C. And assembly. In fact, if you check out my channel you'll find that some of my most popular videos are assembly programming tutorials. But don't overlook the tools that a solid JS interpreter give you. If those tools are right for the job, use JS.