carlfoxmarten: (Default)
So, I've been stressing over nothing, it seems. I'd been under the impression that I'd need to build a whole control circuit, with multiple switches (power, heating/cooling, and intensity), on a circuit board, putting a PC power supply on my desk, it turns out none of that is necessary for testing purposes!

This realization has led to me dropping a PC power supply on my chair, plugging a PC power supply adapter board into it, unplugging the Peltier device from the original control board, and somehow connecting it to the adapter board.

And it worked just fine!

I don't know if it got colder, but it definitely got cold faster! A very worthwhile effort!

Unfortunately, I didn't realize that the PC power supply had a fan in it, nor that it would be loud enough to be distracting.

Fortunately, I now know that I don't need a huge array of controls (after all, I only use it to cool drinks, not warm them. Nor do I need to change the voltage the Peltier device runs at), as well as knowing that I can use almost any 12V supply for this project. Time to look at my other options!
carlfoxmarten: (Default)
Several years ago, I was looking at powered drinks coasters on Amazon to see what I might use, when I came across a rather surprising item: A USB-powered coaster that both heats and cools your cup.

Yes, 5V (turns out, at around 1.6 amps) doesn't do all that much in the grand scheme of things, but I was intrigued enough to buy one, and while I wasn't astounded by its abilities, I was impressed enough to buy a few more when the price fell back down to a reasonable level.
(after I bought mine, the price jumped up to just under $50. Later, it fell down to $15 each, so I bought a few spares)

Anyway, I took the original one apart to figure out how it works, and it's basically a Peltier device (which can be used to generate an electric current from a temperature differential, or to cause one by applying power to it) with a heat sink, a tiny fan (we'll come back to that), and a control board. The switch on the front of the unit controls which function is run, so it's pretty simple inside.

Technically, the website and box claims there's a 9V power adapter somewhere out there that's compatible with this coaster, so I rigged something up to put 9V through a USB port (as the USB cables it comes with are the only ones I have right now) and it did a far better job of cooling drinks off.

The fan is, like I said, really tiny. About 2cm across or so. So it is loud. And the one thing that makes hot days worse is really loud, tiny fans. So while it may have helped a little over the last few summers, it caused other problems too.

So I bought a couple of 5V fans that are 8cm across, and they move far more air, while being much quieter. Right now, I have the guts from the first cooling coaster on my desk, with brass standoffs in the screw holes of the fan, with the heatsink/Peltier device/drink plate stacked on top of that.

Given around a 26°C ambient temperature, the top plate manages to remain around 16°C, which is enough to slightly cool a glass of water, but not enough to do it at all quickly. I'd even left it running under a nearly full glass of water for about four hours last night, and while it was cooler, it didn't get anywhere near as cold as I would have liked.

On the other hand, I'm very close to replacing the USB power supply on my desk (that has five USB ports on it) with an old PC power supply, so I'll have all the way up to 12V to work with. In theory, I should even be able to run the Peltier device on the full 12V (given that most of the models I've seen does support up to 15V at a stretch, so 12V should be fine), while using the 5V supply for the fan itself.

I'm currently thinking about how I'd want such a thing to work, but as I don't know enough about the current-passing characteristics of any of the transistors that I have right now, so my current preference is running the entire thing off a few switches. And with the fan and the Peltier device running off different power rails, they can't exactly share the same switch. Plus, I'll want a switch to control whether the Peltier device gets 12V or just 5V, depending on how much power I want it to have. At a minimum, that's two switches. The reason I might need a third switch is to control the fan. Because right now I'm not sure how to control the 5V fan from the DPDT switch that controls which direction the Peltier device runs.

Like I said above, at just 5V, it managed to bring the metal plate that holds the glass down to 16°C, and I'm actually kind of tempted to include a temperature sensor (of some sort) leaning against the plate. Then a microcontroller (obviously) to show the temperature on an easily-viewed display, and allow you to set the target temperature for the plate to rest at. Maybe even another sensor that's spring-loaded against the glass, for a more accurate reading? But likely not, as most of that would require things I'm not prepared for just yet.
(something about MOSFETs versus regular bipolar transistors)
carlfoxmarten: (Default)
Varnishing is hard. Especially since almost every woodworker I've been following on YouTube entirely skips over the whole process, going straight from "this is what it looks like before" to "this is what it looks like afterwards" in one jump cut.

What I really need is a text tutorial (NO, video tutorials do NOT work for me! I should write a post on why eventually...) that explains every step in the process. Also what to do when things look particular ways.

The very first thing I'd varnished was a small (four-inch in diameter) attempt at a wooden coaster, so a full paint brush basically drank more varnish than I was able to spread onto the surface. So I'd used a sponge brush instead, and it worked better in that situation.

In this situation, it didn't lay down enough varnish, and two thin coats didn't look like much.

Given the larger surface to cover, I brought the paintbrush back out, and it actually laid down enough varnish to almost look professional!

If it had been a smooth enough layer, I would have left it at that, but it needs sanding smooth again. Which means I need to know what grit of sandpaper to use to avoid making it worse...
carlfoxmarten: (Default)
I've cut the sides into legs, I've drilled holes in the top plate for screws, and the stand is now formed and screwed together.

Granted, it wasn't all that straightforward, and given my inexperience and lack of power tools, it only made the process longer and slower.

Fortunately, I'm pretty sure the only thing left to do is to varnish it.

Today was sunny and somewhat windy, so it was easy enough to sand all the surfaces smooth, though the wind was variable enough to blow the sawdust back into my face for me to breathe in...

Anyway, I'm pretty sure that I can take the screws back out and start applying the varnish whenever I'm ready. At least, I don't think it would be a good idea to varnish over the screws!

Hopefully I'll be able to use it in the next week. Right now, my main monitor is a bit too high off the desk due to having to take the plywood I'm using for the top plate of the stand back as I'm working on it, and the only thing I had available is taller...
carlfoxmarten: (Default)
A few years ago, I'd found a dual-function drinks coaster. At the moment, the house I'm living in doesn't have anywhere near enough insulation, so I'd been looking for a drinks coaster that was capable of cooling my drinks. Having a glass of juice with lime in it was fairly effective at keeping me cool, but only when the drink wasn't allowed to get that hot.

Anyway, while most electric drinks coasters just heat your drinks, the one I'd found also included a cooling function. Though, I suspect it's less effective given that it's USB powered instead of wall-powered.

Now, in larger heat-moving systems, a highly compressible gas is used to literally pump heat (hence, "heat pump") around, but in much smaller systems like this, you can buy solid-state devices that move heat around to a less efficient extent. Called Peltier devices, if you hook it up to power the right way around, it uses the flow of electricity to move heat from one side to the other. A higher voltage moves more heat around, in this case, and while it comes with a USB cable by default (thus running at 5V), you are supposed to be able to buy a 9V power adapter separately, which increases the amount of heat it pulls out of your drink.

On the opposite side of the coin, if you apply the power in the opposite direction, it instead generates heat, and the power switch on the front of the coaster toggles which direction the power is applied.

Unfortunately, the cooling function has two separate flaws. The first being a small fan. This fan blows air across the bottom side of the Peltier device, with the intent to blow the heat pulled from your drink away, but it's noisy enough to be a distraction most of the time.

The second being that cold doesn't rise. Which means that, if your drink starts out being warmer, you end up with a temperature gradient in your cup, with the bottom layers being colder than the top layers.

With the modicum of success I'd found using this device, and finding that its price had dropped afterwards, I'd bought a couple more. The idea being to experiment with it. For example, fixing the fan noise problem would be simple enough hardware wise, by replacing the original fan with a larger module, which is quite easy to obtain and I've already done so. Structurally, however, I'm still trying to figure out how to support the whole thing, as there's nowhere near enough empty space for a fan of this size in it, so I basically need to build a new frame to support it. Given my limited set of tools and experience, a lot of thought is required here.

But, that doesn't solve the second problem. How do you make an entire glass of water (for example) colder at the same time? Do you mount the Peltier device so it makes contact with the side of the glass instead of its base? Being spring-loaded such that it pivots back and forth as necessary to make contact with the side of the glass, no matter what angle it's on? Maybe with a flexible air duct from the base to the bottom of the heat sink already attached to the Peltier device, so the fan in the base forces a lot of air through it?

Unfortunately, that concept doesn't quite work here, as all of my glasses are round in two dimensions, such that a flat object pressed against them would make contact at a single point, not even a line. Thus, heat transfer would be highly inefficient.

You can see my dilemma, and why I haven't tried doing anything else with this concept just yet. Granted, with how many of these I have right now, I could probably make one that just has a larger fan and contacts the bottom of the glass, then keep fiddling with another to see if I could make it any more efficient.
carlfoxmarten: (Default)
So, today I took my benchtop drill press outside, and used a hole saw set I'd bought years ago to cut the slots in the support pieces for my monitor stand.

Turns out, I forgot to drill the holes for screwing the top part to the sides, so I'll need to pull it out again at some point.

First cut was like a hot knife through butter. Second one, the drive belt popped off twice, as apparently the screw holding the spindle pulley in place had loosened enough to allow said pulley to slide upwards, and eventually off the shaft entirely. Hence why the pulley cover popped open.

Once it was fastened back down again, I was able to continue with the other cuts. Not quite as smooth as the first one, but I think that was the speed it was being run at.

Anyway, I have some sanding to do to smooth out the edges of my cuts, then I can drill the screw holes in everything, and then I can coat the whole thing in varnish to see how it all looks in the end. Though I'll probably sand the whole thing lightly before the varnish, and probably do two coats of vanish to see how that turns out.
carlfoxmarten: (Default)
I should have waited until later to post my last update, as (given that it was a lovely day again today) I took my scroll saw back out and made another attempt to accomplish this cut.

This time, I knew better what kind of effort was needed to get the previous cut cleaned up, so was able to make it actually really, really close to the lines I'd drawn (this time in pencil, instead of a metal scribed line that was harder to see last time), which means I'll have less sanding to do to make sure it's as smooth as I want it.

Granted, if I'd had access to either a band or a table saw, I would have been done these cuts in less than ten minutes, with far more accurate cuts than I'd have got by hand. But right now, I don't have one, so I'm using what I've got for the moment.

Given that this is still the first scroll saw I've ever used, I still don't know everything I should know about how to use it, but I have noticed that this one seems to like moving to the right as I push the wood backwards. I hadn't taken this into account for my second ever cut attempt, and tried to arrange the second cut so the section I'd wanted to keep was on the wrong side.

A bit of short-term-memory refreshing later, I measured the remaining wood again, and found that I had enough room on the opposite side (given that I'd kind of ruined the first section I'd intended to use), so drew another line to cut along and actually was far more successful cutting along that one than the prior line.

So I now have both pieces (which will act as the vertical supports for the monitor stand I've needed since rearranging my desk to fit a new monitor I picked up off the curb, months ago) clamped together, in preparation for sanding them smooth and even. Once I get that done, I'll be able to drill the screw holes, screw them together, then add some varnish and set it in place.

Actually, I still need to decide whether to make some bevel cuts on the front and back of each "leg" plate, to leave room for wires and such. I should probably do those right after I sand their other sides, now that I think about it...

Anyway, the scroll saw blade may need replacing sooner rather than later, but as I don't have any right now, I'll have to figure out an alternative option for the moment. Given the way the current blade attaches, I'm very tempted to take a coarse hacksaw blade, cut it shorter, then punch thin holes in each end for a short length of thin metal rod. In the approximate configuration of the current blade, that is. Maybe it'll work?
carlfoxmarten: (Default)
When my maternal grandfather passed away, he left no Will of any sort (or, he left everything to my mom before he went mental with the last thing he was sick with), so we cleaned out the place ourselves. This meant we could take things we wanted, as otherwise it was all getting thrown out anyway.

I got a few tools, including a vice, a drill press, a bunch of electronics parts, and an old Dremel-brand skill saw.

The vice needs some more bolts, as it was missing a few of them when I found it. Fortunately, I also found a box that looked like it fit (might even be its box, I'm not sure), so it's nicely contained on top of a shelf right now. But it's a really solid vice, enough that I'm pretty certain it'll be able to hold metal for drilling operations, so I'm pretty happy I have it.

The drill press works well. I've already used it to drill holes in an aluminum plate (the work plate for my Snapmaker Original, so I have more holes to clamp things down through), and had absolutely no problems with it at all. Definitely glad for that, too.
(I think the vice was actually screwed down to the drill press when we found it, so they should, apparently, work together)

The electronics parts have already been added to my collection, though I haven't done anything with the backlit LCD displays yet.

Now, the scroll saw. That has been a weird one, to be honest. First, since I don't know the history of Dremel, the company, and my first introduction was the rotary tool that (intentionally or unintentionally) bears the same name, I didn't know that they'd done anything else before that.

It's technically more than "just" a scroll saw. They've labelled it as a "Moto Shop" tool, as it does both scroll saw work, and has a power take-off for a sanding disk and a flexible-shaft tool that I'm pretty certain would eventually characterize their products.

Anyway, the first time I'd looked for its manual online, I'd found something that initially appeared to be what I was looking for, but certain details didn't match up. Eventually, I noticed that the depicted parts diagram had way more parts than mine had (including a blade release lever on top of the arm, among other things), and the document's title actually mentioned a different model than what I was looking for.
(also, to make things worse, the manual actually directed you to read the inside of the box it came in for certain things, like attaching the work table)

A further look (and ignoring all the links that pointed back to my initial find) found me a manual for a slightly older model, but all the parts I could see matched up very well, and it explained everything far better than the first manual I'd found. And with more actually descriptive words, too.

So today I finally took it to the backyard, took it apart slightly (mostly taking off the table, the lower arm cover, and the motor), and used a can of compressed air to blow all the sawdust out of it. Well, most of it, at least. I was able to blow at the majority of the mechanism, but the upper part of the arm isn't exactly accessible without turning the whole machine upside-down and taking the bottom plate off to reach everything. Then I lubricated the only joint I could find, that also had a felt pad to hold onto extra oil.

Then I brought out some wood I've been trying to cut with insufficiently-adequate hand tools, a pair of safety glasses, and an extension cord and gave it a try.

It's, well, apparently not intended to cut plywood as thick as three-quarters of an inch. The blade doesn't move quite far enough to properly clear the sawdust, so it was like pulling teeth to get it to cut. I'm pretty certain the blade actually isn't straight, either, and I don't have any spares at all if it'll be a problem.

A tool I'd also obtained from my late grandfather's place was an old, adjustable mitre saw system. And when I mean "adjustable", I mean that it's not your modern box, but a back plate, a wooden surface to cut through (should that happen), and an angle-adjustable brace to hold onto the back of the saw. Unfortunately, despite all my attempts, I haven't been able to get it to get close enough to a proper ninety-degree angle, so I got as close as I could, then stepped the cut away from where I wanted the cut to happen, and made the manual cut.

So I only had to "straighten" out the existing cut, but even then, the blade kept getting caught enough to vibrate the material somewhat alarmingly. Oh, and did I mention that we didn't find the spring-loaded brace that is supposed to hold the material you're cutting down? And that my grandfather had the blade in upside-down?

Anyway, to keep the blade from being trapped by the length of the cut I was trying to make, I notched into the area beside the cut I was trying to make, and would cut off each piece to make sure I wasn't trapping the blade for very long. Hopefully it also kept the sawdust moving more easily as well.

But still it wasn't quite enough for me to think that it was a feasible option. I did get nearly halfway across the eight-inch piece, and while the cut quality in the end was pretty good, I didn't have anywhere near enough accuracy to think that this was going to be the right option. My fingers had to get relatively close to the saw blade, and while I know for certain that the blade doesn't have enough power to pull the material in, this is the first time I've ever tried using power tools to cut wood, so it definitely made me a bit nervous.

I'll probably give it another go at some point, as it probably wasn't as concerning as I'd thought it was, but it's a bit more work than just having the initial mitre saw cut being at the right angle in the first place...
carlfoxmarten: (Default)
Way back in 2016, I'd backed the Kickstarter campaign for Jide Tech's Remix Mini, a hand-sized (including fingers, so not palm-sized) Android PC, claiming to be the first Android desktop PC. Being very small and lightweight, but supporting most Android apps at the time, the idea was to get a pretty full desktop experience from the device.

I enjoyed fiddling around with it once I got it, but at the time I hadn't figured out how I was going to use it on a regular basis, as well as them launching a second campaign for a newer device that was supposed to be way more powerful. So I'd shelved it for a while, as I thought it was going to be replaced with a newer model that should have been better.

Unfortunately for me (but I guess fortunate for them), they drew the attention of a thin-client enterprise company, and they were basically swallowed whole. The campaign was shut down, and everybody got their money back, but nobody else got the product in the end.

A few years ago, I'd tried to boot my Remix Mini again to see if it still worked, but it didn't do anything at the time, so I put it even deeper on the shelf and forgot about it again.

Well, I came across the power cables again, and precariously perched it on my desk to give it another try. Unfortunately, I don't have any monitors with a spare HDMI port, so I plugged it into my HDMI capture device, and viewed the stream with VLC. And it booted all the way up, even to the desktop again, with no problems. Even connected to the WiFi again (we might need to change the WiFi information at some point) and realized that I need to update my login credentials!

Anyway, I've shut it back down for the moment so I can figure out my next step. I'd like to be able to have it running on my desk alongside everything else, as I do a lot more things now that would actually work on a system like this. Only, it's a really old OS now, I'm not sure how many of my apps would actually support it anymore.

Oh well. Back on the shelf again. But more towards the front this time, I think...
carlfoxmarten: (Default)
Last post, I showed off the FM radio module that I want to install in a pair of old PC speakers. Picture of that, just in case:

A slightly modified FM radio module board, now with an orange backlight.

Today, I'm talking about all the things that need to happen for this to get mounted the way I want it.

One of the thing I only realized after thinking about this project for a while are the buttons. After all, the PC speakers I'll be using for this task are just made with a plastic shell, a small circuit board (which turned out to be mono, not stereo!), and the respective speakers. Yes, just your average PC speakers, likely the set mine came with at one point.
(it's been years, so I don't remember which set I got from where)

Anyway, this extremely light weight means that you can't push backwards on them without the speaker actually moving. Unless, of course, they're either sufficiently weighted (not likely to happen, in my case) or the buttons are oriented so they press downwards instead of to the back of the device.

Which means I need levers for the buttons. If I have a pivot bar above the circuit board, between the LCD screen and the buttons, I can add L-shaped levers that convert downwards forces to backwards forces on the buttons. Which isn't something I've ever done before.

If I was already fluent in using the 3D printing function of my Snapmaker Original machine, I could just whip up five levers, and maybe the frame that holds the pivot bar. At the moment, I don't have a way to keep the area around the system ventilated, so I'm not about to try this technique for this project. That project is quite a long time away, right now, maybe not even before I have the opportunity to move out of where I currently live, so I'm keeping all the fillament rolls tightly sealed up for the moment.

Now, one of the categories of content I've been watching on YouTube is metalworking videos, and in particular, metal milling videos. This Old Tony, Blondihacks, and a couple more, have given me an interesting perspective on material modification. Like I said, I have a Snapmaker Original, which handles 3D printing, laser engraving, and three-axis CNC engraving. The last option is actually pretty close to a metal milling machine, only for wood. So if I can figure out how to adapt the concepts to milling things on the CNC machine, hopefully I can get the effect I'm aiming for out of it.

It'll be something like CMC, Computer Mediated Control, as long as I have the commands set up on the computer, and the printer connected by USB cable, I can adjust things by eye a bit, then send the command to start the current batch of commands in that location. Though the holes for the pivot bar will need to be handled separately, as drilling holes is definitely not supported by this system. Despite lots of people complaining about it, Snapmaker has officially abandonded us first-generation machine owners...

Anyway, I have some small pieces of wood that should be sufficient for this task, so will be experimenting with getting them small enough for the job. Maybe I'll be able to make it with mostly hand tools, maybe I'll need a machine to help, we'll see.

But pictures will be forthcoming on the results, if not the process. Though I'm not about to document the entire process on pictures...
carlfoxmarten: (Default)
I mentioned that one of the things I want to do is install an FM radio module into a set of PC speakers, but didn't actually say what kind of radio module I had. While there are a lot of small circuit boards with the necessary chips (and sometimes the crystal for frequency stability), but no antenna, audio amplifier, display, or control scheme. For boards like that, it's just a small part (literally!) of a larger system.

Instead, the modules I have (and I have a few, they're cheap from China, where they're made) include an LCD screen to show what frequency they're on, signal strength, mute setting, and more. Most of them have buttons for volume, channel, and mute, but one even has no buttons and a bunch of through-holes for external control signals. Mostly buttons, admittedly, but the option is there for controlling it with another device.
(at the time of writing, <url="https://www.aliexpress.com/item/33038696986.html">this set of FM radio modules is a good example of the variety available. Searching AliExpress for "FM radio lcd" also should show most of these options, should the one I've linked to disappear)

Anyway, one of the annoyances of all of these modules is that they all use a blue LED to backlight their LCD displays, and it's only on for a short while after being interacted with. And since I'm sick and tired of blue LEDs nowadays, and would prefer the backlight stays on while the device is powered, and it turns out, the very first FM radio module I'd bought had an LED I could swap out. Nowadays, the LED is glued in place, with very short legs that go directly into the PCB. Fortunately, I was able to swap out the blue LED for a (supposedly) yellow one, then connect it to power and ground through a current-limiting resistor.

That looks like this now:

A slightly modified FM radio module board, now with an orange backlight.

And I'm quite happy with the results, especially because it's not looking yellow, but orange, a much softer, more welcoming colour that I'd actually wanted in the first place. So it was a pleasant surprise to get that colour of backlight out of all the options I currently have access to.

Now, one of the things I'd noticed on all of the FM radio modules I've bought thus far is a set of three smaller through-hole pads labeled RX, GND, TX. It turns out, the control chips include a serial communications protocol that I'd hoped would allow me to pull the RDS (Radio Data System) information out of the module. After all, looking up the datasheet for the actual FM radio chip used on these boards (the Quintic QN8035, in my case) does support decoding this information.

It took me on a very weird dive, but I eventually found someone's own report on their dive into this, with a load of half-Chinese, half-English screenshots of command sets, and the specifications for the UART settings. The commands I've found thus far mostly includes every variation to the buttons already on the devices, including setting the tuned frequency directly, setting volume levels directly or just up or down, the backlight setting (turns out, it can be changed, just not through buttons), nearly full control over scanning for stations, and squelch settings.

But not the RDS information. Rather disappointing. But at least it means I won't need to devote any more time to thinking about trying to add this function to my current plans.

One advantage of the particular board I'm using, is that it includes two three-Watt speaker amplifier chips, so I don't need to add any more hardware to driver speakers.

On the other hand, if I wanted to make sure I had access to this information, I had bought a demo board showcasing the Silicon Labs Si4702. Either that or the Si4703. And unfortunately, that last digit is not listed on the chip itself, so I don't know which chip it actually is. And the -02 version doesn't have RDS support. But, on the other hand, it also doesn't have a display or buttons, so directly interfaces with a microcontroller. It just has the massive disadvantage of not having a separate antenna input, as it uses a headphone cable instead, so no driving speakers either.

Anyway, as you might be able to tell from the picture I've posted above, the LCD panel has lifted off the backlight diffusing panel (due to me fiddling around with it for years without mounting it into anything), so to install it into the speaker housing, I need to clamp it down to be flat again. Actually, I was going to write about that task here, but I think I'll write a separate journal entry about that...

So, some progress, I guess?
carlfoxmarten: (Default)
I don't know if it was just due to good customer service, or the fact that I'd backed the project, but the person I was dealing with sent me a replacement Xtron Pro device, no charge. And it arrived today.

I immediately plugged it into my computer, uploaded the latest firmware file, then added the latest version of my project that I had on hand. Which crashed the device, but nowhere near as badly as last time. This time, I was able to restart it back into the menu program instead. So I was able to properly delete the old file, then generate a new file from my project and drop that onto the device, where it's been working perfectly ever since.

It's finished charging now, too, so I'll be able to fiddle around with it as much as I want. Though I'll need to remember to properly delete the old files whenever I add a newer version of my project. I don't want a rehash of this incident to happen again...

Now, I get to fiddle with how the whole game feels. For example, the time it takes to lower the falling block one row is a bit fast. Which is something I never thought I'd say. Either it's not taking enough time to move, or it's waiting too long between each rendered frame.

It's all a balancing act, now. Though I still haven't done anything with regards to scoring...
carlfoxmarten: (Default)
While the headphones I use the most are fully wireless BlueTooth ones, I started off with Sony's MDR-G45 (not the in-ear G45LP that came later, I gather) and used them a lot. I listened to a ton of music on my MP3 players through those!

Enough that I have at least two pairs right now, and both should have broken wires near the plug end by now. One is stored in a box for further experimentation (I'd wanted to convert them to pure BlueTooth at one point, but never quite figured out how at the time), and the other is hanging over my desk as a backup option for my gaming headset.

This latter pair definitely had a problem with its cable, as I'd tried to listen to something on my laptop, but its cable definitely caused problems.

It took me a while to figure out how to solder to the new plug (as there's no tabs like on older style plugs), but it's working again.

Slightly annoyingly, I have a whole bag full of four-contact 3.5mm headphone plugs, but appear to be entirely out of the three-contact ones. Much as I'd have loved to use a standard three-contact plug (due to it only being a pair of headphones with no microphone), as all I have are four-contact, I'd wanted to include both a microphone jack and a play/pause button. Because the option is there, of course.

I'd even found the information necessary to add up to three additional buttons for other functions, but didn't have the confidence to give that a try at the time.

But it works now, and I have ideas for how to add functionality for next time, so we'll see how long this repair lasts.
carlfoxmarten: (Default)
I finally made an effort to try getting my second USB WiFi dongle to work today. First, trying it on Windows (the driver installed, but I couldn't figure out how to create a new, hosted WiFi network), then dredging through a whole bunch of forum posts to try to get it working on Linux.

With regards to WiFi drivers, Linux is both a Utopian Mecca, and a hellscape, at the same time.

On the one hand, lots of people are tweaking drivers to work with more chipsets and more Linux kernel versions. But on the other, the chipset names bear no resemblance to the model numbers of the devices using them, and some of the devices change chipsets depending on revision! So I have to search using several pieces of information and try each driver I find, until I find the one that works.

It took me about three or four drivers to find the right one, then I had to find someone else's adaptation of the official Asus copy of the driver. Fortunately, it worked once I got through the (relatively straightforward) process of installing the driver. And it's now working excellently well.

Then I ran into a problem with the NetworkManager program that actually manages all the network connections. Turns out, having two WiFi devices installed at the same time is supported, but if I didn't set it up to run my new, independent WiFi access point to run automatically when the device is plugged in, selecting the second WiFi device crashes the selection tool. I'll need to figure out how to report this bug, but with it set to launch automatically, I don't need to wait.

I am now ready to start trying to write this system! A sufficient amount of progress has been made.

Though I should probably get ready for some software version control, to be on the safe side. Much as I won't be releasing this source code any time soon, I'll want to make sure I have it all running smoothly before I start dumping code into both the remote device and the mini server I'll be writing.

It's a lot more progress than I was expecting to make today, so I'm pretty happy with myself.
carlfoxmarten: (Default)
The general concept for this project is having a collection of wireless temperature (and more, hopefully) sensors I can place in various locations (outside front and back, garage, etc) that we can monitor from multiple locations, via a web server somewhere in the house.

Currently, I have two cheap wireless temperature sensor systems from the same company, and it turns out both use the same remote sensors, with no way to prevent their base stations from listening to the other sensor. And technically, the same brand does sell a "double" base station with two sensors, but the price jumps a lot from any of their one-sensor models, and I couldn't afford it. Conversely, I already have a bunch of pieces that could, theoretically, be turned into a small network of wirelessly-connected temperature sensors.

I even have a pretty solid idea of how to handle the hardware of the remote sensors. The inexpensive microcontrollers by Espressif are both inexpensive, and all include WiFi capabilities. Then there's a massive list of easily connected tempearture, humidity, and pressure sensors for very little money.

On the positive side, the actual sensor modules are both cheap, and quite easy to connect in hardware, and talk with in software. I've chosen which module I want to use, but if I need to change to another one, it won't be that difficult to swap out software libraries to make sure it still works.

The more interesting part is the microcontroller. While I have a variety of them (I've been buying samples in a wide variety for quite while now, mostly out of curiosity), I'm leaning towards the ESP32 series. They also have BlueTooth capabilities, not that I think I'll be using that, but also are all dual-core, with at least one real-time clock, and that's about perfect for what I want to accomplish with it.

The other half of the system is actually a lot trickier than I'd anticipated. A single-board computer (shortened to SBC, apparently) that can run "normal" software (as opposed to embedded software) is my aim, for many reasons. These include compact size, quiet operation, built-in WiFi and wired network capabilities, and hard storage of some sort. The Raspberry Pi is a very attractive option to me for all of these reasons, but I didn't realize I'd wanted to experiment with something like this until very recently, and not only do I not have the funds for it, but the supply has actually been drying up due to many reasons. There may be "compatible" alternatives, but I'm not comfortable with them right now due to not knowing how well-documented they are.

Unfortunately, because it's essentially a system in two parts, I can't really build one half at a time, as the other half would need to be in place for testing. And I work so much better sort of building the whole thing up at the same time.

One thing that's holding me back right now is due to not understanding Linux's Network Manager system. Technically, if I was writing the central server code on my laptop (for eample), I could write the remote sensor module code to talk to the laptop's server code. But I'm not comfortable putting the password to our home WiFi network directly into my source code, even for testing.

Instead, I want to have a separate WiFi card that hosts its own WiFi network, without linking it to any other networks connected to the computer. Hopefully that improves additional security measures. I have a secondary USB WiFi adapter, and it works, but I don't remember how to make it start working again. Unfortunately, Linux WiFi drivers are in a terrible state of affairs, and nobody seems to have a central repository for USB WiFi device drivers.
(from recent experience, I'm not even convinced that Windows can easily do what I'm trying to do, either)
carlfoxmarten: (Default)
Well, that broke faster than I expected.
=>.<=

Basically all of my testing has been with the web-based Xtron Pro emulator built into the Xmaker MakeCode Editor, so it appeared that it was working properly.

Fortunately, I'd managed to get my code to the point of actually having a minimally-playable game, so I wanted to get it onto the actual device so I could play around with it in my hands and see how it performed, and what needed to be improved.

Unfortunately, I ran into problems right away. My file manager defaulted to "trashing" the old file instead of straight-up deleting it, which means that it created a "trash" folder. Which turned out to be full of garbage files and folders. And when I started my new code, it ran for a bit (long enough to land one block to the bottom), then it crashed with a system-level error message.

And refused the boot again after that.

It'll vibrate the pager motor and flash the low-battery LED at appropriate times, but it won't show up as a thumbdrive, nor will the screen light up again.

Oh, and yes, I am in contact with the company that made this device. They're not sure what happened either, and since it's using a microcontroller I don't have debug kit for, I can't do any debugging myself just yet.
(if it was an Espressif brand microcontroller, I'd have the tools, but it's an STM32-series chip, so I can't without their specific programming and debugging tools)

I have been assured that they'll work with me to get it fixed, or replaced if it can't be fixed, but there's a bunch of testing we'll both need to do before that's possible.

I've sent them the file I'd put on the device in the first place, so if there's an error with that, they'll be able to see what might need to be fixed. Otherwise, it would be an issue directly with my module, and I don't know how that all would work.

For the moment, however, it's purely a waiting game. Which isn't helped by the fact that, relative to my timezone, the person I'm working with is usually only on at 4am...
carlfoxmarten: (Default)
Apparently, I don't have many friends on here that have come over from LJ, so it's been less than encouraging to post here. I'm going to try posting again, and will see what happens.

Here, I'm going to comment on some of the many and varied projects I'm working on, in no particular order.

#1: "Xtris", a Tetris clone for the "Xtron Pro"


I'm quite interested in hand-held devices I can program myself, and one Kickstarter I'd backed years ago was for the "PocketStar" keychain-sized "retro" gaming device. Programming them is as easy as setting your Arduino development environment (IDE) for the device and hitting "Compile". I'd enjoyed this one enough, and broke mine through my own fault, so had ordered a pair of replacements, though they don't have anything larger from that company.

So I backed something that was larger, and advertised a relatively simple programming interface. It turned out to be called the "Xtron Pro", and isn't actually intended for the "average" retro gamer or retro game programmer. No, it's intended for kids learning to program. Which has some really frustrating limitations. For example, it uses a 16-colour palette. For the entire screen. As in, you can't show more than that many colours on the screen at a time. And the default colour palette isn't all that great, though you can change that at run-time. But not in the built-in image editor. So you have to know what you're doing when building your images.

Yes, I am still trying to do this, but it's slow going. Another problem is that you can't write C or C++ programs for it, at least not with the systems it comes with. Instead, you can use JavaScript or Python, both of which I'm familiar with as languages, but the API you're supposed to use is painfully poorly documented.

But it's coming along, and I've got the majority of the immediately important visuals already completed. Up next is the actual interactive parts, including all the animations I'll want to use. Though, with how much I'm having to learn about this platform as I go, it is in deed slow going.

#2: Remote Temperature Sensors


I know such things already exist commercially, but the problem I've run into actually started with the limitations of two such cheap commercial units. I bought a sensor/base station set by Le Crosse, which turned out be rather useful and quite accurate at our last house, because the shed had a tarp on one side which protected the sensor from direct sunlight. When we moved into this house, we didn't have anywhere near as useful a place to stick the sensor, and during a summer we had questions about how hot the garage was getting (as we store a second fridge and two upright freezers in there), so my temperature sensor got moved down there and never moved again.

After which I bought a second, different model of sensor/base station pair from the same brand. And they started to interfere with each other. Turns out, it's a serious limitation of the protocol (as someone has reverse-engineered it and published the information online), and there's nothing I can do about it at all. So I bought second one, from a different brand, which has worked well enough so far.

But, you know, there's other features I'd like to have. Given how difficult it is to have entirely reliable temperature sensors that are not influenced by direct sunlight, or sunlight heating up the grass below the sensors, I kind of want to have at least one sensor to the east of the house, another to the west, and maybe incorporate another one for the one in the garage. And, of course, three doesn't need to be a solid limitation. Plus, I'd like to be able to tell how humid it is outside, as I don't have any way to tell that right now.

So I have an idea of how to do it, but there's some limitations, and I'll want to do at least a few posts on how that's coming.

#3: USB-connected Media Remote keyboard


Unlike every other Android device I've ever had, the two Asus ZenPad 10 tablets I have don't like having BlueTooth on at the same time as the WiFi connection going. With both on at the same time, at some point in the future the WiFi connection is going to hang, right up until BlueTooth is turned off again. Which means I can't use already-existing media remotes, like I do with my phone. I should probably comment on my experience with those at some point, too.

Anyway, you can buy loads of cheap USB-capable microcontrollers, which are very easy to write code for, and already have a variety of modules that should be useful.

The problem comes in that the vast majority of USB-capable microcontrollers use USB-to-serial-port chips, that cannot be told to act like a keyboard. And while the ones I'm using right now don't have those chips, they instead talk directly to the computer over directly-controlled pins (using a low-speed USB communications protocol), the libraries available for these modules can't actually handle the media control scan codes.

I'm currently conversing with someone on the forum for the brand of microcontroller I'm using, but we're not getting anywhere very quickly due to how vastly complicated the USB specification is. Hopefully I'll get somewhere useful sooner rather than later...

#4: FM Radio in old PC speakers


Before I bought my current set of Altec Lansing speakers, I'd previously had a couple of older PC speakers. Combine this with how difficult it is to find FM radios with digital tuners, and how cheaply you can find moderately decent ones from China, I now want to put a small, credit card sized, single board FM radio tuner module into a pair of PC speakers.

In theory, it would be as simple as cutting a hole into the front of one of the speakers, but the front side of the speaker won't hold the LCD screen in place (due to me fiddling with it over the time I've had it), and I'm currently trying to figure out (with my extremely limited experience) what exactly I want it to look like when it's actually built.

One problem, for example, is that, even with all the things I know will need to go into the "main" speaker, it won't be heavy enough to hold it against the simple act of pressing any of its buttons. I could add an extra heavy weight to the bottom, but it would be simpler to either mount the buttons so they're pressed downwards, or (as the module I'm using has its own buttons already attached) use levers to convert downwards pressure to sideways pressure on the existing buttons. Which is a very interesting challenge all on its own.

Another is that, given that it doesn't take all that much energy, I want the backlight to be on all the time. Which wouldn't be too much of a problem, except that the default LED colour it came with was blue, and I'd rather have almost any other colour. Do you have any idea how hard it is to solder wires directly to surface-mount LEDs!?

#5: Monitor Stand


Not everything on this list is digital and/or electronics, though this directly relates to a hardware thing. I'd picked up a random LCD monitor off the street a few months ago, and had to figure out how to squeeze it onto my desk, given that my desk here is stuck inside my bedroom's closet.
(this is a bad idea, don't do it. I no longer have a random place to toss things while I figure out how to store it!)

Anyway, I'd inherited a variety of pieces of plywood from my last grandparent to pass away, so was able to put my main monitor (which, it turns out, was too high for how high I sit in my chair) on a single roll of 3D printing filament (obtained from one of the two 3D printers I still haven't used for that purpose yet) and a piece of plywood. Ideally, I'm supposed to have added a leg to each side of the plywood platform already, but it's so easy to overlook (since I'm always looking at the thing above it) that I just haven't done anything about it yet.

Plus, there's the problem with the mousepad for my laptop intersecting with a corner of where the stand will go, so I haven't been sure how to proceed on that front yet. I have enough tools that I should be able to do it, it just takes effort to pull off.

I can't move my main monitor pretty much anywhere but where it's currently sitting either. It can't move left, as it's already slightly obscuring the secondary monitor in that direction. It can't move right, because I have two pencil stands blocking it (which are also being blocked by other things on the desk so they can't move to the right either), as well as the shallow shelf I have behind it on the desk. It can't move up because that would cause more neck strain. And it can't move down because the stand the secondary monitor sits on is a small fraction of an inch below its left edge.

Once the stand is built, I'll be able to move my desktop USB power supply under there, reconnect the LED underlighting that I had on the previous setup, and add a bit of extra storage under there.

#6: Small plywood box


Turns out, one of the dollar store chains in my area has "craft" sized plywood. Technically five-ply, though the outer two layers are paper thin, so effectively three-ply. One size is square, four-and-a-half inches per side, and not actually anywhere near square. The other is about seven inches long by not quite three inches wide, and both are five pieces for about two bucks.

The square ones are close enough to the right size for drinks coasters, so I didn't have much to do with the long, thin ones. Until I realized that I had a use for a small box to fit under the phone stand on my desk. Thus far, I'm storing things inside the stand, and when I'm charging my phone, the cable bends too tightly and/or takes up too much space on the desk in front, so if I stood it up on a small box, it wouldn't be as much of a problem.

Now, while I have the tools to deal with smaller pieces of balsa wood (courtesy of the passing of my grandfather who used to build his own RC planes) and larger pieces of wood (due to the mitre box I'd bought a while ago), I don't really have tools sized to this scale in the middle.

Fortunately, all I want is a butt-joint, not a 45° mitre-joint, but even then I'm more than a little nervous about this. I am going to see this every day, so any obvious mistake is going to be entirely frustrating each and every time I look at it.

-----

Anyway, that's just some of the things I'm working on. And forgetting about. There's probably lots more, but I don't remember what they are right now. If I had a master list of them, I'd want to work on all of them, but it's simply not possible. Plus, I'd feel ridiculously guilty that I'm not working on any of them...
carlfoxmarten: (Default)
About a month ago, I went for a walk to the nearest Tim Hortons, and on the way there I saw a roughly 26/28-inch TV sitting on the side of the road, with the remote taped to it, and a sign saying “free”. Thinking I’d pick it up on my way back, I continued on.

And it wasn’t there when I got back.
(“The one that got away was this big!”)

Anyway, a week or two ago, again on a Tim Hortons trip, but this time on my way home again, I saw a computer monitor. Fortunately, I had a spare hand to grab it and carry it home, so it didn’t get away this time! =^.^=

Fortunately, the weather was dry, being quite warm during the day, but rather cold at night. And from the complete coating of dust on it, it hadn’t been there long enough to get any moisture on or in it!

No cables, but fortunately its power supply was built-in, using a standard PC power cable, and taking both DVI and VGA.

The plan was to add it to my PC as a second monitor, given that it’s slightly smaller than my current one.
(twenty inches versus twenty-three. Not much of a difference, but enough)

I’d also recently discovered that my main monitor was about four inches too high for proper computer posture, resulting in a sore neck when playing games that require me to look at the top of the screen.

Fortunately, after about a week, I was able to remove enough stuff from my desk, rearrange enough stuff, modify the stand I’d originally had my main monitor on, and swap video cables around a bit, to make enough room for adding the second monitor. It’s displaced my ten-inch Android tablet for the moment, and I’ll probably have to move it back to the other side of the desk again, but now I have two monitors connected to my PC at one time! Something I’ve never done before.

It’s not a perfect setup, as the main monitor is still covering about a fifth of the secondary monitor, but I don’t think I necessarily need to have the entire second monitor visible at a time. It’s still early days, though.

I now have two small-to-medium boxes of stuff to sort and store, that are currently being kicked around my room, as I don’t really have a lot of other storage space in my room at the moment...
carlfoxmarten: (Default)
I'm mostly just posting this for my own reference, but if it helps you guys, that would be great too.

Big Clive on YouTube dissects a lot of cheap Chinese electronics and posts the results online for others to see and learn from. Granted, it doesn't have to be cheap Chinese crap, as he does work for a large theatre-type company over in England, so sometimes he has to take large and ludicrously expensive theatre lights apart to see what went wrong and try to fix it, which is often as enlightening as his usual content.

Anyway, he once did a series of videos on Chinese "meteor" lights, or the type of icicle lights that actually look light raindrops are falling down the length of each icicle. The sheer complexity the Chinese engineers have been able to squeeze out of such inexpensive components is very impressive.

First, an explanation of how these work:
Everything you didn't want to know about Chinese meteor lights.

Second, how he was able to repair a damaged string:
Fixing a faulty meteor light.

Next, how you can make your own icicle/meteor lights:
Make DIY meteor lights with multiple effects.

And finally, a project he experimented with to get different types of effects out of a string of meteor lights:
Experimental meteor light software.

Why I'm posting this is for an idea I just had for an electronic game timer. Now, one disadvantage of using this technique is that it's only possible to have one LED lit at a time, but the major advantage is that you can control twelve discrete, single-colour LEDs with just three control lines from the microcontroller. This simplifies things a lot on the hardware end, and makes it even cheaper to run a lot of LEDs, but means you have to keep cycling through all the lit LEDs constantly. And because of that, it's not constantly lighting the LEDs, but flicking through them, so it's not going to look constantly lit.

The alternative is to use digitally-controlled LEDs, known also as NeoPixels or the WS2811(B). That would use only a single data pin for the entire string of LEDs, but adds a fair bit to the costs, though not as much if you buy unbranded ones.

The general idea of the shape of the timer is a pillar-shaped bar graph kind of affair, with the lit segments lowering down like sand until it expires. I'll be coming back to this idea later, I just want to get it down somewhere I can refer back to it when I have the time later.
carlfoxmarten: (Default)
I may have mentioned that I've been working on building a prop for a local theatre company on here, though not as much as I've talked about it on a forum I frequent. Anyway, progress on that has pretty much stopped due to several factors, mostly stemming from the fact that I don't have a base to work from and have to build the whole thing from scratch.

Anyway, this year's panto is Beauty and the Beast, and since my boss has started to refuse me Saturdays off, I'm not able to participate in the same way anymore. Apart from that, I'd also noticed that the script mentions a magic mirror. Many movie versions depict the magic mirror as glowing shinily when activated and used, so why not add some LEDs to the prop so it does some cool effects like that?

So I've been given the task, about two weeks ago, and now I'm almost done building the prop! =^.^=

Nearly instrumental was a lady at a higher-end secondhand store around here that helped me find a cheap kid's racquet made of plastic. A layer or two of tape on each side got rid of the annoying bounce sound from the plastic sheet in the middle, and foam board is doing very nicely for fleshing out the back side.

To use the mirror, you're supposed to "polish" it three times, then it flashes and shows you a glistening image of what you want to see.

To provide the lighting effects, I'm using NeoPixels, individually-addressed LEDs with the LED driver chips built right into them. See the article for more info. Anyway, what that allows me to do is to control the RGB colour of each LED independently of each other, but only use a single data line for an entire string, instead of having three separate control lines per LED.

Finally, to provide the brains of the operation and effects, I'm using a Pro Trinket, a tiny microcontroller by the same company as the NeoPixels, that uses the same software development toolkit as the very popular Arduino series of boards. They're very easy to write code for, all the way through to programming the board itself, as well as being fairly cheap to buy, running around $16CDN each.
(compare that to $40 and up for the official Arduino boards)

Power will be supplied by a cheap dollar store USB power bank, which provides a reliable 5V supply, which both the LEDs and control board needs. Plus, it's cheap, around three bucks. Pity I can't find any more for the moment, so as soon as I do, I'll be buying a whole bunch.

So far, I have a semicircle of wire with the LEDs spaced out around it that fits just inside the outer edge of the racquet, and a temporarily wired up microcontroller, with a program that is about 90% of the way to being what I understand we want thus far. Once I have it properly attached to the mirror frame, I'll be bringing it to the next rehearsal for more feedback.

Profile

carlfoxmarten: (Default)
Carl Foxmarten

August 2023

S M T W T F S
  12 345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 3rd, 2025 07:50 pm
Powered by Dreamwidth Studios