Where do I go from here (electronics)?

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
I am trying to break back into the electronics industry. I have no luck so far. I have been taking on projects in that past, but I think the problem is that there is so much to learn and I do not know what to focus my time on.

Here is my background:

*BSEE
*Did 3 coops in electronics field -first was doing minor firmware projects (did not learn that much), last two was general hardware (debugging and creating simple circuits with 3rd party chips)
*Out of school, I was dumb, I chased money. I rejected offers that did not give me what I expected (lesson to new grads, do not make this mistake). I ended up working in the civil field doing controls (telling contractors how to program PLCs) and writing specs. It was more mechanical work than anything. Then i got laid off.
*Currently, I am doing this volunteer internship that is going nowhere. It's been 3 months and we still have not done much yet. We have spent 2 weeks trying to modify a linux driver for a dsp so it can do a PCI boot and load code without a JTAG. The guy is just too busy and all the hardware is at his house. It's frustrating.

So, what do I do? First, I want to end my volunteer work. It is going no where. I really feel like I wasted 3 months. I kind of want to pick up a project by myself. But what do I do? Do I learn HDL? Do I buy Gumstix to learn embedded? Do I study DSP stuff? All i know is that I am not really interested in doing higher level programming like making software (although android development looks cool, I just think in order to do it, the program has to serve purpose that I think would be useful). At the same time, it's really difficult doing a project that is close to hardware when you do not have any projects to do them on. Doing a hardware project on my own is daunting also because I do not have the tools to do it.

Also, at the moment, getting my masters is not an option. I just do not have the money.

Any advice?
 

TecHNooB

Diamond Member
Sep 10, 2005
7,458
1
76
chasing money is a mistake? nooooooooooooooooooooooooooooooooooooooooooo
 

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
Chasing money before you have the back up to do it is. There is no problem with asking for what your worth, but I think people need to rethink stuff if they feel a degree automatically equates to a certain salary level.
 

PsiStar

Golden Member
Dec 21, 2005
1,184
0
76
What part of the country are in? From where did you graduate? And, what do you like?

East Coast has large government contract employers like Raytheon, Northrup Grumman, etc. == huge radar antennas to secret systems. There is also RTP in NC.

West Coast has large consumer goods manufacturers like Apple, Cisco (not really consumer but def not government) == total range of electronics & high tech. A BS may not be an advantage there. Knowing Chinese would be.

Mid section is spotty. Midwest has a number of connector companies from TX to MN ... do you think that high speed buses are just magic? Connectors are the neck of that funnel. There is also a very mini-Triangle Park around Champaign, IL.

Find a head hunter?
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Embedded is definitely a growing field and competent engineers are hard to find. Many people come from backgrounds where they work with hardware that is already somewhat finalized and have all the tools and development kits written for them . People that are able to look through a datasheet , find a chip best suited for a project and then create the design and all the code including firmware are the rarer ones. Most people in the field don't like or don't have the experience to go low level with hardware. Myself I prefer it because I have total control.

If you are interested in learning low level hardware design and programming it doesn't have to cost a lot. The three most popular starting points are AVR, ARM, PIC. All have very cheap development tools and are widely used in the field. Myself I am a PIC developer mostly. Microchip will provide you free samples of chips that fit any breadboard, they also provide the development software for free. Then all you need is a programmer and those sell for from 35-100.00 from microchip .
http://www.microchipdirect.com/Prod...PICKit Debugger or Programmer&mid=13&treeid=6

That is really everything you need besides some things like resistor, capacitors, etc. There are plenty of projects out there to learn from and there is a mailing list for pic chips supported by MIT where everyone is very helpful.
http://www.piclist.org/techref/piclist/index.htm


Another option is the PIC development boards from MIKROE. They have everything needed on the board with associated peripherals like LCD, GLCD, buttons, ports, etc for $129
http://www.mikroe.com/eng/products/view/434/easydspic6-development-system/

