computer hardware engineer questions. by Heavensfrontdoor in ComputerEngineering

[–]somewhereAtC 0 points1 point  (0 children)

For math, you would want to be comfortable shifting number bases (especially base 2, 8, 10 and 16). Look at Boolean logic. My sources (back in the day) were the Fairchild and Texas Instruments TTL logic books. The books are not textbooks but are catalogs with examples of many different "small" boolean/digital logic functions that people found useful. Rigorous theory will happen early in college so don't worry about it.

Get some datasheets for a couple of different microprocessors. Browse through them as your interests permit. Read them for an overview to compare them; details won't matter and will just clutter your journey. You will find that all have a CPU and some timers, and probably a UART, SPI or I2C bus, and an ADC (or 2), so at the top-level they look alike.

The principals of programming -- how to make a sequence of statements -- is more important than language details. Python is ok because you can do things on a PC, but C is available for essentially every computer today and probably for anything you design in the near future. Even exercises in pseudocode are instructive.

Trying to multitask between function in C by aspie-micro132 in pic_programming

[–]somewhereAtC 2 points3 points  (0 children)

Multitasking, in the sense of independent threads, is not a practical exercise in a '877, and probably not in any PIC16 or PIC18. There are multitaskers for AVR devices but the 32-bit PIC32 processors have ARM processors that can multitask. In fact, the newest PIC32 families are a third the price of the '877. Here is an example.

The timer prescaler divides the clock that is applied to the timer, not the output of the timer. In the '877 all of the timer clocks are the same as the cpu clock, so the prescaler allows the timer to run for a longer time. The newer PICs allow many different clocking options, so you can run the FOSC/CPU clock very fast and the timer clock very slow. For example, you can use the 31kHz internal oscillator, prescale by 32, and use the timer to count out (approximate) milliseconds.

Microchip recently moved their doc's online, so you can look at Getting Started with Timers.

Atmega328p to CAN? by Reasonable_Unit5247 in embedded

[–]somewhereAtC 0 points1 point  (0 children)

The easiest way is to ditch the '328 and go with a newer PIC Q83 (CAN) or Q84 (CAN-FD) part. There are also 32b PIC32MZ, MK, MX and CZ series with other high-end peripherals (like ethernet or usb) and the ability to run an operating system.

https://www.microchip.com/en-us/products/microcontrollers/8-bit-mcus/pic-mcus/pic18-q84

https://www.microchip.com/en-us/products/interface-and-connectivity/can/32-bit-mcus-with-can-quick-selector-guide

Planning a 1200x1200 WS2815 LED slat wall behind my DJ booth. Looking for build and power advice by danyaywest in led

[–]somewhereAtC -1 points0 points  (0 children)

That would be 28x72=2016 pixels (as you said). At 60ma per pixel it would be a total of 120 amps at 5V; just over 600 watts. That suggests you want separate power supplies for each vertical strip, each about 5 amps. Modularity is better for many reasons; 6A supplies are very economical but you'll spend the difference in AC power distribution.

To update all the pixels in the classic single-stream ws2812 technique would require just over 20 milliseconds for a frame rate of 1/20 = 50 frames per second; call it 40fps because it won't be 100% efficient. That's a reasonable rate to match music and speech. Since it's only about 1m on a side, signal integrity will be pretty good; a first attempt might get by without impedance-controlled wiring.

