Hey #electronics folks!
-
As a project to learn #kicad, I designed my first PCB the other day! (With the help of @flauschzelle and @lenaschimmel!)
It's a "wing" for @adafruit's modular Feather system, to easily connect the CO2 sensor I want to use.
The manufactured PCBs arrived today! \o/ We used a pin that's an input-only pin on the ESP32, but soldering a little cable to another pin seems to work.
@bleeptrack assured me that there's no first PCB without a botch job!
The first prototype of my low-power CO2-Sensor is working!
It currently consists of:
- ESP32 "feather" devboard
- the CO2 Feather Wing I co-designed, featuring a Senseair Sunrise sensor
- @adafruit's E-Ink Feather Friend
- a Waveshare E-Ink display, which shows the current CO2 value in ppm -
The first prototype of my low-power CO2-Sensor is working!
It currently consists of:
- ESP32 "feather" devboard
- the CO2 Feather Wing I co-designed, featuring a Senseair Sunrise sensor
- @adafruit's E-Ink Feather Friend
- a Waveshare E-Ink display, which shows the current CO2 value in ppmThanks to everyone who recommended to get this power profiler! It's a really helpful tool for what I'm doing.
Currently, it takes 233 mC of charge to refresh. Theoretically, if the device refreshes every minute, the battery will last 23 days! Which is already much better than I expected, but there's lots to be optimized.
Needing to be awake to re-draw the e-ink screen is the biggest factor. Between refreshes, the devices goes into deep sleep, where it basically draws no power at all.
-
Thanks to everyone who recommended to get this power profiler! It's a really helpful tool for what I'm doing.
Currently, it takes 233 mC of charge to refresh. Theoretically, if the device refreshes every minute, the battery will last 23 days! Which is already much better than I expected, but there's lots to be optimized.
Needing to be awake to re-draw the e-ink screen is the biggest factor. Between refreshes, the devices goes into deep sleep, where it basically draws no power at all.
I'm really surprised how pleasant it is to program the firmware in #rust! Because I *really* don't want to use C/C++ anymore, if I can avoid itโฆ
I love how Cargo helps manage all dependencies and libraries, and how you can write generic drivers using "embedded-hal", a central crate in the embedded Rust ecosystem, which just hit version 1.0: https://blog.rust-embedded.org/embedded-hal-v1/
Big recommendation!
Also, I'm learning a lot about how the I2C protocol works!
-
I'm really surprised how pleasant it is to program the firmware in #rust! Because I *really* don't want to use C/C++ anymore, if I can avoid itโฆ
I love how Cargo helps manage all dependencies and libraries, and how you can write generic drivers using "embedded-hal", a central crate in the embedded Rust ecosystem, which just hit version 1.0: https://blog.rust-embedded.org/embedded-hal-v1/
Big recommendation!
Also, I'm learning a lot about how the I2C protocol works!
My plan is still to design a design a PCB that integrates all required components, and make the result available as open hardware.
Having fresh air around you means you can use your own brain cycles better!
-
My plan is still to design a design a PCB that integrates all required components, and make the result available as open hardware.
Having fresh air around you means you can use your own brain cycles better!
Here are the biggest questions on my mind right now (let me know if you have thoughts)! #electronics
- How could I make the device cheaper? The Sunrise CO2 sensor costs 50 EUR per piece. The other components will be really cheap, but I need a good, low-power sensor. The SCD41 is cheaper, but draws an average of 450 uA (compared to the 16 uA of the Sunrise).
- How could I minimize the power/time for refreshing the e-ink display? Use a smaller screen? Use a Memory LCD instead?
-
Here are the biggest questions on my mind right now (let me know if you have thoughts)! #electronics
- How could I make the device cheaper? The Sunrise CO2 sensor costs 50 EUR per piece. The other components will be really cheap, but I need a good, low-power sensor. The SCD41 is cheaper, but draws an average of 450 uA (compared to the 16 uA of the Sunrise).
- How could I minimize the power/time for refreshing the e-ink display? Use a smaller screen? Use a Memory LCD instead?
Worked on my open hardware, ultra low-power CO2 sensor while listening to #fosdem talks!
I added a nicer font (using the u8g2 #rust crate), and a graph of the ppm value over time, which is kept in the RTC memory during deep sleep!
Also, I found a cheaper version of the sensor I'm using, which pushes the total hardware cost down to ~60 EUR.
Next steps: Calibrating the sensor properly, and then lower energy consumption as far as I can!
-
Worked on my open hardware, ultra low-power CO2 sensor while listening to #fosdem talks!
I added a nicer font (using the u8g2 #rust crate), and a graph of the ppm value over time, which is kept in the RTC memory during deep sleep!
Also, I found a cheaper version of the sensor I'm using, which pushes the total hardware cost down to ~60 EUR.
Next steps: Calibrating the sensor properly, and then lower energy consumption as far as I can!
Now that it's getting colder again, I feel motivated to resume work on my CO2 sensor (an open-source Aranet 4 clone).
I improved the UI a bit, and added a "critical line" at 1000 ppm. The colors of the number also invert at that point, suggesting you to open your windows.
-
Now that it's getting colder again, I feel motivated to resume work on my CO2 sensor (an open-source Aranet 4 clone).
I improved the UI a bit, and added a "critical line" at 1000 ppm. The colors of the number also invert at that point, suggesting you to open your windows.
I thought it might be fun to do a bit of poll-driven design, to figure out what folks might be interested in, and to get more clarity on some trade-offs!
So I'll post a couple of polls in this thread, feel free to chime in!
First off, in general, which features are important to you in a sensor like this? (Multiple choice!)
-
I thought it might be fun to do a bit of poll-driven design, to figure out what folks might be interested in, and to get more clarity on some trade-offs!
So I'll post a couple of polls in this thread, feel free to chime in!
First off, in general, which features are important to you in a sensor like this? (Multiple choice!)
My plan is to create an open hardware project.
If I were to publish a detailed guide on how to order all components and build the device, would you want to build one yourself? And would you be able to? This would involve some basic soldering.
I'm not really planning to open a shop or something, but I still included some options to gauge interest.
Which of these options fit you best?
-
My plan is to create an open hardware project.
If I were to publish a detailed guide on how to order all components and build the device, would you want to build one yourself? And would you be able to? This would involve some basic soldering.
I'm not really planning to open a shop or something, but I still included some options to gauge interest.
Which of these options fit you best?
Next, some design trade-offs. It's hard to do everything at once, so I'd like to find out what to focus on.
What's more important to you?
-
Next, some design trade-offs. It's hard to do everything at once, so I'd like to find out what to focus on.
What's more important to you?
What's more important to you?
-
What's more important to you?
-
And finally, what is the highest total component price that would be acceptable to you for a portable CO2 sensor? A low price would affect battery life and precision.
(For reference: The Aranet 4 costs around 200 EUR).
-
And finally, what is the highest total component price that would be acceptable to you for a portable CO2 sensor? A low price would affect battery life and precision.
(For reference: The Aranet 4 costs around 200 EUR).
One more that comes to mind:
Would you rather have a device with modular components (like @adafruit's Feather system [1])? This would make it more hackable/repairable.
Or would you prefer one circuit board that has everything integrated? This would probably push the price and the size down.
-
One more that comes to mind:
Would you rather have a device with modular components (like @adafruit's Feather system [1])? This would make it more hackable/repairable.
Or would you prefer one circuit board that has everything integrated? This would probably push the price and the size down.
Time for another round of "blinry is clueless about #electronics" questions!
What's your experiences with JLCPCB vs PCBWay? I'm mainly interested in PCBA, which seems surprisingly cheap at JLCPCB!
How do you usually select specific components? For example, if I'm looking for a 4.7uF/50 V capacitor โ which SMD package size would you use, which brand, and why? What's your process?
-
Time for another round of "blinry is clueless about #electronics" questions!
What's your experiences with JLCPCB vs PCBWay? I'm mainly interested in PCBA, which seems surprisingly cheap at JLCPCB!
How do you usually select specific components? For example, if I'm looking for a 4.7uF/50 V capacitor โ which SMD package size would you use, which brand, and why? What's your process?
And when it comes to component placement, this seems like the most arcane art to me!
Below is the reference circuit for driving a Waveshare e-ink display โ are there components for which it is important to actually place them close to each other on the PC? L1 and C4, for example? Are there rules of thumb here?
Is it possible/customary to place a via directly inside a solder pad? Seems like it would save some space, but maybe it's a bad idea?
-
And when it comes to component placement, this seems like the most arcane art to me!
Below is the reference circuit for driving a Waveshare e-ink display โ are there components for which it is important to actually place them close to each other on the PC? L1 and C4, for example? Are there rules of thumb here?
Is it possible/customary to place a via directly inside a solder pad? Seems like it would save some space, but maybe it's a bad idea?
Okay, here's my best shot at a schematic for a low-power CO2 sensor based on an #ESP32-C6-MINI!
It still includes some questions in red, including:
- Should I add ESD protection to the USB D-/D+? Which kind?
- Should I add more filter caps to VBUS, the ESP's input, or to the button pins?
- In general, are the components I picked reasonable, or are there more standard MOSFETs, diodes or R/C sizes?If someone more experienced in #electronics could help review this, I'd be extremely grateful!
-
Okay, here's my best shot at a schematic for a low-power CO2 sensor based on an #ESP32-C6-MINI!
It still includes some questions in red, including:
- Should I add ESD protection to the USB D-/D+? Which kind?
- Should I add more filter caps to VBUS, the ESP's input, or to the button pins?
- In general, are the components I picked reasonable, or are there more standard MOSFETs, diodes or R/C sizes?If someone more experienced in #electronics could help review this, I'd be extremely grateful!
Prepared a rough test order on JLCPCB yesterday to gauge the price โ and learned that the ESP32-C6-MINI is not supported in their "Economic Assembly"
Meaning that the assembly would cost a bit more.
Options:
- Hand-solder the ESP32 module
- Switch to the ESP32-S3-MINI (which, strangely, seems to support Economic Assembly)
- Switch to STM32 (whole new rabbit hole for me, and probably more difficult to build in connectivity?)
- Accept the price for Standard Assembly -
Prepared a rough test order on JLCPCB yesterday to gauge the price โ and learned that the ESP32-C6-MINI is not supported in their "Economic Assembly"
Meaning that the assembly would cost a bit more.
Options:
- Hand-solder the ESP32 module
- Switch to the ESP32-S3-MINI (which, strangely, seems to support Economic Assembly)
- Switch to STM32 (whole new rabbit hole for me, and probably more difficult to build in connectivity?)
- Accept the price for Standard AssemblyBack at my CO2 sensor project (an open-hardware Aranet 4 clone) this week! I finally made a PCB design โ it's my first "complicated" design ever, so I feel very clumsy!
Changes I still wanna make:
- Flood the top layer with a ground fill, as well?
- Add mounting holes.
- Confirm correct placement of all parts in JLCPCB.
- Add a cutout to allow the e-ink screen to be connected from the other side.If you have tips what mistakes to look out for at this stage, I'd be thankful!
-
Back at my CO2 sensor project (an open-hardware Aranet 4 clone) this week! I finally made a PCB design โ it's my first "complicated" design ever, so I feel very clumsy!
Changes I still wanna make:
- Flood the top layer with a ground fill, as well?
- Add mounting holes.
- Confirm correct placement of all parts in JLCPCB.
- Add a cutout to allow the e-ink screen to be connected from the other side.If you have tips what mistakes to look out for at this stage, I'd be thankful!
Here's how I'm envisioning the entire device:
The battery will be at the bottom of the back side, with the ESP32 and CO2 sensor above it.
The e-ink screen connects to the center of the front side. Three buttons at the top can be used for interaction, the two at the back are for flashing. USB-C port at the side.