Once you learn the basic PIC chips you can easily move everything you learn to the PIC DSP chips if you want to pursue that as well.
If you have any questions feel free to ask.
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
Lots of companies are hiring for electrical engineers - among them, my company has lots of reqs open. Have you tried applying to places like Apple, Intel, Qualcomm, Cisco, AMD, nVidia, etc?

As far as projects, personally, I would build a CNC. On the cheap, with homebrew parts using Open Source.
http://diylilcnc.org/
http://www.buildlog.net/blog/2011/02/buildlog-net-2-x-laser/
http://www.cnczone.com/forums/open_source_cnc_machine_designs/

Or else, I'd make a vaccuum tube audio amplifier. They are interesting, fairly straightfoward, and when you are done, people on Ebay pay silly amounts for them. If you make it look nice, and it works well, and it's stereo, you can sell it for >$300 or more.
 
Last edited:

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
I live in Cambridge, MA. The number of companies out there are not small at all, especially in this area. The issue is that all companies I talk to say my experience is not relevant and that entry jobs are reserved for new grads. I have tried Qualcomm, AMD, Intel, Raytheon, and other, but there are no bites. I even sat down with a guy in industry and he simply said, "you need to get your masters". I was pretty depressed after that meeting.

Modelworks, the guy I am interning with told me the same thing. I just wish everything was not going so slow. My first co-op was working with the ARM7 chip. I had to make a debugger for it, so I am sort of familiar with it, but that was in 2004. If you know PIC, does it translate to the other platforms well?
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Modelworks, the guy I am interning with told me the same thing. I just wish everything was not going so slow. My first co-op was working with the ARM7 chip. I had to make a debugger for it, so I am sort of familiar with it, but that was in 2004. If you know PIC, does it translate to the other platforms well?


The downside of learning embedded hardware is that one platform rarely transfers over to another. I chose PIC because of the low entry cost and the ease of bread boarding parts. I can buy a chip for $3 and spend another $5 on support parts and have a working project that can control temperature, do voltage monitoring, control a touch screen or process sound. PIC chips are available in DIP packages making it easier to use than surface mount when prototyping. Microchip will also send you free sample chips, at least 6 chips per month of your choosing , going up to 24 chips per month if you become more involved .

ARM is another option. ARM development boards are available for around $20 now and you can search ebay for ones that have a color tft touch screen for under $100. Most of the development tools are available as open source . You will need to purchase a JTAG to get the most out of it. I highly recommend segger for that. Cost is about $55 and it works great.
http://www.segger.com/j-link-edu.html

The only downside I can see to ARM is the cost of implementing a design. Parts are surface mount only meaning you either have to buy a development board or purchase a board to solder the chip onto, which can be tricky without the right equipment. ARM also doesn't do samples for free. Most chips are 48 pins or more.

ARM chips are similar from one model to the next but you will still need to learn the specifics of each chip you use. Embedded allows customizing of peripherals far more than x86 type cpu and so each chip is different.

I guess it depends on where you want to go in the future. If you are looking at doing things like smart phones and tablets then you want ARM. If you want to do things like motor controllers, robotics, sensor based systems then PIC is a better fit. ARM is more about the processing ability and PIC is more about the peripherals.
 
Last edited:

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
Thanks for the info!

One thing I see a lot is that embedded systems jobs just say "16/32 bit microprocessors". Are they pretty much saying that any platform will do? I will look into ARM vs Microchip even further.

Also, I am working with this headhunter...I found this job for an embedded systems engineer. After talking with him, I found out it was actually at one of my former co-ops (yeah, he said the position was in one city, when in reality, it was two cities away). You think I would be opening a can of worms by contacting the company directly at this point?
 

PsiStar

Golden Member
Dec 21, 2005
1,184
0
76
It is bad form to contact the company now that the headhunter has told you about the position. The company may have already received your resume from the headhunter so would know. And, as I think about it the headhunter probably has already sent your resume over because that is usually the only time they will reveal a company of interest.

Working through a headhunter can be better than direct contact. The expectation of the headhunter is that should know the hiring manager & ought to know the salary range before you even get there.

