thought i'd just share some photos of the microprocessors i've been building. most of these are of the cortex m4f i ranted about earlier. disclaimer: these images are pretty, but also rather high resolution. 🙂
during some initial demos, i discovered the tiny breakout pins on the stm32f4-discovery board were inconveniently small and tightly packed. so i found some ribbon cable to match them:
then, i drilled out all the pins into a sheet of plexi. this took a while. afterwards, i installed tip jacks for each pin. this also took a while. since the jacks had to be so tightly packed, i had to bend most of the lock washers to get them to fit. i also discovered, after installing the first 100 or so jacks, that some of the jacks were designed to short to the chassis. since my lock washers mostly overlap, this caused many of the jacks to short together. so, i removed the problem jacks and started over. this took hours.
but it's pretty!
ok, one more for good measure...
i installed the panel into a salvaged box i found at a surplus store in el cajon. i think it contained camera equipment at one point.
plugged the board in...
fastened it to the chassis with some improvised standoffs...
and finished bolting everything together. rock fricken' solid:
the panel breaks out each pin on the m4f, and additionally, the pins on the st-link programmer included in the stm32f4-discovery board. this means i can use my dev-box to program other st-link aware microprocessors... shweet!
but i was still operating the board with usb connectors that required the box to be open. given the exorbidant cost of panel-mount usb jacks, i decided to go with the venerable 10-pin jones connector to break out the two usb ports. the first port allows a computer to communicate with the st-link, allowing me to program the thing. additionally, this port provides power to the system. the second port allows the microprocessor to host other usb devices (!!!), allowing me to connect usb peripherals to the system, such as additional memory, other microprocessors, or what have you:
above, you might be able to see the colorful labels i covered the lid with. these correspond to the names of the pins and the colors of the tip jacks. this feature was essential.
here's a picture of an early patch i was messing with. i was using a gpio pin as an input to set off a routine that made other gpio pins flip from high to low in a sequence. since no adc / dac was needed, this one was fairly simple.
i do my programming using codeblocks and custom makefiles, and use a special build of gdb (discussed in the previous stm32f4 post) to load and debug the software. i have since started converting analog voltages, storing them into memory, and writing them out as voltages again. i can do this at rates up to 100MHz (!!!) and with block sizes down to 1 sample. the total round trip time depends on how i process it, but at bare minimum it's something like 15 cycles (again, at 100MHz). so it's pretty darn fast. also, there are 16 adc's on the chip, addressable through gpio. currently i manage the data coming through the adcs and out to the dacs via dma, which is working just fine for me. there are occasional problems with the dacs which i believe to be the result of impedance changes that occur when the unit is connected to my motu traveller and i switch it off before unplugging. they could also be the result of dma->dac underrun errors. i simply do not know just yet. nevertheless, the values comming in through adc and the values at the memory location dma is ostensibly sending to the dac are ok. maybe i should make some buffers for the outputs. i will certainly need 16 impedance matching, level shifting stages to convert bipolar audio signals into unipolar signals for the adc channels. i'm thinking something in this family will do the trick.
finally, i'd just like to share with you the housing i went with for my raspberry pi, a device which if you aren't familiar with, you should be. i broke out the most useful seeming gpio pins on the top, again with tip jacks. i might also break out the rest using some kind of dongle. it's getting tight in that chassis...
but it's so cute! awwwww X-)