Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
csammis
Aug 26, 2003

Mental Institution
I watched the video and without commenting on the quality of the box - who eats a slice of watermelon over their electronics bench? I can barely be trusted with a glass of water on a separate table :saddowns:

Adbot
ADBOT LOVES YOU

csammis
Aug 26, 2003

Mental Institution
I never really learned about passive components in school so I'm building a USB condom to further my edumacation. I get how voltage dividers work and how to pick resistor values to get desired voltages on D+ and D-, but how should I select the power rating for the resistors? Ideally I would need to know how much current would be expected to be sunk through D+ and D- and use the voltage on each pin to calculate the power and choose a resistor with a power rating greater than or equal to that, correct?

csammis
Aug 26, 2003

Mental Institution
Great, thanks for the pointers. The resistors I was looking at are rated for 1/10th of a watt so they'll be good to go.

csammis
Aug 26, 2003

Mental Institution

mobby_6kl posted:

I don't have any plants and fish don't care, it's just to make them look all pretty. I have a bunch of LED strips but they're not really powerful enough, the tank now has two 50W tubes so a 18W strip isn't going to come close. They make more dense lights specifically for this purpose so that's the backup solution.

I switched to LED over my tanks years ago and I will never ever go back to fluorescents. Buy once, last forever!

From your description of the problem I'd blame the ballast. That's almost always the second thing to kick it on a fluorescent aquarium fixture, the first being the bulbs. If you plug it in and turn it on and listen carefully, can you hear anything from the sealed area?

csammis
Aug 26, 2003

Mental Institution
We use Kapton tape at work to hold down stray wires soldered onto boards and it works well. Electrical tape would be fine too, technically speaking, but it does leave things gummy and gross in my experience.

csammis
Aug 26, 2003

Mental Institution
The last time you posted about this you had a Teensy in there, didn't you? I'm not familiar with Teensys specifically, but generically speaking with a microcontroller you could do something like this:

  • Wire your switch between ground and a spare GPIO
  • Configure the GPIO as an input with a pullup resistor, so that the pin reads HIGH normally and LOW when the switch is closed
  • Configure an interrupt on the GPIO so that when the level state changes, the MCU wakes up and you can make decisions based on the state
  • If your MCU receives the interrupt and decides the switch is in the "prop is closed" state, it could power down all the peripheral components and set itself into a deep sleep (that can be woken from via the GPIO interrupt) to conserve power
  • If your MCU wakes up via switch interrupt and decides the switch is in the "prop is open" state, power up the peripheral components and go to town

That would let you use a switch rated for very low current - rather than switching the entire power supply, you're using it as an input to the MCU to control the odds and ends via software.

edit: bonus to this approach is that it doesn't matter whether your switch is NC or NO, just write the code for whatever the proper logic level is with the switch you select.

csammis
Aug 26, 2003

Mental Institution
Load switch in the circuit maybe? I'm not super familiar with LiPo charging circuits, why do you have to physically disconnect it?

csammis
Aug 26, 2003

Mental Institution
From a high level code execution perspective going to sleep and waking up could be thought about like sequential operations because the MCU isn't actively doing anything while it's asleep. A very simple flow would look like this:

code:
device_got_closed()
{
    Shut down peripherals
    Enable gpio_interrupt_handler on the switch GPIO
    Enter deep sleep
    Start up peripherals
    Reset / restart
}

gpio_interrupt_handler()
{
    Exit deep sleep
}
Execution in device_got_closed() stops when entering deep sleep and resumes at the instruction immediately after when the interrupt handler exits deep sleep.

Have you done interrupt-driven development before? That might be a good place to start to figure out if this approach would work for you.

csammis
Aug 26, 2003

Mental Institution

quote:

What is a technique to guarantee both static initialization and static deinitialization?
Short answer: use the Nifty Counter Idiom (but make sure you understand the non-trivial tradeoffs!).

TODO: WRITE THIS UP

TODO: WRITE UP TRADEOFFS

Goddamn I miss working with C++ :allears:

csammis
Aug 26, 2003

Mental Institution
We have aerosol Chemtronics Flux-Off on our lab benches at work and it is the absolute poo poo. It's seriously unbelievable how well it just washes away unused flux, one spritz later and it's like it never happened.

csammis
Aug 26, 2003

Mental Institution
Seems very likely to be jamming-related then. I would bet your ancient hub is negotiating some slower USB speed that’s signaling at a frequency that doesn’t jam GPS (or jams less - as a poster above noted GPS is stupid easy to jam)

csammis
Aug 26, 2003

Mental Institution
That sort of problem to me screams Wireshark and a custom protocol plugin, if it doesn't support yours out of the box

csammis
Aug 26, 2003

Mental Institution

babyeatingpsychopath posted:

How do I get the whatever into wireshark? RS422->USB exists, but I don't know of anything that will talk over ARINC lines to USB or ethernet or anything.

If you've got raw dumps can you munge the samples into pcap format? The format's pretty simple and Wireshark consumes that natively.

quote:

Although, plugging a wireshark into an aviation-grade ethernet hub would be interesting. I wonder what's going on over Garmin HSDB.

I work in Consumer Engineering (everything Garmin does minus aviation) and we don't get to play with Aviation's toys very often - that would be pretty cool to see though.

csammis
Aug 26, 2003

Mental Institution

BattleMaster posted:

What do bad probes do to signals under measurement?

The bench scope that my former team let the software engineers use had lovely probes which added quite a bit of capacitance to the signal under test. It wasn't always a big issue but at one point I tried to probe a 26MHz clock going into a part which is hugely sensitive to the cleanliness of said clock, and the part would always just seize up and stop. We ended up taking it to a EE's bench scope with lower capacitance probes and then it worked fine :shrug:

csammis
Aug 26, 2003

Mental Institution
Is the client planning on using a smartphone as the base station with which the device will check in? As in, a phone in the possession of a child who frequently forgets and misplaces expensive things? :crossarms:

e: I don’t mean for this to come off as antagonistic. I work for a company which makes expensive wearables. We don’t make a product that does this per se but I’m at least aware of the challenges involved in making connected, small, battery powered devices, and those targeted to children without phones have particular connectivity vs battery life challenges. Buy the kid a carabiner.

csammis fucked around with this message at 00:09 on Oct 6, 2019

csammis
Aug 26, 2003

Mental Institution
Haha that's hilarious, I've never seen a SPI bus floating badly enough to accidentally clock in data to a slave.

If at all possible get the SPI master powered up, settled, and bus pins in a deterministic state before powering on the slaves or taking them out of reset. That way you don't have to rely on weird "// send this command because sometimes it starts in test mode" code.

csammis
Aug 26, 2003

Mental Institution
The MSP430 by Texas Instruments is the MCU I use in power-sipping applications because of its extremely low current sleep states. Even the little ones would be able to handle your IO requirements without a problem.

That said, the MCU power cost no matter how you slice it is going to be dwarfed by the LEDs and whatever you are going to use as the alarm function (speaker? piezo buzzer? vib motor?) when it goes off. Is your plan to keep the LEDs on at all times?

edit: I haven't used seven-segment displays and I don't know how it gets divvied up by individual segments but let's say you can get away with 10mA average draw per seven-segment display...obviously the 10s digit for the hour will be off most of the time in 12hr display, so I'm guessing here. Four displays comes out to 40mA, so 1000mAh / 40mA = 25 hours for just the LEDs. You should be able to keep the other components under 2mA average draw without breaking a sweat - a microcontroller in deep sleep will be in the microamp range for most of the time - but that's still only about a day on a single charge for an (optimal) 1000mAh source.

edit2: \/\/\/\/\/\/ agreed on trusting your alarm to a battery powered device alone. It sounds like the central concept of the OPs design is flipping it over to turn it off but they should still be able to get away with a micro USB sticking out the back of it. They could even build the port into a slip ring!

csammis fucked around with this message at 19:17 on Jan 26, 2020

csammis
Aug 26, 2003

Mental Institution

Splode posted:

Imagine recommending a TI microcontroller to a beginner, what a monster

That’s what I learned on and what I know can be dropped to single/low double digit microamps without breaking a sweat, and Code Composer Studio isn’t total poo poo :saddowns: I still use the MSP430FR series for most of my hobby projects. Professionally I work mostly with M4F cores that require a shitload of thinking and preparation to drop into a low-leakage wake up state and actually stay there for an appreciable amount of time.

What’s a good hobbyist option these days for ULP?

csammis
Aug 26, 2003

Mental Institution
They’re not really designed for wire-to-wire, but I keep JST XH connectors on hand by the dozens

csammis
Aug 26, 2003

Mental Institution

KnifeWrench posted:

The catch is, I don't know how the market is for generic crimpers, and, as usual, the official ones are kind of an investment.

I have these guys and they work pretty well for me. I’m in the low hundreds of crimps on them and they are still in good shape. The large side of the JST pin fits in the 1.9 slot and the small side in the 1.3 slot.

csammis
Aug 26, 2003

Mental Institution
How does the thread feel about tip tinner? I’d never used it before I started at my current job and now I use it religiously, but I cobbled together most of my soldering knowledge from bits and pieces and random advice so I don’t know what’s considered universally good

csammis
Aug 26, 2003

Mental Institution

sharkytm posted:

Don't use tip tinner and don't use knockoff tips.