There are headhunters that do just farm the job ads tho & bring nothing to the table. So just make sure that your guy is legitimate.
 

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
in the 4th generation languages that have evolved over the years. Programmers have the edge of developing programs that much faster than any language. There are several advantages that both languages hold together to give them an edge over their predecessors. A new, uniform and comprehensive API for every aspect of web, client and n-tier programming has made these languages top the charts even today. The deployment of 3rd party supplies of tools and components for superior visual programming development is another reason to cheer about by programmers about these languages. Web programs can be easily delivered with Java and ASP.NET with speed and precision.

Ummm...yeah...I think the 2nd gen Mazda 3 is meh also....
 

SamurAchzar

Platinum Member
Feb 15, 2006
2,422
3
76
There are two sides to Embedded - either you go to the simple, MMU-less parts that run real time operating systems or no operating systems at all, in which you are directly controlling the hardware, or you go into more sophisticated Linux/Android based stuff (like the Beagleboard for example).

If you go for the former, stick with ARM, and specifically with the Cortex-M variety. It's pretty rapidly making all other architectures (PIC, AVR, anything proprietary) obsolete. Nearly all the major manufacturers base their new product line on Cortex-M of some sort.
The most popular processor in this class is STM32 family.

If you go for the latter, a Beagleboard (there might be something newer) with an OMAP processor is a solid start and start learning Linux kernel programming, U-boot, etc. I'd bet on Embedded Linux low-level guys being in short supply and very high demand. Many consumer electronics companies need these kind of people.
 

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
There are two sides to Embedded - either you go to the simple, MMU-less parts that run real time operating systems or no operating systems at all, in which you are directly controlling the hardware, or you go into more sophisticated Linux/Android based stuff (like the Beagleboard for example).

If you go for the former, stick with ARM, and specifically with the Cortex-M variety. It's pretty rapidly making all other architectures (PIC, AVR, anything proprietary) obsolete. Nearly all the major manufacturers base their new product line on Cortex-M of some sort.
The most popular processor in this class is STM32 family.

If you go for the latter, a Beagleboard (there might be something newer) with an OMAP processor is a solid start and start learning Linux kernel programming, U-boot, etc. I'd bet on Embedded Linux low-level guys being in short supply and very high demand. Many consumer electronics companies need these kind of people.

I was actually looking at the Cotrex m based development solution from TI. then I saw the $400 price tag :(
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Some lower cost options for embedded development, these boards all work pretty good. Futurlec has good stuff and good prices it just takes longer to get to you depending on where in the world you are.



ARM $40 - http://www.futurlec.com/STM32_Development_Board.shtml
dsPic $45 - http://www.futurlec.com/dsPIC30F2010_Board.shtml
AVR $30 - http://www.futurlec.com/ET-AVR_Stamp_Board.shtml
ARM with 320x340 touch screen $120 -
http://www.futurlec.com/LPC1768_Controller.shtml

They also have some add-on boards that work with all kinds of different micros using spi or i2c interfaces.
Ethernet $20 - http://www.futurlec.com/Mini_Ethernet.shtml
mp3 $23 - http://www.futurlec.com/Mini_MP3.shtml
DAC $10 - http://www.futurlec.com/Mini_DAC.shtml
keypad $5 - http://www.futurlec.com/Mini_Keypad.shtml
 

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
What is the difference between all the cortex development boards? TI's is $400, but the ones linked are under $100.00. Is it the software tools that are supported? One looks like it only supports loading code through JTAG....
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
What is the difference between all the cortex development boards? TI's is $400, but the ones linked are under $100.00. Is it the software tools that are supported? One looks like it only supports loading code through JTAG....

Development board cost from TI is always higher than anyone else. It isn't because there is anything special about the boards , it is the TI mentality that because it says development that it is being bought by someone who will use it to make millions so they charge what they want. TI is one of the companies that has really alienated the smaller markets due to how they handle relations. If you are not interested in making a product that will sell thousands of chips, they tend to ignore you. There are plenty of other vendors that are more open to those learning or smaller projects.

ST is better than TI but still not one of my favorites . I worked for one of their subdivisions for a time and while they are helpful to those inside the business those outside often were a 'if we have time' category.

Companies I have found more open and friendly are :
Atmel
Renessas
NXP
Microchip
ON semiconductor
ROHM
Analog Devices


If you are going to do ARM you will need a JTAG, don't try to do it without one. The ability to upload code, pause it, step into instructions and set hardware breakpoints is something you will need.

Get a jtag from someone like segger and you can use it with any of the arm boards. Then you just need software and there is plenty of free arm development tools.

http://www.gnuarm.com/

I forgot about the beagleboard , it was mentioned earlier.
The beagleboard may be another option for you. It retails for $149 and is pretty much ready to use from the time you plug it in. It has a full set of peripherals and runs linux. It isn't as low level as some of the other designs but it might be something to get you started.
http://beagleboard.org/hardware
 
Last edited:

exdeath

Lifer
Jan 29, 2004
13,679
10
81
Get a Altera or Xilinx dev board and start learning. FPGAs and SoPC/SoC are all the rage today.

Even if you want to focus on software, an FPGA dev board is still the way to go. There are open source CPU soft cores for just about every CPU and MCU out there for uploading to common FPGAs. A typical 32 bit ARM core uses 12% of a entry level Cyclone II even, leaving plenty of room for peripheral controllers, SDRAM interfacing, etc.

If you decide you want to change platforms, eg: switch from ARM to 68K or something, it's just a matter of uploading a new configuration to the FPGA. Basically one dev board with built in RAM, accessories, etc. already wired, no soldering or socketing, that can implement any reasonable CPU/MCU you want to experiment or prototype with on a whim.

FPGAs = best thing since slice bread. About the only embedded weakness is lack of native ADC/DAC, but that can be supplemented with an external chip on one of the GPIO expansion ports or crudely implemented with lots of GPIO pins and stepped resistors.

http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=83

To give you an idea of how powerful even an entry level FPGA is, check out:

http://zet.aluzina.org/index.php/Zet_processor

An entire 8086/80186 *PC* (not just the CPU) able to run DOS 6.22 and Windows 3 on a mere 20k element FPGA... and they go up into the 300,000s on the higher end models.
 
Last edited:

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
Some lower cost options for embedded development, these boards all work pretty good. Futurlec has good stuff and good prices it just takes longer to get to you depending on where in the world you are.



ARM $40 - http://www.futurlec.com/STM32_Development_Board.shtml
dsPic $45 - http://www.futurlec.com/dsPIC30F2010_Board.shtml
AVR $30 - http://www.futurlec.com/ET-AVR_Stamp_Board.shtml
ARM with 320x340 touch screen $120 -
http://www.futurlec.com/LPC1768_Controller.shtml

They also have some add-on boards that work with all kinds of different micros using spi or i2c interfaces.
Ethernet $20 - http://www.futurlec.com/Mini_Ethernet.shtml
mp3 $23 - http://www.futurlec.com/Mini_MP3.shtml
DAC $10 - http://www.futurlec.com/Mini_DAC.shtml
keypad $5 - http://www.futurlec.com/Mini_Keypad.shtml

Is it worth the extra price to get that $120 ARM board with the touchscreen instead of the $40 one? I do not think i would use the touch screen, but i do think I would want an Ethernet connection. If buy the one that has an on board Ethernet, do i still have to program that feature? I would prefer that i would have to program just so I know how to implement it.

Also, I noticed that the Segger Jtag is limited to educational use only. What if i wanted to go beyond that? Are all JTAGs the same? I see a lot on Ebay for the same price.
 
Last edited:

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Is it worth the extra price to get that $120 ARM board with the touchscreen instead of the $40 one? I do not think i would use the touch screen, but i do think I would want an Ethernet connection. If buy the one that has an on board Ethernet, do i still have to program that feature? I would prefer that i would have to program just so I know how to implement it.

Also, I noticed that the Segger Jtag is limited to educational use only. What if i wanted to go beyond that? Are all JTAGs the same? I see a lot on Ebay for the same price.


After your interest in finding a low cost start for ARM development and a friend of mine also wanting to get into it , I did a lot of searching trying to find the best deal with the most flexibility so you are not locked into any one company for support or products. He is on disability and doesn't have much more than about $100 to spend so it was tough finding everything for that cost. I think I have a winner.

http://www.cutedigi.com/product_info.php?cPath=277&products_id=4619

Including 2.4" TFT LCD Touchscreen, diamension of LCD screen
CPU: STM32F103VET6, TQFP 100 pins FLASH 512K BYTES, SRAM:64K BYTES
1 JTAG debug interface
1 power LED indicator (Green), 1 status LED (Blue)
1 RS232 port, Need crossover cable to talk to PC
Support 3 pin ISP
1 USB2.0 SLAVE port
1 Micro SD(TF) slot, uses SDIO
1 2.4 inch TFT (240X320 (touch screen) ), use FSMC 16 bits interface to control
1 SPI interfaced AT45DB161D(2M BYTES) serial FLASH
1 functional botton
1 RTC battery socket
1 RJ45 Ethernet port
All unused GPIO pins are connected to external headers.

This board has several things going for it:
It is both an ARM development board and an arduino board and you can use it for either.
Arduino we didn't mention because it really isn't being used in commercial products much, but basically a few years ago some guys who were artists got together with some programmers to make embedded micro more accessible to the mainstream that didn't want to learn about things like JTAG or lots of hardware details. They wrote libraries and a language that has a very simple syntax and most people can get working within minutes.

http://arduino.cc/

The issue with arduino is that while it makes it easier for beginners it limits what can be done because you don't have direct access to the hardware. Still it is very capable and if you search google for arduino projects you will find thousands. The arduino libraries have been ported to pic, ARM and more. The arduino has a unique adapter board pinout that are called shields. Basically modules that you can stack onto the current board. There are hundreds of them out there and the good thing is that with this board you can use the arduino module hardware but run your own native ARM code instead. This board allows you to switch between ARM and arduino whenever you want by flashing the bootloader with the JTAG.

It includes the touch screen, the ethernet ports and everything you need to get started can be downloaded. It can use the openJTAG jtag connection which is low cost and will work with 99% of the software out there.
http://www.cutedigi.com/product_info.php?products_id=4408

$59 board + $45 Jtag you have a complete ARM development setup with ethernet, lcd, ports, etc.
 

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
After your interest in finding a low cost start for ARM development and a friend of mine also wanting to get into it , I did a lot of searching trying to find the best deal with the most flexibility so you are not locked into any one company for support or products. He is on disability and doesn't have much more than about $100 to spend so it was tough finding everything for that cost. I think I have a winner.

http://www.cutedigi.com/product_info.php?cPath=277&products_id=4619

Including 2.4" TFT LCD Touchscreen, diamension of LCD screen
CPU: STM32F103VET6, TQFP 100 pins FLASH 512K BYTES, SRAM:64K BYTES
1 JTAG debug interface
1 power LED indicator (Green), 1 status LED (Blue)
1 RS232 port, Need crossover cable to talk to PC
Support 3 pin ISP
1 USB2.0 SLAVE port
1 Micro SD(TF) slot, uses SDIO
1 2.4 inch TFT (240X320 (touch screen) ), use FSMC 16 bits interface to control
1 SPI interfaced AT45DB161D(2M BYTES) serial FLASH
1 functional botton
1 RTC battery socket
1 RJ45 Ethernet port
All unused GPIO pins are connected to external headers.

This board has several things going for it:
It is both an ARM development board and an arduino board and you can use it for either.
Arduino we didn't mention because it really isn't being used in commercial products much, but basically a few years ago some guys who were artists got together with some programmers to make embedded micro more accessible to the mainstream that didn't want to learn about things like JTAG or lots of hardware details. They wrote libraries and a language that has a very simple syntax and most people can get working within minutes.

http://arduino.cc/

The issue with arduino is that while it makes it easier for beginners it limits what can be done because you don't have direct access to the hardware. Still it is very capable and if you search google for arduino projects you will find thousands. The arduino libraries have been ported to pic, ARM and more. The arduino has a unique adapter board pinout that are called shields. Basically modules that you can stack onto the current board. There are hundreds of them out there and the good thing is that with this board you can use the arduino module hardware but run your own native ARM code instead. This board allows you to switch between ARM and arduino whenever you want by flashing the bootloader with the JTAG.

It includes the touch screen, the ethernet ports and everything you need to get started can be downloaded. It can use the openJTAG jtag connection which is low cost and will work with 99% of the software out there.
http://www.cutedigi.com/product_info.php?products_id=4408

$59 board + $45 Jtag you have a complete ARM development setup with ethernet, lcd, ports, etc.

Thanks!

Before I make my decision....aside from the arduino support, is there anything I lose or gain by going to the other ARM dev boards you linked earlier. Also, it seems that the LCD included from cutedigi is actually the same one from the $120 board. Also, how much memory does a normal program take? I see that one of the boards have 128k, while another has 512k. Are there no inputs and outputs on the cutedigi board other than USB and stuff?
 
Last edited:

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Thanks!

Before I make my decision....aside from the arduino support, is there anything I lose or gain by going to the other ARM dev boards you linked earlier. Also, it seems that the LCD included from cutedigi is actually the same one from the $120 board. Also, how much memory does a normal program take? I see that one of the boards have 128k, while another has 512k. Are there no inputs and outputs on the cutedigi board other than USB and stuff?


All the boards are arm cortex so nothing to gain from the other boards. Program size is going to depend on what it does of course but as an example a program I wrote that implements 3 different complete fonts, a serial terminal , and usb support for the com port consumes 51KB for the program storage and 8KB of ram. The main bulk of that program was the fonts and those could even be stored on sd cards or in the flash that the cutedigi board has, 2MB of.

for inputs and outputs the pins that are not connected to things like ethernet, usb, are brought out to a header on the board where you can use them for whatever you want.
 

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
All the boards are arm cortex so nothing to gain from the other boards. Program size is going to depend on what it does of course but as an example a program I wrote that implements 3 different complete fonts, a serial terminal , and usb support for the com port consumes 51KB for the program storage and 8KB of ram. The main bulk of that program was the fonts and those could even be stored on sd cards or in the flash that the cutedigi board has, 2MB of.

for inputs and outputs the pins that are not connected to things like ethernet, usb, are brought out to a header on the board where you can use them for whatever you want.

Awesome. I have an application in mind, but I need an analog in. Good to know this may work. I think i will get that. BTW, they also link to another arm cortext board on that website. I am guessing that is not arduino compatible?
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Awesome. I have an application in mind, but I need an analog in. Good to know this may work. I think i will get that. BTW, they also link to another arm cortext board on that website. I am guessing that is not arduino compatible?


There are plenty of analog ports, I think at least 10 of them. I don't recall what bit they are though, at least 10 bit, more likely 12 bit or 16 bit. The stm datasheet would have all that.

The main thing that makes the board arduino compatible is the layout of the pin connections so they match the arduino shields that are sold. The bootloader would work on other arm chips fine.


looking at the data sheet
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00191185.pdf

Three 12-bit analog-to-digital converters are embedded into STM32F103xC, STM32F103xD
and STM32F103xE performance line devices and each ADC shares up to 21 external
channels, performing conversions in single-shot or scan modes. In scan mode, automatic
conversion is performed on a selected group of analog inputs
 
Last edited:

Gibson486

Lifer
Aug 9, 2000
18,378
2
0
I got the stuff in. The JTAG looks nothing like the ICE JTAGS I used before.

I thought there would be some documentation with this. There is none other than a schematic that you need a password to access. I guess that is the reason why TI charges up the but for their products. There is documentation on loading the Arduino bootloader, but nothing on what to do if you want to load the original bootloader back (I have no interest in Arduino). Can you even load code via USB if it is not Arduino because it seams like if you do not use Arduino, there is no USB driver for it.

Looks like I will spend a better part of today trying this out. Wish me luck.