Play Button Pause Button

An Introduction To IoT with Joe Karlsson

joekarlsson profile image Joe Karlsson ・2 min read


My favorite things in life are cats 🐈, computers 🖥 and crappy ideas 💩, so I decided to combine all three and make an IoT (Internet of Things) litter box using a Raspberry Pi and JavaScript! If you have ever wanted to build your own IoT project, but didn’t know how to start, then this is the talk for you.

Together, we are going through how I set up my IoT Litter Box from start to finish. Including how to setup Node.js on a Raspberry Pi, how to connect sensors to a Raspberry Pi, and how to read the sensor inputs with Node.js.



Project Link


Source Code


Additional Resources

About Joe Karlsson

I am a software engineer turned Developer Advocate at MongoDB. I come from the frozen tundra of Minneapolis, Minnesota (and yes, it does get really cold here, and no, not everyone here has the accent from the movie, Fargo). I've been primarily a Node and JavaScript engineer and have been writing, teaching, and talking about code my entire career. Sharing what I know and continuing to learn about programming is truly the thing I love doing the most.

Here is a download link to the talk slides (PDF)

This talk will be presented as part of CodeLand:Distributed on July 23. After the talk is streamed as part of the conference, it will be added to this post as a recorded video.

Posted on by:

joekarlsson profile

Joe Karlsson


{ title: "Dev Advocate 🥑", company: "MongoDB", pronouns:["He", "They"], interests: ["Node", "JS", "NoSQL", "film"] }


markdown guide

I'm here for the litter box. I'm hoping it's an actual litter box. My fiance's cats box is getting out of hand lol


LOL - time to upgrade your box with a Raspberry Pi.


I need to. I'll get it to send her a message every time a cat uses it. Maybe she'll remember to change it.


This talk was amazing! I literally have a BUNCH of breadboards and wires and Raspberry Pis and it's all sitting 'cause of an emotional block. You really helped me be inspired to try try again. Josh, thank you.


Amazing! Yes! You need to break those boards out again and make some cool stuff! <3


Oh my gosh - I look like a hipster mime!


It is a really nice advice, imagine that you want to get involved into IoT, you have to learn about hardware and also a new language,

It is easier to learn IoT by get focus into learn the hardware behavior and once you understand it, you could learn a high level lang like c++ (if you want).

In that way you don't have to get stressed to learn all at the same time.


Javier - so glad that you agree! Just do what works best for you! 🥰


Do you have any resources for things like hardware to get started with some super basic stuff? I just want to make something silly and fun. You've got me feeling inspired. I want to bring the fun back to learning code, I've been so focused on the job hunt and "ideal" portfolio projects and it's been really getting me down to be honest.


This is totally my personal opinion, but I would recommend starting with a Raspberry Pi - it's a Ubunutu lite experience. There are a million Rasp Pi guides and projects. I would recommend finding an interesting project and trying to follow along!



I have 3 cats and volunteer with a rescue. I love this and I'm committing to using "moisture event" in any further conversations about cat pee.




I do! Also a hairball detector for regurgitation events.

LOL - you are full of great ideas!


This talk is not good – it's GREAT!


Specifically: I think practical (simple) case studies are the best way to introduce someone to a new piece of tech


YES! I'm glad that you think so too. I feel like learning gets too abstract if you don't have a concrete project to anchor it.


Brain - LOL - you're the best! Thank you so much for coming! I appreciate you so much! <3


😂How exciting that right after I find your tiktoks you're doing this awesome talk


Oh my gosh! thank you!


My first coding "task" was to make a Raspberry Pi bot to tweet my boss the temperature of his office before he got to work. Strange request, but I learned a lot about IoT though building it!


LOL - OMG - This is a great idea!


Coding really comes alive for newbies, kids especially, when they can physically SEE and INTERACT with their code. IOT projects are perfect for this!


I totally agree! It's so much easier to get excited when you can hold and touch it!


This was so cool, and I don't even have a cat!


hahaha - I'm sure you'll think of something cool to make an IoT project about!


This was an awesome talk! I'm inspired to go try building an IoT project, just because.


You're the best - thank you so much for joining us!


Looking forward to this! johnny-five is live!


YES! Paul - you're the best! Thank you so much for coming! I appreciate you so much! <3


Scooter- you're the best! Love that we moved from Twitter friends to Dev.to friends! Thank you so much for coming! I appreciate you so much! <3


Unrelated to the content, but how did you make your slides & the background around the slides + animations? It looks very cool!


I made the slides using Keynote. The background was designed by the design team at MongoDB. I put it all together using OBS. Hope that helps!


Totally sharing with my son ~ He's a techie and a cat owner.... Thanks! :)


Sounds like your son and I would be great friends!


IOT it's absolutely amazing . Specially for kids in my opinion because it's open creativity for them. And more fun than usual programming.


Omar - you nailed it. I think it's a great way to make programming less abstract


There's been a lot of talk about Deno being the "new" Node. Would that be prevalent in future IoT applications and should developers shift learning towards Deno instead of Node?


Interesting! I'm not sure, but let me check it out!


Esmeralda - you're the best! Thank you so much for coming! I appreciate you so much! <3


This is too cool! Thanks for the talk.


Byonca - thank you so much for coming!


What an awesome session, thanks man.
Keep up the good vibes