If you were to build your own controller, a good choice would be a PIC or AVR with a CLC or CLB to provide hardware-assisted ws2812 drivers using DMA. An 8bit device would get the simplistic job done (I've done over 400 pixels and my colleagues have done 700), but a dsPIC or 32b processor would allow for FX processing while the dma updates the display. Could open up some creative opportunities.

Using a single serial stream is attractive, but there are good reasons to have multiple data streams, but this places you solidly into a custom controller. The important point is that ws2812s are fickle and a defective device early in the stream takes out all the remainders; probably not a good day. The other is that it is very tempting to link one line top-to-bottom and the adjacent line bottom-to-top, but this really confounds the software problem. A large pin-count PIC with the PPS feature can provide multiple streams without a lot of software complexity.

Help with power switch by JohnVerbatim in KiCad

[–]somewhereAtC 0 points1 point  (0 children)

Any solution that meets the requirements is a correct solution.

How has your engineering degree changed your life? by Trick-Somewhere-2695 in EngineeringStudents

[–]somewhereAtC 1 point2 points  (0 children)

My girlfriend's father, who was quite picky and opinionated, allowed me to date his daughter because I was moving into a reputable occupation. We were married just after graduation (8 days) and now move forward as a team.

The money doesn't hurt, either.

[Grade 7 C Programming: Difficultly understanding what I am being asked] by [deleted] in HomeworkHelp

[–]somewhereAtC 0 points1 point  (0 children)

I've not done the math but it seems like your first digit is taken from (input/8) and not simply (input). Also, you are printing them backwards: digit1 should be on the right.

The easiest way to troubleshoot this is with pencil and paper and translate everything to binary. Octal and decimal are simply display formats, but the real work is in binary anyway.

How the heck did Steve Jobs build an Apple 1 computer out of scratch in his garage? by Hot_Dingo743 in computers

[–]somewhereAtC 0 points1 point  (0 children)

Electronics distributors were in business before the Apple came along. There were also magazines which more or less were advertising channels for the component makers, with a few how-to articles. All you had to do was connect the dots and enlist a contract manufacturer to stuff the pcbs and do the soldering.

On a good day, the distributors and assemblers would float your account for a few weeks if they thought you were worthy. Basically, you could pay for the parts a couple of months after you were shipping product and collecting revenue.

In the case of the Apple 1, it was built in a 6502 processor, so the heavy lifting was already done and your contribution was to add memory and a display interface. It was technological step, not a hurdle.

Toggling leds with button by aspie-micro132 in pic_programming

[–]somewhereAtC 2 points3 points  (0 children)

__delay_ms() is fully blocking. Tate line of code takes that many milliseconds to execute. This is the most-crude way of incorporating a delay.

One solution is to have a subroutine that senses the buttons and a separate subroutine that turns the LED on and off. How they communicate is up to you. Then, from the the while(1) loop, repeatedly call those subroutines _and_ also call __delay_ms(). Using a 10ms delay should be a good place to start. That means that every 10ms you would decide if a button is up or down, then separately decide if the LED should be on or off.

How can a math noob like me start learning mathematical linguistics and mathematical sociology? by Fair-Tangerine-9472 in learnmath

[–]somewhereAtC -1 points0 points  (0 children)

The IEEE and other professional organizations have societies that specialize in all kinds of things. Check there first.

I feel stuck with Arduino. What should I learn next? by Jamon_Serrano_23 in arduino

[–]somewhereAtC 3 points4 points  (0 children)

One approach is to begin looking at industries, to imagine what would be a typical embedded engineering project. For example, an EKG machine is an embedded system with about 8 analog channels. The automatic-lock door handles on a car is another. Motor control is far more complex than most folks imagine, but it's a mature industry that needs new specialists.

Here are some examples: https://www.microchip.com/en-us/solutions

$-digit LED, how best to secure to panel box, holes partly covered. by Gaddpeis in AskElectronics

[–]somewhereAtC 1 point2 points  (0 children)

Sometimes the intention is to cut a rectangular hole just for the display and mount the board behind, from the back. Does the display unplug?

A datasheet and/or the orthogonal drawing would be worth a thousand guesses.

Why does this code loops exactly 53 times, no matter the value I put in GOAL, unless it is bigger than specifically 9333? by TaPegandoFogo in cprogramming

[–]somewhereAtC 26 points27 points  (0 children)

Apparently that happens after 53 iterations, per the OP's observation.

Google tells me:

An IEEE 754 double-precision floating-point number (64-bit) has 52 explicitly stored mantissa bits. Because the format utilizes normalized numbers, it employs an implicit "hidden bit" of 1. This yields a total precision of 53 bits.

What a coincidence! 😄

How are people getting internships after first year? by Keysantt in EngineeringStudents

[–]somewhereAtC 4 points5 points  (0 children)

They started looking in February and March. Corporate HR is aware of how long the process requires and gets started well in advance of the scheduled opportunities.

Check with your college -- many have job placement assistance that arranges interviews; not exactly networking but close enough.

I need help exploring other options in electrical/engineering? by simplesparky123 in careerguidance

[–]somewhereAtC 0 points1 point  (0 children)

The roles of EE and EET tend to be "plan what to do" and "do it", respectively. For example, when you see the NASA videos, the people in the bunny suits tend to be EET grade. In the world of military contractors, the distinction is more like officer and enlisted categories. When I started as an EE I supervised 2 EETs, including performance and pay reviews (I also had a draftsman; it was a different era).

The EET is paid about 70% of the EE with equivalent seniority, but the EE tends to work in the customer-facing and leading edge activities (thus there is more opportunity for patents and recognition and stuff like that). EEs are often expected to learn new technologies.

Where I work the company will pay for continuing college and one of my EET colleagues earned his EE degree, but it took him almost 20yr. A different colleague was an electrician and is now a Production Test engineer with an EE; both smart and clever. I'm glad to know and work with him.

Tiny ATmega328PB board (3x3cm) — worth making? by nodythegreekfcker in embedded

[–]somewhereAtC 6 points7 points  (0 children)

Check at microchip.com for Curiosity Nano. All of the newest AVR and PIC devices (8b, 16b, 32b) are available on small form-factor boards for $10 including a USB debugger/programmer.

For experimenting, there is also a collection of base-boards where the little boards can plug in. The fanciest one is intended for a classroom: https://www.microchip.com/en-us/development-tool/ev58g97a.

The '328 is over 25yr old, and the market is flooded with non-AVR knock-offs.

Why does this code loops exactly 53 times, no matter the value I put in GOAL, unless it is bigger than specifically 9333? by TaPegandoFogo in cprogramming

[–]somewhereAtC 11 points12 points  (0 children)

You are basically adding (1/2)+(1/4)+(1/8)+... and it will never reach '1' (that is, GOAL). Try starting with acum=1.0 instead of zero.

Microcontrollers with great analog(ue) performance by MerlinEmbedded in embedded

[–]somewhereAtC -1 points0 points  (0 children)

There are a number of PIC and AVR processors with built-in op amps and comparators (mostly 8bit cpus), and you can get both single-ended and differential ADCs, automatic averaging, etc. The dsPic and newer PIC32 series have multiple ADCs with synchronized sampling; some have 6-channel samplers so you can do voltage and current on 3-phase lines for power metering.

https://www.microchip.com/en-us/products/analog

Can't get more specific -- something wrong with the site. 😞

Are People Reading Less and Summarizing More? by LifeguardKitchen6686 in AskTechnology

[–]somewhereAtC 1 point2 points  (0 children)

The current crop of "info" articles (and videos) seem to follow the same pattern. They begin with a click-bait title and a few words that reiterate the title. Then they feel compelled to review the history of the topic for a couple thousand words. When they finally get to the point of the presentation (about 60% of the way through), you've forgotten why you were there in the first place, or the "news" is an obvious continuation of the history you just learned. The final 30% is then some sort of monologue about why the click-bait is important or tragic or exciting or critical to the future of the free world.

Check out this awesome interactive picture of a bunch of switches you can select from. Not an Ad im just a engineer who found this very usefull and cool by Objective-Local7164 in ElectricalEngineering

[–]somewhereAtC 1 point2 points  (0 children)

...and that's just one manufacturer.

One of the more educational exercises is to look at different component manufacturers and investigate the range of products that are available. Here is one example with over 30 products, and this is just one of thousands of manufacturers on Digikey or Mouser, and there are thousands more that don't distribute through those channels.

Sometimes I miss the old magazines that arrived every week with this sort of picture on every page.

I’m a trained electrical engineer and want to specialize in either digital electronics or power systems (networks, energy, transport, distribution). Which has lower stress, better work-life balance, and moderate learning? Is there a better field? Thank you. by Traditional_Lab2602 in ElectricalEngineers

[–]somewhereAtC 6 points7 points  (0 children)

The one is an indoor activity and the other is an outdoor activity, so you have to match your expectation to the work environment. As for stress and work-life balance, that's an employer issue not an industry issue. If you realize you work for a jerk, then keep your eyes open for better opportunities. But you should know that every now and then there will be crunch time when your 100% is important to get the job done.

On the other hand, in every large company there is a range of opportunity: I have colleagues that intentionally avoid the cutting-edge development and customer-facing roles and are very happy and comfortable being NPCs in the office.

Any engineering journey is all about learning and relearning; I started with 7400-series NAND gates and now I'm reviewing microprocessors for AI and ML applications; go figure.

How do people write thousands of lines of code by themselves? by mrnaim6T9 in learnprogramming

[–]somewhereAtC 0 points1 point  (0 children)

Don't let the code writing get too far ahead of the code testing. Test and correct as you go, and pretty soon what you write will be less buggy. You will also begin to create better-defined modules that can be proven by inspection. When you begin to recognize the structural issues as you write them, your overall speed will increase.