A look at HackerBox 62

Earlier this month, I received HackerBox 62: Watts Up. This month’s theme mostly seems to revolve around low power operations. I must admit I rarely worry about low power operations in my projects. But it is an important topic, and I can foresee some future projects where low power would be necessary. This post will look at what is included in HackerBox 62.

ESP32-S2-WOOR V1.1

ESP32-S2

Included in this HackerBox is the LILYGO ESP32-S2-WOOR Development Board. I’ve meant to play with an ESP32-S2 for months but just never pulled the trigger on ordering one. Luckily the HackerBox has allowed me to play with one.

I haven’t done much with this board yet. But I have followed the excellent instructions from Andreas Spiess to get the Arduino IDE setup to program the board. As a test, I uploaded the following blink sketch.

#define LED_BUILTIN 3
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  Serial.println("LED On");
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  Serial.println("LED Off");
  delay(1000);                       // wait for a second
}

The LED I am using for blink is hooked up to pin I003. I am also sending print commands to the serial port so I could test that functionality simultaneously. After I got Arduino IDE setup correctly, saving the sketch to the board went smoothly. Here is the hardware doing blink:

The blink serial writes went as planned. I haven’t done much with this board after testing its basic functionality. I hope to play with it and take advantage of its low power consumption for some IoT projects.

If you want to see the bootup info for the card, you must have your serial terminal set to a port speed of 115200.

Bouffalo Labs BL602 RISC-V Module

Bouffalo Labs BL602

The instructable for HackerBox 62 includes a nice little writeup on RISC-V. Plus, it has the instructions on how to start programming the cutting edge Bouffalo Labs BL602 RISC-V Development Board included in the kit. Part of me is excited to play with this board because RISC-V will change the hardware landscape. But another part of me thinks I’ll have to wait until my busy season at work is done (I work in a tax office).

I haven’t done the Hello World yet. Before doing that, I need to get the Windows Subsystem for Linux working correctly on my computer (which it isn’t). Maybe I’ll try to figure out to program the board from one of my Raspberry Pis. Of course, that means finding time…

BMP280 Temperature and Pressure Sensor

Also included in HackerBox 62 is the BMP280 Temperature and Pressure Sensor. I’ve played with quite a few temp sensors, but never this particular one. Perhaps this summer, I will use the ESP32-S2 to create an outdoor weather station, with this specific sensor included. Of course, that means I should probably study up on what air pressure readings indicate.

To test the BMP280, I hooked it up to a Circuit Playground Express I keep at my work desk. Adafruit provides an excellent learning guide complete with code for their version of the BMP280. I did have to force the driver to use the I2C address 0x76; otherwise, it wouldn’t see the board. When I scanned for I2C devices, it saw it OK, but apparently, the Adafruit BMP280 is set to look at 0x77. Here is the code I used to test the sensor.

# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT

"""Simpletest Example that shows how to get temperature,
   pressure, and altitude readings from a BMP280"""
import time
import board

# import digitalio # For use with SPI
import busio
import adafruit_bmp280

# Create library object using our Bus I2C port
i2c = busio.I2C(board.SCL, board.SDA)
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address = 0x76)

# OR create library object using our Bus SPI port
# spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
# bmp_cs = digitalio.DigitalInOut(board.D10)
# bmp280 = adafruit_bmp280.Adafruit_BMP280_SPI(spi, bmp_cs)

# change this to match the location's pressure (hPa) at sea level
bmp280.sea_level_pressure = 1013.25

while True:
    print("\nTemperature: %0.1f C" % bmp280.temperature)
    print("Temperature: %0.1f F" % (bmp280.temperature * 9 / 5 + 32))
    print("Pressure: %0.1f hPa" % bmp280.pressure)
    print("Altitude = %0.2f meters" % bmp280.altitude)
    time.sleep(2)

The original code only had the temp in C. I also added a line with the temp in F. I didn’t change the sea level pressure. I looked at my local weather site for that info, but the number kept changing, and it seemed close to the default, so I just left it.

The code ran fine (once I got it on the right I2C address). Thanks to this sensor, I know the temp in my office rises five degrees F throughout the day.

USB Multimeter

USB multimeter

One excellent little addition to this kit is a USB multimeter. This device can be placed in-line with USB devices and measure “current, voltage, power bank charging, battery capacity, and more.” I used to have a simple USB power meter, but I like this one much better. It gives a lot of info on that little screen.

Above is a picture of the meter measuring USB power data while the Circuit Playground Express had the BMP280 hooked up, and the code was running. Below is a picture of the meter measuring while the Circuit Playground Express flashes its NeoPixels.

USB multimeter

As you can see above, this little meter offers a lot of information. It makes sense that the NeoPixels draw more power. A meter like this lets me know just how much power those NeoPixels are drawing. In this case, the current draw from the Circuit Playground express had tripled over what it was using the BMP280.

And The Rest

Here is a pic of some of the other things that came in HackerBox 62.

And The Rest!

The little board on the left-middle of the picture is a 3.3V DC/DC boost converter. This is a handy small device when you need constant 3.3 volts out of two AA batteries. Of course, a twin AA battery holder is included to test that theory.

Also included is a MicroUSB breakout board. I’ve used many of these breakout boards. It is a great way to get 5V power out of a USB cable.

Finally, this box includes a USB-C to USB-A cable, a USB-C to MicroUSB adapter, and some female-female Dupont connectors.

Pretty fun kit

Overall I think this is a pretty fun kit. I like playing with dev boards, and the USB multimeter is an excellent addition. The only problem is I have no time right now to play with these goodies properly! (I can’t wait for tax season to end).

Song Of The Day: Eve of Destruction

It is inauguration day here in the US. No matter who wins an election, I always play this song. I believe every President we have always finds a way to be worse than the previous one. Here is Barry McGuire to explain how I feel about federal politics.

Bonus Song: Land of Confusion

This classic Genesis video seems more appropriate every time we get a new President.

Leave a Reply