I mean...this is the kind of pronouncement with no followup doesn't fill me with a lot of confidence that it's the Right Thing. Don't use tip tinner because it's bad for the tips? It's not necessary? I'm really looking for the why.

FWIW I've got a Weller iron and am using Weller tips. Generally I run at 680F. My cleaning routine when I start and stop work is to roll the hot tip through the tinner and scrape it off with brass wool. Between joints if I notice the solder beading to the tip instead of the pad or component then I'll give it a swipe through brass wool.

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

it's not weed.

Reef aquaria? Because bonus if you’re going to mount this over saltwater.

e: \/\/\/ you know there’s a reason that the good reef lighting is so drat expensive, and it’s not just supply and demand. A good Radeon won’t die just because there’s condensation from evaporation and salt creep everywhere. poo poo is sealed up pretty well.

csammis fucked around with this message at 02:22 on Mar 27, 2020

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

Peristaltic and submersible pumps. ~1/2 A. (And those daisy-chain lights which I'm dodging for now)

Thanks for the rec - ordered / will experiment.

Be aware that there’s a problem with the Neptune Apex aquarium controller where its SSR controlled outlets will fail to switch off when connected to a pump drawing more than...I don’t remember how much. More than one person has gotten their dosing or ATO completely hosed this way, me included. These pumps MUST be plugged into the mechanical relay outlets, and the Apex 8-outlet controller only has (had?) two mechanically switched outlets per power bar so that’s fun. Be sure to figure something into your research that tests this scenario and build accordingly.

e: for what it's worth the reef-pi project recommends an 8-channel relay board like this guy. Whether they do that for off-the-shelf simplicity or because they don't want to get into the Apex's problem is anyone's guess.

csammis fucked around with this message at 14:34 on Mar 31, 2020

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

Just took an inventory of the boards around me; mix of seeing the RoHS label and not.

RoHS markings don’t have to be silkscreened on a PCB, it could be on the product packaging or in the user manual.

I appreciate that everyone has their own risk/reward structure but do learn about how lead poisoning happens realistically and where it comes from. An absolutist zero-tolerance policy is going to limit you in unexpected ways. RoHS isn’t a guarantee of zero lead, individual components can be excepted and the overall product still certifies.

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

Those sound totally hypothetical

Nothing that we’ve told you is hypothetical. It all comes from hard-earned and expensive experience.

I neglected to follow the “check your components against a printout” advice on my last board and much to my surprise the drills for a built-in Kicad footprint were just too small. Whoops! That’s a batch of boards that straight up can’t support the MCU module I was planning on using ¯\_(ツ)_/¯

csammis fucked around with this message at 02:26 on Apr 12, 2020

csammis
Aug 26, 2003

Mental Institution

Shame Boy posted:

So my issue with the auto-sensing translator was entirely fixed by... shortening the length of a cable by half. Look man I don't know.

Were you trying to put a high frequency signal through the translator? I worked on a project where the designer put an autosensing level translator on a SPI bus because the micro could only run that bus at one voltage and the peripheral couldn't* be run at that same voltage. Well gosh but that direction switching takes time and it was enough to throw bitshift errors into the data stream at 30MHz :(



* it totally could have been run at the same voltage, but that part of the schematic had been copy pasted between designs for years without change. Bumping up the voltage removed the need for the level translator and all was well again.

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

After thinking about your comment more and doing some more digging, I'm going to see if I can put this ADC's differential input capability to good use...

edit: Got something almost-working (the pH values are a bit off, but the results are in the realm of reasonable) using a similar setup, but subbing out the vref for differential inputs.

How are you calibrating your probe, 4/7/10 pH calibration fluid or against another "truth" sensor in a tank?

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

Still working on the calibration code / voltage-to-ph eq, but leaning known solns of arbitrary pH

Use real calibration fluid and not an arbitrary pH source. Get some calibration fluid, soak your probe in a guaranteed known pH solution, read at the voltage coming off it, and only then model the bias. If you aren't using a known quantity (an actual known and trimmed value, not what another probe says in situ to a fluctuating environment) then you can't know that your voltage readings are "a bit off" because you aren't totally sure what the truth value is.

From what I remember when I used pH probes on my Apex, every probe is going to be a bit different and they'll fall out of trim over time. You won't be able to determine the bias for one probe once and use it across the board. Be sure to consider this as you're building in a way for users to calibrate the probe.

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

From what I gather, calibration can keep it accurate over time, although response rate will decay.

This is true as far as it goes but I can’t tell from your post if you’re taking into account the whole “recalibrate periodically” thing. Calibration is a way of generating biases and gains so that the output is accurate despite the physical reality that the input isn’t accurate, but any given calibration will only model the state of the probe at that moment. Since the nature of pH probes is that they change over time your initial calibration will become wrong over time. They aren’t just a set-it-and-forget-it device at the aquarium level of accuracy, where a misreading of 8 when the truth is 7.8 could be pretty bad for some organisms.

csammis
Aug 26, 2003

Mental Institution
Just to throw another perspective into the Arduino ring: I learned embedded development on an MSP430 back in the day, my day job is embedded development on CortexM cores, and when I want to play with something at home I can’t give a blue gently caress about toolchains and clock gating and poo poo. Jam an Arduino on a breadboard, blast FastLED onto it, and I have my Stargate lighting up. Done and done, no fuss no muss.

If as an engineer you want more people to be into engineering then you should get people going on fun projects. Assume they have a limited amount of time, budget, energy, and motivation for learning minutiae instead of bikeshedding and gatekeeping their choice of microcontroller :shrug:

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

But you have to enable an allocator first. Cortex-m has one

Nitpicking here but it’s a distinction that your previous posts have seemed a bit hazy on in the past: The Cortex-M architecture doesn’t “have an allocator,” the standard library you’re building with that targets Cortex-M has an allocator that you can optionally enable and use. The specific microcontroller you’re using may have hardware features that make writing an allocator easier (like an MMU which can manage paging and create an abstract heap area) but that in and of itself is not an allocator. An allocator is a software feature that enables heap usage, expressed as calls like “malloc” and “new” in C and C++.

csammis
Aug 26, 2003

Mental Institution
OSH Park has maintained good fab and shipping speed too when last I ordered boards (April/May). Waiting months for a board seems fairly out of line.

csammis
Aug 26, 2003

Mental Institution

Dominoes posted:

I get tripped up by mosi and miso too (SPI) - similar issue.

MISO and MOSI stand for Master In Slave Out and Master Out Slave In, respectively, so the relationship between host and peripheral is made explicit. Sometimes it’s SIMO and SOMI but the meaning is the same. Does that help?


e: the department I used to work in had an explicit convention for RX and TX labeling on schematics and assemblies which was helpful...until one EE swapped them “to make it easier for the software people” and now some designs use one method and some use the other and anyway I left that department :unsmith:

csammis fucked around with this message at 00:49 on Jun 16, 2020

csammis
Aug 26, 2003

Mental Institution
0-ohm resistors are also helpful for measuring current along a trace. Put down a 0 ohm resistor as a jumper and when you want to measure the current you can pull it up and tack wires to the pads to bring them out to a multimeter. Even an 0805 can be more board-space economical than a 1x2 0.1" pitch header.

They make good targets for oscilloscope / logic analyzer probes too if you don't have a dedicated test point or can't hit the pin on the component at either end of the trace.

csammis
Aug 26, 2003

Mental Institution
Hackaday.io is a decent project log but it's not a good community really. This is the only online place I know of where I can ask a question from intelligent people and get a response that doesn't involve a graybeard ranting about his subpar personal relationships :shrug:

csammis
Aug 26, 2003

Mental Institution

KnifeWrench posted:

If you're designing the board, you can put a via or through hole in the thermal pad so the iron can "reach" it.

Oh drat this is a good idea, using this for future designs.

On the boards I've designed and hand-soldered I just don't solder the thermal pad because the QFN components I've used haven't been used to the point of thermal problems. I used to put a teeny tiny dab of Arctic Silver in the center but I never noticed any behavior differences on boards with or without so I got lazy.

csammis
Aug 26, 2003

Mental Institution
Even wrapped in an executable I think you’re overestimating the average skill of users, especially aquarium people judging by the intersection of Reefcentral posts and Apex updating. What happens when they pull the USB cable before updating is done? This absolutely will happen and you’ll have to be able to recover from it.

I’m not sure how your bootloader is working but it looks like your command is writing a new binary directly over the execution area, which is generally “unsafe” due to the possibility of interrupted or otherwise corrupted transfers. It’s more foolproof to write to a scratch area and make your bootloader able to verify/checksum the uploaded data before writing to the executable region.

csammis
Aug 26, 2003

Mental Institution
Should be fine. The motor power supply on the EasyDriver is essentially a passthrough to the motors so if you know you’re fine with 5V go ahead and use 5V.

e: err wait, I was thinking of the driver chip on the breakout board. I don’t know if the voltage regulator on the breakout is good with 5V and I’m phone posting and can’t check right now. Sorry :(

csammis fucked around with this message at 01:02 on Jul 15, 2020

Adbot
ADBOT LOVES YOU

csammis
Aug 26, 2003

Mental Institution
The link doesn’t work for me but sure, if the specs work for you then use it. Oscillators come in all shapes and sizes. You won’t find one of those cans in a smartwatch for sure but they do indeed have oscillators.

The key things to look for are, in addition to whatever requirements your platform might have, frequency and stability over temperature.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply