1 00:00:00,000 --> 00:00:10,000 Welcome to the Circuit Python Show. I'm your host, Paul Cutler. This episode I'm joined 2 00:00:10,000 --> 00:00:15,680 by Max Lupo. Max is a Canadian multimedia artist who constructs odd inventions. His 3 00:00:15,680 --> 00:00:20,760 work strives to find meaning in process, value in translation, and creativity in discarded 4 00:00:20,760 --> 00:00:27,260 or mostly useless things. In 2017, he graduated from OCAD U's Interdisciplinary Art, Media, 5 00:00:27,260 --> 00:00:31,640 and Design program with a master's in fine arts. He teaches sculpture at a community 6 00:00:31,640 --> 00:00:38,400 college in Ontario, Canada and is the community librarian for the Innisfil ideaLAB and library. 7 00:00:38,400 --> 00:00:44,780 Max, welcome to the show. Thank you. Thank you for having me. I'm glad you're here. How 8 00:00:44,780 --> 00:00:49,360 did you first get started with computers and electronics? Once upon a time, way back in 9 00:00:49,360 --> 00:00:55,460 my first round of art school, I was gifted a MacBook and that was fun for a long time 10 00:00:55,460 --> 00:01:02,480 and eventually Linux ended up on that computer. I started using Debian for a while and once 11 00:01:02,480 --> 00:01:08,320 that got there, it was kind of a gateway into tinkering in the computer itself and that 12 00:01:08,320 --> 00:01:12,520 was necessitated partly because Debian at the time didn't have great control of the 13 00:01:12,520 --> 00:01:17,560 fan or temperature of the computer it seemed and so I had to do something about that. I 14 00:01:17,560 --> 00:01:23,640 wrote a Python script that later became kind of a graphic user interface for myself to 15 00:01:23,640 --> 00:01:29,460 manually turn on the fan and then from there learning more about Python through some great 16 00:01:29,460 --> 00:01:35,060 books by Al Sweigart making little games, text adventure games and some of that was 17 00:01:35,060 --> 00:01:40,140 able to intertwine with my arts education and making projects that had some degree of 18 00:01:40,140 --> 00:01:46,160 interactivity to them, whether that was a simple button press or later on more complicated 19 00:01:46,160 --> 00:01:50,080 interactions. But yeah, it all started wanting to solve a problem for myself and then kind 20 00:01:50,080 --> 00:01:55,800 of learning Python as a way to do that. Your art pieces over the years have used Arduino, 21 00:01:55,800 --> 00:02:01,260 MicroPython and CircuitPython. How do you know which language is best for each piece? 22 00:02:01,260 --> 00:02:06,700 When I first started making projects, the Arduino was available and it was great. Being 23 00:02:06,700 --> 00:02:12,260 able to use a microcontroller for the first time and having resources and guides available 24 00:02:12,260 --> 00:02:17,400 was so exciting. Being able to add interactivity into a project and so the Arduino Uno really 25 00:02:17,400 --> 00:02:23,180 did a lot for me for a long time. As projects became more complex and as the Raspberry Pi 26 00:02:23,180 --> 00:02:28,240 kind of became available, those first single board computers, it again felt like a kind 27 00:02:28,240 --> 00:02:33,220 of a new world opening up and a lot of possibilities. As it was described to me many years ago, 28 00:02:33,220 --> 00:02:38,660 trying to choose between an Arduino or microcontroller and a Raspberry Pi, thinking about how many 29 00:02:38,660 --> 00:02:45,280 ands are in your project and so if you need to create a text model and make an animated 30 00:02:45,280 --> 00:02:52,160 GIF and display that onto a screen, a Raspberry Pi is probably your best option. Later on 31 00:02:52,160 --> 00:02:59,580 in my art education, I was working on my master's thesis, MicroPython burst onto the scene and 32 00:02:59,580 --> 00:03:04,680 again it was this opening up of creativity and possibility just by virtue of being able 33 00:03:04,680 --> 00:03:10,700 to do so much on one little board and then of course as time goes on, CircuitPython became 34 00:03:10,700 --> 00:03:18,300 available and so now it's really kind of about the availability of the hardware itself, the 35 00:03:18,300 --> 00:03:23,980 availability of learning resources through Adafruit which really makes CircuitPython 36 00:03:23,980 --> 00:03:30,100 a great package deal and even so far now as when I'm thinking of a new project and it 37 00:03:30,100 --> 00:03:35,100 might need a Raspberry Pi, I'm inclined to try to think of a version of that experience 38 00:03:35,100 --> 00:03:40,100 that could live on a CircuitPython board by maybe pre-computing a text model and then 39 00:03:40,100 --> 00:03:45,900 just dealing with the text itself on a CircuitPython board perhaps. So yeah, that's mostly where 40 00:03:45,900 --> 00:03:47,540 I'm at now these days. 41 00:03:47,540 --> 00:03:51,740 Let's talk about some of the pieces you've created and shown at various exhibitions. 42 00:03:51,740 --> 00:03:56,000 You have a master's in fine arts and your master's thesis abstract starts with, Beep 43 00:03:56,000 --> 00:04:01,080 Boopatronics addresses discarded consumer goods, nostalgia, and the creativity inherent 44 00:04:01,080 --> 00:04:06,060 in adapting one object into another. Tell me about Beep Boopatronics. 45 00:04:06,060 --> 00:04:11,460 Well I'm so glad that we got to Beep Boopatronics. So this, yes, was part of a master's thesis 46 00:04:11,460 --> 00:04:17,940 project. It works something like this. I had a discarded chord organ. This is, imagine 47 00:04:17,940 --> 00:04:23,080 kind of an accordion but standing still or sitting still and so it needs air. Air comes 48 00:04:23,080 --> 00:04:28,700 from somewhere, you depress the keys and then sound is generated and originally it had kind 49 00:04:28,700 --> 00:04:33,520 of an internal motor to make sound and you would play your kind of compositions. So that's 50 00:04:33,520 --> 00:04:38,420 the central piece in the show in a way. But of course the motor was broken, the outer 51 00:04:38,420 --> 00:04:42,760 shell was broken, so it was kind of garbage except for the fact that the keys themselves 52 00:04:42,760 --> 00:04:47,220 still worked. You can press the keys and that was just fine as a starting point. 53 00:04:47,220 --> 00:04:53,260 Elsewhere in the installation there was a small radio that I had taken apart and reworked 54 00:04:53,260 --> 00:04:57,860 so that where you would normally choose a station, the little kind of slider, that was 55 00:04:57,860 --> 00:05:03,560 now just an opening to accept a punch card. And so this huge punch card roll had a composition, 56 00:05:03,560 --> 00:05:09,400 a musical composition punched in it as a series of holes. You would put it in the radio and 57 00:05:09,400 --> 00:05:14,660 it would generate MIDI notes and so kind of musical information and put that over a wire. 58 00:05:14,660 --> 00:05:18,360 How did that musical information get there? Well of course it was a micropython board 59 00:05:18,360 --> 00:05:25,560 that accepted the light pulses as notes corresponding to positions on the grid. All that information 60 00:05:25,560 --> 00:05:31,700 was piped through MIDI over a wire to a second micropython board that controlled an array 61 00:05:31,700 --> 00:05:39,960 of servos to depress keys on the chord organ. So we have of course now a musical instrument. 62 00:05:39,960 --> 00:05:43,820 The chord organ as I mentioned needs air and so part of this installation if you haven't 63 00:05:43,820 --> 00:05:50,140 kind of seen the mild humor in play, part of the installation was me constantly pushing 64 00:05:50,140 --> 00:05:55,200 up and down a hand pump to create enough air pressure in the system when a composition 65 00:05:55,200 --> 00:05:59,180 would play you would be able to hear the sound because the servos would press the keys, I 66 00:05:59,180 --> 00:06:03,940 would be making air, it would all make terrible kind of music, it would make something similar 67 00:06:03,940 --> 00:06:07,900 to music but only just barely related to it. And then eventually of course I would have 68 00:06:07,900 --> 00:06:13,440 to stop pumping, put in a new song, then run back to the pump. Eventually there was a motor, 69 00:06:13,440 --> 00:06:18,840 a fan involved to kind of keep some bass line pressure. But the whole idea of it, like why 70 00:06:18,840 --> 00:06:24,960 do any of these things, the thesis project generally was about this idea, what do we 71 00:06:24,960 --> 00:06:32,780 do and how do we think about all this stuff. The chord organ certainly for a modern musician 72 00:06:32,780 --> 00:06:37,900 or really anybody isn't maybe that appealing. The radio on its own, places all around the 73 00:06:37,900 --> 00:06:42,060 world are discontinuing analog broadcasts and so there's a future where that analog 74 00:06:42,060 --> 00:06:49,480 radio doesn't have a purpose anymore. So these two almost useless objects are here and I 75 00:06:49,480 --> 00:06:53,840 have them and I can think about them for some reason and the reason being to kind of just 76 00:06:53,840 --> 00:06:59,400 see what happens when we make them interact. The thesis, you know because it was a master's 77 00:06:59,400 --> 00:07:05,640 thesis it had to really sit in some sort of ideological space. This idea of like adapting 78 00:07:05,640 --> 00:07:09,860 one thing into another and all these kind of maybe bigger ideas but in a simple way 79 00:07:09,860 --> 00:07:15,120 it was just kind of a challenge in a way. We have these two disparate objects, they're 80 00:07:15,120 --> 00:07:21,080 both related to music some way, they're both mostly discarded. What can I do to make something 81 00:07:21,080 --> 00:07:26,600 interesting happen by kind of forcing them to interact together? 82 00:07:26,600 --> 00:07:30,980 Sure, and I'll make sure that I link to all of these in the show notes too so people can 83 00:07:30,980 --> 00:07:34,560 see pictures and not just have the audio descriptions to go with it. 84 00:07:34,560 --> 00:07:36,620 Oh great. 85 00:07:36,620 --> 00:07:41,200 Your latest exhibition ran through December 6th and is called Continuous Memory where you 86 00:07:41,200 --> 00:07:46,560 explore the power and playfulness of words using technology. But not just any technology, 87 00:07:46,560 --> 00:07:48,760 you used obsolete technology. 88 00:07:48,760 --> 00:07:54,720 Yeah, and so it's all kind of part of this these little pieces of the puzzle of we have 89 00:07:54,720 --> 00:08:00,800 all these items and so Continuous Memory was a two-person show curated and put up here 90 00:08:00,800 --> 00:08:11,160 in Ontario and the show itself has a old Centronics electric typewriter. And so yeah, definitely 91 00:08:11,160 --> 00:08:16,460 an obsolete little piece of equipment but in itself was a part of an ecosystem and so 92 00:08:16,460 --> 00:08:20,960 the typewriter you could type on it as much as you wanted of course using the keyboard 93 00:08:20,960 --> 00:08:26,040 but then also it had a parallel port on the side. And so how interesting that it had like 94 00:08:26,040 --> 00:08:32,360 this connection to the outside world and so the obsolete aspect of it is in some ways 95 00:08:32,360 --> 00:08:38,540 an opportunity to again try to create something new, a new experience using like a circuit 96 00:08:38,540 --> 00:08:43,100 Python board that then communicates over the parallel port to make it type out, you know, 97 00:08:43,100 --> 00:08:49,360 whatever I wanted to type. And in this particular exhibition, it was meaningful because the 98 00:08:49,360 --> 00:08:55,180 things that would type out were sort of selections of stories from my own family's history as 99 00:08:55,180 --> 00:08:59,060 part of their kind of immigration to Canada from Italy. And so my father came over when 100 00:08:59,060 --> 00:09:06,300 he was 13 or 16 and I was able to take those stories and the typewriter at the press of 101 00:09:06,300 --> 00:09:12,880 a button will type out a story from his perspective but then elsewhere in the show there's a phone, 102 00:09:12,880 --> 00:09:17,380 there's all these old rotary dial telephones, then when you pick it up it tells a perhaps 103 00:09:17,380 --> 00:09:21,520 the same story or a similar story from one of my other family members perspective. And 104 00:09:21,520 --> 00:09:28,360 so this whole idea of like the past, nostalgia, these obsolete objects in a way as you go 105 00:09:28,360 --> 00:09:33,280 through the show or at least my work in the show is meant to sort of push you towards 106 00:09:33,280 --> 00:09:39,360 kind of these feelings of memory and trying to pick up the pieces between something familiar, 107 00:09:39,360 --> 00:09:43,560 this typewriter, this story, for example. And then as you find these other objects, 108 00:09:43,560 --> 00:09:47,900 you know, that story becomes more complicated. Hopefully your memories about your own sort 109 00:09:47,900 --> 00:09:54,520 of past experiences become more complicated. And so the obsolete objects are, in this show 110 00:09:54,520 --> 00:09:59,460 anyway, are kind of a way into hopefully that feeling of the past and recollection and things 111 00:09:59,460 --> 00:10:00,960 like that. 112 00:10:00,960 --> 00:10:05,620 Tell me about your collaboration on the margin maker, which is described as a meditation 113 00:10:05,620 --> 00:10:10,080 on space, time, and the body and the ways in which our corporatized nation state enacts 114 00:10:10,080 --> 00:10:15,060 order on all three and how one becomes marginal when they are unable to follow acceptable 115 00:10:15,060 --> 00:10:16,920 socio-cultural margins. 116 00:10:16,920 --> 00:10:23,620 Yes, and so this was an exhibition in Montreal with a fabulous exhibition partner, Pascaline 117 00:10:23,620 --> 00:10:32,060 Knight, another great artist. And Pascaline is left-handed. And in Canada, we have copious 118 00:10:32,060 --> 00:10:38,660 examples in our education history of this Hillroy exercise book. It's a pastel color 119 00:10:38,660 --> 00:10:45,080 book with a map of Canada on the front. And inside, it's, you know, these beautifully 120 00:10:45,080 --> 00:10:49,000 set lined pages to, of course, the classic blue and red little margin lines and things 121 00:10:49,000 --> 00:10:54,260 like that. And so for Pascaline, in her experience, being left-handed and having to learn how 122 00:10:54,260 --> 00:10:59,640 to write in these little books and things of that nature, the left hand, you know, goes 123 00:10:59,640 --> 00:11:04,260 forward as the right hand does, but your arm, if you're left-handed, is constantly covering 124 00:11:04,260 --> 00:11:08,420 the margin. So when you go to return back to that line, you're always obscuring your 125 00:11:08,420 --> 00:11:12,180 point of return, your writing looks messy, you're scolded by your teacher for not having 126 00:11:12,180 --> 00:11:16,540 good penmanship, and all these little things start to happen. And your approach to language 127 00:11:16,540 --> 00:11:22,660 is kind of informed by those experiences. And so Pascaline and I set about to take the 128 00:11:22,660 --> 00:11:27,560 form of this exercise book, these blue and red lines, and complicate them, make them 129 00:11:27,560 --> 00:11:32,800 strange in a variety of different ways. And so Pascaline in her practice, she's a printmaker, 130 00:11:32,800 --> 00:11:38,000 so a lot of screen printing, different versions of the exercise book was her contribution 131 00:11:38,000 --> 00:11:45,700 to the show. And then I made a little circuit playground express power device, which draws 132 00:11:45,700 --> 00:11:50,220 a circular margin around a page, kind of like what a record player would do if you put some 133 00:11:50,220 --> 00:11:57,660 pens on the arm. All these things together are meant to kind of complicate and challenge 134 00:11:57,660 --> 00:12:02,560 this idea of like, yeah, that perfect ruled line that we're all bound by when we're trying 135 00:12:02,560 --> 00:12:09,460 to write on a page. And then the essay that you quoted was by a great curator and friend 136 00:12:09,460 --> 00:12:14,180 who wrote some observations on the show, and her observations, yeah, we're kind of extending 137 00:12:14,180 --> 00:12:21,600 this idea outward into what happens when you don't fit into a box. And I'm sure we all 138 00:12:21,600 --> 00:12:25,740 have experiences on a government forum or something like that, where you're trying to 139 00:12:25,740 --> 00:12:30,900 write your answer, and literally your answer doesn't fit into the box, like your penmanship 140 00:12:30,900 --> 00:12:34,920 cannot be contained inside this little box. But then also potentially like the boxes that 141 00:12:34,920 --> 00:12:39,260 are available for you to check or fill out, don't really match your lived experience, 142 00:12:39,260 --> 00:12:45,220 and you have to just do the closest one. That makes sense for you. And so there's all these 143 00:12:45,220 --> 00:12:51,600 little examples where, as soon as there's a rule, there's a margin, which is technically 144 00:12:51,600 --> 00:12:57,860 passable, we can always write in between the margins. But doing so comes with some sort 145 00:12:57,860 --> 00:13:04,280 of usually like weight, or at least some degree of consideration on your part that, you know, 146 00:13:04,280 --> 00:13:09,300 we no longer fit in between these lines. And so the show is playful, all these kind of 147 00:13:09,300 --> 00:13:14,900 big ideas sound like big ideas, but this was very playful and silly. There were opportunities 148 00:13:14,900 --> 00:13:20,740 for people to run their own little drawing devices that were more mechanical, and have 149 00:13:20,740 --> 00:13:25,420 that kind of experience of making those lines in red or blue ink for sure. 150 00:13:25,420 --> 00:13:27,980 How did CircuitPython help with the installation? 151 00:13:27,980 --> 00:13:35,220 Ideally, CircuitPython was there to kind of be a collaborative point since CircuitPython 152 00:13:35,220 --> 00:13:40,420 text is just Python, and it's almost plain language as if you were to read, you know, 153 00:13:40,420 --> 00:13:44,440 what a program was doing. And that was ideally meant to kind of be a point of collaboration 154 00:13:44,440 --> 00:13:48,940 between Pascaline and I. As the show went on, you know, I became kind of just more responsible 155 00:13:48,940 --> 00:13:53,980 for the coding part of it. But having that opportunity there to quickly prototype and 156 00:13:53,980 --> 00:13:58,940 be able to get feedback from Pascaline about what machine was doing and how she would like 157 00:13:58,940 --> 00:14:04,300 it to work or this or that or seeing her kind of work with a certain part of it, just being 158 00:14:04,300 --> 00:14:10,620 able to kind of go back to the code so easily, make minor adjustments. And since it was a 159 00:14:10,620 --> 00:14:15,720 Circuit playground express, being able to give kind of feedback to the user in the sense 160 00:14:15,720 --> 00:14:20,100 of like the LED lights and things like that was really useful for sure. 161 00:14:20,100 --> 00:14:25,780 That's fantastic. Last question I ask each guest. You're starting a new project or prototype. 162 00:14:25,780 --> 00:14:27,940 Which microcontroller board do you reach for? 163 00:14:27,940 --> 00:14:37,500 Ah, yes. So these days I'm really excited by the KB2040. It's the Adafruit board that 164 00:14:37,500 --> 00:14:44,560 fits the Arduino Pro Micro footprint. And it's great. It has a USB-C port, which apparently 165 00:14:44,560 --> 00:14:50,260 is a requirement for me these days. I don't know why. It has a lot of onboard storage 166 00:14:50,260 --> 00:14:55,300 space, very compact. It used to come in purple. I still have a few of the purple ones. I wish 167 00:14:55,300 --> 00:14:59,900 the purple one would come back. But yeah, that's my favorite these days for sure. 168 00:14:59,900 --> 00:15:04,020 Well, if LadyAda is listening, maybe she'll get that feedback. And I'm with you on the 169 00:15:04,020 --> 00:15:07,920 USB-C. I've got a couple of picos and every time I have to use micro USB, I just kind 170 00:15:07,920 --> 00:15:10,940 of sigh and wish for a USB-C powered board. 171 00:15:10,940 --> 00:15:11,940 I know. 172 00:15:11,940 --> 00:15:15,920 And if anyone wants to learn more about you or your work, where should they go? 173 00:15:15,920 --> 00:15:22,960 Yeah. And so please go to maxlupo.com. It's a blog. You can subscribe and get an email 174 00:15:22,960 --> 00:15:28,880 update or put that URL in your favorite RSS reader that should know what to do. I'm maxlupo 175 00:15:28,880 --> 00:15:34,160 underscore on Instagram, which where more of the art stuff is. And then follow the links 176 00:15:34,160 --> 00:15:39,560 to find where I am on Mastodon. I never remember the full URL, but I'm there too for more of 177 00:15:39,560 --> 00:15:44,520 a technical kind of approach to my work and what I'm up to. Those posts end up there. 178 00:15:44,520 --> 00:15:47,820 Well, that's great. I'll make sure to link to all of those in the show notes as well. 179 00:15:47,820 --> 00:15:49,920 Max, thanks so much for being on the show. 180 00:15:49,920 --> 00:15:54,740 No, thank you, Paul. It's been great. 181 00:15:54,740 --> 00:16:00,280 Thank you for listening. For show notes, visit www.circuitpythonshow.com and transcripts 182 00:16:00,280 --> 00:16:04,960 are available in your favorite podcast player. Until next time, stay positive. 183 00:16:04,960 --> 00:16:06,960 ♪♪ 184 00:16:06,960 --> 00:16:09,020 you