frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Tiny Code Reader: a $7 QR code sensor

https://excamera.substack.com/p/tiny-code-reader-a-7-qr-code-sensor
102•jamesbowman•7h ago

Comments

cristoperb•7h ago
That's inexpensive enough to be the basis for a modern recreation of the CueCat:

https://en.wikipedia.org/wiki/CueCat

rootsudo•7h ago
beat me to it. was thinking the same.
marci•3h ago
#Qcat?
Ductapemaster•7h ago
Sadly, Useful Sensors seems to have pivoted to other edge AI tech and no longer sells this or their person detector.
haarts•4h ago
Yeah, that is a shame. Couldn't find something similar unfortunately.
ravetcofx•6h ago
Can also do this with an esp-32 camera module which are cheap and all-in-one https://github.com/alvarowolfx/ESP32QRCodeReader
123pie123•5h ago
Just checked and the cost for a (non aliexpress) seller ESP32-CAM dev board is around £5-£6 or less than £1 from aliexpress
waitwhat•4h ago
Aliexpress listings can have multiple different items, and the price displayed in the search results will be that of the first of those (in your case, probably just an antenna) rather than the actual item you searched for or even the item image shown on the results page.
pseudosavant•5h ago
I even found them on Amazon with Prime shipping for ~$8/each. Curious how challenging parsing a QR code would be with that?
xmprt•6h ago
My experience with small QR code readers like this on ESP32 boards is that without a viewfinder, they lose a lot of utility. The feedback loop that a viewfinder gives with positioning and knowing when the QR code is detected is invaluable.
nemomarx•6h ago
I wonder if you could project some red LEDs instead, like barcode scanners?
therein•6h ago
You can, and it still results in a subpar experience. There are products out there that do exactly that.
Liftyee•5h ago
In places where QR payment is commonplace, readers without viewfinders often get round this issue with a pyramidal frame in front of the camera marking out its FOV, the rectangular opening indicating where the QR code should be aligned. From experience, the code often reads before you even finish approaching the reader.
baby_souffle•5h ago
All of the cheap camera based two-dimensional barcode modules that I see on AliExpress tend to ship with a white LED as well as a red LED. The white LED is for general flood illumination and the red LED has some sort of pattern and lens array that keeps it centered in the cameras field of view and appears sharp and focused when the barcode is at the optimal distance.

Camera detects motion, turns white LED and red LED on. Paper or screen with the QR code is now illuminated and humans can move up and down until the red Target appears in the center and in focus. Approximately a quarter of a second after that happens, you hear the beep noise indicating a successful read and decode

benjaminbenben•6h ago
If you pair this with a eink display you could send messages back and forth with another device https://remotehack.space/QR-TX/
ruined•5h ago
positioning limit may be a focus issue.

typically on these cameras the lens is mounted and focused by a screw thread. there is not usually an 'infinity stop' because the mount is very simple, so i would expect the lens may be mechanically positioned outside the useful focus range. a 110 degree FoV is a very wide lens, so the useful screw range may be quite mechanically narrow, but when positioned properly it will have a very deep in-focus field, capturing near objects and far objects clearly.

the datasheet doesn't say much about focus, but it looks like the rim of the lens is knurled for grip, so try rotating the lens. 'screw out' will bring focus nearer, 'screw in' will push focus farther. i would suggest indexing your start position with a paint pen for easy return, and then index the correct position if you find it.

if all else fails, you could place a small aperture in front of the lens. this will reduce light transmission but also improve the focus field, like squinting your eyes.

spicybright•5h ago
A cheap android phone would perform better and for much cheaper.
mananaysiempre•5h ago
Somewhat incidentally, is there an actual description of how a low-tech QR code reader would work? I’ve looked for this a few years ago and all solutions I could find were of two flavours: (1) use ZXing (“Zebra Crossing”, a now-unmaintained library[1] for every 1D and 2D barcode under the sun); (2) use OpenCV. Nowhere could I find any discussion of how one would actually deal with the image-processing part by hand. And yet QR codes are 1994 tech, so they should hardly require fancy computer-vision stuff to process.

[1] https://github.com/zxing/zxing

alex_suzuki•5h ago
You could have a look at the ISO spec on QR Codes to get the authoritative source on what kind of processing required.

Alternatively (and what I would recommend), is grab a library that is dedicated to QR Code reading (I‘ve used Quirc, for example) and just read the code.

Typically you threshold an image to get a binary representation (1: black, 0: white). Then you detect the finder patterns by looking for 1-1-3-1-1 runs of black/white. Once you have a bunch of finder patterns localized, you form triplets and decode the binary matrix that they span.

cjbgkagh•5h ago
I think many places roll their own. QR codes have a finder pattern of alternating black and white with relative spacing of 1-1-3-1-1 for any line that goes through the center of it. This has a low false positive rate so this step is the most important for performance. Since orientation doesn’t change the pattern horizontal scans are sufficient, once the center, scale, and rotation has been found the rest is fairly straight forward. There isn’t really a good reason why this set up couldn’t be rotation invariant, the processing power required is pretty low.
jcynix•3h ago
Using https://duckduckgo.com/?q=qrcode%20decode%20by%20hand gives me a number of results like

http://blog.qartis.com/decoding-small-qr-codes-by-hand/

https://beck-thompson.github.io/QRcodewebsite/

Reading QR codes without a computer! https://qr.blinry.org/

And then there are a number of OSS implementations for Android (check fdroid.orgl, Debian/Ubuntu, etc. Maybe study the code?

mananaysiempre•2h ago
That’s not what I’m asking about: once you’ve found the QR code in the bag of pixels you got from your camera and converted it to a boolean array of module colours, then yes, all you have left is a bit error-correction math and some amusingly archaic Japanese character encoding schemes—definitely some work, but ultimately just some work. (For that matter, the Wikipedia article on QR codes contains enough detail to do this.)

What has thus far remained a mystery to me is going from a bag of noisy pixels with a blurry photo of a tattoo on a hairy arm surrounded by random desk clutter to array of booleans. I meant “by hand” as in “without libraries”, not “using a human”, as in the latter case the human’s visual cortex does the interesting part! And the open-source Android apps that I’ve looked at just wrap ZXing, which is huge (so a sibling commenter’s suggestion of looking at a different, QR-code-specific library is helpful).

jcynix•2h ago
> What has thus far remained a mystery to me is going from a bag of noisy pixels [...] to array of booleans.

Ah, OK. You can use software like ImageMagick to partition images into levels of gray or just black and white. I have some examples somewhere I played with some time ago, but not accessible online right now, sorry. If the contrast of the original image is high enough, just the qrcode would remain to be parsed.

jcynix•2h ago
Here's an example to start with: ImageMagick's -threshold or -adaptive-threshold (depending on the image's lighting) are what you want to look at, e.g. try something like

    magick input.jpg \
      -colorspace Gray \
      -adaptive-threshold 8x8+10% \
      candidate.png
edoceo•40m ago
And if you wanna go even lower, you'll "raw" read the image pixel by pixel to normalise colour to black/white and then read that matrix for the QR pattern.

And then, cause there are some inverted colour QRs, flip and scan again.

amelius•5h ago
Anyone who knows of a cheap sensor that works in Linux and can read Digikey bag barcodes?
MiguelHudnandez•2h ago
I'm unclear about a specific sensor, but it looks like the format you want to decode would be "Data Matrix ECC 200"

https://forum.digikey.com/t/digikey-product-labels-decoding-...

I think a smartphone and custom app would be the worst case scenario in terms of cost, and that could be pretty cheap.

unquietwiki•3h ago
I've had a recurring idea in my head of a sensor you could mount in your car, and then be able to read QR codes from the side of the road, and get an index of all the businesses you'd be driving by for later lookup. Not sure how feasible or useful it'd actually be...
ktallett•3h ago
Would you genuinely want this? I personally can't see why. Perhaps at conventions it could be useful as it's hard to visit every table.
avidiax•3h ago
That seems easier to do by using OpenStreetMaps and a GPS trace. You would need the businesses to cooperate by putting a QR code out, so they might as well cooperate and keep a maps listing up to date.

I could imagine maybe OCRing the results from a line-scan camera. That would read all the business signs and street names as you drive by them.

jcynix•3h ago
Why would I want to have this? No idea, but if I did I probably would use a modern dashcam (these can easily do 4K HDR with 60 fps nowadays) and later analyze the recording with OpenVC.

Some viofo dashcams even allow the connection of two secondary cams (those only FullHD) so you could scan to the left and right simultaneously to the front.

alnwlsn•3h ago
Reminds me of one of the ideas I heard about for how to do road navigation before GPS - you paint a bunch of barcodes on the road that your car reads as you drive over them, and then your computer figures out where you are (you would probably use dead reckoning with your car's speed and time, too).
harrylepotter•3h ago
A fridge-mounted ESP32 barcode integration would be pretty awesome for tracking fridge inventory

Is the use of Emojis in the code and console recommended?

1•sirilyros•17m ago•0 comments

Python 3.14.0rc1

https://www.python.org/downloads/release/python-3140rc1/
1•OutOfHere•20m ago•1 comments

Magic mushrooms rewind aging in mice–could they do the same for humans?

https://www.sciencedaily.com/releases/2025/07/250721223838.htm
1•OutOfHere•20m ago•0 comments

Show HN: I built a tool that automates cold DMs on Twitter

https://www.dmpro.ai/
1•jsathianathen•21m ago•0 comments

Can a Chatbot Be Your Therapist? Casper's Neil Parikh Launches $93M Startup

https://www.forbes.com/sites/zoyahasan/2025/07/22/can-a-chatbot-be-your-therapist-caspers-neil-parikh-launches-a-new-93-million-startup-to-try/
2•CharlesW•26m ago•0 comments

An LLM-based chatbot promised a 50% discount due to hallucination

https://www.haebom.dev/archive?post=7916x82r8eje124kpyg3
1•haebom•31m ago•0 comments

New AI study clarifies the origins of Papua New Guineans

https://phys.org/news/2025-07-ai-papua-guineans.html
1•pseudolus•38m ago•0 comments

Democrats are desperately trying to revive the click-to-cancel rule

https://www.theverge.com/politics/711707/click-to-cancel-democrats-ftc
17•pseudolus•41m ago•0 comments

The Reason Your AI Code Becomes Unmaintainable (and How to Fix It)

https://blog.daviddodda.com/most-ai-code-is-garbage-heres-how-mine-isnt
1•DavidDodda•43m ago•0 comments

Tesla opens diner and drive-in movie theater in Hollywood

https://abc7.com/post/fans-wait-hours-visit-highly-anticipated-tesla-diner-drive-movie-theater-hollywood-opening-day/17235885/
3•geox•45m ago•1 comments

Show HN: Cryptographic proofs that algorithms stay fair over time [pdf]

https://github.com/skylessdev/skyla/blob/main/dual-baseline-verification.pdf
1•skylessdev•46m ago•0 comments

Large ancient Hawaiian petroglyphs uncovered by waves on Oahu

https://www.sfgate.com/hawaii/article/hawaii-petroglyphs-uncovered-20780579.php
2•c420•48m ago•0 comments

One in six US workers pretends to use AI to please the bosses

https://www.theregister.com/2025/07/22/ai_anxiety_us_workers/
10•mikece•50m ago•1 comments

Nuclear fusion startup claims to have cracked alchemy

https://www.telegraph.co.uk/business/2025/07/22/nuclear-start-up-claims-cracked-alchemy-marathon-fusion/
1•austinallegro•54m ago•0 comments

Qwen Code: A command-line AI workflow tool, optimized for Qwen3-Coder models

https://github.com/QwenLM/qwen-code
1•arcanemachiner•55m ago•0 comments

Algorithms for Modern Processor Architectures

https://lemire.github.io/talks/2025/sea/sea2025.html
7•matt_d•57m ago•0 comments

Lacking Ridership and Revenue, Florida Lauded Private Rail Is Worrying Investor

https://www.bloomberg.com/news/articles/2025-07-22/florida-s-brightline-high-speed-rail-rattles-investors-defying-promises
5•us0r•57m ago•1 comments

Launching OpenCommunity Software License (OCSL) Version 1.0

https://www.madalin.me/ocsl/
1•Topfi•1h ago•0 comments

Police officers in Denmark are tackling crime by playing online games with kids

https://www.euronews.com/next/2025/07/03/these-police-officers-in-denmark-are-tackling-crime-by-playing-online-games-with-kids
4•PaulHoule•1h ago•0 comments

You lose 23 minutes of focus every Google or GPT use;

https://www.wagoo.ai/
2•vspuzzler•1h ago•2 comments

Kelp: A UI library for people who love HTML

https://kelpui.com/
2•exiguus•1h ago•1 comments

The Productivity Delusion

https://octopus.com/blog/productivity-delusion
2•gpi•1h ago•0 comments

Lonely Diarist of the High Seas

https://daily.jstor.org/lonely-diarist-of-the-high-seas/
1•bookofjoe•1h ago•0 comments

NASA Saved a Camera 370M Miles Away Near Jupiter

https://www.nasa.gov/missions/juno/nasa-shares-how-to-save-camera-370-million-miles-away-near-jupiter/
5•jnord•1h ago•0 comments

Ozzy Osbourne Dead at 76

https://nypost.com/2025/07/22/entertainment/ozzy-osbourne-dead-black-sabbath-frontman-dies-at-76/
4•cable2600•1h ago•1 comments

How to Make a Paper Airplane

https://www.foldnfly.com/lounge/how-to-make-a-paper-airplane.php
2•ColinWright•1h ago•0 comments

Antipodes Map – Tunnel to the other side of the world

https://www.antipodesmap.com/
1•ColinWright•1h ago•1 comments

Building an MCP Server with Clerk, Vercel, and Mintlify

https://blog.onkernel.com/p/introducing-kernel-mcp-server
1•juecd•1h ago•1 comments

FAA says power outage forced postponement of SpaceX TRACERS launch

https://www.aol.com/faa-says-power-outage-forced-212123882.html
4•Bluestein•1h ago•0 comments

Python 3.14 release candidate 1 is go

https://pythoninsider.blogspot.com/2025/07/python-314-release-candidate-1-is-go.html
3•Bogdanp•1h ago•0 comments