Podcast: Play in new window | Download
Subscribe: Apple Podcasts | RSS
Welcome, John Day, Technical Fellow and FAE from Microchip!
- John has worked at Microchip for 27 years! It was almost startup when he joined in 1993.
- He previously had worked on IO subsystem modules at DEC and had interacted with FAEs.
- He did some research on the company before joining, by checking out their databook
- John’s first computers were the C64 and the TRS80.
- Microchip was a spin-off of General Instruments in 1989, with Steve Sanghi as the head of the company (still in charge!)
- Focus was on low cost components, like ROM
- We take In Circuit Emulators (ICE) and In Circuit Programmers (ICP) for granted these days, in the 80s and 90s you could only really use emulators.
- With the lower costs, engineers could go to production on an EPROM. This made more devices “field programmable”.
- Why was the PIC was different when it came out?
- There really weren’t C compilers
- Most programmers are not familiar with the ISA
- Used to be writing direct assembly code
- Didn’t have a lot of peripherals
- Wouldn’t have a peripheral for i2c/smbus or similar
- Timing would be really critical
- PIC was single cycle
- The first part was the PIC16c64, it had no interrupts, 512 words.
- Microchip was early movement into flash, the first component with it was the PIC16f877 in 1997
- They were also the first to have in circuit debugging; John Andrews and John Day chatted about having this and did a proposal for the debug registers to the chip designers. The software group followed. This was for MPLAB 8.
- ICD1 was developed outside of Microchip, but later pulled in house
- It came up after talking to customers about their needs
- The PIC32MZ was another good example of working with customers. They talked with Clint Cole and Keith Vogel of Digilent. They ran into an ADC non linearity that drove changes to the silicon.
- PIC32EF
- In order to issue and errata, engineers need to cut down source code to minimal size for isolation of the issue.
- John gets to work with automotive, gaming, commercial, and a lot more types of customers.
- Sometimes he finds himself writing code for customers, like special IP that is needed. This happened for a high volume part that needed better test coverage to find errors that happened once every million units. It turned out to be a brownout problem.
- John used and likes his Saleae logic.
- Microchip started an analog products group in late 90s, especially because a lot of the IP was developed for the microcontrollers.
- They bought Microsemi / Actel 2 years ago.
- FAEs at Microchip now have “specialist areas”
- ATC chips are ultra secure chips that hold root keys
- App Notes
- The LED Cube is a Harmony reference design, meant for PIC32, Harmony3
- In-Circuit Serial Programming (ICSP™) of Calibration Parameters
- D/A Conversion Using PWM and R-2R Ladders to Generate Sine and DTMF Waveforms
- DTMF for Plain Old Telephone Service (POTS)
- The R2R ladder is also used on OpenScope
- Piecewise Linear Interpolation on PIC12/14/16 Series
Microcontrollers- Linearizing a sensor with low power components
- App notes can take a while: the LED cube took over a year. This is because they’re publishing them, in addition to their regular job.
- People expect code generator / configurator tools these days, so the nature of app notes have changed.
- John assigns himself personal projects to learn new technologies
- Building Nixie tube clock to learn boost converters, ethernet stacks (this is shown in the photo above)
- Aside from microcontrollers, John is a huge fan of Pinball
- “You can always have space for a pinball machine”. In fact, he fit a pinball machine in his college dorm room.
- Gottleib Genie
- Ran on Rockwell 4 bit micros – 3 of them
- Batteries used to retain settings, but they would leak and destroy MPU
- Ralph Fien in Germany took MAME project and made a pinball machine, which all ran on a RPi
- 3 PIC18s to talk to IO
- There are drivers on separate boards, similar to TIP102s.
- 4 bit latches on the bus
- Periphieral IO Expander (PIA)
- NI-WUMPH
- Mission Pinball Framework (MPF) allows you to write all your game rules in Python.
- Ben Heck made a custom pinball machine
- John’s first machine was a 1973 Gottleib Kingpin, for which he did a restoration.
- You can hear John on The Classic Pinball podcast for episodes 27 and 28.
- John has had some interesting experiences as an FAE:
- He was offered a gig (in cash) to build a cable tv descrambler
- UPS design for a customer in a bad neighborhood
- Almost blowing himself up while building high voltage power supply during co-op
- John is a fan of Dave’s teardowns and learning from them
James Damewood says
I remember working with John Day on missing OSCAL values on PIC12Fxxx at my former company in Blythewood, SC. Turns out the programmer needs to read and write back the value.
Someone says
I really miss playing around with PIC microcontrollers; we had them in school in about 2005-2010 sometime. We also had PCB design with photoresist and etching, so we made all kinds of stuff. They were PIC16C55A:s, so they were old already then, but so much fun! We did Assembler programming, hexadecimal numbers, UV-erasable chips for testing and debugging, and one-time-programmable ones when it was ready. I had many projects, a special-purpose timer, a remote control apparatus (433MHz radio modules and one PIC in each end), and many other things, some in use at home to this day.
I could probably write programs for those 16C55A:s today if I just had a quick glance at the instructions and stuff for them. MOVWF, DECFSZ, etc… I have never used an interrupt or programmed in C or Python, so I’d have the complete opposite problem from what you mentioned if I were to try the modern stuff:-) Not that I wouldn’t want to, but I haven’t taken the time to get started with it as a hobby, and I don’t have a job where I can do much electronics.
Anyway, I found Assembler nice and straightforward, instructions corresponded to something the PIC did, manipulating data in Work, moving it to or from memory or the I/O pins, etc. I knew how long it would take the PIC to do a certain instruction, so timing things was easy.
Fun times.
Greetings from Sweden.