Toying with Timer 4 on the ATmega32U4: PLL-driven PWM up to 8MHz, verified on the scope.
Trying out Funky v2 with the LTC3108 energy harvesting board
Funky v2 with a MOSFET controlling the RFM12B’s power – trying to start cleanly from the LTC3108 energy harvester’s slow voltage ramp.
Funky v2 rev 1

Funky v2 rev 1: solving the RFM12B’s 0.68mA startup draw that kept my nodes from booting off the energy harvesting board.
Soil moisture sensing revisited
Soil moisture sensing with just the ATtiny’s internal pull-up and an analog input – no external resistors this time.
73062 transmissions with the Funky v2 low-power code and CR2032 battery
73062 transmissions from a Funky v2 on one 220mAh CR2032 – the low-power code held up until the battery finally quit.
Wallpaper prank
Testing the Funky v2’s HID keyboard mode with a USB Ducky style wallpaper prank – sorry, colleagues.
Software I2C test
Software I2C on the Funky v2 – the hardware TWI pins aren’t on the side header, but bit-banging covers the sensor use case fine.
TCP/IP over RFM12B and Raspberry Pi as gateway
TCP/IP over RFM12B using the uIP stack – remote nodes reach the Internet through a Raspberry Pi gateway.
Funky v2 low power example
My consolidated Funky v2 low power example sketch – 0.04mA sleep current, enough to run the ATmega32U4 node off a CR2032.
Detecting USB connection on the Funky v2
Detecting whether the Funky v2 is on USB or battery in code – so the power hungry USB circuitry gets shut down the moment it’s unused.
Frequency counting test
Frequency counting on the Funky v2 with Albert’s Arduino library – feeding it 6kHz PWM and checking what it reports.
Funky v2 as RFM12B to Raspberry Pi gateway
The Funky v2 as an RFM12B to Raspberry Pi gateway – it enumerates as CDC over USB, keeping the Pi’s GPIO header free.
More “Gotchas” on the LDO regulator issue in Funky v2
More MCP1703 gotchas: the LDO leaks current backwards through its output when running the Funky v2 from battery – MCP1700 doesn’t.
Funky v2’s LDO to blame for high sleep current. Now fixed
Confirmed: the MCP1703 LDO was behind the Funky v2’s high sleep current – swapped out, battery numbers back to normal.
High sleep current issue with Funky v2 sorted out
The Funky v2 high sleep current mystery solved: a noisy 3.3V supply was fooling the multimeter. On AA batteries it reads 0.13mA.
Drat, and double drat!
The new Funky v2 draws a constant 3mA no matter the sleep mode – hoping it’s software, not a hardware design flaw. Investigating.
Funky v2 – finally

The revised Funky v2 works – 1.5 hours of eye-hurting hand soldering per board means I need a smarter assembly plan.
RGB LED
First go at RGB LEDs on the Funky v2 – SoftPWM fakes PWM on arbitrary pins since only one hardware PWM pin is routed.
Funky v2 gets its own USB VID/PID pair
The Funky v2 gets its own USB VID/PID pair – solving USB identity for an open source project without buying a Vendor ID.
433Mhz OOK with Funky v2 to remotely control power sockets
A 15 minute project: switching 433MHz OOK power sockets from the Funky v2 with a $5 ebay transmitter and FuzziLogic’s library.
Receiving IR with Funky v2
Receiving IR on the Funky v2 with Ken Shirriff’s library – and the routing change that will make IR sending possible too.
Power saving techniques on the Atmega32u4
Power saving techniques on the ATmega32U4 – getting the Funky 2 close to the ATtiny84’s sleep currents for long battery life.
Funky v2 (well almost)

The first ATmega32U4 USB Funky is soldered – QFN44 and 0402 by hand, plus the swapped MOSI/MISO lines I had coming.
Update on the Atmega32u4 based new Funky

Final board layout for the ATmega32U4 based Funky 2 – this project is pushing my hobby-level PCB skills hard, in a good way.
Funky LED candle

A Funky LED candle: bare PCB, an ATtiny84 at 1MHz with BOD off, and a flickering yellow LED down to 1.8V – nothing else needed.
Atmega32U4 based micro node with RFM12B
Rethinking the Funky: an ATmega32U4 micro node with RFM12B – native USB means no ISP programmer and no core installs for users.
Funky as remote temperature sensing node with DS18B20
Using the Funky as a remote room temperature node – a DS18B20 solders straight onto its pads, one per room before the heating season.
USB on the Funky
Experimenting with native USB on the Funky using FTDI’s tiny FT230XQ – inspired by the MicroFTX project.
Funky Wiki
The Funky sensor now has its own wiki – documentation moving out of scattered blog posts.
Using Funky’s boost regulator get steady 3.33V from higher voltage
Using the Funky’s LTC3525 boost regulator backwards – a steady 3.33V from higher, sagging input voltages.
Clocking the Funky sensor from RFM12B’s crystal
Clocking the Funky’s ATtiny84 from the RFM12B’s crystal – stable timing for IR and RF experiments the internal oscillator can’t do.
3D modelling of PCB designs
Turning Eagle PCB layouts into 3D Sketchup models with EagleUp – my boards rendered before the fab even ships them.
