Editors Elliot Williams and Mike Szczys catch up on the past week in hackerdom. It seems as if we’re in a golden age of machine building as an incredible rocker-bogie rover is built to transport a child and mechanical simplicity automates the wet cat food dispensing process. We marvel at the ability to use G-code to decorate eggs (them being curvy in more than one direction and all). The we contemplate the ability to build and start a motor which will continue to run long after your own life ends. And perhaps it’s time to add more layers to your PCB design playbook.
Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!
Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!
Direct download (60 MB or so.)
Episode 012 Show Notes:
New This Week:
- Mike just got back from China and Vietnam
- Seeing glass replaced on cellphone screen modules was a really interesting
- The entire trip was shared in the Hacker Abroad series of articles
- Easter Egg decorating robots
- Elliot is building the Sphere-O-Bot (eggbot MOD) Easter Eggs creator
- Egg-bot is a well-known design from Evil Mad Scientist
Interesting Hacks of the Week:
- Magnetic Bearings Might Keep this Motor Spinning for Millennia
- Building A Turbocharger Turbojet
- Automated Cat Feeder Handles Wet Food With Aplomb
- Kid Rover Is Six Wheels Of Awesome
- From the same hacker, The Omni Wheel Robot Series is also well worth watching
- Tucoplexing: A New Charliplex for Buttons and Switches
- Full Motion Video And 3D Graphics Make This Genesis Demo Pop
Quick Hacks:
- Mike’s Picks:
- Elliot’s Picks:
Can’t-Miss Articles:
- Can You Live Without the WS2812?
- WS2813 Datasheet (PDF)
- APA109 Datasheet(PDF)
- Podcast Errata: Mike mentioned the APA102 is like SPI (which is correct). But the APA109 doesn’t. It instead uses an 800 kHz timing scheme like the WS2812.
- Stuck Designing Two-Layer PCBs? Give Four Layers a Try!
You forgot to mention that you don’t actually need an ADC in your chip to measure resistance ladders, because measuring an RC delay is a rudimentary ADC. Many 80’s home computers used that trick to read joysticks – when the C stays constant, you simply count how many cycles it takes for the logic level to change, and that gives you the R.
That was just a type of ADC in my old textbooks, Wilkinson ADC I think. So you’ve said you don’t need an ADC, merely an ADC.
No, I said you don’t need an ADC in the chip – you can implement one in software.
This is the exact trick used in the Apple ][ to read the PDL(0..3) controllers. Normally you would get values from 0 to 255 linearly for a 150k-ohm variable resister but if you want to measure higher resistances it was merely a matter of waiting longer until an input goes from high to low (or the reverse – can’t remember which) I even remember writing custom 6502 machine code for the 1 Mhz system to count cycles more precisely and for longer times. I know I was measuring into the mega-ohms. Oh the stuff a nerdy teenaged boy did back in the days of dot matrix printers and VHS. kept me out of trouble :-)
Precisely, and it doesn’t even take that much CPU time or special programming nowadays. In the typical AVR/Arduino, you’d set up a pin change interrupt and let the 16 bit counter run in the background while you’re doing other stuff, then just grab the counter value when the pin changes.
If you want to be extra precise about it, many of the chips that don’t have an ADC still have an internal analog comparator that checks the input voltage against an internal reference (or whatever you put in the A_ref pin) and fires off an interrupt when it’s above, below, or changes state.
Using the regular pins with state change interrupts would get you variations between chips so you couldn’t measure very finely spaced resistor ladders without first doing a calibration run, but by setting the reference level yourself you can just assume the values will be within your component tolerances.
Jaromir pulled this hack off with the Supercon badge in November. I can’t remember if he did it in C or in BASIC, but he showed me the badge identifying resistor values using the discharge timing of a capacitor. Neat trick and fun to try out at your next hackathon!
For the next podcast, rather than some kind of professional level of production for the quick-links section – given you’ve both, er, ‘sung’ the intro, how about bringing along something like a stylophone to play along to augment it? (maybe a micro:bit to keep it modern?)
oh, and the result of the bet (so Mike, how fancy is your toaster?) :-)