HN user

vha3

366 karma

vanhunteradams.com

Posts36
Comments17
View on HN
people.ece.cornell.edu 2mo ago

Cracking Enigma with an FPGA

vha3
3pts0
raw.githubusercontent.com 2mo ago

Show HN: Ideaflow Software License

vha3
1pts0
en.wikipedia.org 1y ago

Lascaux Cave Paintings

vha3
1pts0
vanhunteradams.com 1y ago

The Physics of Colliding Balls

vha3
67pts21
oeis.org 1y ago

Frivolous Theorem of Arithmetic

vha3
2pts1
vanhunteradams.com 1y ago

Custom Serial Bootloader for the RP2040

vha3
16pts0
vanhunteradams.com 1y ago

Building a GATT Server on Pi Pico W

vha3
56pts16
ece4760.github.io 2y ago

Student RP2040 Projects from Cornell

vha3
3pts0
maa.org 2y ago

The History and Development of Nomography

vha3
4pts0
vanhunteradams.com 2y ago

Natural Computing [pdf]

vha3
1pts0
www.youtube.com 2y ago

Natural Computing [video]

vha3
3pts1
vanhunteradams.com 2y ago

Analytical Introduction to PID Controllers

vha3
2pts0
vanhunteradams.com 3y ago

Can driver implemented with PIO and DMA on the RP2040

vha3
2pts0
www.nytimes.com 3y ago

The Man from the Future

vha3
2pts0
vanhunteradams.com 3y ago

Complementary Filters

vha3
2pts0
www.youtube.com 3y ago

Birdsong Synthesizer Implemented with RP2040

vha3
4pts2
vanhunteradams.com 3y ago

VGA driver using PIO and DMA on the RP2040

vha3
67pts17
vanhunteradams.com 3y ago

Lattice-Boltzmann in Python, C, and Verilog

vha3
3pts0
vanhunteradams.com 3y ago

Picasso, by Way of Fourier

vha3
7pts0
vanhunteradams.com 3y ago

Picasso, by way of Fourier

vha3
3pts0
vanhunteradams.com 3y ago

UDP transmitter implemented with PIO and DMA on the RP2040

vha3
109pts21
hackaday.com 3y ago

Cornell Updates Their MCU Course for the RP2040

vha3
2pts0
www.raspberrypi.com 3y ago

Cornell University’s Digital Systems Design Course Is Taught on RP2040

vha3
17pts2
ece4760.github.io 3y ago

Cornell Course on Raspberry Pi Pico

vha3
2pts1
vanhunteradams.com 3y ago

Spacecraft Attitude Dynamics and Determination

vha3
2pts0
people.ece.cornell.edu 4y ago

Bombe Machine on an FPGA

vha3
83pts17
news.cornell.edu 4y ago

Interdisciplinary Investigation of a Mummified Bird

vha3
1pts0
vanhunteradams.com 4y ago

Understanding Fast Fourier Transforms

vha3
34pts2
vanhunteradams.com 4y ago

Synthesizing birdsong via direct digital synthesis

vha3
2pts0
en.wikipedia.org 4y ago

Kolmogorov Complexity

vha3
3pts0

The course website (linked) contains the documentation and bill of materials for each lab assignment. All lectures will be posted online starting 8/22/2022. We'll be synthesizing cricket chirps, animating flocking algorithms, and balancing an inverted pendulum with a reaction wheel. Please feel free to follow along.

I don't unfortunately. I came up with those numbers by using the timers on the PIC32 to measure execution time, in case that's helpful.

Or alternatively (and often more simply) by setting and clearing a GPIO pin before/after the operation being timed, and then using the oscilloscope to measure execution time

On the PIC32, fixed add is ~2 cycles and floating point is is ~60. And about a 2x increase for multiplies. On architectures with floating point hardware some of the advantage is lost, but it's fantastic for DSP on microcontrollers.

Some additional documentation here: https://vha3.github.io/Pico/Steppers/Lorenz.html

I've been experimenting with the PIO (Programmable I/O) system on the new microcontroller from Raspberry Pi. These are coprocessors for which the user can write code in a bespoke assembly language (PIOassm) to drive the GPIO ports. You can do really interesting stuff with these, like implement high-speed communication protocols (e.g. VGA) or offload tasks like driving stepper motors.

I've also been really interested in fractals and chaotic systems. For me, they're a nice bridge between interests in engineering and art. That's why this is drawing the Lorenz system in particular.

They're definitely a bit loose! There's some slack in the etch-a-sketch mechanism too, which is why the tops and bottoms of the curve look a bit flattened. When the motors change direction, the dials must move through a nonzero angle before the mechanism catches and starts moving the plotter. Software can help a little by moving the motor quickly through the dead region.